highcharts 12.3.0 → 12.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/css/highcharts.css +0 -5
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
- package/es-modules/Accessibility/Components/NavigatorComponent.js +5 -1
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +3 -1
- package/es-modules/Accessibility/FocusBorder.js +4 -0
- package/es-modules/Accessibility/Options/A11yDefaults.js +12 -0
- package/es-modules/Core/Axis/Axis.js +4 -3
- package/es-modules/Core/Axis/Axis3DComposition.js +0 -3
- package/es-modules/Core/Axis/AxisDefaults.js +0 -8
- package/es-modules/Core/Axis/BrokenAxis.js +114 -90
- package/es-modules/Core/Axis/Color/ColorAxis.js +3 -3
- package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +2 -3
- package/es-modules/Core/Axis/OrdinalAxis.js +0 -1
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +2 -2
- package/es-modules/Core/Axis/RadialAxis.js +15 -3
- package/es-modules/Core/Axis/ScrollbarAxis.js +19 -17
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +0 -1
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +36 -51
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +39 -17
- package/es-modules/Core/Chart/Chart.js +10 -9
- package/es-modules/Core/Chart/ChartDefaults.js +4 -3
- package/es-modules/Core/Chart/StockChart.js +42 -49
- package/es-modules/Core/Defaults.js +12 -7
- package/es-modules/Core/Geometry/CircleUtilities.js +3 -1
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +8 -7
- package/es-modules/Core/Pointer.js +14 -5
- package/es-modules/Core/Renderer/HTML/AST.js +1 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +2 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +10 -1
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +7 -7
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Series/Point.js +9 -0
- package/es-modules/Core/Series/Series.js +1 -1
- package/es-modules/Core/Series/SeriesRegistry.js +8 -1
- package/es-modules/Data/Connectors/JSONConnector.js +0 -1
- package/es-modules/Data/Converters/HTMLTableConverter.js +1 -1
- package/es-modules/Data/Converters/JSONConverter.js +0 -1
- package/es-modules/Data/DataTable.js +1 -2
- package/es-modules/Data/Formula/FormulaParser.js +33 -1
- package/es-modules/Data/Formula/FormulaProcessor.js +97 -45
- package/es-modules/Data/Modifiers/DataModifier.js +1 -1
- package/es-modules/Data/Modifiers/FilterModifier.js +168 -0
- package/es-modules/Data/Modifiers/FilterModifierOptions.js +14 -0
- package/es-modules/Data/Modifiers/SortModifier.js +12 -3
- package/es-modules/Extensions/Annotations/MockPoint.js +6 -3
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
- package/es-modules/Extensions/Boost/Boost.js +5 -1
- package/es-modules/Extensions/Boost/BoostSeries.js +31 -18
- package/es-modules/Extensions/Boost/WGLRenderer.js +30 -21
- package/es-modules/Extensions/Boost/WGLShader.js +18 -5
- package/es-modules/Extensions/BoostCanvas.js +0 -5
- package/es-modules/Extensions/BorderRadius.js +6 -2
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +1 -1
- package/es-modules/Extensions/DownloadURL.js +3 -1
- package/es-modules/Extensions/ExportData/ExportData.js +3 -5
- package/es-modules/Extensions/Exporting/Exporting.js +86 -0
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
- package/es-modules/Extensions/NonCartesianSeriesZoom/NonCartesianSeriesZoom.js +25 -25
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +1 -1
- package/es-modules/Extensions/Pane/PaneComposition.js +19 -12
- package/es-modules/Extensions/ScrollablePlotArea.js +29 -21
- package/es-modules/Extensions/Sonification/Sonification.js +1 -1
- package/es-modules/Extensions/StaticScale.js +13 -11
- package/es-modules/Extensions/TextPath.js +2 -2
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +16 -9
- package/es-modules/Series/DataModifyComposition.js +0 -2
- package/es-modules/Series/DrawPointUtilities.js +1 -1
- package/es-modules/Series/Histogram/HistogramSeries.js +19 -17
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PieSeries.js +2 -2
- package/es-modules/Series/PolarComposition.js +36 -1
- package/es-modules/Series/SeriesOnPointComposition.js +0 -1
- package/es-modules/Series/SimulationSeriesUtilities.js +7 -0
- package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +13 -0
- package/es-modules/Series/Treegraph/TreegraphLayout.js +10 -4
- package/es-modules/Series/Treemap/TreemapSeries.js +4 -4
- package/es-modules/Series/Variwide/VariwideComposition.js +9 -11
- package/es-modules/Series/Waterfall/WaterfallSeries.js +6 -9
- package/es-modules/Series/XRange/XRangePoint.js +2 -1
- package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -1
- package/es-modules/Stock/StockTools/StockToolbar.js +1 -1
- package/es-modules/masters/highcharts-3d.src.js +2 -2
- package/es-modules/masters/highcharts-gantt.src.js +8 -2
- package/es-modules/masters/highcharts-more.src.js +2 -2
- package/es-modules/masters/highcharts.src.js +2 -2
- package/es-modules/masters/highmaps.src.js +2 -2
- package/es-modules/masters/highstock.src.js +2 -2
- package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
- package/es-modules/masters/i18n/fr-FR.src.js +1 -1
- package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
- package/es-modules/masters/i18n/nb-NO.src.js +1 -1
- package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
- package/es-modules/masters/i18n/zh-CN.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ema.src.js +0 -3
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data-tools.src.d.ts +1 -0
- package/es-modules/masters/modules/data-tools.src.js +2 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/flowmap.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/geoheatmap.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/pictorial.src.js +1 -1
- package/es-modules/masters/modules/pointandfigure.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/renko.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/series-on-point.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/standalone-navigator.src.js +7 -6
- package/es-modules/masters/themes/adaptive.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/brand-dark.src.js +1 -1
- package/es-modules/masters/themes/brand-light.src.js +1 -1
- package/es-modules/masters/themes/dark-blue.src.js +1 -1
- package/es-modules/masters/themes/dark-green.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/gray.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/grid.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/skies.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/esm/highcharts-3d.js +3 -3
- package/esm/highcharts-3d.src.js +2 -5
- package/esm/highcharts-gantt.js +8 -2
- package/esm/highcharts-gantt.src.js +8 -2
- package/esm/highcharts-more.js +3 -3
- package/esm/highcharts-more.src.js +475 -31
- package/esm/highcharts.js +4 -4
- package/esm/highcharts.src.js +140 -93
- package/esm/highmaps.js +2 -2
- package/esm/highmaps.src.js +2 -2
- package/esm/highstock.js +2 -2
- package/esm/highstock.src.js +2 -2
- package/esm/i18n/fr-FR.js +1 -1
- package/esm/i18n/fr-FR.src.js +1 -1
- package/esm/i18n/nb-NO.js +1 -1
- package/esm/i18n/nb-NO.src.js +1 -1
- package/esm/i18n/zh-CN.js +1 -1
- package/esm/i18n/zh-CN.src.js +1 -1
- package/esm/indicators/acceleration-bands.js +1 -1
- package/esm/indicators/acceleration-bands.src.js +1 -1
- package/esm/indicators/accumulation-distribution.js +1 -1
- package/esm/indicators/accumulation-distribution.src.js +1 -1
- package/esm/indicators/ao.js +1 -1
- package/esm/indicators/ao.src.js +1 -1
- package/esm/indicators/apo.js +1 -1
- package/esm/indicators/apo.src.js +1 -1
- package/esm/indicators/aroon-oscillator.js +1 -1
- package/esm/indicators/aroon-oscillator.src.js +1 -1
- package/esm/indicators/aroon.js +1 -1
- package/esm/indicators/aroon.src.js +1 -1
- package/esm/indicators/atr.js +1 -1
- package/esm/indicators/atr.src.js +1 -1
- package/esm/indicators/bollinger-bands.js +1 -1
- package/esm/indicators/bollinger-bands.src.js +1 -1
- package/esm/indicators/cci.js +1 -1
- package/esm/indicators/cci.src.js +1 -1
- package/esm/indicators/chaikin.js +1 -1
- package/esm/indicators/chaikin.src.js +1 -1
- package/esm/indicators/cmf.js +1 -1
- package/esm/indicators/cmf.src.js +1 -1
- package/esm/indicators/cmo.js +1 -1
- package/esm/indicators/cmo.src.js +1 -1
- package/esm/indicators/dema.js +1 -1
- package/esm/indicators/dema.src.js +1 -1
- package/esm/indicators/disparity-index.js +1 -1
- package/esm/indicators/disparity-index.src.js +1 -1
- package/esm/indicators/dmi.js +1 -1
- package/esm/indicators/dmi.src.js +1 -1
- package/esm/indicators/dpo.js +1 -1
- package/esm/indicators/dpo.src.js +1 -1
- package/esm/indicators/ema.src.js +0 -3
- package/esm/indicators/ichimoku-kinko-hyo.js +1 -1
- package/esm/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/esm/indicators/indicators-all.js +2 -2
- package/esm/indicators/indicators-all.src.js +2 -2
- package/esm/indicators/indicators.js +1 -1
- package/esm/indicators/indicators.src.js +1 -1
- package/esm/indicators/keltner-channels.js +1 -1
- package/esm/indicators/keltner-channels.src.js +1 -1
- package/esm/indicators/klinger.js +1 -1
- package/esm/indicators/klinger.src.js +1 -1
- package/esm/indicators/macd.js +2 -2
- package/esm/indicators/macd.src.js +2 -2
- package/esm/indicators/mfi.js +1 -1
- package/esm/indicators/mfi.src.js +1 -1
- package/esm/indicators/momentum.js +1 -1
- package/esm/indicators/momentum.src.js +1 -1
- package/esm/indicators/natr.js +1 -1
- package/esm/indicators/natr.src.js +1 -1
- package/esm/indicators/obv.js +1 -1
- package/esm/indicators/obv.src.js +1 -1
- package/esm/indicators/pivot-points.js +1 -1
- package/esm/indicators/pivot-points.src.js +1 -1
- package/esm/indicators/ppo.js +1 -1
- package/esm/indicators/ppo.src.js +1 -1
- package/esm/indicators/price-channel.js +1 -1
- package/esm/indicators/price-channel.src.js +1 -1
- package/esm/indicators/price-envelopes.js +1 -1
- package/esm/indicators/price-envelopes.src.js +1 -1
- package/esm/indicators/psar.js +1 -1
- package/esm/indicators/psar.src.js +1 -1
- package/esm/indicators/regressions.js +1 -1
- package/esm/indicators/regressions.src.js +1 -1
- package/esm/indicators/roc.js +1 -1
- package/esm/indicators/roc.src.js +1 -1
- package/esm/indicators/rsi.js +1 -1
- package/esm/indicators/rsi.src.js +1 -1
- package/esm/indicators/slow-stochastic.js +1 -1
- package/esm/indicators/slow-stochastic.src.js +1 -1
- package/esm/indicators/stochastic.js +1 -1
- package/esm/indicators/stochastic.src.js +1 -1
- package/esm/indicators/supertrend.js +1 -1
- package/esm/indicators/supertrend.src.js +1 -1
- package/esm/indicators/tema.js +1 -1
- package/esm/indicators/tema.src.js +1 -1
- package/esm/indicators/trendline.js +1 -1
- package/esm/indicators/trendline.src.js +1 -1
- package/esm/indicators/trix.js +1 -1
- package/esm/indicators/trix.src.js +1 -1
- package/esm/indicators/volume-by-price.js +1 -1
- package/esm/indicators/volume-by-price.src.js +1 -1
- package/esm/indicators/vwap.js +1 -1
- package/esm/indicators/vwap.src.js +1 -1
- package/esm/indicators/williams-r.js +1 -1
- package/esm/indicators/williams-r.src.js +1 -1
- package/esm/indicators/wma.js +1 -1
- package/esm/indicators/wma.src.js +1 -1
- package/esm/indicators/zigzag.js +1 -1
- package/esm/indicators/zigzag.src.js +1 -1
- package/esm/modules/accessibility.js +2 -2
- package/esm/modules/accessibility.src.js +47 -21
- package/esm/modules/annotations-advanced.js +2 -2
- package/esm/modules/annotations-advanced.src.js +8 -5
- package/esm/modules/annotations.js +2 -2
- package/esm/modules/annotations.src.js +9 -6
- package/esm/modules/arc-diagram.js +2 -2
- package/esm/modules/arc-diagram.src.js +3 -3
- package/esm/modules/arrow-symbols.js +1 -1
- package/esm/modules/arrow-symbols.src.js +1 -1
- package/esm/modules/boost-canvas.js +2 -2
- package/esm/modules/boost-canvas.src.js +80 -50
- package/esm/modules/boost.js +2 -2
- package/esm/modules/boost.src.js +85 -46
- package/esm/modules/broken-axis.js +2 -2
- package/esm/modules/broken-axis.src.js +115 -91
- package/esm/modules/bullet.js +1 -1
- package/esm/modules/bullet.src.js +1 -1
- package/esm/modules/coloraxis.js +2 -2
- package/esm/modules/coloraxis.src.js +6 -7
- package/esm/modules/current-date-indicator.js +1 -1
- package/esm/modules/current-date-indicator.src.js +1 -1
- package/esm/modules/cylinder.js +1 -1
- package/esm/modules/cylinder.src.js +1 -1
- package/esm/modules/data-tools.js +2 -2
- package/esm/modules/data-tools.src.js +318 -57
- package/esm/modules/data.js +1 -1
- package/esm/modules/data.src.js +1 -1
- package/esm/modules/datagrouping.js +1 -1
- package/esm/modules/datagrouping.src.js +1 -1
- package/esm/modules/debugger.js +1 -1
- package/esm/modules/debugger.src.js +1 -1
- package/esm/modules/dependency-wheel.js +2 -2
- package/esm/modules/dependency-wheel.src.js +3 -3
- package/esm/modules/dotplot.js +1 -1
- package/esm/modules/dotplot.src.js +1 -1
- package/esm/modules/drag-panes.js +1 -1
- package/esm/modules/drag-panes.src.js +1 -1
- package/esm/modules/draggable-points.js +1 -1
- package/esm/modules/draggable-points.src.js +1 -1
- package/esm/modules/drilldown.js +1 -1
- package/esm/modules/drilldown.src.js +2 -2
- package/esm/modules/dumbbell.js +1 -1
- package/esm/modules/dumbbell.src.js +1 -1
- package/esm/modules/export-data.js +2 -2
- package/esm/modules/export-data.src.js +7 -7
- package/esm/modules/exporting.js +2 -2
- package/esm/modules/exporting.src.js +91 -3
- package/esm/modules/flowmap.js +1 -1
- package/esm/modules/flowmap.src.js +1 -1
- package/esm/modules/full-screen.js +1 -1
- package/esm/modules/full-screen.src.js +1 -1
- package/esm/modules/funnel.js +1 -1
- package/esm/modules/funnel.src.js +7 -3
- package/esm/modules/funnel3d.js +1 -1
- package/esm/modules/funnel3d.src.js +1 -1
- package/esm/modules/gantt.js +2 -2
- package/esm/modules/gantt.src.js +222 -188
- package/esm/modules/geoheatmap.js +1 -1
- package/esm/modules/geoheatmap.src.js +1 -1
- package/esm/modules/grid-axis.js +1 -1
- package/esm/modules/grid-axis.src.js +1 -1
- package/esm/modules/heatmap.js +1 -1
- package/esm/modules/heatmap.src.js +1 -1
- package/esm/modules/heikinashi.js +1 -1
- package/esm/modules/heikinashi.src.js +1 -1
- package/esm/modules/histogram-bellcurve.js +2 -2
- package/esm/modules/histogram-bellcurve.src.js +36 -27
- package/esm/modules/hollowcandlestick.js +1 -1
- package/esm/modules/hollowcandlestick.src.js +1 -1
- package/esm/modules/item-series.js +1 -1
- package/esm/modules/item-series.src.js +1 -1
- package/esm/modules/lollipop.js +1 -1
- package/esm/modules/lollipop.src.js +1 -1
- package/esm/modules/map.js +1 -1
- package/esm/modules/map.src.js +1 -1
- package/esm/modules/marker-clusters.js +1 -1
- package/esm/modules/marker-clusters.src.js +1 -1
- package/esm/modules/mouse-wheel-zoom.js +1 -1
- package/esm/modules/mouse-wheel-zoom.src.js +1 -1
- package/esm/modules/navigator.js +2 -2
- package/esm/modules/navigator.src.js +20 -18
- package/esm/modules/networkgraph.js +2 -2
- package/esm/modules/networkgraph.src.js +10 -3
- package/esm/modules/no-data-to-display.js +1 -1
- package/esm/modules/no-data-to-display.src.js +1 -1
- package/esm/modules/non-cartesian-zoom.js +2 -2
- package/esm/modules/non-cartesian-zoom.src.js +26 -26
- package/esm/modules/offline-exporting.js +2 -2
- package/esm/modules/offline-exporting.src.js +5 -3
- package/esm/modules/organization.js +2 -2
- package/esm/modules/organization.src.js +3 -3
- package/esm/modules/parallel-coordinates.js +1 -1
- package/esm/modules/parallel-coordinates.src.js +1 -1
- package/esm/modules/pareto.js +1 -1
- package/esm/modules/pareto.src.js +1 -1
- package/esm/modules/pathfinder.js +1 -1
- package/esm/modules/pathfinder.src.js +1 -1
- package/esm/modules/pattern-fill.js +1 -1
- package/esm/modules/pattern-fill.src.js +1 -1
- package/esm/modules/pictorial.js +1 -1
- package/esm/modules/pictorial.src.js +1 -1
- package/esm/modules/pointandfigure.js +1 -1
- package/esm/modules/pointandfigure.src.js +1 -1
- package/esm/modules/price-indicator.js +1 -1
- package/esm/modules/price-indicator.src.js +1 -1
- package/esm/modules/pyramid3d.js +1 -1
- package/esm/modules/pyramid3d.src.js +1 -1
- package/esm/modules/renko.js +1 -1
- package/esm/modules/renko.src.js +1 -1
- package/esm/modules/sankey.js +2 -2
- package/esm/modules/sankey.src.js +3 -3
- package/esm/modules/series-label.js +1 -1
- package/esm/modules/series-label.src.js +1 -1
- package/esm/modules/series-on-point.js +2 -2
- package/esm/modules/series-on-point.src.js +1 -9
- package/esm/modules/solid-gauge.js +1 -1
- package/esm/modules/solid-gauge.src.js +20 -3
- package/esm/modules/sonification.js +2 -2
- package/esm/modules/sonification.src.js +5 -3
- package/esm/modules/static-scale.js +2 -2
- package/esm/modules/static-scale.src.js +14 -12
- package/esm/modules/stock-tools.js +2 -2
- package/esm/modules/stock-tools.src.js +3 -3
- package/esm/modules/stock.js +2 -2
- package/esm/modules/stock.src.js +68 -76
- package/esm/modules/streamgraph.js +1 -1
- package/esm/modules/streamgraph.src.js +1 -1
- package/esm/modules/sunburst.js +2 -2
- package/esm/modules/sunburst.src.js +9 -9
- package/esm/modules/textpath.js +2 -2
- package/esm/modules/textpath.src.js +3 -3
- package/esm/modules/tiledwebmap.js +1 -1
- package/esm/modules/tiledwebmap.src.js +1 -1
- package/esm/modules/tilemap.js +1 -1
- package/esm/modules/tilemap.src.js +1 -1
- package/esm/modules/timeline.js +1 -1
- package/esm/modules/timeline.src.js +1 -1
- package/esm/modules/treegraph.js +2 -2
- package/esm/modules/treegraph.src.js +13 -7
- package/esm/modules/treegrid.js +2 -2
- package/esm/modules/treegrid.src.js +190 -159
- package/esm/modules/treemap.js +2 -2
- package/esm/modules/treemap.src.js +7 -7
- package/esm/modules/variable-pie.js +1 -1
- package/esm/modules/variable-pie.src.js +1 -1
- package/esm/modules/variwide.js +2 -2
- package/esm/modules/variwide.src.js +10 -12
- package/esm/modules/vector.js +1 -1
- package/esm/modules/vector.src.js +1 -1
- package/esm/modules/venn.js +2 -2
- package/esm/modules/venn.src.js +5 -3
- package/esm/modules/windbarb.js +1 -1
- package/esm/modules/windbarb.src.js +1 -1
- package/esm/modules/wordcloud.js +1 -1
- package/esm/modules/wordcloud.src.js +2 -2
- package/esm/modules/xrange.js +2 -2
- package/esm/modules/xrange.src.js +3 -2
- package/esm/standalone-navigator.js +7 -5
- package/esm/standalone-navigator.src.js +172 -122
- package/esm/themes/adaptive.js +1 -1
- package/esm/themes/adaptive.src.js +1 -1
- package/esm/themes/avocado.js +1 -1
- package/esm/themes/avocado.src.js +1 -1
- package/esm/themes/brand-dark.js +1 -1
- package/esm/themes/brand-dark.src.js +1 -1
- package/esm/themes/brand-light.js +1 -1
- package/esm/themes/brand-light.src.js +1 -1
- package/esm/themes/dark-blue.js +1 -1
- package/esm/themes/dark-blue.src.js +1 -1
- package/esm/themes/dark-green.js +1 -1
- package/esm/themes/dark-green.src.js +1 -1
- package/esm/themes/dark-unica.js +1 -1
- package/esm/themes/dark-unica.src.js +1 -1
- package/esm/themes/gray.js +1 -1
- package/esm/themes/gray.src.js +1 -1
- package/esm/themes/grid-light.js +1 -1
- package/esm/themes/grid-light.src.js +1 -1
- package/esm/themes/grid.js +1 -1
- package/esm/themes/grid.src.js +1 -1
- package/esm/themes/high-contrast-dark.js +1 -1
- package/esm/themes/high-contrast-dark.src.js +1 -1
- package/esm/themes/high-contrast-light.js +1 -1
- package/esm/themes/high-contrast-light.src.js +1 -1
- package/esm/themes/sand-signika.js +1 -1
- package/esm/themes/sand-signika.src.js +1 -1
- package/esm/themes/skies.js +1 -1
- package/esm/themes/skies.src.js +1 -1
- package/esm/themes/sunset.js +1 -1
- package/esm/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +3 -3
- package/highcharts-3d.src.js +2 -5
- package/highcharts-gantt.js +10 -11
- package/highcharts-gantt.src.js +383 -295
- package/highcharts-more.d.ts +9 -0
- package/highcharts-more.js +3 -3
- package/highcharts-more.src.d.ts +9 -0
- package/highcharts-more.src.js +475 -31
- package/highcharts.d.ts +28 -46
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +28 -46
- package/highcharts.src.js +140 -93
- package/highmaps.js +4 -11
- package/highmaps.src.js +157 -111
- package/highstock.js +4 -11
- package/highstock.src.js +329 -266
- package/i18n/fr-FR.js +1 -1
- package/i18n/fr-FR.src.js +1 -1
- package/i18n/nb-NO.js +1 -1
- package/i18n/nb-NO.src.js +1 -1
- package/i18n/zh-CN.js +1 -1
- package/i18n/zh-CN.src.js +1 -1
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +1 -1
- package/indicators/aroon.src.js +1 -1
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +1 -1
- package/indicators/dpo.src.js +1 -1
- package/indicators/ema.src.js +0 -3
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +2 -2
- package/indicators/indicators-all.src.js +2 -2
- package/indicators/indicators.js +1 -1
- package/indicators/indicators.src.js +1 -1
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +2 -2
- package/indicators/macd.src.js +2 -2
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +1 -1
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.d.ts +0 -2
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.d.ts +0 -2
- package/modules/accessibility.src.js +47 -21
- package/modules/annotations-advanced.js +6 -6
- package/modules/annotations-advanced.src.js +22 -19
- package/modules/annotations.js +2 -2
- package/modules/annotations.src.js +9 -6
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +3 -3
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +80 -50
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +85 -46
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.src.js +115 -91
- package/modules/bullet.js +1 -1
- package/modules/bullet.src.js +1 -1
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.src.js +6 -7
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +1 -1
- package/modules/cylinder.src.js +1 -1
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +318 -57
- package/modules/data.js +1 -1
- package/modules/data.src.js +1 -1
- package/modules/datagrouping.js +1 -1
- package/modules/datagrouping.src.js +1 -1
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +2 -2
- package/modules/dependency-wheel.src.js +3 -3
- package/modules/dotplot.js +1 -1
- package/modules/dotplot.src.js +1 -1
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +1 -1
- package/modules/draggable-points.src.js +1 -1
- package/modules/drilldown.js +1 -1
- package/modules/drilldown.src.js +2 -2
- package/modules/dumbbell.js +1 -1
- package/modules/dumbbell.src.js +1 -1
- package/modules/export-data.js +2 -2
- package/modules/export-data.src.js +7 -7
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.js +91 -3
- package/modules/flowmap.js +1 -1
- package/modules/flowmap.src.js +1 -1
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +1 -1
- package/modules/funnel.src.js +7 -3
- package/modules/funnel3d.js +1 -1
- package/modules/funnel3d.src.js +1 -1
- package/modules/gantt.js +14 -14
- package/modules/gantt.src.js +241 -206
- package/modules/geoheatmap.js +1 -1
- package/modules/geoheatmap.src.js +1 -1
- package/modules/grid-axis.js +1 -1
- package/modules/grid-axis.src.js +1 -1
- package/modules/heatmap.js +10 -10
- package/modules/heatmap.src.js +20 -21
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.d.ts +1 -2
- package/modules/histogram-bellcurve.js +2 -2
- package/modules/histogram-bellcurve.src.d.ts +1 -2
- package/modules/histogram-bellcurve.src.js +36 -27
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +1 -1
- package/modules/item-series.src.js +1 -1
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.js +10 -10
- package/modules/map.src.js +21 -22
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/mouse-wheel-zoom.js +1 -1
- package/modules/mouse-wheel-zoom.src.js +1 -1
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.js +20 -18
- package/modules/networkgraph.js +2 -2
- package/modules/networkgraph.src.js +10 -3
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/non-cartesian-zoom.js +2 -2
- package/modules/non-cartesian-zoom.src.js +26 -26
- package/modules/offline-exporting.js +2 -2
- package/modules/offline-exporting.src.js +5 -3
- package/modules/organization.js +2 -2
- package/modules/organization.src.js +3 -3
- package/modules/parallel-coordinates.js +1 -1
- package/modules/parallel-coordinates.src.js +1 -1
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +1 -1
- package/modules/pathfinder.src.js +1 -1
- package/modules/pattern-fill.js +1 -1
- package/modules/pattern-fill.src.js +1 -1
- package/modules/pictorial.js +1 -1
- package/modules/pictorial.src.js +1 -1
- package/modules/pointandfigure.js +1 -1
- package/modules/pointandfigure.src.js +1 -1
- package/modules/price-indicator.js +1 -1
- package/modules/price-indicator.src.js +1 -1
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/renko.js +1 -1
- package/modules/renko.src.js +1 -1
- package/modules/sankey.js +2 -2
- package/modules/sankey.src.js +3 -3
- package/modules/series-label.js +1 -1
- package/modules/series-label.src.js +1 -1
- package/modules/series-on-point.js +2 -2
- package/modules/series-on-point.src.js +6 -16
- package/modules/solid-gauge.js +1 -1
- package/modules/solid-gauge.src.js +20 -3
- package/modules/sonification.js +2 -2
- package/modules/sonification.src.js +5 -3
- package/modules/static-scale.js +2 -2
- package/modules/static-scale.src.js +14 -12
- package/modules/stock-tools.js +2 -2
- package/modules/stock-tools.src.js +3 -3
- package/modules/stock.js +8 -16
- package/modules/stock.src.js +203 -187
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +9 -9
- package/modules/textpath.js +2 -2
- package/modules/textpath.src.js +3 -3
- package/modules/tiledwebmap.js +1 -1
- package/modules/tiledwebmap.src.js +1 -1
- package/modules/tilemap.js +1 -1
- package/modules/tilemap.src.js +1 -1
- package/modules/timeline.js +1 -1
- package/modules/timeline.src.js +1 -1
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +13 -7
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +190 -159
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +7 -7
- package/modules/variable-pie.js +1 -1
- package/modules/variable-pie.src.js +1 -1
- package/modules/variwide.js +2 -2
- package/modules/variwide.src.js +10 -12
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +2 -2
- package/modules/venn.src.js +5 -3
- package/modules/windbarb.js +1 -1
- package/modules/windbarb.src.js +1 -1
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +2 -2
- package/modules/xrange.js +2 -2
- package/modules/xrange.src.js +3 -2
- package/options/solidgauge.d.ts +6 -0
- package/options/solidgauge.src.d.ts +6 -0
- package/package.json +1 -1
- package/standalone-navigator.js +7 -5
- package/standalone-navigator.src.js +172 -122
- package/themes/adaptive.js +1 -1
- package/themes/adaptive.src.js +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/brand-dark.js +1 -1
- package/themes/brand-dark.src.js +1 -1
- package/themes/brand-light.js +1 -1
- package/themes/brand-light.src.js +1 -1
- package/themes/dark-blue.js +1 -1
- package/themes/dark-blue.src.js +1 -1
- package/themes/dark-green.js +1 -1
- package/themes/dark-green.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/gray.js +1 -1
- package/themes/gray.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/grid.js +1 -1
- package/themes/grid.src.js +1 -1
- package/themes/high-contrast-dark.js +1 -1
- package/themes/high-contrast-dark.src.js +1 -1
- package/themes/high-contrast-light.js +1 -1
- package/themes/high-contrast-light.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/skies.js +1 -1
- package/themes/skies.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
package/highcharts-more.src.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v12.
|
|
2
|
+
* @license Highcharts JS v12.4.0 (2025-09-04)
|
|
3
3
|
* @module highcharts/highcharts-more
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
6
|
-
* (c) 2009-2025
|
|
6
|
+
* (c) 2009-2025 Highsoft AS
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
9
|
*/
|
|
@@ -354,29 +354,36 @@ function compose(ChartClass, PointerClass) {
|
|
|
354
354
|
*/
|
|
355
355
|
function isInsidePane(x, y, center, startAngle, endAngle) {
|
|
356
356
|
let insideSlice = true;
|
|
357
|
-
const cx = center[0], cy = center[1];
|
|
357
|
+
const cx = center[0], cy = center[1], twoPi = 2 * Math.PI;
|
|
358
358
|
const distance = Math.sqrt(Math.pow(x - cx, 2) + Math.pow(y - cy, 2));
|
|
359
359
|
if (defined(startAngle) && defined(endAngle)) {
|
|
360
360
|
// Round angle to N-decimals to avoid numeric errors
|
|
361
|
-
|
|
361
|
+
let angle = Math.atan2(correctFloat(y - cy, 8), correctFloat(x - cx, 8));
|
|
362
|
+
// Normalize angle to [0, 2π)
|
|
363
|
+
angle = (angle + twoPi) % (twoPi);
|
|
364
|
+
startAngle = (startAngle + twoPi) % (twoPi);
|
|
365
|
+
endAngle = (endAngle + twoPi) % (twoPi);
|
|
362
366
|
// Ignore full circle panes:
|
|
363
|
-
if (endAngle
|
|
364
|
-
// If normalized start angle is
|
|
365
|
-
// it means
|
|
366
|
-
//
|
|
367
|
+
if (Math.abs(endAngle - startAngle) > 1e-6) {
|
|
368
|
+
// If the normalized start angle is greater than the end angle,
|
|
369
|
+
// it means the arc wraps around 0°. In this case, we check
|
|
370
|
+
// if the angle falls into either [startAngle, 2π) or [0, endAngle].
|
|
367
371
|
if (startAngle > endAngle) {
|
|
368
|
-
insideSlice = (angle >= startAngle
|
|
369
|
-
angle <=
|
|
370
|
-
angle >= -Math.PI);
|
|
372
|
+
insideSlice = (angle >= startAngle ||
|
|
373
|
+
angle <= endAngle);
|
|
371
374
|
}
|
|
372
375
|
else {
|
|
373
|
-
// In this case, we
|
|
374
|
-
//
|
|
376
|
+
// In this case, we simply check if angle is within the
|
|
377
|
+
// [startAngle, endAngle] range
|
|
375
378
|
insideSlice = angle >= startAngle &&
|
|
376
|
-
angle <=
|
|
379
|
+
angle <= endAngle;
|
|
377
380
|
}
|
|
378
381
|
}
|
|
379
382
|
}
|
|
383
|
+
else {
|
|
384
|
+
// If no start/end angles are defined, treat it as a full circle
|
|
385
|
+
insideSlice = true;
|
|
386
|
+
}
|
|
380
387
|
// Round up radius because x and y values are rounded
|
|
381
388
|
return distance <= Math.ceil(center[2] / 2) && insideSlice;
|
|
382
389
|
}
|
|
@@ -8100,6 +8107,13 @@ function initDataLabels() {
|
|
|
8100
8107
|
// Initialize the opacity of the group to 0 (start of animation)
|
|
8101
8108
|
dataLabelsGroup.attr({ opacity: 0 });
|
|
8102
8109
|
if (series.visible) { // #2597, #3023, #3024
|
|
8110
|
+
// #19663, initial data labels animation
|
|
8111
|
+
if (series.options.animation && dlOptions?.animation) {
|
|
8112
|
+
dataLabelsGroup.animate({ opacity: 1 }, dlOptions?.animation);
|
|
8113
|
+
}
|
|
8114
|
+
else {
|
|
8115
|
+
dataLabelsGroup.attr({ opacity: 1 });
|
|
8116
|
+
}
|
|
8103
8117
|
dataLabelsGroup.show();
|
|
8104
8118
|
}
|
|
8105
8119
|
return dataLabelsGroup;
|
|
@@ -8285,7 +8299,7 @@ function setPolygon(event) {
|
|
|
8285
8299
|
}
|
|
8286
8300
|
}
|
|
8287
8301
|
}
|
|
8288
|
-
catch
|
|
8302
|
+
catch {
|
|
8289
8303
|
// Safari fails on getStartPositionOfChar even if the
|
|
8290
8304
|
// character is within the `textContent.length`
|
|
8291
8305
|
break;
|
|
@@ -8297,7 +8311,7 @@ function setPolygon(event) {
|
|
|
8297
8311
|
polygon.unshift(upper);
|
|
8298
8312
|
polygon.unshift(lower);
|
|
8299
8313
|
}
|
|
8300
|
-
catch
|
|
8314
|
+
catch {
|
|
8301
8315
|
// Safari fails on getStartPositionOfChar even if the character
|
|
8302
8316
|
// is within the `textContent.length`
|
|
8303
8317
|
break;
|
|
@@ -9378,6 +9392,392 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
|
|
|
9378
9392
|
* */
|
|
9379
9393
|
/* harmony default export */ const Polygon_PolygonSeries = ((/* unused pure expression or super */ null && (PolygonSeries)));
|
|
9380
9394
|
|
|
9395
|
+
;// ./code/es-modules/Extensions/BorderRadius.js
|
|
9396
|
+
/* *
|
|
9397
|
+
*
|
|
9398
|
+
* Highcharts Border Radius module
|
|
9399
|
+
*
|
|
9400
|
+
* Author: Torstein Honsi
|
|
9401
|
+
*
|
|
9402
|
+
* License: www.highcharts.com/license
|
|
9403
|
+
*
|
|
9404
|
+
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
9405
|
+
*
|
|
9406
|
+
* */
|
|
9407
|
+
|
|
9408
|
+
|
|
9409
|
+
const { defaultOptions: BorderRadius_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
9410
|
+
|
|
9411
|
+
const { noop: BorderRadius_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
9412
|
+
|
|
9413
|
+
const { addEvent: BorderRadius_addEvent, extend: BorderRadius_extend, isObject, merge: BorderRadius_merge, relativeLength: BorderRadius_relativeLength } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
9414
|
+
/* *
|
|
9415
|
+
*
|
|
9416
|
+
* Constants
|
|
9417
|
+
*
|
|
9418
|
+
* */
|
|
9419
|
+
const defaultBorderRadiusOptions = {
|
|
9420
|
+
radius: 0,
|
|
9421
|
+
scope: 'stack',
|
|
9422
|
+
where: void 0
|
|
9423
|
+
};
|
|
9424
|
+
/* *
|
|
9425
|
+
*
|
|
9426
|
+
* Variables
|
|
9427
|
+
*
|
|
9428
|
+
* */
|
|
9429
|
+
let oldArc = BorderRadius_noop;
|
|
9430
|
+
let oldRoundedRect = BorderRadius_noop;
|
|
9431
|
+
/* *
|
|
9432
|
+
*
|
|
9433
|
+
* Functions
|
|
9434
|
+
*
|
|
9435
|
+
* */
|
|
9436
|
+
/**
|
|
9437
|
+
* @private
|
|
9438
|
+
*/
|
|
9439
|
+
function applyBorderRadius(path, i, r) {
|
|
9440
|
+
const a = path[i];
|
|
9441
|
+
let b = path[i + 1];
|
|
9442
|
+
if (b[0] === 'Z') {
|
|
9443
|
+
b = path[0];
|
|
9444
|
+
}
|
|
9445
|
+
let line, arc, fromLineToArc;
|
|
9446
|
+
// From straight line to arc
|
|
9447
|
+
if ((a[0] === 'M' || a[0] === 'L') && b[0] === 'A') {
|
|
9448
|
+
line = a;
|
|
9449
|
+
arc = b;
|
|
9450
|
+
fromLineToArc = true;
|
|
9451
|
+
// From arc to straight line
|
|
9452
|
+
}
|
|
9453
|
+
else if (a[0] === 'A' && (b[0] === 'M' || b[0] === 'L')) {
|
|
9454
|
+
line = b;
|
|
9455
|
+
arc = a;
|
|
9456
|
+
}
|
|
9457
|
+
if (line && arc && arc.params) {
|
|
9458
|
+
const bigR = arc[1],
|
|
9459
|
+
// In our use cases, outer pie slice arcs are clockwise and inner
|
|
9460
|
+
// arcs (donut/sunburst etc) are anti-clockwise
|
|
9461
|
+
clockwise = arc[5], params = arc.params, { start, end, cx, cy } = params;
|
|
9462
|
+
// Some geometric constants
|
|
9463
|
+
const relativeR = clockwise ? (bigR - r) : (bigR + r),
|
|
9464
|
+
// The angle, on the big arc, that the border radius arc takes up
|
|
9465
|
+
angleOfBorderRadius = relativeR ? Math.asin(r / relativeR) : 0, angleOffset = clockwise ?
|
|
9466
|
+
angleOfBorderRadius :
|
|
9467
|
+
-angleOfBorderRadius,
|
|
9468
|
+
// The distance along the radius of the big arc to the starting
|
|
9469
|
+
// point of the small border radius arc
|
|
9470
|
+
distanceBigCenterToStartArc = (Math.cos(angleOfBorderRadius) *
|
|
9471
|
+
relativeR);
|
|
9472
|
+
// From line to arc
|
|
9473
|
+
if (fromLineToArc) {
|
|
9474
|
+
// Update the cache
|
|
9475
|
+
params.start = start + angleOffset;
|
|
9476
|
+
// First move to the start position at the radial line. We want to
|
|
9477
|
+
// start one borderRadius closer to the center.
|
|
9478
|
+
line[1] = cx + distanceBigCenterToStartArc * Math.cos(start);
|
|
9479
|
+
line[2] = cy + distanceBigCenterToStartArc * Math.sin(start);
|
|
9480
|
+
// Now draw an arc towards the point where the small circle touches
|
|
9481
|
+
// the great circle.
|
|
9482
|
+
path.splice(i + 1, 0, [
|
|
9483
|
+
'A',
|
|
9484
|
+
r,
|
|
9485
|
+
r,
|
|
9486
|
+
0, // Slanting,
|
|
9487
|
+
0, // Long arc
|
|
9488
|
+
1, // Clockwise
|
|
9489
|
+
cx + bigR * Math.cos(params.start),
|
|
9490
|
+
cy + bigR * Math.sin(params.start)
|
|
9491
|
+
]);
|
|
9492
|
+
// From arc to line
|
|
9493
|
+
}
|
|
9494
|
+
else {
|
|
9495
|
+
// Update the cache
|
|
9496
|
+
params.end = end - angleOffset;
|
|
9497
|
+
// End the big arc a bit earlier
|
|
9498
|
+
arc[6] = cx + bigR * Math.cos(params.end);
|
|
9499
|
+
arc[7] = cy + bigR * Math.sin(params.end);
|
|
9500
|
+
// Draw a small arc towards a point on the end angle, but one
|
|
9501
|
+
// borderRadius closer to the center relative to the perimeter.
|
|
9502
|
+
path.splice(i + 1, 0, [
|
|
9503
|
+
'A',
|
|
9504
|
+
r,
|
|
9505
|
+
r,
|
|
9506
|
+
0,
|
|
9507
|
+
0,
|
|
9508
|
+
1,
|
|
9509
|
+
cx + distanceBigCenterToStartArc * Math.cos(end),
|
|
9510
|
+
cy + distanceBigCenterToStartArc * Math.sin(end)
|
|
9511
|
+
]);
|
|
9512
|
+
}
|
|
9513
|
+
// Long or short arc must be reconsidered because we have modified the
|
|
9514
|
+
// start and end points
|
|
9515
|
+
arc[4] = Math.abs(params.end - params.start) < Math.PI ? 0 : 1;
|
|
9516
|
+
}
|
|
9517
|
+
}
|
|
9518
|
+
/**
|
|
9519
|
+
* Extend arc with borderRadius.
|
|
9520
|
+
* @private
|
|
9521
|
+
*/
|
|
9522
|
+
function arc(x, y, w, h, options = {}) {
|
|
9523
|
+
const path = oldArc(x, y, w, h, options), { brStart = true, brEnd = true, innerR = 0, r = w, start = 0, end = 0 } = options;
|
|
9524
|
+
if (options.open || !options.borderRadius) {
|
|
9525
|
+
return path;
|
|
9526
|
+
}
|
|
9527
|
+
const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(BorderRadius_relativeLength(options.borderRadius || 0, r - innerR),
|
|
9528
|
+
// Cap to half the sector radius
|
|
9529
|
+
(r - innerR) / 2,
|
|
9530
|
+
// For smaller pie slices, cap to the largest small circle that
|
|
9531
|
+
// can be fitted within the sector
|
|
9532
|
+
(r * sinHalfAlpha) / (1 + sinHalfAlpha)), 0),
|
|
9533
|
+
// For the inner radius, we need an extra cap because the inner arc
|
|
9534
|
+
// is shorter than the outer arc
|
|
9535
|
+
innerBorderRadius = Math.min(borderRadius, 2 * (alpha / Math.PI) * innerR);
|
|
9536
|
+
// Apply turn-by-turn border radius. Start at the end since we're
|
|
9537
|
+
// splicing in arc segments.
|
|
9538
|
+
let i = path.length - 1;
|
|
9539
|
+
while (i--) {
|
|
9540
|
+
if ((!brStart && (i === 0 || i === 3)) ||
|
|
9541
|
+
(!brEnd && (i === 1 || i === 2))) {
|
|
9542
|
+
continue;
|
|
9543
|
+
}
|
|
9544
|
+
applyBorderRadius(path, i, i > 1 ? innerBorderRadius : borderRadius);
|
|
9545
|
+
}
|
|
9546
|
+
return path;
|
|
9547
|
+
}
|
|
9548
|
+
/** @private */
|
|
9549
|
+
function seriesOnAfterColumnTranslate() {
|
|
9550
|
+
if (this.options.borderRadius &&
|
|
9551
|
+
!(this.chart.is3d && this.chart.is3d())) {
|
|
9552
|
+
const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
|
|
9553
|
+
?.borderRadius, borderRadius = optionsToObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
|
|
9554
|
+
for (const point of this.points) {
|
|
9555
|
+
const { shapeArgs } = point;
|
|
9556
|
+
if (point.shapeType === 'roundedRect' && shapeArgs) {
|
|
9557
|
+
const { width = 0, height = 0, y = 0 } = shapeArgs;
|
|
9558
|
+
let brBoxY = y, brBoxHeight = height;
|
|
9559
|
+
// It would be nice to refactor StackItem.getStackBox/
|
|
9560
|
+
// setOffset so that we could get a reliable box out of
|
|
9561
|
+
// it. Currently it is close if we remove the label
|
|
9562
|
+
// offset, but we still need to run crispCol and also
|
|
9563
|
+
// flip it if inverted, so atm it is simpler to do it
|
|
9564
|
+
// like the below.
|
|
9565
|
+
if (borderRadius.scope === 'stack' &&
|
|
9566
|
+
point.stackTotal) {
|
|
9567
|
+
const stackEnd = yAxis.translate(percent ? 100 : point.stackTotal, false, true, false, true), stackThreshold = yAxis.translate(options.threshold || 0, false, true, false, true), box = this.crispCol(0, Math.min(stackEnd, stackThreshold), 0, Math.abs(stackEnd - stackThreshold));
|
|
9568
|
+
brBoxY = box.y;
|
|
9569
|
+
brBoxHeight = box.height;
|
|
9570
|
+
}
|
|
9571
|
+
const flip = (point.negative ? -1 : 1) *
|
|
9572
|
+
(reversed ? -1 : 1) === -1;
|
|
9573
|
+
// Handle the where option
|
|
9574
|
+
let where = borderRadius.where;
|
|
9575
|
+
// Waterfall, hanging columns should have rounding on
|
|
9576
|
+
// all sides
|
|
9577
|
+
if (!where &&
|
|
9578
|
+
this.is('waterfall') &&
|
|
9579
|
+
Math.abs((point.yBottom || 0) -
|
|
9580
|
+
(this.translatedThreshold || 0)) > this.borderWidth) {
|
|
9581
|
+
where = 'all';
|
|
9582
|
+
}
|
|
9583
|
+
if (!where) {
|
|
9584
|
+
where = 'end';
|
|
9585
|
+
}
|
|
9586
|
+
// Get the radius
|
|
9587
|
+
const r = Math.min(BorderRadius_relativeLength(borderRadius.radius, width), width / 2,
|
|
9588
|
+
// Cap to the height, but not if where is `end`
|
|
9589
|
+
where === 'all' ? height / 2 : Infinity) || 0;
|
|
9590
|
+
// If the `where` option is 'end', cut off the
|
|
9591
|
+
// rectangles by making the border-radius box one r
|
|
9592
|
+
// greater, so that the imaginary radius falls outside
|
|
9593
|
+
// the rectangle.
|
|
9594
|
+
if (where === 'end') {
|
|
9595
|
+
if (flip) {
|
|
9596
|
+
brBoxY -= r;
|
|
9597
|
+
brBoxHeight += r;
|
|
9598
|
+
}
|
|
9599
|
+
else {
|
|
9600
|
+
brBoxHeight += r;
|
|
9601
|
+
}
|
|
9602
|
+
}
|
|
9603
|
+
BorderRadius_extend(shapeArgs, { brBoxHeight, brBoxY, r });
|
|
9604
|
+
}
|
|
9605
|
+
}
|
|
9606
|
+
}
|
|
9607
|
+
}
|
|
9608
|
+
/** @private */
|
|
9609
|
+
function BorderRadius_compose(SeriesClass, SVGElementClass, SVGRendererClass) {
|
|
9610
|
+
const PieSeriesClass = SeriesClass.types.pie;
|
|
9611
|
+
if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
|
|
9612
|
+
const symbols = SVGRendererClass.prototype.symbols;
|
|
9613
|
+
BorderRadius_addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
|
|
9614
|
+
// After columnrange and polar column modifications
|
|
9615
|
+
order: 9
|
|
9616
|
+
});
|
|
9617
|
+
BorderRadius_addEvent(PieSeriesClass, 'afterTranslate', pieSeriesOnAfterTranslate);
|
|
9618
|
+
SVGElementClass.symbolCustomAttribs.push('borderRadius', 'brBoxHeight', 'brBoxY', 'brEnd', 'brStart');
|
|
9619
|
+
oldArc = symbols.arc;
|
|
9620
|
+
oldRoundedRect = symbols.roundedRect;
|
|
9621
|
+
symbols.arc = arc;
|
|
9622
|
+
symbols.roundedRect = roundedRect;
|
|
9623
|
+
}
|
|
9624
|
+
}
|
|
9625
|
+
/** @private */
|
|
9626
|
+
function optionsToObject(options, seriesBROptions) {
|
|
9627
|
+
if (!isObject(options)) {
|
|
9628
|
+
options = { radius: options || 0 };
|
|
9629
|
+
}
|
|
9630
|
+
return BorderRadius_merge(defaultBorderRadiusOptions, seriesBROptions, options);
|
|
9631
|
+
}
|
|
9632
|
+
/** @private */
|
|
9633
|
+
function pieSeriesOnAfterTranslate() {
|
|
9634
|
+
const borderRadius = optionsToObject(this.options.borderRadius);
|
|
9635
|
+
for (const point of this.points) {
|
|
9636
|
+
const shapeArgs = point.shapeArgs;
|
|
9637
|
+
if (shapeArgs) {
|
|
9638
|
+
shapeArgs.borderRadius = BorderRadius_relativeLength(borderRadius.radius, (shapeArgs.r || 0) - ((shapeArgs.innerR) || 0));
|
|
9639
|
+
}
|
|
9640
|
+
}
|
|
9641
|
+
}
|
|
9642
|
+
/**
|
|
9643
|
+
* Extend roundedRect with individual cutting through rOffset.
|
|
9644
|
+
* @private
|
|
9645
|
+
*/
|
|
9646
|
+
function roundedRect(x, y, width, height, options = {}) {
|
|
9647
|
+
const path = oldRoundedRect(x, y, width, height, options), { r = 0, brBoxHeight = height, brBoxY = y } = options, brOffsetTop = y - brBoxY, brOffsetBtm = (brBoxY + brBoxHeight) - (y + height),
|
|
9648
|
+
// When the distance to the border-radius box is greater than the r
|
|
9649
|
+
// itself, it means no border radius. The -0.1 accounts for float
|
|
9650
|
+
// rounding errors.
|
|
9651
|
+
rTop = (brOffsetTop - r) > -0.1 ? 0 : r, rBtm = (brOffsetBtm - r) > -0.1 ? 0 : r, cutTop = Math.max(rTop && brOffsetTop, 0), cutBtm = Math.max(rBtm && brOffsetBtm, 0);
|
|
9652
|
+
/*
|
|
9653
|
+
|
|
9654
|
+
The naming of control points:
|
|
9655
|
+
|
|
9656
|
+
/ a -------- b \
|
|
9657
|
+
/ \
|
|
9658
|
+
h c
|
|
9659
|
+
| |
|
|
9660
|
+
| |
|
|
9661
|
+
| |
|
|
9662
|
+
g d
|
|
9663
|
+
\ /
|
|
9664
|
+
\ f -------- e /
|
|
9665
|
+
|
|
9666
|
+
*/
|
|
9667
|
+
const a = [x + rTop, y], b = [x + width - rTop, y], c = [x + width, y + rTop], d = [
|
|
9668
|
+
x + width, y + height - rBtm
|
|
9669
|
+
], e = [
|
|
9670
|
+
x + width - rBtm,
|
|
9671
|
+
y + height
|
|
9672
|
+
], f = [x + rBtm, y + height], g = [x, y + height - rBtm], h = [x, y + rTop];
|
|
9673
|
+
const applyPythagoras = (r, altitude) => Math.sqrt(Math.pow(r, 2) - Math.pow(altitude, 2));
|
|
9674
|
+
// Inside stacks, cut off part of the top
|
|
9675
|
+
if (cutTop) {
|
|
9676
|
+
const base = applyPythagoras(rTop, rTop - cutTop);
|
|
9677
|
+
a[0] -= base;
|
|
9678
|
+
b[0] += base;
|
|
9679
|
+
c[1] = h[1] = y + rTop - cutTop;
|
|
9680
|
+
}
|
|
9681
|
+
// Column is lower than the radius. Cut off bottom inside the top
|
|
9682
|
+
// radius.
|
|
9683
|
+
if (height < rTop - cutTop) {
|
|
9684
|
+
const base = applyPythagoras(rTop, rTop - cutTop - height);
|
|
9685
|
+
c[0] = d[0] = x + width - rTop + base;
|
|
9686
|
+
e[0] = Math.min(c[0], e[0]);
|
|
9687
|
+
f[0] = Math.max(d[0], f[0]);
|
|
9688
|
+
g[0] = h[0] = x + rTop - base;
|
|
9689
|
+
c[1] = h[1] = y + height;
|
|
9690
|
+
}
|
|
9691
|
+
// Inside stacks, cut off part of the bottom
|
|
9692
|
+
if (cutBtm) {
|
|
9693
|
+
const base = applyPythagoras(rBtm, rBtm - cutBtm);
|
|
9694
|
+
e[0] += base;
|
|
9695
|
+
f[0] -= base;
|
|
9696
|
+
d[1] = g[1] = y + height - rBtm + cutBtm;
|
|
9697
|
+
}
|
|
9698
|
+
// Cut off top inside the bottom radius
|
|
9699
|
+
if (height < rBtm - cutBtm) {
|
|
9700
|
+
const base = applyPythagoras(rBtm, rBtm - cutBtm - height);
|
|
9701
|
+
c[0] = d[0] = x + width - rBtm + base;
|
|
9702
|
+
b[0] = Math.min(c[0], b[0]);
|
|
9703
|
+
a[0] = Math.max(d[0], a[0]);
|
|
9704
|
+
g[0] = h[0] = x + rBtm - base;
|
|
9705
|
+
d[1] = g[1] = y;
|
|
9706
|
+
}
|
|
9707
|
+
// Preserve the box for data labels
|
|
9708
|
+
path.length = 0;
|
|
9709
|
+
path.push(['M', ...a],
|
|
9710
|
+
// Top side
|
|
9711
|
+
['L', ...b],
|
|
9712
|
+
// Top right corner
|
|
9713
|
+
['A', rTop, rTop, 0, 0, 1, ...c],
|
|
9714
|
+
// Right side
|
|
9715
|
+
['L', ...d],
|
|
9716
|
+
// Bottom right corner
|
|
9717
|
+
['A', rBtm, rBtm, 0, 0, 1, ...e],
|
|
9718
|
+
// Bottom side
|
|
9719
|
+
['L', ...f],
|
|
9720
|
+
// Bottom left corner
|
|
9721
|
+
['A', rBtm, rBtm, 0, 0, 1, ...g],
|
|
9722
|
+
// Left side
|
|
9723
|
+
['L', ...h],
|
|
9724
|
+
// Top left corner
|
|
9725
|
+
['A', rTop, rTop, 0, 0, 1, ...a], ['Z']);
|
|
9726
|
+
return path;
|
|
9727
|
+
}
|
|
9728
|
+
/* *
|
|
9729
|
+
*
|
|
9730
|
+
* Default Export
|
|
9731
|
+
*
|
|
9732
|
+
* */
|
|
9733
|
+
const BorderRadius = {
|
|
9734
|
+
compose: BorderRadius_compose,
|
|
9735
|
+
optionsToObject
|
|
9736
|
+
};
|
|
9737
|
+
/* harmony default export */ const Extensions_BorderRadius = (BorderRadius);
|
|
9738
|
+
/* *
|
|
9739
|
+
*
|
|
9740
|
+
* API Declarations
|
|
9741
|
+
*
|
|
9742
|
+
* */
|
|
9743
|
+
/**
|
|
9744
|
+
* Detailed options for border radius.
|
|
9745
|
+
*
|
|
9746
|
+
* @sample {highcharts} highcharts/plotoptions/column-borderradius/
|
|
9747
|
+
* Rounded columns
|
|
9748
|
+
* @sample highcharts/plotoptions/series-border-radius
|
|
9749
|
+
* Column and pie with rounded border
|
|
9750
|
+
*
|
|
9751
|
+
* @interface Highcharts.BorderRadiusOptionsObject
|
|
9752
|
+
*/ /**
|
|
9753
|
+
* The border radius. A number signifies pixels. A percentage string, like for
|
|
9754
|
+
* example `50%`, signifies a relative size. For columns this is relative to the
|
|
9755
|
+
* column width, for pies it is relative to the radius and the inner radius.
|
|
9756
|
+
*
|
|
9757
|
+
* @name Highcharts.BorderRadiusOptionsObject#radius
|
|
9758
|
+
* @type {string|number}
|
|
9759
|
+
*/ /**
|
|
9760
|
+
* The scope of the rounding for column charts. In a stacked column chart, the
|
|
9761
|
+
* value `point` means each single point will get rounded corners. The value
|
|
9762
|
+
* `stack` means the rounding will apply to the full stack, so that only points
|
|
9763
|
+
* close to the top or bottom will receive rounding.
|
|
9764
|
+
*
|
|
9765
|
+
* @name Highcharts.BorderRadiusOptionsObject#scope
|
|
9766
|
+
* @validvalue ["point", "stack"]
|
|
9767
|
+
* @type {string}
|
|
9768
|
+
*/ /**
|
|
9769
|
+
* For column charts, where in the point or stack to apply rounding. The `end`
|
|
9770
|
+
* value means only those corners at the point value will be rounded, leaving
|
|
9771
|
+
* the corners at the base or threshold unrounded. This is the most intuitive
|
|
9772
|
+
* behaviour. The `all` value means also the base will be rounded.
|
|
9773
|
+
*
|
|
9774
|
+
* @name Highcharts.BorderRadiusOptionsObject#where
|
|
9775
|
+
* @validvalue ["all", "end"]
|
|
9776
|
+
* @type {string}
|
|
9777
|
+
* @default end
|
|
9778
|
+
*/
|
|
9779
|
+
(''); // Keeps doclets above in JS file
|
|
9780
|
+
|
|
9381
9781
|
;// ./code/es-modules/Core/Axis/RadialAxisDefaults.js
|
|
9382
9782
|
/* *
|
|
9383
9783
|
*
|
|
@@ -9522,7 +9922,7 @@ const { defaultOptions: RadialAxis_defaultOptions } = (highcharts_commonjs_highc
|
|
|
9522
9922
|
|
|
9523
9923
|
const { composed: RadialAxis_composed, noop: RadialAxis_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
9524
9924
|
|
|
9525
|
-
const { addEvent: RadialAxis_addEvent, correctFloat: RadialAxis_correctFloat, defined: RadialAxis_defined, extend: RadialAxis_extend, fireEvent: RadialAxis_fireEvent, isObject, merge: RadialAxis_merge, pick: RadialAxis_pick, pushUnique: RadialAxis_pushUnique, relativeLength: RadialAxis_relativeLength, splat: RadialAxis_splat, wrap: RadialAxis_wrap } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
9925
|
+
const { addEvent: RadialAxis_addEvent, correctFloat: RadialAxis_correctFloat, defined: RadialAxis_defined, extend: RadialAxis_extend, fireEvent: RadialAxis_fireEvent, isObject: RadialAxis_isObject, merge: RadialAxis_merge, pick: RadialAxis_pick, pushUnique: RadialAxis_pushUnique, relativeLength: RadialAxis_relativeLength, splat: RadialAxis_splat, wrap: RadialAxis_wrap } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
9526
9926
|
/* *
|
|
9527
9927
|
*
|
|
9528
9928
|
* Composition
|
|
@@ -9739,8 +10139,18 @@ var RadialAxis;
|
|
|
9739
10139
|
return r;
|
|
9740
10140
|
}
|
|
9741
10141
|
return radius;
|
|
9742
|
-
}, center = this.center, startAngleRad = this.startAngleRad, fullRadius = center[2] / 2, offset = Math.min(this.offset, 0), left = this.left || 0, top = this.top || 0, percentRegex = /%$/, isCircular = this.isCircular
|
|
9743
|
-
|
|
10142
|
+
}, center = this.center, startAngleRad = this.startAngleRad, borderRadius = options.borderRadius, fullRadius = center[2] / 2, offset = Math.min(this.offset, 0), left = this.left || 0, top = this.top || 0, percentRegex = /%$/, isCircular = this.isCircular, // X axis in a polar chart
|
|
10143
|
+
trueBands = this.options.plotBands || [], index = trueBands.indexOf(options);
|
|
10144
|
+
let start, end, angle, xOnPerimeter, open, path, outerRadius = RadialAxis_pick(radiusToPixels(options.outerRadius), fullRadius), innerRadius = radiusToPixels(options.innerRadius), thickness = RadialAxis_pick(radiusToPixels(options.thickness), 10), brStart = true, brEnd = true;
|
|
10145
|
+
// Apply conditional border radius, only for ends of band stacks
|
|
10146
|
+
if (borderRadius && index > -1) {
|
|
10147
|
+
if (trueBands[index - 1] && trueBands[index - 1].to === from) {
|
|
10148
|
+
brStart = false;
|
|
10149
|
+
}
|
|
10150
|
+
if (trueBands[index + 1] && trueBands[index + 1].from === to) {
|
|
10151
|
+
brEnd = false;
|
|
10152
|
+
}
|
|
10153
|
+
}
|
|
9744
10154
|
// Polygonal plot bands
|
|
9745
10155
|
if (this.options.gridLineInterpolation === 'polygon') {
|
|
9746
10156
|
path = this.getPlotLinePath({ value: from }).concat(this.getPlotLinePath({ value: to, reverse: true }));
|
|
@@ -9775,7 +10185,9 @@ var RadialAxis;
|
|
|
9775
10185
|
end: Math.max(start, end),
|
|
9776
10186
|
innerR: RadialAxis_pick(innerRadius, outerRadius - thickness),
|
|
9777
10187
|
open,
|
|
9778
|
-
borderRadius
|
|
10188
|
+
borderRadius,
|
|
10189
|
+
brStart,
|
|
10190
|
+
brEnd
|
|
9779
10191
|
});
|
|
9780
10192
|
// Provide positioning boxes for the label (#6406)
|
|
9781
10193
|
if (isCircular) {
|
|
@@ -10334,7 +10746,7 @@ var RadialAxis;
|
|
|
10334
10746
|
RadialAxis_defaultOptions.yAxis, RadialAxis.radialDefaultOptions.radial);
|
|
10335
10747
|
}
|
|
10336
10748
|
if (inverted && coll === 'yAxis') {
|
|
10337
|
-
defaultPolarOptions.stackLabels =
|
|
10749
|
+
defaultPolarOptions.stackLabels = RadialAxis_isObject(RadialAxis_defaultOptions.yAxis, true) ? RadialAxis_defaultOptions.yAxis.stackLabels : {};
|
|
10338
10750
|
defaultPolarOptions.reversedStacks = true;
|
|
10339
10751
|
}
|
|
10340
10752
|
const options = this.options = RadialAxis_merge(defaultPolarOptions, userOptions);
|
|
@@ -10390,12 +10802,16 @@ var RadialAxis;
|
|
|
10390
10802
|
|
|
10391
10803
|
const { animObject: PolarComposition_animObject } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
10392
10804
|
|
|
10805
|
+
const { optionsToObject: PolarComposition_optionsToObject } = Extensions_BorderRadius;
|
|
10806
|
+
|
|
10807
|
+
const { defaultOptions: PolarComposition_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
10808
|
+
|
|
10393
10809
|
const { composed: PolarComposition_composed } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
10394
10810
|
|
|
10395
10811
|
|
|
10396
10812
|
|
|
10397
10813
|
|
|
10398
|
-
const { addEvent: PolarComposition_addEvent, defined: PolarComposition_defined, find, isNumber: PolarComposition_isNumber, merge: PolarComposition_merge, pick: PolarComposition_pick, pushUnique: PolarComposition_pushUnique, relativeLength: PolarComposition_relativeLength, splat: PolarComposition_splat, uniqueKey: PolarComposition_uniqueKey, wrap: PolarComposition_wrap } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
10814
|
+
const { addEvent: PolarComposition_addEvent, defined: PolarComposition_defined, find, isNumber: PolarComposition_isNumber, isObject: PolarComposition_isObject, merge: PolarComposition_merge, pick: PolarComposition_pick, pushUnique: PolarComposition_pushUnique, relativeLength: PolarComposition_relativeLength, splat: PolarComposition_splat, uniqueKey: PolarComposition_uniqueKey, wrap: PolarComposition_wrap } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
|
|
10399
10815
|
/* *
|
|
10400
10816
|
*
|
|
10401
10817
|
* Functions
|
|
@@ -10706,6 +11122,33 @@ function onSeriesAfterInit() {
|
|
|
10706
11122
|
}
|
|
10707
11123
|
}
|
|
10708
11124
|
}
|
|
11125
|
+
/**
|
|
11126
|
+
* Apply conditional rounding to polar bars
|
|
11127
|
+
*/
|
|
11128
|
+
function onSeriesAfterColumnTranslate() {
|
|
11129
|
+
const { chart, options, yAxis } = this;
|
|
11130
|
+
if (options.borderRadius &&
|
|
11131
|
+
chart.polar &&
|
|
11132
|
+
chart.inverted) {
|
|
11133
|
+
const seriesDefault = PolarComposition_defaultOptions.plotOptions?.[this.type]
|
|
11134
|
+
?.borderRadius, { scope, where = 'end' } = PolarComposition_optionsToObject(options.borderRadius, PolarComposition_isObject(seriesDefault) ? seriesDefault : {});
|
|
11135
|
+
for (const point of this.points) {
|
|
11136
|
+
const { shapeArgs } = point;
|
|
11137
|
+
if (point.shapeType === 'arc' && shapeArgs) {
|
|
11138
|
+
let brStart = where === 'all', brEnd = true;
|
|
11139
|
+
if (options.stacking && scope === 'stack') {
|
|
11140
|
+
brStart = point.stackY === point.y && where === 'all',
|
|
11141
|
+
brEnd = point.stackY === point.stackTotal;
|
|
11142
|
+
}
|
|
11143
|
+
if (yAxis.reversed) {
|
|
11144
|
+
[brStart, brEnd] = [brEnd, brStart];
|
|
11145
|
+
}
|
|
11146
|
+
shapeArgs.brStart = brStart;
|
|
11147
|
+
shapeArgs.brEnd = brEnd;
|
|
11148
|
+
}
|
|
11149
|
+
}
|
|
11150
|
+
}
|
|
11151
|
+
}
|
|
10709
11152
|
/**
|
|
10710
11153
|
* Extend translate. The plotX and plotY values are computed as if the polar
|
|
10711
11154
|
* chart were a cartesian plane, where plotX denotes the angle in radians
|
|
@@ -11298,6 +11741,10 @@ class PolarAdditions {
|
|
|
11298
11741
|
PolarComposition_addEvent(PointerClass, 'getSelectionMarkerAttrs', onPointerGetSelectionMarkerAttrs);
|
|
11299
11742
|
PolarComposition_addEvent(PointerClass, 'getSelectionBox', onPointerGetSelectionBox);
|
|
11300
11743
|
PolarComposition_addEvent(SeriesClass, 'afterInit', onSeriesAfterInit);
|
|
11744
|
+
PolarComposition_addEvent(SeriesClass, 'afterColumnTranslate', onSeriesAfterColumnTranslate, {
|
|
11745
|
+
// After columnrange and polar column modifications
|
|
11746
|
+
order: 9
|
|
11747
|
+
});
|
|
11301
11748
|
PolarComposition_addEvent(SeriesClass, 'afterTranslate', onSeriesAfterTranslate, { order: 2 } // Run after translation of ||-coords
|
|
11302
11749
|
);
|
|
11303
11750
|
PolarComposition_addEvent(SeriesClass, 'afterColumnTranslate', onAfterColumnTranslate, { order: 4 });
|
|
@@ -11943,12 +12390,12 @@ class WaterfallSeries extends WaterfallSeries_ColumnSeries {
|
|
|
11943
12390
|
// Return an empty path initially, because we need to know the stroke-width
|
|
11944
12391
|
// in order to set the final path.
|
|
11945
12392
|
getGraphPath() {
|
|
11946
|
-
return [['M', 0, 0]];
|
|
12393
|
+
return this.graph?.pathArray || [['M', 0, 0]];
|
|
11947
12394
|
}
|
|
11948
12395
|
// Draw columns' connector lines
|
|
11949
12396
|
getCrispPath() {
|
|
11950
12397
|
const // Skip points where Y is not a number (#18636)
|
|
11951
|
-
data = this.
|
|
12398
|
+
data = this.points.filter((d) => WaterfallSeries_isNumber(d.y)), yAxis = this.yAxis, length = data.length, graphLineWidth = this.graph?.strokeWidth() || 0, reversedXAxis = this.xAxis.reversed, reversedYAxis = this.yAxis.reversed, stacking = this.options.stacking, path = [];
|
|
11952
12399
|
for (let i = 1; i < length; i++) {
|
|
11953
12400
|
if (!( // Skip lines that would pass over the null point (#18636)
|
|
11954
12401
|
this.options.connectNulls ||
|
|
@@ -11967,8 +12414,7 @@ class WaterfallSeries extends WaterfallSeries_ColumnSeries {
|
|
|
11967
12414
|
// value
|
|
11968
12415
|
let yPos;
|
|
11969
12416
|
if (stacking) {
|
|
11970
|
-
|
|
11971
|
-
yPos = WaterfallSeries_crisp(yAxis.translate(connectorThreshold, false, true, false, true) +
|
|
12417
|
+
yPos = WaterfallSeries_crisp(yAxis.translate(prevStackX.connectorThreshold || 0, false, true, false, true) +
|
|
11972
12418
|
(reversedYAxis ? isPos : 0), graphLineWidth);
|
|
11973
12419
|
}
|
|
11974
12420
|
else {
|
|
@@ -12008,11 +12454,9 @@ class WaterfallSeries extends WaterfallSeries_ColumnSeries {
|
|
|
12008
12454
|
// crisp rendering.
|
|
12009
12455
|
drawGraph() {
|
|
12010
12456
|
WaterfallSeries_LineSeries.prototype.drawGraph.call(this);
|
|
12011
|
-
|
|
12012
|
-
this.
|
|
12013
|
-
|
|
12014
|
-
});
|
|
12015
|
-
}
|
|
12457
|
+
this.graph?.animate({
|
|
12458
|
+
d: this.getCrispPath()
|
|
12459
|
+
});
|
|
12016
12460
|
}
|
|
12017
12461
|
// Waterfall has stacking along the x-values too.
|
|
12018
12462
|
setStackedPoints(axis) {
|