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
|
@@ -9,7 +9,9 @@
|
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
11
|
import Geometry from './GeometryUtilities.js';
|
|
12
|
+
import Utilities from '../Utilities';
|
|
12
13
|
const { getAngleBetweenPoints, getCenterOfPoints, getDistanceBetweenPoints } = Geometry;
|
|
14
|
+
const { correctFloat } = Utilities;
|
|
13
15
|
/* *
|
|
14
16
|
*
|
|
15
17
|
* Namespace
|
|
@@ -54,7 +56,7 @@ var CircleUtilities;
|
|
|
54
56
|
if (r <= 0) {
|
|
55
57
|
throw new Error('radius of circle must be a positive number.');
|
|
56
58
|
}
|
|
57
|
-
return Math.PI * r * r;
|
|
59
|
+
return correctFloat(Math.PI * r * r);
|
|
58
60
|
}
|
|
59
61
|
CircleUtilities.getAreaOfCircle = getAreaOfCircle;
|
|
60
62
|
/**
|
|
@@ -24,7 +24,7 @@ var Globals;
|
|
|
24
24
|
* Constants
|
|
25
25
|
*
|
|
26
26
|
* */
|
|
27
|
-
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.
|
|
27
|
+
Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.4.0', Globals.win = (typeof window !== 'undefined' ?
|
|
28
28
|
window :
|
|
29
29
|
{}), // eslint-disable-line node/no-unsupported-features/es-builtins
|
|
30
30
|
Globals.doc = Globals.win.document, Globals.svg = !!Globals.doc?.createElementNS?.(Globals.SVG_NS, 'svg')?.createSVGRect, Globals.pageLang = Globals.doc?.documentElement?.closest('[lang]')?.lang, Globals.userAgent = Globals.win.navigator?.userAgent || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [
|
|
@@ -270,16 +270,14 @@ class Legend {
|
|
|
270
270
|
* The item to remove
|
|
271
271
|
*/
|
|
272
272
|
destroyItem(item) {
|
|
273
|
-
const
|
|
273
|
+
const legendItem = item.legendItem || {};
|
|
274
274
|
// Destroy SVG elements
|
|
275
275
|
for (const key of ['group', 'label', 'line', 'symbol']) {
|
|
276
276
|
if (legendItem[key]) {
|
|
277
277
|
legendItem[key] = legendItem[key].destroy();
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
|
-
|
|
281
|
-
discardElement(checkbox);
|
|
282
|
-
}
|
|
280
|
+
item.checkbox = discardElement(item.checkbox);
|
|
283
281
|
item.legendItem = void 0;
|
|
284
282
|
}
|
|
285
283
|
/**
|
|
@@ -608,13 +606,13 @@ class Legend {
|
|
|
608
606
|
/(rtv|rm|rbv)/,
|
|
609
607
|
/(rbh|cb|lbh)/,
|
|
610
608
|
/(lbv|lm|ltv)/
|
|
611
|
-
]).forEach(
|
|
609
|
+
]).forEach((alignments, side) => {
|
|
612
610
|
if (alignments.test(alignment) && !defined(margin[side])) {
|
|
613
611
|
// Now we have detected on which side of the chart we should
|
|
614
612
|
// reserve space for the legend
|
|
615
613
|
chart[marginNames[side]] = Math.max(chart[marginNames[side]], (chart.legend[(side + 1) % 2 ? 'legendHeight' : 'legendWidth'] +
|
|
616
|
-
[1, -1, -1, 1][side] * options[(side % 2) ? 'x' : 'y'] +
|
|
617
|
-
|
|
614
|
+
[1, -1, -1, 1][side] * (options[(side % 2) ? 'x' : 'y']) +
|
|
615
|
+
(options.margin ?? 12) +
|
|
618
616
|
spacing[side] +
|
|
619
617
|
(chart.titleOffset[side] || 0)));
|
|
620
618
|
}
|
|
@@ -1228,6 +1226,9 @@ export default Legend;
|
|
|
1228
1226
|
*/ /**
|
|
1229
1227
|
* @name Highcharts.LegendItemObject#symbol
|
|
1230
1228
|
* @type {Highcharts.SVGElement|undefined}
|
|
1229
|
+
*/ /**
|
|
1230
|
+
* @name Highcharts.LegendItemObject#label
|
|
1231
|
+
* @type {Highcharts.SVGElement|undefined}
|
|
1231
1232
|
*/
|
|
1232
1233
|
/**
|
|
1233
1234
|
* Gets fired when the legend item is clicked. The default
|
|
@@ -75,17 +75,20 @@ class Pointer {
|
|
|
75
75
|
activeSeries.push.apply(activeSeries, this.chart.series.filter((otherSeries) => otherSeries.markerGroup === series.markerGroup));
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
for (const series of this.chart.series) {
|
|
79
|
+
const seriesOptions = series.options;
|
|
80
|
+
if (seriesOptions.states?.inactive?.enabled === false) {
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
80
83
|
if (activeSeries.indexOf(series) === -1) {
|
|
81
84
|
// Inactive series
|
|
82
85
|
series.setState('inactive', true);
|
|
83
86
|
}
|
|
84
|
-
else if (
|
|
87
|
+
else if (seriesOptions.inactiveOtherPoints) {
|
|
85
88
|
// Active series, but other points should be inactivated
|
|
86
89
|
series.setAllPointsToState('inactive');
|
|
87
90
|
}
|
|
88
|
-
}
|
|
91
|
+
}
|
|
89
92
|
}
|
|
90
93
|
/**
|
|
91
94
|
* Destroys the Pointer object and disconnects DOM events.
|
|
@@ -298,6 +301,7 @@ class Pointer {
|
|
|
298
301
|
chart.mouseIsDown = false;
|
|
299
302
|
this.hasDragged = 0;
|
|
300
303
|
this.pinchDown = [];
|
|
304
|
+
this.hasPinchMoved = false;
|
|
301
305
|
}
|
|
302
306
|
}
|
|
303
307
|
/**
|
|
@@ -847,6 +851,11 @@ class Pointer {
|
|
|
847
851
|
* @function Highcharts.Pointer#onDocumentMouseUp
|
|
848
852
|
*/
|
|
849
853
|
onDocumentMouseUp(e) {
|
|
854
|
+
// #17852, IOS devices sometimes reverts back to previous point when
|
|
855
|
+
// dragging between points
|
|
856
|
+
if (e?.touches && this.hasPinchMoved) {
|
|
857
|
+
e?.preventDefault?.();
|
|
858
|
+
}
|
|
850
859
|
charts[pick(Pointer.hoverChartIndex, -1)]
|
|
851
860
|
?.pointer
|
|
852
861
|
?.drop(e);
|
|
@@ -1402,7 +1411,7 @@ class Pointer {
|
|
|
1402
1411
|
// checking how much it moved, and cancelling on small
|
|
1403
1412
|
// distances. #3450. Tested and still relevant as of 2024.
|
|
1404
1413
|
if (e.type === 'touchmove') {
|
|
1405
|
-
hasMoved = pinchDown[0] ? // #5266
|
|
1414
|
+
this.hasPinchMoved = hasMoved = pinchDown[0] ? // #5266
|
|
1406
1415
|
(Math.pow(pinchDown[0].chartX - e.chartX, 2) +
|
|
1407
1416
|
Math.pow(pinchDown[0].chartY - e.chartY, 2)) >= 16 :
|
|
1408
1417
|
false;
|
|
@@ -268,7 +268,8 @@ class HTMLElement extends SVGElement {
|
|
|
268
268
|
// Calling offsetWidth affects rendering time as it forces layout
|
|
269
269
|
// (#7656).
|
|
270
270
|
if (textWidth !== oldTextWidth) { // #983, #1254
|
|
271
|
-
const textPxLength = getTextPxLength(), textWidthNum = textWidth || 0, willOverWrap =
|
|
271
|
+
const textPxLength = getTextPxLength(), textWidthNum = textWidth || 0, willOverWrap = !renderer.styledMode &&
|
|
272
|
+
element.style.textOverflow === '' &&
|
|
272
273
|
element.style.webkitLineClamp;
|
|
273
274
|
if ((textWidthNum > oldTextWidth ||
|
|
274
275
|
textPxLength > textWidthNum ||
|
|
@@ -1008,8 +1008,8 @@ class SVGElement {
|
|
|
1008
1008
|
toggleTextShadowShim('');
|
|
1009
1009
|
}
|
|
1010
1010
|
}
|
|
1011
|
-
catch
|
|
1012
|
-
|
|
1011
|
+
catch {
|
|
1012
|
+
// Ignore error
|
|
1013
1013
|
}
|
|
1014
1014
|
// If the bBox is not set, the try-catch block above failed. The
|
|
1015
1015
|
// other condition is for Opera that returns a width of
|
|
@@ -28,7 +28,8 @@ class SVGLabel extends SVGElement {
|
|
|
28
28
|
* Constructor
|
|
29
29
|
*
|
|
30
30
|
* */
|
|
31
|
-
constructor(renderer, str, x, y, shape,
|
|
31
|
+
constructor(renderer, str, x, y, shape, // @todo (SymbolKey|string),
|
|
32
|
+
anchorX, anchorY, useHTML, baseline, className) {
|
|
32
33
|
super(renderer, 'g');
|
|
33
34
|
this.paddingLeftSetter = this.paddingSetter;
|
|
34
35
|
this.paddingRightSetter = this.paddingSetter;
|
|
@@ -361,10 +362,18 @@ class SVGLabel extends SVGElement {
|
|
|
361
362
|
// Force animation even when setting to the same value (#7898)
|
|
362
363
|
this['forceAnimate:x'] = true;
|
|
363
364
|
}
|
|
365
|
+
if (this.anchorX) {
|
|
366
|
+
// #22907, force anchorX to animate after x set
|
|
367
|
+
this['forceAnimate:anchorX'] = true;
|
|
368
|
+
}
|
|
364
369
|
this.xSetting = Math.round(value);
|
|
365
370
|
this.attr('translateX', this.xSetting);
|
|
366
371
|
}
|
|
367
372
|
ySetter(value) {
|
|
373
|
+
if (this.anchorY) {
|
|
374
|
+
// #22907, force anchorY to animate after y set
|
|
375
|
+
this['forceAnimate:anchorY'] = true;
|
|
376
|
+
}
|
|
368
377
|
this.ySetting = this.y = Math.round(value);
|
|
369
378
|
this.attr('translateY', this.ySetting);
|
|
370
379
|
}
|
|
@@ -171,7 +171,7 @@ class SVGRenderer {
|
|
|
171
171
|
this.url = this.getReferenceURL();
|
|
172
172
|
// Add description
|
|
173
173
|
const desc = this.createElement('desc').add();
|
|
174
|
-
desc.element.appendChild(doc.createTextNode('Created with Highcharts 12.
|
|
174
|
+
desc.element.appendChild(doc.createTextNode('Created with Highcharts 12.4.0'));
|
|
175
175
|
this.defs = this.createElement('defs').add();
|
|
176
176
|
this.allowHTML = allowHTML;
|
|
177
177
|
this.forExport = forExport;
|
|
@@ -1310,15 +1310,15 @@ class SVGRenderer {
|
|
|
1310
1310
|
*
|
|
1311
1311
|
* @function Highcharts.SVGRenderer#fontMetrics
|
|
1312
1312
|
*
|
|
1313
|
-
* @param {Highcharts.SVGElement|Highcharts.SVGDOMElement|number}
|
|
1314
|
-
*
|
|
1315
|
-
*
|
|
1313
|
+
* @param {Highcharts.SVGElement|Highcharts.SVGDOMElement|number} ref
|
|
1314
|
+
* The element to inspect for a current font size. If a number is given,
|
|
1315
|
+
* it's used as a fall back for direct font size in pixels.
|
|
1316
1316
|
*
|
|
1317
1317
|
* @return {Highcharts.FontMetricsObject}
|
|
1318
|
-
*
|
|
1318
|
+
* The font metrics.
|
|
1319
1319
|
*/
|
|
1320
|
-
fontMetrics(
|
|
1321
|
-
const f = pInt(SVGElement.prototype.getStyle.call(
|
|
1320
|
+
fontMetrics(ref) {
|
|
1321
|
+
const f = isNumber(ref) ? ref : pInt((SVGElement.prototype.getStyle.call(ref, 'font-size') || 0));
|
|
1322
1322
|
// Empirical values found by comparing font size and bounding box
|
|
1323
1323
|
// height. Applies to the default font family.
|
|
1324
1324
|
// https://jsfiddle.net/highcharts/7xvn7/
|
|
@@ -112,6 +112,15 @@ class Point {
|
|
|
112
112
|
* @name Highcharts.Point#shapeArgs
|
|
113
113
|
* @type {Readonly<Highcharts.SVGAttributes>|undefined}
|
|
114
114
|
*/
|
|
115
|
+
/**
|
|
116
|
+
* Defines the tooltip's position for a data point in a chart. It is an
|
|
117
|
+
* array of numbers representing the coordinates for the tooltip's
|
|
118
|
+
* placement, allowing for precise control over its location.
|
|
119
|
+
*
|
|
120
|
+
* @readonly
|
|
121
|
+
* @name Highcharts.Point#tooltipPos
|
|
122
|
+
* @type {Readonly<Array<number>>|undefined}
|
|
123
|
+
*/
|
|
115
124
|
/**
|
|
116
125
|
* The total of values in either a stack for stacked series, or a pie in a
|
|
117
126
|
* pie series.
|
|
@@ -2795,7 +2795,7 @@ class Series {
|
|
|
2795
2795
|
oldOptions.type ||
|
|
2796
2796
|
chart.options.chart.type);
|
|
2797
2797
|
const keepPoints = !(
|
|
2798
|
-
// Indicators
|
|
2798
|
+
// Indicators etc recalculate the data. It should be
|
|
2799
2799
|
// possible to omit this.
|
|
2800
2800
|
this.hasDerivedData ||
|
|
2801
2801
|
// New type requires new point classes
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
*
|
|
9
9
|
* */
|
|
10
10
|
'use strict';
|
|
11
|
+
/* *
|
|
12
|
+
*
|
|
13
|
+
* Imports
|
|
14
|
+
*
|
|
15
|
+
* */
|
|
16
|
+
import Series from './Series.js';
|
|
11
17
|
import H from '../Globals.js';
|
|
12
18
|
import D from '../Defaults.js';
|
|
13
19
|
const { defaultOptions } = D;
|
|
@@ -91,7 +97,8 @@ var SeriesRegistry;
|
|
|
91
97
|
defaultPlotOptions[type] = merge(defaultPlotOptions[parent], options);
|
|
92
98
|
// Create the class
|
|
93
99
|
delete SeriesRegistry.seriesTypes[type];
|
|
94
|
-
|
|
100
|
+
const parentClass = SeriesRegistry.seriesTypes[parent] || Series, childClass = extendClass(parentClass, seriesProto);
|
|
101
|
+
registerSeriesType(type, childClass);
|
|
95
102
|
SeriesRegistry.seriesTypes[type].prototype.type = type;
|
|
96
103
|
// Create the point class if needed
|
|
97
104
|
if (pointProto) {
|
|
@@ -454,8 +454,7 @@ class DataTable extends DataTableCore {
|
|
|
454
454
|
* Returns all column names.
|
|
455
455
|
*/
|
|
456
456
|
getColumnNames() {
|
|
457
|
-
|
|
458
|
-
return columnNames;
|
|
457
|
+
return Object.keys(this.columns);
|
|
459
458
|
}
|
|
460
459
|
/**
|
|
461
460
|
* Retrieves all or the given columns.
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
*
|
|
12
12
|
* */
|
|
13
13
|
'use strict';
|
|
14
|
+
import U from '../../Core/Utilities.js';
|
|
15
|
+
const { isString } = U;
|
|
14
16
|
/* *
|
|
15
17
|
*
|
|
16
18
|
* Constants
|
|
@@ -290,6 +292,20 @@ function parseArguments(text, alternativeSeparators) {
|
|
|
290
292
|
}
|
|
291
293
|
return args;
|
|
292
294
|
}
|
|
295
|
+
/**
|
|
296
|
+
* Checks if there's one of the following operator before the negative number
|
|
297
|
+
* value: '*', '/' or '^'.
|
|
298
|
+
*
|
|
299
|
+
* Used to properly indicate a negative value reference or negate a directly
|
|
300
|
+
* passed number value.
|
|
301
|
+
*/
|
|
302
|
+
function negativeReference(formula) {
|
|
303
|
+
const formulaLength = formula.length;
|
|
304
|
+
const priorFormula = formula[formulaLength - 2];
|
|
305
|
+
return (formula[formulaLength - 1] === '-' &&
|
|
306
|
+
isString(priorFormula) &&
|
|
307
|
+
!!priorFormula.match(/\*|\/|\^/));
|
|
308
|
+
}
|
|
293
309
|
/**
|
|
294
310
|
* Converts a spreadsheet formula string into a formula array. Throws a
|
|
295
311
|
* `FormulaParserError` when the string can not be parsed.
|
|
@@ -333,6 +349,10 @@ function parseFormula(text, alternativeSeparators) {
|
|
|
333
349
|
if (rowRelative) {
|
|
334
350
|
reference.rowRelative = true;
|
|
335
351
|
}
|
|
352
|
+
if (negativeReference(formula)) {
|
|
353
|
+
formula.pop();
|
|
354
|
+
reference.isNegative = true;
|
|
355
|
+
}
|
|
336
356
|
formula.push(reference);
|
|
337
357
|
next = next.substring(match[0].length).trim();
|
|
338
358
|
continue;
|
|
@@ -357,6 +377,10 @@ function parseFormula(text, alternativeSeparators) {
|
|
|
357
377
|
if (rowRelative) {
|
|
358
378
|
reference.rowRelative = true;
|
|
359
379
|
}
|
|
380
|
+
if (negativeReference(formula)) {
|
|
381
|
+
formula.pop();
|
|
382
|
+
reference.isNegative = true;
|
|
383
|
+
}
|
|
360
384
|
formula.push(reference);
|
|
361
385
|
next = next.substring(match[0].length).trim();
|
|
362
386
|
continue;
|
|
@@ -378,7 +402,15 @@ function parseFormula(text, alternativeSeparators) {
|
|
|
378
402
|
// Check for a number value
|
|
379
403
|
match = next.match(decimalRegExp);
|
|
380
404
|
if (match) {
|
|
381
|
-
|
|
405
|
+
let number = parseFloat(match[0]);
|
|
406
|
+
// If the current value is multiplication-related and the previous
|
|
407
|
+
// one is a minus sign, set the current value to negative and remove
|
|
408
|
+
// the minus sign.
|
|
409
|
+
if (negativeReference(formula)) {
|
|
410
|
+
formula.pop();
|
|
411
|
+
number = -number;
|
|
412
|
+
}
|
|
413
|
+
formula.push(number);
|
|
382
414
|
next = next.substring(match[0].length).trim();
|
|
383
415
|
continue;
|
|
384
416
|
}
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
'use strict';
|
|
14
14
|
import FormulaTypes from './FormulaTypes.js';
|
|
15
15
|
const { isFormula, isFunction, isOperator, isRange, isReference, isValue } = FormulaTypes;
|
|
16
|
+
import U from '../../Core/Utilities.js';
|
|
17
|
+
const { defined } = U;
|
|
16
18
|
/* *
|
|
17
19
|
*
|
|
18
20
|
* Constants
|
|
@@ -278,14 +280,57 @@ function getReferenceValue(reference, table) {
|
|
|
278
280
|
const result = table.modified.getCell(columnName, reference.row);
|
|
279
281
|
return isValue(result) ? result : NaN;
|
|
280
282
|
}
|
|
281
|
-
|
|
283
|
+
if (isValue(cell)) {
|
|
284
|
+
return reference.isNegative ? -cell : cell;
|
|
285
|
+
}
|
|
286
|
+
return NaN;
|
|
282
287
|
}
|
|
283
288
|
return NaN;
|
|
284
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Calculates a value based on the two top values and the related operator.
|
|
292
|
+
*
|
|
293
|
+
* Used to properly process the formula's values based on its operators.
|
|
294
|
+
*
|
|
295
|
+
* @private
|
|
296
|
+
* @function Highcharts.applyOperator
|
|
297
|
+
*
|
|
298
|
+
* @param {Array<Highcharts.Value>} values
|
|
299
|
+
* Processed formula values.
|
|
300
|
+
*
|
|
301
|
+
* @param {Array<Highcharts.Operator>} operators
|
|
302
|
+
* Processed formula operators.
|
|
303
|
+
*/
|
|
304
|
+
function applyOperator(values, operators) {
|
|
305
|
+
if (values.length < 2 || operators.length < 1) {
|
|
306
|
+
values.push(NaN);
|
|
307
|
+
}
|
|
308
|
+
const secondValue = values.pop();
|
|
309
|
+
const firstValue = values.pop();
|
|
310
|
+
const operator = operators.pop();
|
|
311
|
+
if (!defined(secondValue) || !defined(firstValue) || !defined(operator)) {
|
|
312
|
+
values.push(NaN);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
values.push(basicOperation(operator, firstValue, secondValue));
|
|
316
|
+
}
|
|
317
|
+
}
|
|
285
318
|
/**
|
|
286
319
|
* Processes a formula array on the given table. If the formula does not contain
|
|
287
320
|
* references or ranges, then no table has to be provided.
|
|
288
321
|
*
|
|
322
|
+
* Performs formulas considering the operators precedence.
|
|
323
|
+
*
|
|
324
|
+
* // Example of the `2 * 3 + 4` formula:
|
|
325
|
+
* 2 -> values: [2], operators: []
|
|
326
|
+
* * -> values: [2], operators: [*]
|
|
327
|
+
* 3 -> values: [2, 3], operators: [*]
|
|
328
|
+
* // Since the higher precedence operator exists (* > +), perform it first.
|
|
329
|
+
* + -> values: [6], operators: [+]
|
|
330
|
+
* 4 -> values: [6, 4], operators: [+]
|
|
331
|
+
* // When non-higher precedence operators remain, perform rest calculations.
|
|
332
|
+
* -> values: [10], operators: []
|
|
333
|
+
*
|
|
289
334
|
* @private
|
|
290
335
|
* @function Highcharts.processFormula
|
|
291
336
|
*
|
|
@@ -299,61 +344,68 @@ function getReferenceValue(reference, table) {
|
|
|
299
344
|
* Result value of the process. `NaN` indicates an error.
|
|
300
345
|
*/
|
|
301
346
|
function processFormula(formula, table) {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
347
|
+
// Keeps all the values to calculate them in a proper priority, based on the
|
|
348
|
+
// given operators.
|
|
349
|
+
const values = [];
|
|
350
|
+
// Keeps all the operators to calculate the values above, following the
|
|
351
|
+
// proper priority.
|
|
352
|
+
const operators = [];
|
|
353
|
+
// Indicates if the next item is a value (not an operator).
|
|
354
|
+
let expectingValue = true;
|
|
355
|
+
for (let i = 0, iEnd = formula.length; i < iEnd; ++i) {
|
|
356
|
+
const item = formula[i];
|
|
306
357
|
if (isOperator(item)) {
|
|
307
|
-
|
|
358
|
+
if (expectingValue && item === '-') {
|
|
359
|
+
// Split the negative values to be handled as a binary
|
|
360
|
+
// operation if the next item is a value.
|
|
361
|
+
values.push(0);
|
|
362
|
+
operators.push('-');
|
|
363
|
+
expectingValue = true;
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
// Perform if the higher precedence operator exist.
|
|
367
|
+
while (operators.length &&
|
|
368
|
+
operatorPriority[operators[operators.length - 1]] >=
|
|
369
|
+
operatorPriority[item]) {
|
|
370
|
+
applyOperator(values, operators);
|
|
371
|
+
}
|
|
372
|
+
operators.push(item);
|
|
373
|
+
expectingValue = true;
|
|
374
|
+
}
|
|
308
375
|
continue;
|
|
309
376
|
}
|
|
310
|
-
|
|
377
|
+
let value;
|
|
378
|
+
// Assign the proper value, starting from the most common types.
|
|
311
379
|
if (isValue(item)) {
|
|
312
|
-
|
|
313
|
-
// Next item is a formula and needs to get processed first
|
|
380
|
+
value = item;
|
|
314
381
|
}
|
|
315
|
-
else if (
|
|
316
|
-
|
|
317
|
-
// Next item is a function call and needs to get processed first
|
|
382
|
+
else if (isReference(item)) {
|
|
383
|
+
value = table ? getReferenceValue(item, table) : NaN;
|
|
318
384
|
}
|
|
319
385
|
else if (isFunction(item)) {
|
|
320
|
-
result = processFunction(item, table);
|
|
321
|
-
|
|
322
|
-
// Next item is a reference and needs to get resolved
|
|
386
|
+
const result = processFunction(item, table);
|
|
387
|
+
value = isValue(result) ? result : NaN;
|
|
323
388
|
}
|
|
324
|
-
else if (
|
|
325
|
-
|
|
389
|
+
else if (isFormula(item)) {
|
|
390
|
+
value = processFormula(item, table);
|
|
326
391
|
}
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
if (typeof x === 'undefined') {
|
|
331
|
-
if (operator) {
|
|
332
|
-
x = basicOperation(operator, 0, y);
|
|
333
|
-
}
|
|
334
|
-
else {
|
|
335
|
-
x = y;
|
|
336
|
-
}
|
|
337
|
-
// Fail fast if no operator available
|
|
338
|
-
}
|
|
339
|
-
else if (!operator) {
|
|
340
|
-
return NaN;
|
|
341
|
-
// Regular next value
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
const operator2 = formula[i + 1];
|
|
345
|
-
if (isOperator(operator2) &&
|
|
346
|
-
operatorPriority[operator2] > operatorPriority[operator]) {
|
|
347
|
-
y = basicOperation(operator2, y, processFormula(formula.slice(i + 2)));
|
|
348
|
-
i = iEnd;
|
|
349
|
-
}
|
|
350
|
-
x = basicOperation(operator, x, y);
|
|
351
|
-
}
|
|
352
|
-
operator = void 0;
|
|
353
|
-
y = void 0;
|
|
392
|
+
if (typeof value !== 'undefined') {
|
|
393
|
+
values.push(value);
|
|
394
|
+
expectingValue = false;
|
|
354
395
|
}
|
|
396
|
+
else {
|
|
397
|
+
return NaN;
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
// Handle the remaining operators that weren't taken into consideration, due
|
|
401
|
+
// to non-higher precedence.
|
|
402
|
+
while (operators.length) {
|
|
403
|
+
applyOperator(values, operators);
|
|
404
|
+
}
|
|
405
|
+
if (values.length !== 1) {
|
|
406
|
+
return NaN;
|
|
355
407
|
}
|
|
356
|
-
return
|
|
408
|
+
return values[0];
|
|
357
409
|
}
|
|
358
410
|
/**
|
|
359
411
|
* Process a function on the given table. If the arguments do not contain
|