highcharts 12.0.0 → 12.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +1 -1
- package/es-modules/Core/Axis/Axis.js +1 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +8 -2
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +1 -1
- package/es-modules/Core/Tooltip.js +2 -1
- package/es-modules/Core/Utilities.js +53 -53
- package/es-modules/Extensions/Boost/WGLRenderer.js +12 -4
- package/es-modules/Extensions/Drilldown/Drilldown.js +3 -3
- package/es-modules/Series/Line/LineSeries.js +2 -4
- package/es-modules/Stock/RangeSelector/RangeSelector.js +1 -1
- package/es-modules/masters/highcharts-3d.src.d.ts +1 -3
- package/es-modules/masters/highcharts-gantt.src.d.ts +1 -2
- package/es-modules/masters/highcharts-more.src.d.ts +1 -10
- package/es-modules/masters/highcharts.src.d.ts +2 -10
- package/es-modules/masters/highmaps.src.d.ts +1 -2
- package/es-modules/masters/highstock.src.d.ts +1 -2
- package/es-modules/masters/indicators/acceleration-bands.src.d.ts +1 -3
- package/es-modules/masters/indicators/accumulation-distribution.src.d.ts +1 -3
- package/es-modules/masters/indicators/ao.src.d.ts +1 -3
- package/es-modules/masters/indicators/apo.src.d.ts +1 -3
- package/es-modules/masters/indicators/aroon-oscillator.src.d.ts +1 -3
- package/es-modules/masters/indicators/aroon.src.d.ts +1 -3
- package/es-modules/masters/indicators/atr.src.d.ts +1 -3
- package/es-modules/masters/indicators/bollinger-bands.src.d.ts +1 -3
- package/es-modules/masters/indicators/cci.src.d.ts +1 -3
- package/es-modules/masters/indicators/chaikin.src.d.ts +1 -3
- package/es-modules/masters/indicators/cmf.src.d.ts +1 -3
- package/es-modules/masters/indicators/cmo.src.d.ts +1 -3
- package/es-modules/masters/indicators/dema.src.d.ts +1 -3
- package/es-modules/masters/indicators/disparity-index.src.d.ts +1 -3
- package/es-modules/masters/indicators/dmi.src.d.ts +1 -3
- package/es-modules/masters/indicators/dpo.src.d.ts +1 -3
- package/es-modules/masters/indicators/ema.src.d.ts +1 -2
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.d.ts +1 -3
- package/es-modules/masters/indicators/indicators-all.src.d.ts +1 -62
- package/es-modules/masters/indicators/indicators.src.d.ts +1 -4
- package/es-modules/masters/indicators/keltner-channels.src.d.ts +1 -3
- package/es-modules/masters/indicators/klinger.src.d.ts +1 -3
- package/es-modules/masters/indicators/macd.src.d.ts +1 -3
- package/es-modules/masters/indicators/mfi.src.d.ts +1 -3
- package/es-modules/masters/indicators/momentum.src.d.ts +1 -3
- package/es-modules/masters/indicators/natr.src.d.ts +1 -3
- package/es-modules/masters/indicators/obv.src.d.ts +1 -3
- package/es-modules/masters/indicators/pivot-points.src.d.ts +1 -3
- package/es-modules/masters/indicators/ppo.src.d.ts +1 -3
- package/es-modules/masters/indicators/price-channel.src.d.ts +1 -3
- package/es-modules/masters/indicators/price-envelopes.src.d.ts +1 -3
- package/es-modules/masters/indicators/psar.src.d.ts +1 -3
- package/es-modules/masters/indicators/regressions.src.d.ts +1 -6
- package/es-modules/masters/indicators/roc.src.d.ts +1 -3
- package/es-modules/masters/indicators/rsi.src.d.ts +1 -3
- package/es-modules/masters/indicators/slow-stochastic.src.d.ts +1 -3
- package/es-modules/masters/indicators/stochastic.src.d.ts +1 -3
- package/es-modules/masters/indicators/supertrend.src.d.ts +1 -3
- package/es-modules/masters/indicators/tema.src.d.ts +1 -3
- package/es-modules/masters/indicators/trendline.src.d.ts +1 -3
- package/es-modules/masters/indicators/trix.src.d.ts +1 -3
- package/es-modules/masters/indicators/volume-by-price.src.d.ts +1 -3
- package/es-modules/masters/indicators/vwap.src.d.ts +1 -3
- package/es-modules/masters/indicators/williams-r.src.d.ts +1 -3
- package/es-modules/masters/indicators/wma.src.d.ts +1 -3
- package/es-modules/masters/indicators/zigzag.src.d.ts +1 -3
- package/es-modules/masters/modules/accessibility.src.d.ts +1 -14
- package/es-modules/masters/modules/annotations-advanced.src.d.ts +1 -14
- package/es-modules/masters/modules/annotations.src.d.ts +1 -2
- package/es-modules/masters/modules/arc-diagram.src.d.ts +1 -3
- package/es-modules/masters/modules/arrow-symbols.src.d.ts +1 -2
- package/es-modules/masters/modules/boost-canvas.src.d.ts +1 -2
- package/es-modules/masters/modules/boost.src.d.ts +1 -15
- package/es-modules/masters/modules/broken-axis.src.d.ts +1 -2
- package/es-modules/masters/modules/bullet.src.d.ts +1 -3
- package/es-modules/masters/modules/coloraxis.src.d.ts +1 -2
- package/es-modules/masters/modules/current-date-indicator.src.d.ts +1 -2
- package/es-modules/masters/modules/cylinder.src.d.ts +1 -2
- package/es-modules/masters/modules/data.src.d.ts +1 -2
- package/es-modules/masters/modules/datagrouping.src.d.ts +1 -2
- package/es-modules/masters/modules/debugger.src.d.ts +1 -13
- package/es-modules/masters/modules/dependency-wheel.src.d.ts +1 -3
- package/es-modules/masters/modules/dotplot.src.d.ts +1 -3
- package/es-modules/masters/modules/drag-panes.src.d.ts +1 -2
- package/es-modules/masters/modules/draggable-points.src.d.ts +1 -2
- package/es-modules/masters/modules/drilldown.src.d.ts +1 -2
- package/es-modules/masters/modules/dumbbell.src.d.ts +1 -3
- package/es-modules/masters/modules/export-data.src.d.ts +1 -2
- package/es-modules/masters/modules/exporting.src.d.ts +1 -2
- package/es-modules/masters/modules/flowmap.src.d.ts +1 -3
- package/es-modules/masters/modules/full-screen.src.d.ts +1 -2
- package/es-modules/masters/modules/funnel.src.d.ts +1 -3
- package/es-modules/masters/modules/funnel3d.src.d.ts +1 -2
- package/es-modules/masters/modules/gantt.src.d.ts +1 -5
- package/es-modules/masters/modules/geoheatmap.src.d.ts +1 -3
- package/es-modules/masters/modules/grid-axis.src.d.ts +1 -2
- package/es-modules/masters/modules/heatmap.src.d.ts +1 -4
- package/es-modules/masters/modules/heikinashi.src.d.ts +1 -2
- package/es-modules/masters/modules/histogram-bellcurve.src.d.ts +1 -4
- package/es-modules/masters/modules/hollowcandlestick.src.d.ts +1 -3
- package/es-modules/masters/modules/item-series.src.d.ts +1 -3
- package/es-modules/masters/modules/lollipop.src.d.ts +1 -3
- package/es-modules/masters/modules/map.src.d.ts +1 -7
- package/es-modules/masters/modules/marker-clusters.src.d.ts +1 -2
- package/es-modules/masters/modules/mouse-wheel-zoom.src.d.ts +1 -13
- package/es-modules/masters/modules/navigator.src.d.ts +1 -2
- package/es-modules/masters/modules/networkgraph.src.d.ts +1 -2
- package/es-modules/masters/modules/no-data-to-display.src.d.ts +1 -2
- package/es-modules/masters/modules/offline-exporting.src.d.ts +1 -2
- package/es-modules/masters/modules/organization.src.d.ts +1 -3
- package/es-modules/masters/modules/overlapping-datalabels.src.d.ts +1 -2
- package/es-modules/masters/modules/parallel-coordinates.src.d.ts +1 -2
- package/es-modules/masters/modules/pareto.src.d.ts +1 -3
- package/es-modules/masters/modules/pathfinder.src.d.ts +1 -2
- package/es-modules/masters/modules/pattern-fill.src.d.ts +1 -2
- package/es-modules/masters/modules/pictorial.src.d.ts +1 -3
- package/es-modules/masters/modules/pointandfigure.src.d.ts +1 -2
- package/es-modules/masters/modules/price-indicator.src.d.ts +1 -2
- package/es-modules/masters/modules/pyramid3d.src.d.ts +1 -3
- package/es-modules/masters/modules/renko.src.d.ts +1 -3
- package/es-modules/masters/modules/sankey.src.d.ts +1 -3
- package/es-modules/masters/modules/series-label.src.d.ts +1 -2
- package/es-modules/masters/modules/series-on-point.src.d.ts +1 -14
- package/es-modules/masters/modules/solid-gauge.src.d.ts +1 -3
- package/es-modules/masters/modules/sonification.src.d.ts +1 -14
- package/es-modules/masters/modules/static-scale.src.d.ts +1 -2
- package/es-modules/masters/modules/stock-tools.src.d.ts +1 -2
- package/es-modules/masters/modules/stock.src.d.ts +1 -7
- package/es-modules/masters/modules/streamgraph.src.d.ts +1 -3
- package/es-modules/masters/modules/sunburst.src.d.ts +1 -4
- package/es-modules/masters/modules/textpath.src.d.ts +1 -2
- package/es-modules/masters/modules/tiledwebmap.src.d.ts +1 -2
- package/es-modules/masters/modules/tilemap.src.d.ts +1 -2
- package/es-modules/masters/modules/timeline.src.d.ts +1 -3
- package/es-modules/masters/modules/treegraph.src.d.ts +1 -3
- package/es-modules/masters/modules/treegrid.src.d.ts +1 -2
- package/es-modules/masters/modules/treemap.src.d.ts +1 -2
- package/es-modules/masters/modules/variable-pie.src.d.ts +1 -3
- package/es-modules/masters/modules/variwide.src.d.ts +1 -2
- package/es-modules/masters/modules/vector.src.d.ts +1 -3
- package/es-modules/masters/modules/venn.src.d.ts +1 -3
- package/es-modules/masters/modules/windbarb.src.d.ts +1 -3
- package/es-modules/masters/modules/wordcloud.src.d.ts +1 -3
- package/es-modules/masters/modules/xrange.src.d.ts +1 -2
- package/es-modules/masters/options/abands.src.d.ts +1 -0
- package/es-modules/masters/options/ad.src.d.ts +1 -0
- package/es-modules/masters/options/ao.src.d.ts +1 -0
- package/es-modules/masters/options/apo.src.d.ts +1 -0
- package/es-modules/masters/options/arcdiagram.src.d.ts +1 -0
- package/es-modules/masters/options/area.src.d.ts +1 -0
- package/es-modules/masters/options/arearange.src.d.ts +1 -0
- package/es-modules/masters/options/areaspline.src.d.ts +1 -0
- package/es-modules/masters/options/areasplinerange.src.d.ts +1 -0
- package/es-modules/masters/options/aroon.src.d.ts +1 -0
- package/es-modules/masters/options/aroonoscillator.src.d.ts +1 -0
- package/es-modules/masters/options/atr.src.d.ts +1 -0
- package/es-modules/masters/options/bar.src.d.ts +1 -0
- package/es-modules/masters/options/bb.src.d.ts +1 -0
- package/es-modules/masters/options/bellcurve.src.d.ts +1 -0
- package/es-modules/masters/options/boxplot.src.d.ts +1 -0
- package/es-modules/masters/options/bubble.src.d.ts +1 -0
- package/es-modules/masters/options/bullet.src.d.ts +1 -0
- package/es-modules/masters/options/candlestick.src.d.ts +1 -0
- package/es-modules/masters/options/cci.src.d.ts +1 -0
- package/es-modules/masters/options/chaikin.src.d.ts +1 -0
- package/es-modules/masters/options/cmf.src.d.ts +1 -0
- package/es-modules/masters/options/cmo.src.d.ts +1 -0
- package/es-modules/masters/options/column.src.d.ts +1 -0
- package/es-modules/masters/options/columnpyramid.src.d.ts +1 -0
- package/es-modules/masters/options/columnrange.src.d.ts +1 -0
- package/es-modules/masters/options/cylinder.src.d.ts +1 -0
- package/es-modules/masters/options/dema.src.d.ts +1 -0
- package/es-modules/masters/options/dependencywheel.src.d.ts +1 -0
- package/es-modules/masters/options/disparityindex.src.d.ts +1 -0
- package/es-modules/masters/options/dmi.src.d.ts +1 -0
- package/es-modules/masters/options/dpo.src.d.ts +1 -0
- package/es-modules/masters/options/dumbbell.src.d.ts +1 -0
- package/es-modules/masters/options/ema.src.d.ts +1 -0
- package/es-modules/masters/options/errorbar.src.d.ts +1 -0
- package/es-modules/masters/options/flags.src.d.ts +1 -0
- package/es-modules/masters/options/flowmap.src.d.ts +1 -0
- package/es-modules/masters/options/funnel.src.d.ts +1 -0
- package/es-modules/masters/options/gantt.src.d.ts +1 -0
- package/es-modules/masters/options/gauge.src.d.ts +1 -0
- package/es-modules/masters/options/geoheatmap.src.d.ts +1 -0
- package/es-modules/masters/options/heatmap.src.d.ts +1 -0
- package/es-modules/masters/options/heikinashi.src.d.ts +1 -0
- package/es-modules/masters/options/histogram.src.d.ts +1 -0
- package/es-modules/masters/options/hlc.src.d.ts +1 -0
- package/es-modules/masters/options/hollowcandlestick.src.d.ts +1 -0
- package/es-modules/masters/options/ikh.src.d.ts +1 -0
- package/es-modules/masters/options/item.src.d.ts +1 -0
- package/es-modules/masters/options/keltnerchannels.src.d.ts +1 -0
- package/es-modules/masters/options/klinger.src.d.ts +1 -0
- package/es-modules/masters/options/line.src.d.ts +1 -0
- package/es-modules/masters/options/linearregression.src.d.ts +1 -0
- package/es-modules/masters/options/linearregressionangle.src.d.ts +1 -0
- package/es-modules/masters/options/linearregressionintercept.src.d.ts +1 -0
- package/es-modules/masters/options/linearregressionslope.src.d.ts +1 -0
- package/es-modules/masters/options/lollipop.src.d.ts +1 -0
- package/es-modules/masters/options/macd.src.d.ts +1 -0
- package/es-modules/masters/options/map.src.d.ts +1 -0
- package/es-modules/masters/options/mapbubble.src.d.ts +1 -0
- package/es-modules/masters/options/mapline.src.d.ts +1 -0
- package/es-modules/masters/options/mappoint.src.d.ts +1 -0
- package/es-modules/masters/options/mfi.src.d.ts +1 -0
- package/es-modules/masters/options/momentum.src.d.ts +1 -0
- package/es-modules/masters/options/natr.src.d.ts +1 -0
- package/es-modules/masters/options/networkgraph.src.d.ts +1 -0
- package/es-modules/masters/options/obv.src.d.ts +1 -0
- package/es-modules/masters/options/ohlc.src.d.ts +1 -0
- package/es-modules/masters/options/organization.src.d.ts +1 -0
- package/es-modules/masters/options/packedbubble.src.d.ts +1 -0
- package/es-modules/masters/options/pareto.src.d.ts +1 -0
- package/es-modules/masters/options/pc.src.d.ts +1 -0
- package/es-modules/masters/options/pictorial.src.d.ts +1 -0
- package/es-modules/masters/options/pie.src.d.ts +1 -0
- package/es-modules/masters/options/pivotpoints.src.d.ts +1 -0
- package/es-modules/masters/options/pointandfigure.src.d.ts +1 -0
- package/es-modules/masters/options/polygon.src.d.ts +1 -0
- package/es-modules/masters/options/ppo.src.d.ts +1 -0
- package/es-modules/masters/options/priceenvelopes.src.d.ts +1 -0
- package/es-modules/masters/options/psar.src.d.ts +1 -0
- package/es-modules/masters/options/pyramid.src.d.ts +1 -0
- package/es-modules/masters/options/renko.src.d.ts +1 -0
- package/es-modules/masters/options/roc.src.d.ts +1 -0
- package/es-modules/masters/options/rsi.src.d.ts +1 -0
- package/es-modules/masters/options/sankey.src.d.ts +1 -0
- package/es-modules/masters/options/scatter.src.d.ts +1 -0
- package/es-modules/masters/options/series.src.d.ts +1 -0
- package/es-modules/masters/options/slowstochastic.src.d.ts +1 -0
- package/es-modules/masters/options/sma.src.d.ts +1 -0
- package/es-modules/masters/options/solidgauge.src.d.ts +1 -0
- package/es-modules/masters/options/spline.src.d.ts +1 -0
- package/es-modules/masters/options/stochastic.src.d.ts +1 -0
- package/es-modules/masters/options/streamgraph.src.d.ts +1 -0
- package/es-modules/masters/options/sunburst.src.d.ts +1 -0
- package/es-modules/masters/options/supertrend.src.d.ts +1 -0
- package/es-modules/masters/options/tema.src.d.ts +1 -0
- package/es-modules/masters/options/tiledwebmap.src.d.ts +1 -0
- package/es-modules/masters/options/tilemap.src.d.ts +1 -0
- package/es-modules/masters/options/timeline.src.d.ts +1 -0
- package/es-modules/masters/options/treegraph.src.d.ts +1 -0
- package/es-modules/masters/options/treemap.src.d.ts +1 -0
- package/es-modules/masters/options/trendline.src.d.ts +1 -0
- package/es-modules/masters/options/trix.src.d.ts +1 -0
- package/es-modules/masters/options/variablepie.src.d.ts +1 -0
- package/es-modules/masters/options/variwide.src.d.ts +1 -0
- package/es-modules/masters/options/vbp.src.d.ts +1 -0
- package/es-modules/masters/options/vector.src.d.ts +1 -0
- package/es-modules/masters/options/venn.src.d.ts +1 -0
- package/es-modules/masters/options/vwap.src.d.ts +1 -0
- package/es-modules/masters/options/waterfall.src.d.ts +1 -0
- package/es-modules/masters/options/williamsr.src.d.ts +1 -0
- package/es-modules/masters/options/windbarb.src.d.ts +1 -0
- package/es-modules/masters/options/wma.src.d.ts +1 -0
- package/es-modules/masters/options/wordcloud.src.d.ts +1 -0
- package/es-modules/masters/options/xrange.src.d.ts +1 -0
- package/es-modules/masters/options/zigzag.src.d.ts +1 -0
- package/es-modules/masters/themes/avocado.src.d.ts +1 -2
- package/es-modules/masters/themes/brand-dark.src.d.ts +1 -2
- package/es-modules/masters/themes/brand-light.src.d.ts +1 -2
- package/es-modules/masters/themes/dark-blue.src.d.ts +1 -2
- package/es-modules/masters/themes/dark-green.src.d.ts +1 -2
- package/es-modules/masters/themes/dark-unica.src.d.ts +1 -2
- package/es-modules/masters/themes/gray.src.d.ts +1 -2
- package/es-modules/masters/themes/grid-light.src.d.ts +1 -2
- package/es-modules/masters/themes/grid.src.d.ts +1 -2
- package/es-modules/masters/themes/high-contrast-dark.src.d.ts +1 -2
- package/es-modules/masters/themes/high-contrast-light.src.d.ts +1 -2
- package/es-modules/masters/themes/sand-signika.src.d.ts +1 -2
- package/es-modules/masters/themes/skies.src.d.ts +1 -2
- package/es-modules/masters/themes/sunset.src.d.ts +1 -2
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/globals.d.ts +10 -0
- package/globals.src.d.ts +10 -0
- package/highcharts-3d.d.ts +19 -0
- package/highcharts-3d.js +9 -0
- package/highcharts-3d.src.d.ts +19 -0
- package/highcharts-3d.src.js +5 -5
- package/highcharts-gantt.d.ts +8 -0
- package/highcharts-gantt.js +16 -0
- package/highcharts-gantt.src.d.ts +8 -0
- package/highcharts-gantt.src.js +30 -25
- package/highcharts-more.d.ts +149 -0
- package/highcharts-more.js +9 -0
- package/highcharts-more.src.d.ts +149 -0
- package/highcharts-more.src.js +5 -5
- package/highcharts.d.ts +99695 -0
- package/highcharts.js +9 -0
- package/highcharts.src.d.ts +99695 -0
- package/highcharts.src.js +24 -19
- package/highmaps.d.ts +8 -0
- package/highmaps.js +16 -0
- package/highmaps.src.d.ts +8 -0
- package/highmaps.src.js +27 -22
- package/highstock.d.ts +8 -0
- package/highstock.js +16 -0
- package/highstock.src.d.ts +8 -0
- package/highstock.src.js +30 -25
- package/indicators/acceleration-bands.d.ts +17 -0
- package/indicators/acceleration-bands.js +12 -0
- package/indicators/acceleration-bands.src.d.ts +17 -0
- package/indicators/acceleration-bands.src.js +5 -5
- package/indicators/accumulation-distribution.d.ts +17 -0
- package/indicators/accumulation-distribution.js +12 -0
- package/indicators/accumulation-distribution.src.d.ts +17 -0
- package/indicators/accumulation-distribution.src.js +5 -5
- package/indicators/ao.d.ts +17 -0
- package/indicators/ao.js +12 -0
- package/indicators/ao.src.d.ts +17 -0
- package/indicators/ao.src.js +5 -5
- package/indicators/apo.d.ts +17 -0
- package/indicators/apo.js +12 -0
- package/indicators/apo.src.d.ts +17 -0
- package/indicators/apo.src.js +5 -5
- package/indicators/aroon-oscillator.d.ts +17 -0
- package/indicators/aroon-oscillator.js +12 -0
- package/indicators/aroon-oscillator.src.d.ts +17 -0
- package/indicators/aroon-oscillator.src.js +5 -5
- package/indicators/aroon.d.ts +17 -0
- package/indicators/aroon.js +12 -0
- package/indicators/aroon.src.d.ts +17 -0
- package/indicators/aroon.src.js +5 -5
- package/indicators/atr.d.ts +17 -0
- package/indicators/atr.js +12 -0
- package/indicators/atr.src.d.ts +17 -0
- package/indicators/atr.src.js +5 -5
- package/indicators/bollinger-bands.d.ts +17 -0
- package/indicators/bollinger-bands.js +12 -0
- package/indicators/bollinger-bands.src.d.ts +17 -0
- package/indicators/bollinger-bands.src.js +5 -5
- package/indicators/cci.d.ts +17 -0
- package/indicators/cci.js +12 -0
- package/indicators/cci.src.d.ts +17 -0
- package/indicators/cci.src.js +5 -5
- package/indicators/chaikin.d.ts +17 -0
- package/indicators/chaikin.js +12 -0
- package/indicators/chaikin.src.d.ts +17 -0
- package/indicators/chaikin.src.js +5 -5
- package/indicators/cmf.d.ts +17 -0
- package/indicators/cmf.js +11 -0
- package/indicators/cmf.src.d.ts +17 -0
- package/indicators/cmf.src.js +5 -5
- package/indicators/cmo.d.ts +17 -0
- package/indicators/cmo.js +12 -0
- package/indicators/cmo.src.d.ts +17 -0
- package/indicators/cmo.src.js +5 -5
- package/indicators/dema.d.ts +17 -0
- package/indicators/dema.js +12 -0
- package/indicators/dema.src.d.ts +17 -0
- package/indicators/dema.src.js +5 -5
- package/indicators/disparity-index.d.ts +17 -0
- package/indicators/disparity-index.js +12 -0
- package/indicators/disparity-index.src.d.ts +17 -0
- package/indicators/disparity-index.src.js +5 -5
- package/indicators/dmi.d.ts +17 -0
- package/indicators/dmi.js +12 -0
- package/indicators/dmi.src.d.ts +17 -0
- package/indicators/dmi.src.js +5 -5
- package/indicators/dpo.d.ts +17 -0
- package/indicators/dpo.js +12 -0
- package/indicators/dpo.src.d.ts +17 -0
- package/indicators/dpo.src.js +5 -5
- package/indicators/ema.d.ts +17 -0
- package/indicators/ema.js +1 -0
- package/indicators/ema.src.d.ts +17 -0
- package/indicators/ema.src.js +4 -4
- package/indicators/ichimoku-kinko-hyo.d.ts +17 -0
- package/indicators/ichimoku-kinko-hyo.js +12 -0
- package/indicators/ichimoku-kinko-hyo.src.d.ts +17 -0
- package/indicators/ichimoku-kinko-hyo.src.js +5 -5
- package/indicators/indicators-all.d.ts +31 -0
- package/indicators/indicators-all.js +12 -0
- package/indicators/indicators-all.src.d.ts +31 -0
- package/indicators/indicators-all.src.js +5 -5
- package/indicators/indicators.d.ts +17 -0
- package/indicators/indicators.js +12 -0
- package/indicators/indicators.src.d.ts +17 -0
- package/indicators/indicators.src.js +5 -5
- package/indicators/keltner-channels.d.ts +17 -0
- package/indicators/keltner-channels.js +12 -0
- package/indicators/keltner-channels.src.d.ts +17 -0
- package/indicators/keltner-channels.src.js +5 -5
- package/indicators/klinger.d.ts +17 -0
- package/indicators/klinger.js +12 -0
- package/indicators/klinger.src.d.ts +17 -0
- package/indicators/klinger.src.js +5 -5
- package/indicators/macd.d.ts +17 -0
- package/indicators/macd.js +12 -0
- package/indicators/macd.src.d.ts +17 -0
- package/indicators/macd.src.js +5 -5
- package/indicators/mfi.d.ts +21 -0
- package/indicators/mfi.js +12 -0
- package/indicators/mfi.src.d.ts +21 -0
- package/indicators/mfi.src.js +5 -5
- package/indicators/momentum.d.ts +17 -0
- package/indicators/momentum.js +12 -0
- package/indicators/momentum.src.d.ts +17 -0
- package/indicators/momentum.src.js +5 -5
- package/indicators/natr.d.ts +17 -0
- package/indicators/natr.js +12 -0
- package/indicators/natr.src.d.ts +17 -0
- package/indicators/natr.src.js +5 -5
- package/indicators/obv.d.ts +17 -0
- package/indicators/obv.js +12 -0
- package/indicators/obv.src.d.ts +17 -0
- package/indicators/obv.src.js +5 -5
- package/indicators/pivot-points.d.ts +17 -0
- package/indicators/pivot-points.js +12 -0
- package/indicators/pivot-points.src.d.ts +17 -0
- package/indicators/pivot-points.src.js +5 -5
- package/indicators/ppo.d.ts +17 -0
- package/indicators/ppo.js +12 -0
- package/indicators/ppo.src.d.ts +17 -0
- package/indicators/ppo.src.js +5 -5
- package/indicators/price-channel.d.ts +17 -0
- package/indicators/price-channel.js +12 -0
- package/indicators/price-channel.src.d.ts +17 -0
- package/indicators/price-channel.src.js +5 -5
- package/indicators/price-envelopes.d.ts +17 -0
- package/indicators/price-envelopes.js +12 -0
- package/indicators/price-envelopes.src.d.ts +17 -0
- package/indicators/price-envelopes.src.js +5 -5
- package/indicators/psar.d.ts +25 -0
- package/indicators/psar.js +12 -0
- package/indicators/psar.src.d.ts +25 -0
- package/indicators/psar.src.js +5 -5
- package/indicators/regressions.d.ts +17 -0
- package/indicators/regressions.js +12 -0
- package/indicators/regressions.src.d.ts +17 -0
- package/indicators/regressions.src.js +5 -5
- package/indicators/roc.d.ts +17 -0
- package/indicators/roc.js +12 -0
- package/indicators/roc.src.d.ts +17 -0
- package/indicators/roc.src.js +5 -5
- package/indicators/rsi.d.ts +19 -0
- package/indicators/rsi.js +12 -0
- package/indicators/rsi.src.d.ts +19 -0
- package/indicators/rsi.src.js +5 -5
- package/indicators/slow-stochastic.d.ts +17 -0
- package/indicators/slow-stochastic.js +12 -0
- package/indicators/slow-stochastic.src.d.ts +17 -0
- package/indicators/slow-stochastic.src.js +5 -5
- package/indicators/stochastic.d.ts +17 -0
- package/indicators/stochastic.js +12 -0
- package/indicators/stochastic.src.d.ts +17 -0
- package/indicators/stochastic.src.js +5 -5
- package/indicators/supertrend.d.ts +17 -0
- package/indicators/supertrend.js +12 -0
- package/indicators/supertrend.src.d.ts +17 -0
- package/indicators/supertrend.src.js +5 -5
- package/indicators/tema.d.ts +17 -0
- package/indicators/tema.js +12 -0
- package/indicators/tema.src.d.ts +17 -0
- package/indicators/tema.src.js +5 -5
- package/indicators/trendline.d.ts +17 -0
- package/indicators/trendline.js +12 -0
- package/indicators/trendline.src.d.ts +17 -0
- package/indicators/trendline.src.js +5 -5
- package/indicators/trix.d.ts +17 -0
- package/indicators/trix.js +12 -0
- package/indicators/trix.src.d.ts +17 -0
- package/indicators/trix.src.js +5 -5
- package/indicators/volume-by-price.d.ts +17 -0
- package/indicators/volume-by-price.js +12 -0
- package/indicators/volume-by-price.src.d.ts +17 -0
- package/indicators/volume-by-price.src.js +5 -5
- package/indicators/vwap.d.ts +17 -0
- package/indicators/vwap.js +12 -0
- package/indicators/vwap.src.d.ts +17 -0
- package/indicators/vwap.src.js +5 -5
- package/indicators/williams-r.d.ts +17 -0
- package/indicators/williams-r.js +12 -0
- package/indicators/williams-r.src.d.ts +17 -0
- package/indicators/williams-r.src.js +5 -5
- package/indicators/wma.d.ts +17 -0
- package/indicators/wma.js +12 -0
- package/indicators/wma.src.d.ts +17 -0
- package/indicators/wma.src.js +5 -5
- package/indicators/zigzag.d.ts +17 -0
- package/indicators/zigzag.js +12 -0
- package/indicators/zigzag.src.d.ts +17 -0
- package/indicators/zigzag.src.js +5 -5
- package/modules/accessibility.d.ts +228 -0
- package/modules/accessibility.js +12 -0
- package/modules/accessibility.src.d.ts +228 -0
- package/modules/accessibility.src.js +5 -5
- package/modules/annotations-advanced.d.ts +72 -0
- package/modules/annotations-advanced.js +21 -0
- package/modules/annotations-advanced.src.d.ts +72 -0
- package/modules/annotations-advanced.src.js +8 -8
- package/modules/annotations.d.ts +39 -0
- package/modules/annotations.js +11 -0
- package/modules/annotations.src.d.ts +39 -0
- package/modules/annotations.src.js +7 -7
- package/modules/arc-diagram.d.ts +58 -0
- package/modules/arc-diagram.js +11 -0
- package/modules/arc-diagram.src.d.ts +58 -0
- package/modules/arc-diagram.src.js +5 -5
- package/modules/arrow-symbols.d.ts +17 -0
- package/modules/arrow-symbols.js +11 -0
- package/modules/arrow-symbols.src.d.ts +17 -0
- package/modules/arrow-symbols.src.js +5 -5
- package/modules/boost-canvas.d.ts +30 -0
- package/modules/boost-canvas.js +12 -0
- package/modules/boost-canvas.src.d.ts +30 -0
- package/modules/boost-canvas.src.js +21 -10
- package/modules/boost.d.ts +32 -0
- package/modules/boost.js +13 -0
- package/modules/boost.src.d.ts +32 -0
- package/modules/boost.src.js +21 -10
- package/modules/broken-axis.d.ts +17 -0
- package/modules/broken-axis.js +9 -0
- package/modules/broken-axis.src.d.ts +17 -0
- package/modules/broken-axis.src.js +5 -5
- package/modules/bullet.d.ts +17 -0
- package/modules/bullet.js +11 -0
- package/modules/bullet.src.d.ts +17 -0
- package/modules/bullet.src.js +5 -5
- package/modules/coloraxis.d.ts +85 -0
- package/modules/coloraxis.js +11 -0
- package/modules/coloraxis.src.d.ts +85 -0
- package/modules/coloraxis.src.js +5 -5
- package/modules/current-date-indicator.d.ts +17 -0
- package/modules/current-date-indicator.js +11 -0
- package/modules/current-date-indicator.src.d.ts +17 -0
- package/modules/current-date-indicator.src.js +5 -5
- package/modules/cylinder.d.ts +17 -0
- package/modules/cylinder.js +12 -0
- package/modules/cylinder.src.d.ts +17 -0
- package/modules/cylinder.src.js +5 -5
- package/modules/data-tools.js +11 -0
- package/modules/data-tools.src.js +5 -5
- package/modules/data.d.ts +203 -0
- package/modules/data.js +11 -0
- package/modules/data.src.d.ts +203 -0
- package/modules/data.src.js +5 -5
- package/modules/datagrouping.d.ts +91 -0
- package/modules/datagrouping.js +11 -0
- package/modules/datagrouping.src.d.ts +91 -0
- package/modules/datagrouping.src.js +5 -5
- package/modules/debugger.d.ts +17 -0
- package/modules/debugger.js +11 -0
- package/modules/debugger.src.d.ts +17 -0
- package/modules/debugger.src.js +5 -5
- package/modules/dependency-wheel.d.ts +58 -0
- package/modules/dependency-wheel.js +12 -0
- package/modules/dependency-wheel.src.d.ts +58 -0
- package/modules/dependency-wheel.src.js +5 -5
- package/modules/dotplot.d.ts +17 -0
- package/modules/dotplot.js +11 -0
- package/modules/dotplot.src.d.ts +17 -0
- package/modules/dotplot.src.js +5 -5
- package/modules/drag-panes.d.ts +17 -0
- package/modules/drag-panes.js +13 -0
- package/modules/drag-panes.src.d.ts +17 -0
- package/modules/drag-panes.src.js +5 -5
- package/modules/draggable-points.d.ts +30 -0
- package/modules/draggable-points.js +9 -0
- package/modules/draggable-points.src.d.ts +30 -0
- package/modules/draggable-points.src.js +5 -5
- package/modules/drilldown.d.ts +84 -0
- package/modules/drilldown.js +11 -0
- package/modules/drilldown.src.d.ts +84 -0
- package/modules/drilldown.src.js +8 -8
- package/modules/dumbbell.d.ts +22 -0
- package/modules/dumbbell.js +9 -0
- package/modules/dumbbell.src.d.ts +22 -0
- package/modules/dumbbell.src.js +5 -5
- package/modules/export-data.d.ts +86 -0
- package/modules/export-data.js +12 -0
- package/modules/export-data.src.d.ts +86 -0
- package/modules/export-data.src.js +5 -5
- package/modules/exporting.d.ts +137 -0
- package/modules/exporting.js +11 -0
- package/modules/exporting.src.d.ts +137 -0
- package/modules/exporting.src.js +5 -5
- package/modules/flowmap.d.ts +17 -0
- package/modules/flowmap.js +9 -0
- package/modules/flowmap.src.d.ts +17 -0
- package/modules/flowmap.src.js +5 -5
- package/modules/full-screen.d.ts +21 -0
- package/modules/full-screen.js +12 -0
- package/modules/full-screen.src.d.ts +21 -0
- package/modules/full-screen.src.js +5 -5
- package/modules/funnel.d.ts +23 -0
- package/modules/funnel.js +11 -0
- package/modules/funnel.src.d.ts +23 -0
- package/modules/funnel.src.js +5 -5
- package/modules/funnel3d.d.ts +17 -0
- package/modules/funnel3d.js +13 -0
- package/modules/funnel3d.src.d.ts +17 -0
- package/modules/funnel3d.src.js +5 -5
- package/modules/gantt.d.ts +96 -0
- package/modules/gantt.js +31 -0
- package/modules/gantt.src.d.ts +96 -0
- package/modules/gantt.src.js +9 -9
- package/modules/geoheatmap.d.ts +30 -0
- package/modules/geoheatmap.js +9 -0
- package/modules/geoheatmap.src.d.ts +30 -0
- package/modules/geoheatmap.src.js +5 -5
- package/modules/grid-axis.d.ts +17 -0
- package/modules/grid-axis.js +11 -0
- package/modules/grid-axis.src.d.ts +17 -0
- package/modules/grid-axis.src.js +5 -5
- package/modules/heatmap.d.ts +52 -0
- package/modules/heatmap.js +19 -0
- package/modules/heatmap.src.d.ts +52 -0
- package/modules/heatmap.src.js +6 -6
- package/modules/heikinashi.d.ts +17 -0
- package/modules/heikinashi.js +12 -0
- package/modules/heikinashi.src.d.ts +17 -0
- package/modules/heikinashi.src.js +5 -5
- package/modules/histogram-bellcurve.d.ts +23 -0
- package/modules/histogram-bellcurve.js +10 -0
- package/modules/histogram-bellcurve.src.d.ts +23 -0
- package/modules/histogram-bellcurve.src.js +5 -5
- package/modules/hollowcandlestick.d.ts +17 -0
- package/modules/hollowcandlestick.js +12 -0
- package/modules/hollowcandlestick.src.d.ts +17 -0
- package/modules/hollowcandlestick.src.js +5 -5
- package/modules/item-series.d.ts +17 -0
- package/modules/item-series.js +11 -0
- package/modules/item-series.src.d.ts +17 -0
- package/modules/item-series.src.js +5 -5
- package/modules/lollipop.d.ts +17 -0
- package/modules/lollipop.js +9 -0
- package/modules/lollipop.src.d.ts +17 -0
- package/modules/lollipop.src.js +5 -5
- package/modules/map.d.ts +425 -0
- package/modules/map.js +21 -0
- package/modules/map.src.d.ts +425 -0
- package/modules/map.src.js +6 -6
- package/modules/marker-clusters.d.ts +22 -0
- package/modules/marker-clusters.js +11 -0
- package/modules/marker-clusters.src.d.ts +22 -0
- package/modules/marker-clusters.src.js +5 -5
- package/modules/mouse-wheel-zoom.d.ts +17 -0
- package/modules/mouse-wheel-zoom.js +11 -0
- package/modules/mouse-wheel-zoom.src.d.ts +17 -0
- package/modules/mouse-wheel-zoom.src.js +5 -5
- package/modules/navigator.d.ts +157 -0
- package/modules/navigator.js +11 -0
- package/modules/navigator.src.d.ts +157 -0
- package/modules/navigator.src.js +5 -5
- package/modules/networkgraph.d.ts +69 -0
- package/modules/networkgraph.js +11 -0
- package/modules/networkgraph.src.d.ts +69 -0
- package/modules/networkgraph.src.js +5 -5
- package/modules/no-data-to-display.d.ts +17 -0
- package/modules/no-data-to-display.js +12 -0
- package/modules/no-data-to-display.src.d.ts +17 -0
- package/modules/no-data-to-display.src.js +5 -5
- package/modules/offline-exporting.d.ts +117 -0
- package/modules/offline-exporting.js +12 -0
- package/modules/offline-exporting.src.d.ts +117 -0
- package/modules/offline-exporting.src.js +6 -6
- package/modules/organization.d.ts +61 -0
- package/modules/organization.js +11 -0
- package/modules/organization.src.d.ts +61 -0
- package/modules/organization.src.js +5 -5
- package/modules/overlapping-datalabels.d.ts +17 -0
- package/modules/overlapping-datalabels.js +9 -0
- package/modules/overlapping-datalabels.src.d.ts +17 -0
- package/modules/overlapping-datalabels.src.js +5 -5
- package/modules/parallel-coordinates.d.ts +25 -0
- package/modules/parallel-coordinates.js +11 -0
- package/modules/parallel-coordinates.src.d.ts +25 -0
- package/modules/parallel-coordinates.src.js +5 -5
- package/modules/pareto.d.ts +17 -0
- package/modules/pareto.js +11 -0
- package/modules/pareto.src.d.ts +17 -0
- package/modules/pareto.src.js +5 -5
- package/modules/pathfinder.d.ts +21 -0
- package/modules/pathfinder.js +11 -0
- package/modules/pathfinder.src.d.ts +21 -0
- package/modules/pathfinder.src.js +5 -5
- package/modules/pattern-fill.d.ts +17 -0
- package/modules/pattern-fill.js +12 -0
- package/modules/pattern-fill.src.d.ts +17 -0
- package/modules/pattern-fill.src.js +5 -5
- package/modules/pictorial.d.ts +36 -0
- package/modules/pictorial.js +11 -0
- package/modules/pictorial.src.d.ts +36 -0
- package/modules/pictorial.src.js +5 -5
- package/modules/pointandfigure.d.ts +19 -0
- package/modules/pointandfigure.js +12 -0
- package/modules/pointandfigure.src.d.ts +19 -0
- package/modules/pointandfigure.src.js +5 -5
- package/modules/price-indicator.d.ts +17 -0
- package/modules/price-indicator.js +13 -0
- package/modules/price-indicator.src.d.ts +17 -0
- package/modules/price-indicator.src.js +5 -5
- package/modules/pyramid3d.d.ts +17 -0
- package/modules/pyramid3d.js +14 -0
- package/modules/pyramid3d.src.d.ts +17 -0
- package/modules/pyramid3d.src.js +5 -5
- package/modules/renko.d.ts +17 -0
- package/modules/renko.js +12 -0
- package/modules/renko.src.d.ts +17 -0
- package/modules/renko.src.js +5 -5
- package/modules/sankey.d.ts +58 -0
- package/modules/sankey.js +11 -0
- package/modules/sankey.src.d.ts +58 -0
- package/modules/sankey.src.js +5 -5
- package/modules/series-label.d.ts +17 -0
- package/modules/series-label.js +9 -0
- package/modules/series-label.src.d.ts +17 -0
- package/modules/series-label.src.js +5 -5
- package/modules/series-on-point.d.ts +22 -0
- package/modules/series-on-point.js +12 -0
- package/modules/series-on-point.src.d.ts +22 -0
- package/modules/series-on-point.src.js +5 -5
- package/modules/solid-gauge.d.ts +23 -0
- package/modules/solid-gauge.js +12 -0
- package/modules/solid-gauge.src.d.ts +23 -0
- package/modules/solid-gauge.src.js +5 -5
- package/modules/sonification.d.ts +663 -0
- package/modules/sonification.js +12 -0
- package/modules/sonification.src.d.ts +663 -0
- package/modules/sonification.src.js +5 -5
- package/modules/static-scale.d.ts +17 -0
- package/modules/static-scale.js +11 -0
- package/modules/static-scale.src.d.ts +17 -0
- package/modules/static-scale.src.js +5 -5
- package/modules/stock-tools.d.ts +31 -0
- package/modules/stock-tools.js +13 -0
- package/modules/stock-tools.src.d.ts +31 -0
- package/modules/stock-tools.src.js +7 -7
- package/modules/stock.d.ts +206 -0
- package/modules/stock.js +29 -0
- package/modules/stock.src.d.ts +206 -0
- package/modules/stock.src.js +9 -9
- package/modules/streamgraph.d.ts +17 -0
- package/modules/streamgraph.js +11 -0
- package/modules/streamgraph.src.d.ts +17 -0
- package/modules/streamgraph.src.js +5 -5
- package/modules/sunburst.d.ts +62 -0
- package/modules/sunburst.js +10 -0
- package/modules/sunburst.src.d.ts +62 -0
- package/modules/sunburst.src.js +5 -5
- package/modules/textpath.d.ts +58 -0
- package/modules/textpath.js +9 -0
- package/modules/textpath.src.d.ts +58 -0
- package/modules/textpath.src.js +5 -5
- package/modules/tiledwebmap.d.ts +17 -0
- package/modules/tiledwebmap.js +12 -0
- package/modules/tiledwebmap.src.d.ts +17 -0
- package/modules/tiledwebmap.src.js +5 -5
- package/modules/tilemap.d.ts +17 -0
- package/modules/tilemap.js +12 -0
- package/modules/tilemap.src.d.ts +17 -0
- package/modules/tilemap.src.js +5 -5
- package/modules/timeline.d.ts +17 -0
- package/modules/timeline.js +12 -0
- package/modules/timeline.src.d.ts +17 -0
- package/modules/timeline.src.js +5 -5
- package/modules/treegraph.d.ts +61 -0
- package/modules/treegraph.js +11 -0
- package/modules/treegraph.src.d.ts +61 -0
- package/modules/treegraph.src.js +5 -5
- package/modules/treegrid.d.ts +17 -0
- package/modules/treegrid.js +11 -0
- package/modules/treegrid.src.d.ts +17 -0
- package/modules/treegrid.src.js +5 -5
- package/modules/treemap.d.ts +22 -0
- package/modules/treemap.js +10 -0
- package/modules/treemap.src.d.ts +22 -0
- package/modules/treemap.src.js +5 -5
- package/modules/variable-pie.d.ts +17 -0
- package/modules/variable-pie.js +11 -0
- package/modules/variable-pie.src.d.ts +17 -0
- package/modules/variable-pie.src.js +5 -5
- package/modules/variwide.d.ts +17 -0
- package/modules/variwide.js +11 -0
- package/modules/variwide.src.d.ts +17 -0
- package/modules/variwide.src.js +5 -5
- package/modules/vector.d.ts +17 -0
- package/modules/vector.js +11 -0
- package/modules/vector.src.d.ts +17 -0
- package/modules/vector.src.js +5 -5
- package/modules/venn.d.ts +47 -0
- package/modules/venn.js +10 -0
- package/modules/venn.src.d.ts +47 -0
- package/modules/venn.src.js +5 -5
- package/modules/windbarb.d.ts +17 -0
- package/modules/windbarb.js +11 -0
- package/modules/windbarb.src.d.ts +17 -0
- package/modules/windbarb.src.js +5 -5
- package/modules/wordcloud.d.ts +17 -0
- package/modules/wordcloud.js +10 -0
- package/modules/wordcloud.src.d.ts +17 -0
- package/modules/wordcloud.src.js +5 -5
- package/modules/xrange.d.ts +24 -0
- package/modules/xrange.js +11 -0
- package/modules/xrange.src.d.ts +24 -0
- package/modules/xrange.src.js +5 -5
- package/options/abands.d.ts +1009 -0
- package/options/abands.src.d.ts +1009 -0
- package/options/ad.d.ts +1006 -0
- package/options/ad.src.d.ts +1006 -0
- package/options/ao.d.ts +973 -0
- package/options/ao.src.d.ts +973 -0
- package/options/apo.d.ts +1007 -0
- package/options/apo.src.d.ts +1007 -0
- package/options/arcdiagram.d.ts +598 -0
- package/options/arcdiagram.src.d.ts +598 -0
- package/options/area.d.ts +118 -0
- package/options/area.src.d.ts +118 -0
- package/options/arearange.d.ts +245 -0
- package/options/arearange.src.d.ts +245 -0
- package/options/areaspline.d.ts +1193 -0
- package/options/areaspline.src.d.ts +1193 -0
- package/options/areasplinerange.d.ts +863 -0
- package/options/areasplinerange.src.d.ts +863 -0
- package/options/aroon.d.ts +118 -0
- package/options/aroon.src.d.ts +118 -0
- package/options/aroonoscillator.d.ts +998 -0
- package/options/aroonoscillator.src.d.ts +998 -0
- package/options/atr.d.ts +109 -0
- package/options/atr.src.d.ts +109 -0
- package/options/bar.d.ts +116 -0
- package/options/bar.src.d.ts +116 -0
- package/options/bb.d.ts +1042 -0
- package/options/bb.src.d.ts +1042 -0
- package/options/bellcurve.d.ts +947 -0
- package/options/bellcurve.src.d.ts +947 -0
- package/options/boxplot.d.ts +116 -0
- package/options/boxplot.src.d.ts +116 -0
- package/options/bubble.d.ts +440 -0
- package/options/bubble.src.d.ts +440 -0
- package/options/bullet.d.ts +515 -0
- package/options/bullet.src.d.ts +515 -0
- package/options/candlestick.d.ts +161 -0
- package/options/candlestick.src.d.ts +161 -0
- package/options/cci.d.ts +962 -0
- package/options/cci.src.d.ts +962 -0
- package/options/chaikin.d.ts +1007 -0
- package/options/chaikin.src.d.ts +1007 -0
- package/options/cmf.d.ts +951 -0
- package/options/cmf.src.d.ts +951 -0
- package/options/cmo.d.ts +1007 -0
- package/options/cmo.src.d.ts +1007 -0
- package/options/column.d.ts +1202 -0
- package/options/column.src.d.ts +1202 -0
- package/options/columnpyramid.d.ts +167 -0
- package/options/columnpyramid.src.d.ts +167 -0
- package/options/columnrange.d.ts +927 -0
- package/options/columnrange.src.d.ts +927 -0
- package/options/cylinder.d.ts +116 -0
- package/options/cylinder.src.d.ts +116 -0
- package/options/dema.d.ts +993 -0
- package/options/dema.src.d.ts +993 -0
- package/options/dependencywheel.d.ts +219 -0
- package/options/dependencywheel.src.d.ts +219 -0
- package/options/disparityindex.d.ts +964 -0
- package/options/disparityindex.src.d.ts +964 -0
- package/options/dmi.d.ts +1037 -0
- package/options/dmi.src.d.ts +1037 -0
- package/options/dpo.d.ts +949 -0
- package/options/dpo.src.d.ts +949 -0
- package/options/dumbbell.d.ts +176 -0
- package/options/dumbbell.src.d.ts +176 -0
- package/options/ema.d.ts +1006 -0
- package/options/ema.src.d.ts +1006 -0
- package/options/errorbar.d.ts +1064 -0
- package/options/errorbar.src.d.ts +1064 -0
- package/options/flags.d.ts +167 -0
- package/options/flags.src.d.ts +167 -0
- package/options/flowmap.d.ts +152 -0
- package/options/flowmap.src.d.ts +152 -0
- package/options/funnel.d.ts +555 -0
- package/options/funnel.src.d.ts +555 -0
- package/options/gantt.d.ts +831 -0
- package/options/gantt.src.d.ts +831 -0
- package/options/gauge.d.ts +787 -0
- package/options/gauge.src.d.ts +787 -0
- package/options/geoheatmap.d.ts +771 -0
- package/options/geoheatmap.src.d.ts +771 -0
- package/options/heatmap.d.ts +118 -0
- package/options/heatmap.src.d.ts +118 -0
- package/options/heikinashi.d.ts +1120 -0
- package/options/heikinashi.src.d.ts +1120 -0
- package/options/histogram.d.ts +151 -0
- package/options/histogram.src.d.ts +151 -0
- package/options/hlc.d.ts +1134 -0
- package/options/hlc.src.d.ts +1134 -0
- package/options/hollowcandlestick.d.ts +162 -0
- package/options/hollowcandlestick.src.d.ts +162 -0
- package/options/ikh.d.ts +1027 -0
- package/options/ikh.src.d.ts +1027 -0
- package/options/item.d.ts +468 -0
- package/options/item.src.d.ts +468 -0
- package/options/keltnerchannels.d.ts +182 -0
- package/options/keltnerchannels.src.d.ts +182 -0
- package/options/klinger.d.ts +133 -0
- package/options/klinger.src.d.ts +133 -0
- package/options/line.d.ts +189 -0
- package/options/line.src.d.ts +189 -0
- package/options/linearregression.d.ts +1008 -0
- package/options/linearregression.src.d.ts +1008 -0
- package/options/linearregressionangle.d.ts +183 -0
- package/options/linearregressionangle.src.d.ts +183 -0
- package/options/linearregressionintercept.d.ts +963 -0
- package/options/linearregressionintercept.src.d.ts +963 -0
- package/options/linearregressionslope.d.ts +963 -0
- package/options/linearregressionslope.src.d.ts +963 -0
- package/options/lollipop.d.ts +216 -0
- package/options/lollipop.src.d.ts +216 -0
- package/options/macd.d.ts +1001 -0
- package/options/macd.src.d.ts +1001 -0
- package/options/map.d.ts +666 -0
- package/options/map.src.d.ts +666 -0
- package/options/mapbubble.d.ts +158 -0
- package/options/mapbubble.src.d.ts +158 -0
- package/options/mapline.d.ts +850 -0
- package/options/mapline.src.d.ts +850 -0
- package/options/mappoint.d.ts +232 -0
- package/options/mappoint.src.d.ts +232 -0
- package/options/mfi.d.ts +1007 -0
- package/options/mfi.src.d.ts +1007 -0
- package/options/momentum.d.ts +961 -0
- package/options/momentum.src.d.ts +961 -0
- package/options/natr.d.ts +1007 -0
- package/options/natr.src.d.ts +1007 -0
- package/options/networkgraph.d.ts +558 -0
- package/options/networkgraph.src.d.ts +558 -0
- package/options/obv.d.ts +153 -0
- package/options/obv.src.d.ts +153 -0
- package/options/ohlc.d.ts +160 -0
- package/options/ohlc.src.d.ts +160 -0
- package/options/organization.d.ts +229 -0
- package/options/organization.src.d.ts +229 -0
- package/options/packedbubble.d.ts +358 -0
- package/options/packedbubble.src.d.ts +358 -0
- package/options/pareto.d.ts +151 -0
- package/options/pareto.src.d.ts +151 -0
- package/options/pc.d.ts +970 -0
- package/options/pc.src.d.ts +970 -0
- package/options/pictorial.d.ts +963 -0
- package/options/pictorial.src.d.ts +963 -0
- package/options/pie.d.ts +585 -0
- package/options/pie.src.d.ts +585 -0
- package/options/pivotpoints.d.ts +115 -0
- package/options/pivotpoints.src.d.ts +115 -0
- package/options/pointandfigure.d.ts +364 -0
- package/options/pointandfigure.src.d.ts +364 -0
- package/options/polygon.d.ts +1025 -0
- package/options/polygon.src.d.ts +1025 -0
- package/options/ppo.d.ts +162 -0
- package/options/ppo.src.d.ts +162 -0
- package/options/priceenvelopes.d.ts +141 -0
- package/options/priceenvelopes.src.d.ts +141 -0
- package/options/psar.d.ts +175 -0
- package/options/psar.src.d.ts +175 -0
- package/options/pyramid.d.ts +1285 -0
- package/options/pyramid.src.d.ts +1285 -0
- package/options/renko.d.ts +896 -0
- package/options/renko.src.d.ts +896 -0
- package/options/roc.d.ts +114 -0
- package/options/roc.src.d.ts +114 -0
- package/options/rsi.d.ts +159 -0
- package/options/rsi.src.d.ts +159 -0
- package/options/sankey.d.ts +218 -0
- package/options/sankey.src.d.ts +218 -0
- package/options/scatter.d.ts +989 -0
- package/options/scatter.src.d.ts +989 -0
- package/options/series.d.ts +1164 -0
- package/options/series.src.d.ts +1164 -0
- package/options/slowstochastic.d.ts +1015 -0
- package/options/slowstochastic.src.d.ts +1015 -0
- package/options/sma.d.ts +962 -0
- package/options/sma.src.d.ts +962 -0
- package/options/solidgauge.d.ts +389 -0
- package/options/solidgauge.src.d.ts +389 -0
- package/options/spline.d.ts +1091 -0
- package/options/spline.src.d.ts +1091 -0
- package/options/stochastic.d.ts +167 -0
- package/options/stochastic.src.d.ts +167 -0
- package/options/streamgraph.d.ts +167 -0
- package/options/streamgraph.src.d.ts +167 -0
- package/options/sunburst.d.ts +735 -0
- package/options/sunburst.src.d.ts +735 -0
- package/options/supertrend.d.ts +121 -0
- package/options/supertrend.src.d.ts +121 -0
- package/options/tema.d.ts +162 -0
- package/options/tema.src.d.ts +162 -0
- package/options/tiledwebmap.d.ts +119 -0
- package/options/tiledwebmap.src.d.ts +119 -0
- package/options/tilemap.d.ts +419 -0
- package/options/tilemap.src.d.ts +419 -0
- package/options/timeline.d.ts +95 -0
- package/options/timeline.src.d.ts +95 -0
- package/options/treegraph.d.ts +338 -0
- package/options/treegraph.src.d.ts +338 -0
- package/options/treemap.d.ts +964 -0
- package/options/treemap.src.d.ts +964 -0
- package/options/trendline.d.ts +109 -0
- package/options/trendline.src.d.ts +109 -0
- package/options/trix.d.ts +162 -0
- package/options/trix.src.d.ts +162 -0
- package/options/variablepie.d.ts +568 -0
- package/options/variablepie.src.d.ts +568 -0
- package/options/variwide.d.ts +152 -0
- package/options/variwide.src.d.ts +152 -0
- package/options/vbp.d.ts +997 -0
- package/options/vbp.src.d.ts +997 -0
- package/options/vector.d.ts +193 -0
- package/options/vector.src.d.ts +193 -0
- package/options/venn.d.ts +853 -0
- package/options/venn.src.d.ts +853 -0
- package/options/vwap.d.ts +159 -0
- package/options/vwap.src.d.ts +159 -0
- package/options/waterfall.d.ts +164 -0
- package/options/waterfall.src.d.ts +164 -0
- package/options/williamsr.d.ts +963 -0
- package/options/williamsr.src.d.ts +963 -0
- package/options/windbarb.d.ts +1102 -0
- package/options/windbarb.src.d.ts +1102 -0
- package/options/wma.d.ts +158 -0
- package/options/wma.src.d.ts +158 -0
- package/options/wordcloud.d.ts +487 -0
- package/options/wordcloud.src.d.ts +487 -0
- package/options/xrange.d.ts +1006 -0
- package/options/xrange.src.d.ts +1006 -0
- package/options/zigzag.d.ts +963 -0
- package/options/zigzag.src.d.ts +963 -0
- package/package.json +1 -1
- package/standalone-navigator.js +9 -0
- package/standalone-navigator.src.js +25 -20
- package/themes/avocado.d.ts +22 -0
- package/themes/avocado.js +9 -0
- package/themes/avocado.src.d.ts +22 -0
- package/themes/avocado.src.js +5 -5
- package/themes/brand-dark.d.ts +22 -0
- package/themes/brand-dark.js +9 -0
- package/themes/brand-dark.src.d.ts +22 -0
- package/themes/brand-dark.src.js +5 -5
- package/themes/brand-light.d.ts +22 -0
- package/themes/brand-light.js +9 -0
- package/themes/brand-light.src.d.ts +22 -0
- package/themes/brand-light.src.js +5 -5
- package/themes/dark-blue.d.ts +22 -0
- package/themes/dark-blue.js +9 -0
- package/themes/dark-blue.src.d.ts +22 -0
- package/themes/dark-blue.src.js +5 -5
- package/themes/dark-green.d.ts +22 -0
- package/themes/dark-green.js +9 -0
- package/themes/dark-green.src.d.ts +22 -0
- package/themes/dark-green.src.js +5 -5
- package/themes/dark-unica.d.ts +22 -0
- package/themes/dark-unica.js +9 -0
- package/themes/dark-unica.src.d.ts +22 -0
- package/themes/dark-unica.src.js +5 -5
- package/themes/gray.d.ts +22 -0
- package/themes/gray.js +9 -0
- package/themes/gray.src.d.ts +22 -0
- package/themes/gray.src.js +5 -5
- package/themes/grid-light.d.ts +22 -0
- package/themes/grid-light.js +9 -0
- package/themes/grid-light.src.d.ts +22 -0
- package/themes/grid-light.src.js +5 -5
- package/themes/grid.d.ts +22 -0
- package/themes/grid.js +9 -0
- package/themes/grid.src.d.ts +22 -0
- package/themes/grid.src.js +5 -5
- package/themes/high-contrast-dark.d.ts +22 -0
- package/themes/high-contrast-dark.js +9 -0
- package/themes/high-contrast-dark.src.d.ts +22 -0
- package/themes/high-contrast-dark.src.js +5 -5
- package/themes/high-contrast-light.d.ts +22 -0
- package/themes/high-contrast-light.js +9 -0
- package/themes/high-contrast-light.src.d.ts +22 -0
- package/themes/high-contrast-light.src.js +5 -5
- package/themes/sand-signika.d.ts +22 -0
- package/themes/sand-signika.js +9 -0
- package/themes/sand-signika.src.d.ts +22 -0
- package/themes/sand-signika.src.js +5 -5
- package/themes/skies.d.ts +22 -0
- package/themes/skies.js +9 -0
- package/themes/skies.src.d.ts +22 -0
- package/themes/skies.src.js +5 -5
- package/themes/sunset.d.ts +22 -0
- package/themes/sunset.js +9 -0
- package/themes/sunset.src.d.ts +22 -0
- package/themes/sunset.src.js +5 -5
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v12.0.2 (2024-12-04)
|
|
3
|
+
* @module highcharts/modules/boost-canvas
|
|
4
|
+
* @requires highcharts
|
|
5
|
+
*
|
|
6
|
+
* Boost module
|
|
7
|
+
*
|
|
8
|
+
* (c) 2010-2024 Highsoft AS
|
|
9
|
+
* Author: Torstein Honsi
|
|
10
|
+
*
|
|
11
|
+
* License: www.highcharts.com/license
|
|
12
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/boost-canvas",["highcharts/highcharts"],function(t){return e(t,t.Color)}):"object"==typeof exports?exports["highcharts/modules/boost-canvas"]=e(t._Highcharts,t._Highcharts.Color):t.Highcharts=e(t.Highcharts,t.Highcharts.Color)}("undefined"==typeof window?this:window,(t,e)=>(()=>{"use strict";let i,s;var o,r={620:t=>{t.exports=e},944:e=>{e.exports=t}},n={};function a(t){var e=n[t];if(void 0!==e)return e.exports;var i=n[t]={exports:{}};return r[t](i,i.exports,a),i.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var l={};a.d(l,{default:()=>tD});var h=a(944),d=/*#__PURE__*/a.n(h);let c=["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"],g={};c.forEach(t=>{g[t]=!0});let{composed:u}=d(),{addEvent:m,pick:p,pushUnique:f}=d();function b(t){let e=t.series,i=t.boost=t.boost||{},s=t.options.boost||{},o=p(s.seriesThreshold,50);if(e.length>=o)return!0;if(1===e.length)return!1;let r=s.allowForce;if(void 0===r){for(let e of(r=!0,t.xAxis))if(p(e.min,-1/0)>p(e.dataMin,-1/0)||p(e.max,1/0)<p(e.dataMax,1/0)){r=!1;break}}if(void 0!==i.forceChartBoost){if(r)return i.forceChartBoost;i.forceChartBoost=void 0}let n=0,a=0,l;for(let t of e)0!==(l=t.options).boostThreshold&&!1!==t.visible&&"heatmap"!==t.type&&(g[t.type]&&++n,function(...t){let e=-Number.MAX_VALUE;return t.forEach(t=>{if(null!=t&&void 0!==t.length&&t.length>0)return e=t.length,!0}),e}(t.getColumn("x",!0),l.data,t.points)>=(l.boostThreshold||Number.MAX_VALUE)&&++a);return i.forceChartBoost=r&&(n===e.length&&a===n||a>5),i.forceChartBoost}function x(t){function e(){t.boost&&t.boost.wgl&&b(t)&&t.boost.wgl.render(t)}m(t,"predraw",function(){t.boost=t.boost||{},t.boost.forceChartBoost=void 0,t.boosted=!1,t.axes.some(t=>t.isPanning)||t.boost.clear?.(),t.boost.canvas&&t.boost.wgl&&b(t)&&t.boost.wgl.allocateBuffer(t),t.boost.markerGroup&&t.xAxis&&t.xAxis.length>0&&t.yAxis&&t.yAxis.length>0&&t.boost.markerGroup.translate(t.xAxis[0].pos,t.yAxis[0].pos)}),m(t,"load",e,{order:-1}),m(t,"redraw",e);let i=-1,s=-1;m(t.pointer,"afterGetHoverData",e=>{let o=e.hoverPoint?.series;if(t.boost=t.boost||{},t.boost.markerGroup&&o){let e=t.inverted?o.yAxis:o.xAxis,r=t.inverted?o.xAxis:o.yAxis;(e&&e.pos!==i||r&&r.pos!==s)&&(t.series.forEach(t=>{t.halo?.hide()}),t.boost.markerGroup.translate(e.pos,r.pos),i=e.pos,s=r.pos)}})}let A={compose:function(t,e){return e&&f(u,"Boost.Chart")&&t.prototype.callbacks.push(x),t},getBoostClipRect:function(t,e){let i=t.navigator,s={x:t.plotLeft,y:t.plotTop,width:t.plotWidth,height:t.plotHeight};if(i&&t.inverted?(s.width+=i.top+i.height,i.opposite||(s.x=i.left)):i&&!t.inverted&&(s.height=i.top+i.height-t.plotTop),e.getClipBox){let{xAxis:i,yAxis:o}=e;if(s=e.getClipBox(),t.inverted){let t=s.width;s.width=s.height,s.height=t,s.x=o.pos,s.y=i.pos}else s.x=i.pos,s.y=o.pos}if(e===t){let e=t.inverted?t.xAxis:t.yAxis;e.length<=1&&(s.y=Math.min(e[0].pos,s.y),s.height=e[0].pos-t.plotTop+e[0].len)}return s},isChartSeriesBoosting:b};var v=a(620),y=/*#__PURE__*/a.n(v);let P={area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"},{clamp:T,error:C,pick:S}=d(),E=class{constructor(t){if(this.errors=[],this.uLocations={},this.gl=t,t&&!this.createShader())return}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let t=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),e=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=t=>this.gl.getUniformLocation(this.shaderProgram,t);return t&&e?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,t),this.gl.attachShader(this.shaderProgram,e),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS))?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1,!1):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&C("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(t,e){let i=this.gl.createShader("vertex"===e?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return(this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))?i:(this.errors.push("when compiling "+e+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(t,e,i,s=1){let o=t.options,r=Number.MAX_VALUE,n=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&t.is("bubble")){let a=t.getPxExtremes();r=S(o.zMin,T(e,!1===o.displayNegative?o.zThreshold:-Number.MAX_VALUE,r)),n=S(o.zMax,Math.max(n,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==t.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,t.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",a.minPxSize*s),this.setUniform("bubbleMaxSize",a.maxPxSize*s),this.setUniform("bubbleZMin",r),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",t.options.zThreshold)}}setColor(t){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,t[0]/255,t[1]/255,t[2]/255,t[3])}setDrawAsCircle(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,t?1:0)}setInverted(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,t)}setPMatrix(t){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,t)}setPointSize(t){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,t)}setSkipTranslation(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,!0===t?1:0)}setTexture(t){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,t)}setUniform(t,e){if(this.gl&&this.shaderProgram){let i=this.uLocations[t]=this.uLocations[t]||this.gl.getUniformLocation(this.shaderProgram,t);this.gl.uniform1f(i,e)}}},M=class{constructor(t,e,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=t,this.shader=e}allocate(t){this.iterator=-1,this.preAllocated=new Float32Array(4*t)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(t,e,i){let s;return(this.data=t||[],this.data&&0!==this.data.length||this.preAllocated)?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(s=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||s,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),e),this.gl.enableVertexAttribArray(this.vertAttribute),s=!1,!0):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(t,e,i,s){this.preAllocated&&(this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=s)}render(t,e,i){let s=this.preAllocated?this.preAllocated.length:this.data.length;return!!this.buffer&&!!s&&((!t||t>s||t<0)&&(t=0),(!e||e>s)&&(e=s),!(t>=e)&&(i=i||"POINTS",this.gl.drawArrays(this.gl[i],t/this.components,(e-t)/this.components),!0))}},{parse:k}=y(),{doc:R,win:U}=d(),{isNumber:w,isObject:L,merge:N,objectEach:_,pick:z}=d(),D={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},G={scatter:!0,bubble:!0},I=["webgl","experimental-webgl","moz-webgl","webkit-3d"];class B{static orthoMatrix(t,e){return[2/t,0,0,0,0,-(2/e),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(t){let e,i,s;return t.boosted?(e=!!t.options.stacking,i=(t.getColumn("x").length?t.getColumn("x"):void 0)||t.options.xData||t.getColumn("x",!0),s=(e?t.data:i||t.options.data).length,"treemap"===t.type?s*=12:"heatmap"===t.type?s*=6:D[t.type]&&(s*=2),s):0}constructor(t){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=t,this.settings={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}}}getPixelRatio(){return this.settings.pixelRatio||U.devicePixelRatio||1}setOptions(t){"pixelRatio"in t||(t.pixelRatio=1),N(!0,this.settings,t)}allocateBuffer(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.series.forEach(t=>{t.boosted&&(i+=B.seriesPointCount(t))}),e&&e.allocate(i))}allocateBufferForSingleSeries(t){let e=this.vbuffer,i=0;this.settings.usePreallocated&&(t.boosted&&(i=B.seriesPointCount(t)),e&&e.allocate(i))}clear(){let t=this.gl;t&&t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}pushSeriesData(t,e){let i=this.data,s=this.settings,o=this.vbuffer,r=t.pointArrayMap&&"low,high"===t.pointArrayMap.join(","),{chart:n,options:a,sorted:l,xAxis:h,yAxis:d}=t,c=!!a.stacking,g=a.data,u=t.xAxis.getExtremes(),m=u.min-(t.xAxis.minPointOffset||0),p=u.max+(t.xAxis.minPointOffset||0),f=t.yAxis.getExtremes(),b=f.min-(t.yAxis.minPointOffset||0),x=f.max+(t.yAxis.minPointOffset||0),A=(t.getColumn("x").length?t.getColumn("x"):void 0)||a.xData||t.getColumn("x",!0),v=(t.getColumn("y").length?t.getColumn("y"):void 0)||a.yData||t.getColumn("y",!0),y=(t.getColumn("z").length?t.getColumn("z"):void 0)||a.zData||t.getColumn("z",!0),P=!A||0===A.length,T=a.connectNulls,C=t.points||!1,S=c?t.data:A||g,E={x:Number.MAX_VALUE,y:0},M={x:-Number.MAX_VALUE,y:0},R=void 0===n.index,U=D[t.type],w=a.zoneAxis||"y",N=a.zones||!1,_=a.threshold,z=this.getPixelRatio(),G=t.chart.plotWidth,I=!1,B=!1,O,V,X=0,F=!1,H,Y,W,K,j=-1,Z=!1,q=!1,Q,J=!1,$=!1,tt=!1,te=!1,ti=!0,ts=!0,to,tr=!1,tn=!1,ta=0;if(a.boostData&&a.boostData.length>0)return;a.gapSize&&(tn="value"!==a.gapUnit?a.gapSize*t.closestPointRange:a.gapSize),N&&(to=[],N.forEach((t,e)=>{if(t.color){let i=k(t.color).rgba;i[0]/=255,i[1]/=255,i[2]/=255,to[e]=i,tr||void 0!==t.value||(tr=i)}}),tr||(tr=k(t.pointAttribs&&t.pointAttribs().fill||t.color).rgba,tr[0]/=255,tr[1]/=255,tr[2]/=255)),n.inverted&&(G=t.chart.plotHeight),t.closestPointRangePx=Number.MAX_VALUE;let tl=t=>{t&&(e.colorData.push(t[0]),e.colorData.push(t[1]),e.colorData.push(t[2]),e.colorData.push(t[3]))},th=(t,r,n,a=1,l)=>{tl(l),1!==z&&(!s.useGPUTranslations||e.skipTranslation)&&(t*=z,r*=z,a*=z),s.usePreallocated&&o?(o.push(t,r,n?1:0,a),ta+=4):(i.push(t),i.push(r),i.push(n?z:0),i.push(a))},td=()=>{e.segments.length&&(e.segments[e.segments.length-1].to=i.length||ta)},tc=()=>{e.segments.length&&e.segments[e.segments.length-1].from===(i.length||ta)||(td(),e.segments.push({from:i.length||ta}))},tg=(t,e,i,s,o)=>{tl(o),th(t+i,e),tl(o),th(t,e),tl(o),th(t,e+s),tl(o),th(t,e+s),tl(o),th(t+i,e+s),tl(o),th(t+i,e)};if(tc(),C&&C.length>0){e.skipTranslation=!0,e.drawMode="TRIANGLES",C[0].node&&C[0].node.levelDynamic&&C.sort((t,e)=>{if(t.node){if(t.node.levelDynamic>e.node.levelDynamic)return 1;if(t.node.levelDynamic<e.node.levelDynamic)return -1}return 0}),C.forEach(e=>{let i,s;let o=e.plotY;if(void 0!==o&&!isNaN(o)&&null!==e.y&&e.shapeArgs){let{x:o=0,y:r=0,width:a=0,height:l=0}=e.shapeArgs;i=(s=n.styledMode?e.series.colorAttribs(e):s=e.series.pointAttribs(e))["stroke-width"]||0,tt=k(s.fill).rgba,tt[0]/=255,tt[1]/=255,tt[2]/=255,t.is("treemap")&&(i=i||1,V=k(s.stroke).rgba,V[0]/=255,V[1]/=255,V[2]/=255,tg(o,r,a,l,V),i/=2),t.is("heatmap")&&n.inverted&&(o=h.len-o,r=d.len-r,a=-a,l=-l),tg(o+i,r+i,a-2*i,l-2*i,tt)}}),td();return}for(;j<S.length-1;){if(void 0===(W=S[++j]))continue;if(R)break;let i=g&&g[j];if(!P&&L(i,!0)&&i.color&&(tt=k(i.color).rgba,tt[0]/=255,tt[1]/=255,tt[2]/=255),P?(H=W[0],Y=W[1],S[j+1]&&(q=S[j+1][0]),S[j-1]&&(Z=S[j-1][0]),W.length>=3&&(K=W[2],W[2]>e.zMax&&(e.zMax=W[2]),W[2]<e.zMin&&(e.zMin=W[2]))):(H=W,Y=v?.[j],S[j+1]&&(q=S[j+1]),S[j-1]&&(Z=S[j-1]),y&&y.length&&(K=y[j],y[j]>e.zMax&&(e.zMax=y[j]),y[j]<e.zMin&&(e.zMin=y[j]))),!T&&(null===H||null===Y)){tc();continue}if(q&&q>=m&&q<=p&&(J=!0),Z&&Z>=m&&Z<=p&&($=!0),r?(P&&(Y=W.slice(1,3)),Q=t.getColumn("low",!0)?.[j],Y=t.getColumn("high",!0)?.[j]||0):c&&(H=W.x,Q=(Y=W.stackY)-W.y),null!=b&&null!=x&&(ti=Y>=b&&Y<=x),(l||ti)&&(H>p&&M.x<p&&(M.x=H,M.y=Y),H<m&&E.x>m&&(E.x=H,E.y=Y),null!==Y||!T)){if(null===Y||!ti&&!J&&!$){tc();continue}if((l&&(q>=m||H>=m)&&(Z<=p||H<=p)||!l&&H>=m&&H<=p)&&(te=!0),te||J||$){if(tn&&H-Z>tn&&tc(),N){let t;N.some((e,i)=>{let s=N[i-1];return"x"===w?void 0!==e.value&&H<=e.value&&(to[i]&&(!s||H>=s.value)&&(t=to[i]),!0):void 0!==e.value&&Y<=e.value&&(to[i]&&(!s||Y>=s.value)&&(t=to[i]),!0)}),tt=t||tr||tt}if(s.useGPUTranslations||(e.skipTranslation=!0,H=h.toPixels(H,!0),Y=d.toPixels(Y,!0),!(H>G)||"POINTS"!==e.drawMode)){if(e.hasMarkers&&te&&!1!==I&&(t.closestPointRangePx=Math.min(t.closestPointRangePx,Math.abs(H-I))),!s.useGPUTranslations&&!s.usePreallocated&&I&&1>Math.abs(H-I)&&B&&1>Math.abs(Y-B)){s.debug.showSkipSummary&&++X;continue}U&&(O=Q||0,(!1===Q||void 0===Q)&&(O=Y<0?Y:0),(r||c)&&!d.logarithmic||(O=Math.max(null===_?b:_,b)),s.useGPUTranslations||(O=d.toPixels(O,!0)),th(H,O,0,0,tt)),a.step&&!ts&&th(H,B,0,2,tt),th(H,Y,0,"bubble"===t.type?K||1:2,tt),I=H,B=Y,F=!0,ts=!1}}}}s.debug.showSkipSummary&&console.log("skipped points:",X);let tu=(t,i)=>{if(s.useGPUTranslations||(e.skipTranslation=!0,t.x=h.toPixels(t.x,!0),t.y=d.toPixels(t.y,!0)),i){this.data=[t.x,t.y,0,2].concat(this.data);return}th(t.x,t.y,0,2)};!F&&!1!==T&&"line_strip"===t.drawMode&&(E.x<Number.MAX_VALUE&&tu(E,!0),M.x>-Number.MAX_VALUE&&tu(M)),td()}pushSeries(t){let e=this.markerData,i=this.series,s=this.settings;i.length>0&&i[i.length-1].hasMarkers&&(i[i.length-1].markerTo=e.length),s.debug.timeSeriesProcessing&&console.time("building "+t.type+" series");let o={segments:[],markerFrom:e.length,colorData:[],series:t,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!t.options.marker&&!1!==t.options.marker.enabled,showMarkers:!0,drawMode:P[t.type]||"LINE_STRIP"};t.index>=i.length?i.push(o):i[t.index]=o,this.pushSeriesData(t,o),s.debug.timeSeriesProcessing&&console.timeEnd("building "+t.type+" series")}flush(){let t=this.vbuffer;this.data=[],this.markerData=[],this.series=[],t&&t.destroy()}setXAxis(t){let e=this.shader;if(!e)return;let i=this.getPixelRatio();e.setUniform("xAxisTrans",t.transA*i),e.setUniform("xAxisMin",t.min),e.setUniform("xAxisMinPad",t.minPixelPadding*i),e.setUniform("xAxisPointRange",t.pointRange),e.setUniform("xAxisLen",t.len*i),e.setUniform("xAxisPos",t.pos*i),e.setUniform("xAxisCVSCoord",!t.horiz),e.setUniform("xAxisIsLog",!!t.logarithmic),e.setUniform("xAxisReversed",!!t.reversed)}setYAxis(t){let e=this.shader;if(!e)return;let i=this.getPixelRatio();e.setUniform("yAxisTrans",t.transA*i),e.setUniform("yAxisMin",t.min),e.setUniform("yAxisMinPad",t.minPixelPadding*i),e.setUniform("yAxisPointRange",t.pointRange),e.setUniform("yAxisLen",t.len*i),e.setUniform("yAxisPos",t.pos*i),e.setUniform("yAxisCVSCoord",!t.horiz),e.setUniform("yAxisIsLog",!!t.logarithmic),e.setUniform("yAxisReversed",!!t.reversed)}setThreshold(t,e){let i=this.shader;i&&(i.setUniform("hasThreshold",t),i.setUniform("translatedThreshold",e))}renderChart(t){let e=this.gl,i=this.settings,s=this.shader,o=this.vbuffer,r=this.getPixelRatio();if(!t)return!1;this.width=t.chartWidth*r,this.height=t.chartHeight*r;let n=this.height,a=this.width;if(!e||!s||!a||!n)return!1;i.debug.timeRendering&&console.time("gl rendering"),e.canvas.width=a,e.canvas.height=n,s.bind(),e.viewport(0,0,a,n),s.setPMatrix(B.orthoMatrix(a,n)),i.lineWidth>1&&!d().isMS&&e.lineWidth(i.lineWidth),o&&(o.build(this.data,"aVertexPosition",4),o.bind()),s.setInverted(t.inverted),this.series.forEach((n,a)=>{let l=n.series.options,h=l.marker,d=void 0!==l.lineWidth?l.lineWidth:1,c=l.threshold,g=w(c),u=n.series.yAxis.getThreshold(c),m=z(l.marker?l.marker.enabled:null,!!n.series.xAxis.isRadial||null,n.series.closestPointRangePx>2*((l.marker?l.marker.radius:10)||10)),p=this.textureHandles[h&&h.symbol||n.series.symbol]||this.textureHandles.circle,f,b,x,A=[];if(0!==n.segments.length&&n.segments[0].from!==n.segments[0].to&&(p.isReady&&(e.bindTexture(e.TEXTURE_2D,p.handle),s.setTexture(p.handle)),t.styledMode?n.series.markerGroup===n.series.chart.boost?.markerGroup?(delete n.series.markerGroup,n.series.markerGroup=n.series.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"),x=n.series.markerGroup.getStyle("fill"),n.series.markerGroup.destroy(),n.series.markerGroup=n.series.chart.boost?.markerGroup):x=n.series.markerGroup?.getStyle("fill"):(x="POINTS"===n.drawMode&&n.series.pointAttribs&&n.series.pointAttribs().fill||n.series.color,l.colorByPoint&&(x=n.series.chart.options.colors[a])),n.series.fillOpacity&&l.fillOpacity&&(x=new(y())(x).setOpacity(z(l.fillOpacity,1)).get()),A=k(x).rgba,i.useAlpha||(A[3]=1),"add"===l.boostBlending?(e.blendFunc(e.SRC_ALPHA,e.ONE),e.blendEquation(e.FUNC_ADD)):"mult"===l.boostBlending||"multiply"===l.boostBlending?e.blendFunc(e.DST_COLOR,e.ZERO):"darken"===l.boostBlending?(e.blendFunc(e.ONE,e.ONE),e.blendEquation(e.FUNC_MIN)):e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),s.reset(),n.colorData.length>0?(s.setUniform("hasColor",1),(b=new M(e,s)).build(Array(n.segments[0].from).concat(n.colorData),"aColor",4),b.bind()):(s.setUniform("hasColor",0),e.disableVertexAttribArray(e.getAttribLocation(s.getProgram(),"aColor"))),s.setColor(A),this.setXAxis(n.series.xAxis),this.setYAxis(n.series.yAxis),this.setThreshold(g,u),"POINTS"===n.drawMode&&s.setPointSize(2*z(l.marker&&l.marker.radius,.5)*r),s.setSkipTranslation(n.skipTranslation),"bubble"===n.series.type&&s.setBubbleUniforms(n.series,n.zMin,n.zMax,r),s.setDrawAsCircle(G[n.series.type]||!1),o)){if(d>0||"LINE_STRIP"!==n.drawMode)for(f=0;f<n.segments.length;f++)o.render(n.segments[f].from,n.segments[f].to,n.drawMode);if(n.hasMarkers&&m)for(s.setPointSize(2*z(l.marker&&l.marker.radius,5)*r),s.setDrawAsCircle(!0),f=0;f<n.segments.length;f++)o.render(n.segments[f].from,n.segments[f].to,"POINTS")}}),i.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(t){if(this.clear(),t.renderer.forExport)return this.renderChart(t);this.isInited?this.renderChart(t):setTimeout(()=>{this.render(t)},1)}setSize(t,e){let i=this.shader;i&&(this.width!==t||this.height!==e)&&(this.width=t,this.height=e,i.bind(),i.setPMatrix(B.orthoMatrix(t,e)))}init(t,e){let i=this.settings;if(this.isInited=!1,!t)return!1;i.debug.timeSetup&&console.time("gl setup");for(let e=0;e<I.length&&(this.gl=t.getContext(I[e],{}),!this.gl);++e);let s=this.gl;if(!s)return!1;e||this.flush(),s.enable(s.BLEND),s.blendFunc(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),s.disable(s.DEPTH_TEST),s.depthFunc(s.LESS);let o=this.shader=new E(s);if(!o)return!1;this.vbuffer=new M(s,o);let r=(t,e)=>{let i={isReady:!1,texture:R.createElement("canvas"),handle:s.createTexture()},o=i.texture.getContext("2d");this.textureHandles[t]=i,i.texture.width=512,i.texture.height=512,o.mozImageSmoothingEnabled=!1,o.webkitImageSmoothingEnabled=!1,o.msImageSmoothingEnabled=!1,o.imageSmoothingEnabled=!1,o.strokeStyle="rgba(255, 255, 255, 0)",o.fillStyle="#FFF",e(o);try{s.activeTexture(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.handle),s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,i.texture),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.CLAMP_TO_EDGE),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.bindTexture(s.TEXTURE_2D,null),i.isReady=!0}catch(t){}};return r("circle",t=>{t.beginPath(),t.arc(256,256,256,0,2*Math.PI),t.stroke(),t.fill()}),r("square",t=>{t.fillRect(0,0,512,512)}),r("diamond",t=>{t.beginPath(),t.moveTo(256,0),t.lineTo(512,256),t.lineTo(256,512),t.lineTo(0,256),t.lineTo(256,0),t.fill()}),r("triangle",t=>{t.beginPath(),t.moveTo(0,512),t.lineTo(256,0),t.lineTo(512,512),t.lineTo(0,512),t.fill()}),r("triangle-down",t=>{t.beginPath(),t.moveTo(0,0),t.lineTo(256,512),t.lineTo(512,0),t.lineTo(0,0),t.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let t=this.gl,e=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),e&&e.destroy(),t&&(_(this.textureHandles,e=>{e.handle&&t.deleteTexture(e.handle)}),t.canvas.width=1,t.canvas.height=1)}}let{getBoostClipRect:O,isChartSeriesBoosting:V}=A,{getOptions:X}=d(),{composed:F,doc:H,noop:Y,win:W}=d(),{addEvent:K,destroyObjectProperties:j,error:Z,extend:q,fireEvent:Q,isArray:J,isNumber:$,pick:tt,pushUnique:te,wrap:ti,defined:ts}=d();function to(t,e){let i=e.boost;t&&i&&i.target&&i.canvas&&!V(e.chart)&&t.allocateBufferForSingleSeries(e)}function tr(t){return tt(t&&t.options&&t.options.boost&&t.options.boost.enabled,!0)}function tn(t,e){let i=t.constructor,o=t.seriesGroup||e.group,r=t.chartWidth,n=t.chartHeight,a=t,l="undefined"!=typeof SVGForeignObjectElement,h=!1;V(t)?a=t:(a=e,h=!!(e.options.events?.click||e.options.point?.events?.click));let d=a.boost=a.boost||{};if(l=!1,s||(s=H.createElement("canvas")),!d.target&&(d.canvas=s,t.renderer.forExport||!l?(a.renderTarget=d.target=t.renderer.image("",0,0,r,n).addClass("highcharts-boost-canvas").add(o),d.clear=function(){d.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},d.copy=function(){d.resize(),d.target.attr({href:d.canvas.toDataURL("image/png")})}):(d.targetFo=t.renderer.createElement("foreignObject").add(o),a.renderTarget=d.target=H.createElement("canvas"),d.targetCtx=d.target.getContext("2d"),d.targetFo.element.appendChild(d.target),d.clear=function(){d.target.width=d.canvas.width,d.target.height=d.canvas.height},d.copy=function(){d.target.width=d.canvas.width,d.target.height=d.canvas.height,d.targetCtx.drawImage(d.canvas,0,0)}),d.resize=function(){r=t.chartWidth,n=t.chartHeight,(d.targetFo||d.target).attr({x:0,y:0,width:r,height:n}).css({pointerEvents:h?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(h?"highcharts-tracker":""),a instanceof i&&a.boost?.markerGroup?.translate(t.plotLeft,t.plotTop)},d.clipRect=t.renderer.clipRect(),(d.targetFo||d.target).attr({zIndex:e.options.zIndex}),a instanceof i&&(a.boost.markerGroup=a.renderer.g().add(o).translate(e.xAxis.pos,e.yAxis.pos))),d.canvas.width=r,d.canvas.height=n,d.clipRect){let e=O(t,a),i=e.width===t.clipBox.width&&e.height===t.clipBox.height?o:d.targetFo||d.target;d.clipRect.attr(e),i?.clip(d.clipRect)}return d.resize(),d.clear(),!d.wgl&&(d.wgl=new B(t=>{t.settings.debug.timeBufferCopy&&console.time("buffer copy"),d.copy(),t.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),d.wgl.init(d.canvas)||Z("[highcharts boost] - unable to init WebGL renderer"),d.wgl.setOptions(t.options.boost||{}),a instanceof i&&d.wgl.allocateBuffer(t)),d.wgl.setSize(r,n),d.wgl}function ta(t){let e=t.points;if(e){let t,i;for(i=0;i<e.length;i+=1)(t=e[i])&&t.destroyElements&&t.destroyElements()}for(let e of(["graph","area","tracker"].forEach(e=>{let i=t[e];i&&(t[e]=i.destroy())}),t.zones))j(e,void 0,!0)}function tl(t,e,i,s,o,r){let n=(o=o||0)+(s=s||3e3),a=!0;for(;a&&o<n&&o<t.length;)a=e(t[o],o),++o;a&&(o<t.length?r?tl(t,e,i,s,o,r):W.requestAnimationFrame?W.requestAnimationFrame(function(){tl(t,e,i,s,o)}):setTimeout(tl,0,t,e,i,s,o):i&&i())}function th(t,e){let i=t.options,s=t.dataTable.modified.rowCount,o=t.xAxis&&t.xAxis.options,r=t.yAxis&&t.yAxis.options,n=t.colorAxis&&t.colorAxis.options;return s>(i.boostThreshold||Number.MAX_VALUE)&&$(r.min)&&$(r.max)&&(!e||$(o.min)&&$(o.max))&&(!n||$(n.min)&&$(n.max))}let td=(t,e)=>!t.forceCrop&&(V(t.chart)||(e?e.length:0)>=(t.options.boostThreshold||Number.MAX_VALUE));function tc(){let t=this,e=t.chart;e.boost&&e.boost.markerGroup===t.markerGroup&&(t.markerGroup=null),e.hoverPoints&&(e.hoverPoints=e.hoverPoints.filter(function(e){return e.series===t})),e.hoverPoint&&e.hoverPoint.series===t&&(e.hoverPoint=null)}function tg(){let t=this.boost;t&&t.canvas&&t.target&&(t.wgl&&t.wgl.clear(),t.clear&&t.clear())}function tu(t){let e=t.boost;e&&e.canvas&&e.target&&e.wgl&&!V(t.chart)&&e.wgl.render(t.chart)}function tm(t,e){let i=t.options,s=t.xAxis,o=t.pointClass;if(e instanceof o)return e;let r=(t.getColumn("x").length?t.getColumn("x"):void 0)||i.xData||t.getColumn("x",!0)||!1,n=new o(t,(J(t.options.data)?t.options.data:[])[e.i],r?r[e.i]:void 0);return n.category=tt(s.categories?s.categories[n.x]:n.x,n.x),n.key=n.name??n.category,n.dist=e.dist,n.distX=e.distX,n.plotX=e.plotX,n.plotY=e.plotY,n.index=e.i,n.percentage=e.percentage,n.isInside=t.isPointInside(n),n}function tp(t){var e,i,s,o;let{options:r,xAxis:n,yAxis:a}=this;if(!this.isDirty&&!n.isDirty&&!a.isDirty&&!t)return!1;this.yAxis.setTickInterval();let l=r.boostThreshold||0,h=r.cropThreshold,d=this.getColumn("x"),c=n.getExtremes(),g=c.max??Number.MAX_VALUE,u=c.min??-Number.MAX_VALUE,m=this.getColumn("y"),p=a.getExtremes(),f=p.max??Number.MAX_VALUE,b=p.min??-Number.MAX_VALUE;if(!this.boosted&&n.old&&a.old&&u>=(n.old.min??-Number.MAX_VALUE)&&g<=(n.old.max??Number.MAX_VALUE)&&b>=(a.old.min??-Number.MAX_VALUE)&&f<=(a.old.max??Number.MAX_VALUE))return this.dataTable.modified.setColumns({x:d,y:m}),!0;let x=this.dataTable.rowCount;if(!l||x<l||h&&!this.forceCrop&&!this.getExtremesFromAll&&!r.getExtremesFromAll&&x<h)return this.dataTable.modified.setColumns({x:d,y:m}),!0;let A=[],v=[],y=[],P=!($(c.max)||$(c.min)),T=!($(p.max)||$(p.min)),C=!1,S,E=d[0],M=d[0],k,R=m?.[0],U=m?.[0];for(let t=0,e=d.length;t<e;++t)S=d[t],k=m?.[t],S>=u&&S<=g&&k>=b&&k<=f?(A.push({x:S,y:k}),v.push(S),y.push(k),P&&(E=Math.max(E,S),M=Math.min(M,S)),T&&(R=Math.max(R,k),U=Math.min(U,k))):C=!0;return P&&((e=n.options).max??(e.max=E),(i=n.options).min??(i.min=M)),T&&((s=a.options).max??(s.max=R),(o=a.options).min??(o.min=U)),this.cropped=C,this.cropStart=0,this.dataTable.modified.setColumns({x:v,y:y}),td(this,v)||(this.processedData=A),!0}function tf(){let t=this.options||{},e=this.chart,s=e.boost,o=this.boost,r=this.xAxis,n=this.yAxis,a=t.xData||this.getColumn("x",!0),l=t.yData||this.getColumn("y",!0),h=this.getColumn("low",!0),d=this.getColumn("high",!0),c=this.processedData||t.data,g=r.getExtremes(),u=g.min-(r.minPointOffset||0),m=g.max+(r.minPointOffset||0),p=n.getExtremes(),f=p.min-(n.minPointOffset||0),b=p.max+(n.minPointOffset||0),x={},A=!!this.sampling,v=t.enableMouseTracking,y=t.threshold,P=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),T=!!t.stacking,C=this.cropStart||0,S=this.requireSorting,E=!a,M="x"===t.findNearestPointBy,k=(this.getColumn("x",!0).length?this.getColumn("x",!0):void 0)||this.options.xData||this.getColumn("x",!0),R=tt(t.lineWidth,1),U=!1,w,L=n.getThreshold(y),N,_,z,D;if(r.isPanning||n.isPanning||(U=tn(e,this),e.boosted=!0,!this.visible))return;(this.points||this.graph)&&ta(this),V(e)?(this.markerGroup&&this.markerGroup!==s?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=s?.markerGroup,o&&o.target&&(this.renderTarget=o.target=o.target.destroy())):(this.markerGroup===s?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker"));let G=this.points=[],I=(t,s,o,a)=>{let l=!!k&&k[C+o],h=t=>{e.inverted&&(t=r.len-t,s=n.len-s),G.push({destroy:Y,x:l,clientX:t,plotX:t,plotY:s,i:C+o,percentage:a})};t=Math.ceil(t),i=M?t:t+","+s,v&&(x[i]?l===k[k.length-1]&&(G.length--,h(t)):(x[i]=!0,h(t)))};this.buildKDTree=Y,Q(this,"renderCanvas"),this.is("line")&&R>1&&o?.target&&s&&!s.lineWidthFilter&&(s.lineWidthFilter=e.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*R}}],attributes:{id:"linewidth"}}),o.target.attr({filter:"url(#linewidth)"})),U&&(to(U,this),U.pushSeries(this),tu(this));let B=U.settings;e.renderer.forExport||(B.debug.timeKDTree&&console.time("kd tree building"),tl(T?this.data.slice(C):a||c,function(t,i){let s=void 0===e.index,o,a,c,g,p,x=!1,v=!0;return!ts(t)||(!s&&(E?(o=t[0],a=t[1]):(o=t,a=l?.[i]),P?(E&&(a=t.slice(1,3)),x=h[i],a=d[i]):T&&(o=t.x,x=(a=t.stackY)-t.y,p=t.percentage),S||(v=(a||0)>=f&&a<=b),null!==a&&o>=u&&o<=m&&v&&(c=r.toPixels(o,!0),A?((void 0===z||c===w)&&(P||(x=a),(void 0===D||a>_)&&(_=a,D=i),(void 0===z||x<N)&&(N=x,z=i)),M&&c===w||(void 0!==z&&(g=n.toPixels(_,!0),L=n.toPixels(N,!0),I(c,g,D,p),L!==g&&I(c,L,z,p)),z=D=void 0,w=c)):I(c,g=Math.ceil(n.toPixels(a,!0)),i,p))),!s)},()=>{Q(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),B.debug.timeKDTree&&console.timeEnd("kd tree building")}))}function tb(t){let e=!0;if(this.chart.options&&this.chart.options.boost&&(e=void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled),!e||!this.boosted)return t.call(this);this.chart.boosted=!0;let i=tn(this.chart,this);i&&(to(i,this),i.pushSeries(this)),tu(this)}function tx(t){if(this.boosted){if(th(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return t.apply(this,[].slice.call(arguments,1))}function tA(t){let e=this.options.data;if(tr(this.chart)&&g[this.type]){let i=this.is("scatter")&&!this.is("bubble")&&!this.is("treemap")&&!this.is("heatmap");if(!td(this,e)||i||this.is("treemap")||this.options.stacking||!th(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;i&&!this.yAxis.treeGrid?tp.call(this,arguments[1]):t.apply(this,[].slice.call(arguments,1)),e=this.getColumn("x",!0)}if(this.boosted=td(this,e),this.boosted){let t;!this.options.data?.length||$(t=this.getFirstValidPoint(this.options.data))||J(t)||this.is("treemap")||Z(12,!1,this.chart),function(t){t.boost=t.boost||{getPoint:e=>tm(t,e)};let e=t.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(i=>{e.push({prop:i,val:t[i],own:Object.hasOwnProperty.call(t,i)})}),t.allowDG=!1,t.directTouch=!1,t.stickyTracking=!0,t.finishedAnimating=!0,t.labelBySeries&&(t.labelBySeries=t.labelBySeries.destroy()),t.is("scatter")&&!t.is("treemap")&&t.data.length){for(let e of t.data)e?.destroy?.();t.data.length=0,t.points.length=0,delete t.processedData}}(this)}else!function(t){let e=t.boost,i=t.chart,s=i.boost;if(s?.markerGroup)for(let t of(s.markerGroup.destroy(),s.markerGroup=void 0,i.series))t.markerGroup=void 0,t.markerGroup=t.plotGroup("markerGroup","markers","visible",1,i.seriesGroup).addClass("highcharts-tracker");e&&((e.altered||[]).forEach(e=>{e.own?t[e.prop]=e.val:delete t[e.prop]}),e.clear&&e.clear()),(i.seriesGroup||t.group)?.clip()}(this)}else t.apply(this,[].slice.call(arguments,1))}function tv(t){let e=t.apply(this,[].slice.call(arguments,1));return this.boost&&e?this.boost.getPoint(e):e}let ty={compose:function(t,e,i){if(te(F,"Boost.Series")){let s=X().plotOptions,o=t.prototype;if(K(t,"destroy",tc),K(t,"hide",tg),i&&(o.renderCanvas=tf),ti(o,"getExtremes",tx),ti(o,"processData",tA),ti(o,"searchPoint",tv),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(t=>(function(t,e,i){function s(t){let e=this.options.stacking&&("translate"===i||"generatePoints"===i);this.boosted&&!e&&tr(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&g[this.type]&&0!==this.options.boostThreshold?"render"===i&&this.renderCanvas&&this.renderCanvas():t.call(this)}if(ti(t,i,s),"translate"===i)for(let t of["column","arearange","columnrange","heatmap","treemap"])e[t]&&ti(e[t].prototype,i,s)})(o,e,t)),c.forEach(t=>{let i=s[t];i&&(i.boostThreshold=5e3,i.boostData=[],e[t].prototype.fillOpacity=!0)}),i){let{area:t,areaspline:i,bubble:s,column:o,heatmap:r,scatter:n,treemap:a}=e;if(t&&q(t.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i&&q(i.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),s){let t=s.prototype;delete t.buildKDTree,ti(t,"markerAttribs",function(t){return!this.boosted&&t.apply(this,[].slice.call(arguments,1))})}o&&q(o.prototype,{fill:!0,sampling:!0}),n&&(n.prototype.fill=!0),[r,a].forEach(t=>{t&&ti(t.prototype,"drawPoints",tb)})}}return t},destroyGraphics:ta,eachAsync:tl,getPoint:tm},{getBoostClipRect:tP,isChartSeriesBoosting:tT}=A,{destroyGraphics:tC}=ty,{parse:tS}=y(),{doc:tE,noop:tM}=d(),{addEvent:tk,fireEvent:tR,isNumber:tU,merge:tw,pick:tL,wrap:tN}=d();!function(t){let e;let i="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=";function s(t,e,i,s,o){o&&e!==o.clientX&&(t.moveTo(o.clientX,o.yBottom),t.lineTo(o.clientX,o.plotY),t.lineTo(e,i),t.lineTo(e,s))}function o(t,e,i,s,o){t.moveTo(e,i),t.arc(e,i,this.radii&&this.radii[o],0,2*Math.PI,!1)}function r(t,e,i,s){t.rect(e-1,i,1,s-i)}function n(){this.boost&&this.boost.copy&&this.boost.copy()}function a(){let t=this.boost||{};t.target&&t.target.attr({href:i}),t.canvas&&t.canvas.getContext("2d").clearRect(0,0,t.canvas.width,t.canvas.height)}function l(){tT(this.chart)?this.boost&&this.boost.clear&&this.boost.clear():this.boost&&this.boost.copy?this.boost.copy():this.chart.boost&&this.chart.boost.copy&&this.chart.boost.copy()}function h(t,e,i){t.lineTo(e,i)}function c(){let t;let e=this.chart,s=tT(e)?e:this,o=s===e?e.seriesGroup:e.seriesGroup||this.group,r=e.chartWidth,n=e.chartHeight,a=function(t,e,i,s,o,r,n){t.call(this,i,e,s,o,r,n)},l=s.boost=s.boost||{};return t=l.targetCtx,l.canvas||(l.canvas=tE.createElement("canvas"),l.target=e.renderer.image("",0,0,r,n).addClass("highcharts-boost-canvas").add(o),t=l.targetCtx=l.canvas.getContext("2d"),e.inverted&&["moveTo","lineTo","rect","arc"].forEach(e=>{tN(t,e,a)}),l.copy=function(){l.target.attr({href:l.canvas.toDataURL("image/png")})},l.clear=function(){t.clearRect(0,0,l.canvas.width,l.canvas.height),s===l.target&&l.target.attr({href:i})},l.clipRect=e.renderer.clipRect(),l.target.clip(l.clipRect)),l.canvas.width!==r&&(l.canvas.width=r),l.canvas.height!==n&&(l.canvas.height=n),l.target.attr({x:0,y:0,width:r,height:n,style:"pointer-events: none",href:i}),l.clipRect&&l.clipRect.attr(tP(e,s)),t}function g(){let t=this,s=t.options,o=t.chart,r=t.xAxis,n=t.yAxis,a=o.options.boost||{},l={timeRendering:a.timeRendering||!1,timeSeriesProcessing:a.timeSeriesProcessing||!1,timeSetup:a.timeSetup||!1},h=t.getColumn("x",!0),c=t.getColumn("y",!0),g=s.data,u=r.getExtremes(),m=u.min,p=u.max,f=n.getExtremes(),b=f.min,x=f.max,A={},v=!!t.sampling,P=s.marker&&s.marker.radius,T=t.cvsStrokeBatch||1e3,C=s.enableMouseTracking,S=s.threshold,E=tU(S),M=n.getThreshold(S),k=t.fill,R=t.pointArrayMap&&"low,high"===t.pointArrayMap.join(","),U=!!s.stacking,w=t.cropStart||0,L=o.options.loading,N=t.requireSorting,_=s.connectNulls,z=!h,D=U?t.data:h||g,G=t.fillOpacity?y().parse(t.color).setOpacity(tL(s.fillOpacity,.75)).get():t.color,I="x"===s.findNearestPointBy,B=this.boost||{},O=t.cvsDrawPoint,V=s.lineWidth?t.cvsLineTo:void 0,X=P&&P<=1?t.cvsMarkerSquare:t.cvsMarkerCircle;B.target&&B.target.attr({href:i}),(t.points||t.graph)&&tC(t),t.plotGroup("group","series",t.visible?"visible":"hidden",s.zIndex,o.seriesGroup),t.markerGroup=t.group,tk(t,"destroy",function(){t.markerGroup=null});let F=this.points=[],H=this.getContext();if(t.buildKDTree=tM,B.clear&&B.clear(),!t.visible)return;g.length>99999&&(o.options.loading=tw(L,{labelStyle:{backgroundColor:tS("#ffffff").setOpacity(.75).get(),padding:"1em",borderRadius:"0.5em"},style:{backgroundColor:"none",opacity:1}}),d().clearTimeout(e),o.showLoading("Drawing..."),o.options.loading=L),l.timeRendering&&console.time("canvas rendering");let Y=0,W,K,j=M,Z,q,Q,J,$,tt,te=function(){k?(H.fillStyle=G,H.fill()):(H.strokeStyle=t.color,H.lineWidth=s.lineWidth,H.stroke())},ti=function(e,i,s,r){0===Y&&(H.beginPath(),V&&(H.lineJoin="round")),o.scroller&&"highcharts-navigator-series"===t.options.className?(i+=o.scroller.top,s&&(s+=o.scroller.top)):i+=o.plotTop,e+=o.plotLeft,Z?H.moveTo(e,i):O?O(H,e,i,s,K):V?V(H,e,i):X&&X.call(t,H,e,i,P,r),(Y+=1)===T&&(te(),Y=0),K={clientX:e,plotY:i,yBottom:s}},ts=(this.getColumn("x").length?this.getColumn("x"):void 0)||this.options.xData||!!this.getColumn("x",!0).length&&this.getColumn("x",!0),to=function(t,e,i){tt=I?t:t+","+e,C&&!A[tt]&&(A[tt]=!0,o.inverted&&(t=r.len-t,e=n.len-e),F.push({x:!!ts&&ts[w+i],clientX:t,plotX:t,plotY:e,i:w+i}))};ty.eachAsync(D,(e,i)=>{let s=void 0===o.index,a,l,h,d,g,u,f=!1,A=!1,y=NaN,P=NaN,T=!0;return!s&&(z?(a=e[0],l=e[1],D[i+1]&&(y=D[i+1][0]),D[i-1]&&(P=D[i-1][0])):(a=e,l=c[i],D[i+1]&&(y=D[i+1]),D[i-1]&&(P=D[i-1])),y&&y>=m&&y<=p&&(f=!0),P&&P>=m&&P<=p&&(A=!0),R?(z&&(l=e.slice(1,3)),u=l[0],l=l[1]):U&&(a=e.x,u=(l=e.stackY)-e.y),g=null===l,N||(T=l>=b&&l<=x),!g&&(a>=m&&a<=p&&T||f||A)&&(h=Math.round(r.toPixels(a,!0)),v?((void 0===J||h===W)&&(R||(u=l),(void 0===$||l>Q)&&(Q=l,$=i),(void 0===J||u<q)&&(q=u,J=i)),h!==W&&(void 0!==J&&(d=n.toPixels(Q,!0),j=n.toPixels(q,!0),ti(h,E?Math.min(d,M):d,E?Math.max(j,M):j,i),to(h,d,$),j!==d&&to(h,j,J)),J=$=void 0,W=h)):(ti(h,d=Math.round(n.toPixels(l,!0)),j,i),to(h,d,i))),Z=g&&!_,i%5e4==0&&(t.boost&&t.boost.copy?t.boost.copy():t.chart.boost&&t.chart.boost.copy&&t.chart.boost.copy())),!s},function(){let i=o.loadingDiv,s=o.loadingShown;te(),t.canvasToSVG(),l.timeRendering&&console.timeEnd("canvas rendering"),tR(t,"renderedCanvas"),s&&(i.style.transition="opacity 250ms",i.opacity=0,o.loadingShown=!1,e=setTimeout(function(){i.parentNode&&i.parentNode.removeChild(i),o.loadingDiv=o.loadingSpan=null},250)),delete t.buildKDTree,t.buildKDTree()},o.renderer.forExport?Number.MAX_VALUE:void 0)}function u(t,e,i,s){t.moveTo(e,i),t.arc(e,i,s,0,2*Math.PI,!1)}function m(t,e,i,s){t.rect(e-s,i-s,2*s,2*s)}function p(){let t=this.chart,e=this.getContext(),i=this.chart.inverted,s=this.xAxis,o=this.yAxis;e?(this.points.forEach(r=>{let n;let a=r.plotY;if(void 0!==a&&!isNaN(a)&&null!==r.y&&e){let{x:a=0,y:l=0,width:h=0,height:d=0}=r.shapeArgs||{};n=t.styledMode?r.series.colorAttribs(r):r.series.pointAttribs(r),e.fillStyle=n.fill,i?e.fillRect(o.len-l+s.left,s.len-a+o.top,-d,-h):e.fillRect(a+s.left,l+o.top,h,d)}}),this.canvasToSVG()):this.chart.showLoading("Your browser doesn't support HTML5 canvas, <br>please use a modern browser")}t.compose=function(t,e,i){let d=e.prototype;if(!d.renderCanvas){let{area:e,bubble:f,column:b,heatmap:x,scatter:A}=i;if(t.prototype.callbacks.push(t=>{tk(t,"predraw",a),tk(t,"render",n)}),d.canvasToSVG=l,d.cvsLineTo=h,d.getContext=c,d.renderCanvas=g,e){let t=e.prototype;t.cvsDrawPoint=s,t.fill=!0,t.fillOpacity=!0,t.sampling=!0}if(f){let t=f.prototype;t.cvsMarkerCircle=o,t.cvsStrokeBatch=1}if(b){let t=b.prototype;t.cvsDrawPoint=r,t.fill=!0,t.sampling=!0}if(x&&tN(x.prototype,"drawPoints",p),A){let t=A.prototype;t.cvsMarkerCircle=u,t.cvsMarkerSquare=m,t.fill=!0}}}}(o||(o={}));let t_=o,tz=d();tz.initCanvasBoost=function(){t_.compose(tz.Chart,tz.Series,tz.seriesTypes)};let tD=d();return l.default})());
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*!*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) Highsoft AS. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
*!*/
|
|
6
|
+
import * as globals from "../globals.src";
|
|
7
|
+
import * as _Highcharts from "../highcharts.src";
|
|
8
|
+
/**
|
|
9
|
+
* Adds the module to the imported Highcharts namespace.
|
|
10
|
+
*
|
|
11
|
+
* @param highcharts
|
|
12
|
+
* The imported Highcharts namespace to extend.
|
|
13
|
+
*/
|
|
14
|
+
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
+
declare module "../highcharts.src" {
|
|
16
|
+
/**
|
|
17
|
+
* Initialize the canvas boost.
|
|
18
|
+
*/
|
|
19
|
+
function initCanvasBoost(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Override a bunch of methods the same way. If the number of points is
|
|
22
|
+
* below the threshold, run the original method. If not, check for a canvas
|
|
23
|
+
* version or do nothing.
|
|
24
|
+
*
|
|
25
|
+
* Note that we're not overriding any of these for heatmaps.
|
|
26
|
+
*/
|
|
27
|
+
function wrapSeriesFunctions(): void;
|
|
28
|
+
}
|
|
29
|
+
export default factory;
|
|
30
|
+
export let Highcharts: typeof _Highcharts;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v12.0.
|
|
2
|
+
* @license Highcharts JS v12.0.2 (2024-12-04)
|
|
3
3
|
* @module highcharts/modules/boost-canvas
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
*/
|
|
13
13
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
14
14
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
15
|
-
module.exports = factory(
|
|
15
|
+
module.exports = factory(root["_Highcharts"], root["_Highcharts"]["Color"]);
|
|
16
16
|
else if(typeof define === 'function' && define.amd)
|
|
17
|
-
define("highcharts/boost-canvas", [
|
|
17
|
+
define("highcharts/modules/boost-canvas", ["highcharts/highcharts"], function (amd1) {return factory(amd1,amd1["Color"]);});
|
|
18
18
|
else if(typeof exports === 'object')
|
|
19
|
-
exports["highcharts/boost-canvas"] = factory(
|
|
19
|
+
exports["highcharts/modules/boost-canvas"] = factory(root["_Highcharts"], root["_Highcharts"]["Color"]);
|
|
20
20
|
else
|
|
21
21
|
root["Highcharts"] = factory(root["Highcharts"], root["Highcharts"]["Color"]);
|
|
22
|
-
})(this, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__620__) => {
|
|
22
|
+
})(typeof window === 'undefined' ? this : window, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__620__) => {
|
|
23
23
|
return /******/ (() => { // webpackBootstrap
|
|
24
24
|
/******/ "use strict";
|
|
25
25
|
/******/ var __webpack_modules__ = ({
|
|
@@ -1262,7 +1262,10 @@ class WGLRenderer {
|
|
|
1262
1262
|
*
|
|
1263
1263
|
* */
|
|
1264
1264
|
constructor(postRenderCallback) {
|
|
1265
|
-
|
|
1265
|
+
/**
|
|
1266
|
+
* The data to render - array of coordinates.
|
|
1267
|
+
* Repeating sequence of [x, y, checkThreshold, pointSize].
|
|
1268
|
+
*/
|
|
1266
1269
|
this.data = [];
|
|
1267
1270
|
// Height of our viewport in pixels
|
|
1268
1271
|
this.height = 0;
|
|
@@ -1686,6 +1689,10 @@ class WGLRenderer {
|
|
|
1686
1689
|
typeof yMax !== 'undefined') {
|
|
1687
1690
|
isYInside = y >= yMin && y <= yMax;
|
|
1688
1691
|
}
|
|
1692
|
+
// Do not render points outside the zoomed range (#19701)
|
|
1693
|
+
if (!sorted && !isYInside) {
|
|
1694
|
+
continue;
|
|
1695
|
+
}
|
|
1689
1696
|
if (x > xMax && closestRight.x < xMax) {
|
|
1690
1697
|
closestRight.x = x;
|
|
1691
1698
|
closestRight.y = y;
|
|
@@ -1704,9 +1711,10 @@ class WGLRenderer {
|
|
|
1704
1711
|
}
|
|
1705
1712
|
// The first point before and first after extremes should be
|
|
1706
1713
|
// rendered (#9962, 19701)
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
(px <= xMax || x <= xMax))
|
|
1714
|
+
// Make sure series with a single point are rendered (#21897)
|
|
1715
|
+
if (sorted && ((nx >= xMin || x >= xMin) &&
|
|
1716
|
+
(px <= xMax || x <= xMax)) ||
|
|
1717
|
+
!sorted && ((x >= xMin) && (x <= xMax))) {
|
|
1710
1718
|
isXInside = true;
|
|
1711
1719
|
}
|
|
1712
1720
|
if (!isXInside && !nextInside && !prevInside) {
|
|
@@ -2908,7 +2916,10 @@ function getPoint(series, boostPoint) {
|
|
|
2908
2916
|
* @private
|
|
2909
2917
|
*/
|
|
2910
2918
|
function scatterProcessData(force) {
|
|
2911
|
-
var _a,
|
|
2919
|
+
var _a,
|
|
2920
|
+
_b,
|
|
2921
|
+
_c,
|
|
2922
|
+
_d;
|
|
2912
2923
|
const series = this, { options, xAxis, yAxis } = series;
|
|
2913
2924
|
// Process only on changes
|
|
2914
2925
|
if (!series.isDirty &&
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*!*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) Highsoft AS. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
*!*/
|
|
6
|
+
import * as globals from "../globals";
|
|
7
|
+
import * as _Highcharts from "../highcharts";
|
|
8
|
+
/**
|
|
9
|
+
* Adds the module to the imported Highcharts namespace.
|
|
10
|
+
*
|
|
11
|
+
* @param highcharts
|
|
12
|
+
* The imported Highcharts namespace to extend.
|
|
13
|
+
*/
|
|
14
|
+
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
+
declare module "../highcharts" {
|
|
16
|
+
/**
|
|
17
|
+
* Returns true if the current browser supports WebGL.
|
|
18
|
+
*
|
|
19
|
+
* @return `true` if the browser supports WebGL.
|
|
20
|
+
*/
|
|
21
|
+
function hasWebGLSupport(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Override a bunch of methods the same way. If the number of points is
|
|
24
|
+
* below the threshold, run the original method. If not, check for a canvas
|
|
25
|
+
* version or do nothing.
|
|
26
|
+
*
|
|
27
|
+
* Note that we're not overriding any of these for heatmaps.
|
|
28
|
+
*/
|
|
29
|
+
function wrapSeriesFunctions(): void;
|
|
30
|
+
}
|
|
31
|
+
export default factory;
|
|
32
|
+
export let Highcharts: typeof _Highcharts;
|
package/modules/boost.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v12.0.2 (2024-12-04)
|
|
3
|
+
* @module highcharts/modules/boost
|
|
4
|
+
* @requires highcharts
|
|
5
|
+
*
|
|
6
|
+
* Boost module
|
|
7
|
+
*
|
|
8
|
+
* (c) 2010-2024 Highsoft AS
|
|
9
|
+
* Author: Torstein Honsi
|
|
10
|
+
*
|
|
11
|
+
* License: www.highcharts.com/license
|
|
12
|
+
*
|
|
13
|
+
* */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.Color):"function"==typeof define&&define.amd?define("highcharts/modules/boost",["highcharts/highcharts"],function(e){return t(e,e.Color)}):"object"==typeof exports?exports["highcharts/modules/boost"]=t(e._Highcharts,e._Highcharts.Color):e.Highcharts=t(e.Highcharts,e.Highcharts.Color)}("undefined"==typeof window?this:window,(e,t)=>(()=>{"use strict";let i,r;var s={620:e=>{e.exports=t},944:t=>{t.exports=e}},o={};function n(e){var t=o[e];if(void 0!==t)return t.exports;var i=o[e]={exports:{}};return s[e](i,i.exports,n),i.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var a={};n.d(a,{default:()=>eU});var l=n(944),h=/*#__PURE__*/n.n(l);let d=["area","areaspline","arearange","column","columnrange","bar","line","scatter","heatmap","bubble","treemap"],f={};d.forEach(e=>{f[e]=!0});let{composed:u}=h(),{addEvent:g,pick:m,pushUnique:c}=h();function p(e){let t=e.series,i=e.boost=e.boost||{},r=e.options.boost||{},s=m(r.seriesThreshold,50);if(t.length>=s)return!0;if(1===t.length)return!1;let o=r.allowForce;if(void 0===o){for(let t of(o=!0,e.xAxis))if(m(t.min,-1/0)>m(t.dataMin,-1/0)||m(t.max,1/0)<m(t.dataMax,1/0)){o=!1;break}}if(void 0!==i.forceChartBoost){if(o)return i.forceChartBoost;i.forceChartBoost=void 0}let n=0,a=0,l;for(let e of t)0!==(l=e.options).boostThreshold&&!1!==e.visible&&"heatmap"!==e.type&&(f[e.type]&&++n,function(...e){let t=-Number.MAX_VALUE;return e.forEach(e=>{if(null!=e&&void 0!==e.length&&e.length>0)return t=e.length,!0}),t}(e.getColumn("x",!0),l.data,e.points)>=(l.boostThreshold||Number.MAX_VALUE)&&++a);return i.forceChartBoost=o&&(n===t.length&&a===n||a>5),i.forceChartBoost}function b(e){function t(){e.boost&&e.boost.wgl&&p(e)&&e.boost.wgl.render(e)}g(e,"predraw",function(){e.boost=e.boost||{},e.boost.forceChartBoost=void 0,e.boosted=!1,e.axes.some(e=>e.isPanning)||e.boost.clear?.(),e.boost.canvas&&e.boost.wgl&&p(e)&&e.boost.wgl.allocateBuffer(e),e.boost.markerGroup&&e.xAxis&&e.xAxis.length>0&&e.yAxis&&e.yAxis.length>0&&e.boost.markerGroup.translate(e.xAxis[0].pos,e.yAxis[0].pos)}),g(e,"load",t,{order:-1}),g(e,"redraw",t);let i=-1,r=-1;g(e.pointer,"afterGetHoverData",t=>{let s=t.hoverPoint?.series;if(e.boost=e.boost||{},e.boost.markerGroup&&s){let t=e.inverted?s.yAxis:s.xAxis,o=e.inverted?s.xAxis:s.yAxis;(t&&t.pos!==i||o&&o.pos!==r)&&(e.series.forEach(e=>{e.halo?.hide()}),e.boost.markerGroup.translate(t.pos,o.pos),i=t.pos,r=o.pos)}})}let x={compose:function(e,t){return t&&c(u,"Boost.Chart")&&e.prototype.callbacks.push(b),e},getBoostClipRect:function(e,t){let i=e.navigator,r={x:e.plotLeft,y:e.plotTop,width:e.plotWidth,height:e.plotHeight};if(i&&e.inverted?(r.width+=i.top+i.height,i.opposite||(r.x=i.left)):i&&!e.inverted&&(r.height=i.top+i.height-e.plotTop),t.getClipBox){let{xAxis:i,yAxis:s}=t;if(r=t.getClipBox(),e.inverted){let e=r.width;r.width=r.height,r.height=e,r.x=s.pos,r.y=i.pos}else r.x=i.pos,r.y=s.pos}if(t===e){let t=e.inverted?e.xAxis:e.yAxis;t.length<=1&&(r.y=Math.min(t[0].pos,r.y),r.height=t[0].pos-e.plotTop+t[0].len)}return r},isChartSeriesBoosting:p};var A=n(620),y=/*#__PURE__*/n.n(A);let v={area:"LINES",arearange:"LINES",areaspline:"LINES",column:"LINES",columnrange:"LINES",bar:"LINES",line:"LINE_STRIP",scatter:"POINTS",heatmap:"TRIANGLES",treemap:"TRIANGLES",bubble:"POINTS"},{clamp:P,error:T,pick:C}=h(),k=class{constructor(e){if(this.errors=[],this.uLocations={},this.gl=e,e&&!this.createShader())return}bind(){this.gl&&this.shaderProgram&&this.gl.useProgram(this.shaderProgram)}createShader(){let e=this.stringToProgram("#version 100\n#define LN10 2.302585092994046\nprecision highp float;\nattribute vec4 aVertexPosition;\nattribute vec4 aColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform mat4 uPMatrix;\nuniform float pSize;\nuniform float translatedThreshold;\nuniform bool hasThreshold;\nuniform bool skipTranslation;\nuniform float xAxisTrans;\nuniform float xAxisMin;\nuniform float xAxisMinPad;\nuniform float xAxisPointRange;\nuniform float xAxisLen;\nuniform bool xAxisPostTranslate;\nuniform float xAxisOrdinalSlope;\nuniform float xAxisOrdinalOffset;\nuniform float xAxisPos;\nuniform bool xAxisCVSCoord;\nuniform bool xAxisIsLog;\nuniform bool xAxisReversed;\nuniform float yAxisTrans;\nuniform float yAxisMin;\nuniform float yAxisMinPad;\nuniform float yAxisPointRange;\nuniform float yAxisLen;\nuniform bool yAxisPostTranslate;\nuniform float yAxisOrdinalSlope;\nuniform float yAxisOrdinalOffset;\nuniform float yAxisPos;\nuniform bool yAxisCVSCoord;\nuniform bool yAxisIsLog;\nuniform bool yAxisReversed;\nuniform bool isBubble;\nuniform bool bubbleSizeByArea;\nuniform float bubbleZMin;\nuniform float bubbleZMax;\nuniform float bubbleZThreshold;\nuniform float bubbleMinSize;\nuniform float bubbleMaxSize;\nuniform bool bubbleSizeAbs;\nuniform bool isInverted;\nfloat bubbleRadius(){\nfloat value = aVertexPosition.w;\nfloat zMax = bubbleZMax;\nfloat zMin = bubbleZMin;\nfloat radius = 0.0;\nfloat pos = 0.0;\nfloat zRange = zMax - zMin;\nif (bubbleSizeAbs){\nvalue = value - bubbleZThreshold;\nzMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);\nzMin = 0.0;\n}\nif (value < zMin){\nradius = bubbleZMin / 2.0 - 1.0;\n} else {\npos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;\nif (bubbleSizeByArea && pos > 0.0){\npos = sqrt(pos);\n}\nradius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;\n}\nreturn radius * 2.0;\n}\nfloat translate(float val,\nfloat pointPlacement,\nfloat localA,\nfloat localMin,\nfloat minPixelPadding,\nfloat pointRange,\nfloat len,\nbool cvsCoord,\nbool isLog,\nbool reversed\n){\nfloat sign = 1.0;\nfloat cvsOffset = 0.0;\nif (cvsCoord) {\nsign *= -1.0;\ncvsOffset = len;\n}\nif (isLog) {\nval = log(val) / LN10;\n}\nif (reversed) {\nsign *= -1.0;\ncvsOffset -= sign * len;\n}\nreturn sign * (val - localMin) * localA + cvsOffset + \n(sign * minPixelPadding);\n}\nfloat xToPixels(float value) {\nif (skipTranslation){\nreturn value;// + xAxisPos;\n}\nreturn translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;\n}\nfloat yToPixels(float value, float checkTreshold) {\nfloat v;\nif (skipTranslation){\nv = value;// + yAxisPos;\n} else {\nv = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;\nif (v > yAxisLen) {\nv = yAxisLen;\n}\n}\nif (checkTreshold > 0.0 && hasThreshold) {\nv = min(v, translatedThreshold);\n}\nreturn v;\n}\nvoid main(void) {\nif (isBubble){\ngl_PointSize = bubbleRadius();\n} else {\ngl_PointSize = pSize;\n}\nvColor = aColor;\nif (skipTranslation && isInverted) {\ngl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);\n} else if (isInverted) {\ngl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);\n} else {\ngl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);\n}\n}","vertex"),t=this.stringToProgram("precision highp float;\nuniform vec4 fillColor;\nvarying highp vec2 position;\nvarying highp vec4 vColor;\nuniform sampler2D uSampler;\nuniform bool isCircle;\nuniform bool hasColor;\nvoid main(void) {\nvec4 col = fillColor;\nvec4 tcol = texture2D(uSampler, gl_PointCoord.st);\nif (hasColor) {\ncol = vColor;\n}\nif (isCircle) {\ncol *= tcol;\nif (tcol.r < 0.0) {\ndiscard;\n} else {\ngl_FragColor = col;\n}\n} else {\ngl_FragColor = col;\n}\n}","fragment"),i=e=>this.gl.getUniformLocation(this.shaderProgram,e);return e&&t?(this.shaderProgram=this.gl.createProgram(),this.gl.attachShader(this.shaderProgram,e),this.gl.attachShader(this.shaderProgram,t),this.gl.linkProgram(this.shaderProgram),this.gl.getProgramParameter(this.shaderProgram,this.gl.LINK_STATUS))?(this.gl.useProgram(this.shaderProgram),this.gl.bindAttribLocation(this.shaderProgram,0,"aVertexPosition"),this.pUniform=i("uPMatrix"),this.psUniform=i("pSize"),this.fcUniform=i("fillColor"),this.isBubbleUniform=i("isBubble"),this.bubbleSizeAbsUniform=i("bubbleSizeAbs"),this.bubbleSizeAreaUniform=i("bubbleSizeByArea"),this.uSamplerUniform=i("uSampler"),this.skipTranslationUniform=i("skipTranslation"),this.isCircleUniform=i("isCircle"),this.isInverted=i("isInverted"),!0):(this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram)),this.handleErrors(),this.shaderProgram=!1,!1):(this.shaderProgram=!1,this.handleErrors(),!1)}handleErrors(){this.errors.length&&T("[highcharts boost] shader error - "+this.errors.join("\n"))}stringToProgram(e,t){let i=this.gl.createShader("vertex"===t?this.gl.VERTEX_SHADER:this.gl.FRAGMENT_SHADER);return(this.gl.shaderSource(i,e),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))?i:(this.errors.push("when compiling "+t+" shader:\n"+this.gl.getShaderInfoLog(i)),!1)}destroy(){this.gl&&this.shaderProgram&&(this.gl.deleteProgram(this.shaderProgram),this.shaderProgram=!1)}fillColorUniform(){return this.fcUniform}getProgram(){return this.shaderProgram}pointSizeUniform(){return this.psUniform}perspectiveUniform(){return this.pUniform}reset(){this.gl&&this.shaderProgram&&(this.gl.uniform1i(this.isBubbleUniform,0),this.gl.uniform1i(this.isCircleUniform,0))}setBubbleUniforms(e,t,i,r=1){let s=e.options,o=Number.MAX_VALUE,n=-Number.MAX_VALUE;if(this.gl&&this.shaderProgram&&e.is("bubble")){let a=e.getPxExtremes();o=C(s.zMin,P(t,!1===s.displayNegative?s.zThreshold:-Number.MAX_VALUE,o)),n=C(s.zMax,Math.max(n,i)),this.gl.uniform1i(this.isBubbleUniform,1),this.gl.uniform1i(this.isCircleUniform,1),this.gl.uniform1i(this.bubbleSizeAreaUniform,"width"!==e.options.sizeBy),this.gl.uniform1i(this.bubbleSizeAbsUniform,e.options.sizeByAbsoluteValue),this.setUniform("bubbleMinSize",a.minPxSize*r),this.setUniform("bubbleMaxSize",a.maxPxSize*r),this.setUniform("bubbleZMin",o),this.setUniform("bubbleZMax",n),this.setUniform("bubbleZThreshold",e.options.zThreshold)}}setColor(e){this.gl&&this.shaderProgram&&this.gl.uniform4f(this.fcUniform,e[0]/255,e[1]/255,e[2]/255,e[3])}setDrawAsCircle(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isCircleUniform,e?1:0)}setInverted(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.isInverted,e)}setPMatrix(e){this.gl&&this.shaderProgram&&this.gl.uniformMatrix4fv(this.pUniform,!1,e)}setPointSize(e){this.gl&&this.shaderProgram&&this.gl.uniform1f(this.psUniform,e)}setSkipTranslation(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.skipTranslationUniform,!0===e?1:0)}setTexture(e){this.gl&&this.shaderProgram&&this.gl.uniform1i(this.uSamplerUniform,e)}setUniform(e,t){if(this.gl&&this.shaderProgram){let i=this.uLocations[e]=this.uLocations[e]||this.gl.getUniformLocation(this.shaderProgram,e);this.gl.uniform1f(i,t)}}},E=class{constructor(e,t,i){this.buffer=!1,this.iterator=0,this.preAllocated=!1,this.vertAttribute=!1,this.components=i||2,this.dataComponents=i,this.gl=e,this.shader=t}allocate(e){this.iterator=-1,this.preAllocated=new Float32Array(4*e)}bind(){if(!this.buffer)return!1;this.gl.vertexAttribPointer(this.vertAttribute,this.components,this.gl.FLOAT,!1,0,0)}build(e,t,i){let r;return(this.data=e||[],this.data&&0!==this.data.length||this.preAllocated)?(this.components=i||this.components,this.buffer&&this.gl.deleteBuffer(this.buffer),this.preAllocated||(r=new Float32Array(this.data)),this.buffer=this.gl.createBuffer(),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.preAllocated||r,this.gl.STATIC_DRAW),this.vertAttribute=this.gl.getAttribLocation(this.shader.getProgram(),t),this.gl.enableVertexAttribArray(this.vertAttribute),r=!1,!0):(this.destroy(),!1)}destroy(){this.buffer&&(this.gl.deleteBuffer(this.buffer),this.buffer=!1,this.vertAttribute=!1),this.iterator=0,this.components=this.dataComponents||2,this.data=[]}push(e,t,i,r){this.preAllocated&&(this.preAllocated[++this.iterator]=e,this.preAllocated[++this.iterator]=t,this.preAllocated[++this.iterator]=i,this.preAllocated[++this.iterator]=r)}render(e,t,i){let r=this.preAllocated?this.preAllocated.length:this.data.length;return!!this.buffer&&!!r&&((!e||e>r||e<0)&&(e=0),(!t||t>r)&&(t=r),!(e>=t)&&(i=i||"POINTS",this.gl.drawArrays(this.gl[i],e/this.components,(t-e)/this.components),!0))}},{parse:S}=y(),{doc:M,win:w}=h(),{isNumber:U,isObject:R,merge:L,objectEach:_,pick:z}=h(),N={column:!0,columnrange:!0,bar:!0,area:!0,areaspline:!0,arearange:!0},D={scatter:!0,bubble:!0},G=["webgl","experimental-webgl","moz-webgl","webkit-3d"];class I{static orthoMatrix(e,t){return[2/e,0,0,0,0,-(2/t),0,0,0,0,-2,0,-1,1,-1,1]}static seriesPointCount(e){let t,i,r;return e.boosted?(t=!!e.options.stacking,i=(e.getColumn("x").length?e.getColumn("x"):void 0)||e.options.xData||e.getColumn("x",!0),r=(t?e.data:i||e.options.data).length,"treemap"===e.type?r*=12:"heatmap"===e.type?r*=6:N[e.type]&&(r*=2),r):0}constructor(e){this.data=[],this.height=0,this.isInited=!1,this.markerData=[],this.series=[],this.textureHandles={},this.width=0,this.postRenderCallback=e,this.settings={pointSize:1,lineWidth:1,fillColor:"#AA00AA",useAlpha:!0,usePreallocated:!1,useGPUTranslations:!1,debug:{timeRendering:!1,timeSeriesProcessing:!1,timeSetup:!1,timeBufferCopy:!1,timeKDTree:!1,showSkipSummary:!1}}}getPixelRatio(){return this.settings.pixelRatio||w.devicePixelRatio||1}setOptions(e){"pixelRatio"in e||(e.pixelRatio=1),L(!0,this.settings,e)}allocateBuffer(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.series.forEach(e=>{e.boosted&&(i+=I.seriesPointCount(e))}),t&&t.allocate(i))}allocateBufferForSingleSeries(e){let t=this.vbuffer,i=0;this.settings.usePreallocated&&(e.boosted&&(i=I.seriesPointCount(e)),t&&t.allocate(i))}clear(){let e=this.gl;e&&e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}pushSeriesData(e,t){let i=this.data,r=this.settings,s=this.vbuffer,o=e.pointArrayMap&&"low,high"===e.pointArrayMap.join(","),{chart:n,options:a,sorted:l,xAxis:h,yAxis:d}=e,f=!!a.stacking,u=a.data,g=e.xAxis.getExtremes(),m=g.min-(e.xAxis.minPointOffset||0),c=g.max+(e.xAxis.minPointOffset||0),p=e.yAxis.getExtremes(),b=p.min-(e.yAxis.minPointOffset||0),x=p.max+(e.yAxis.minPointOffset||0),A=(e.getColumn("x").length?e.getColumn("x"):void 0)||a.xData||e.getColumn("x",!0),y=(e.getColumn("y").length?e.getColumn("y"):void 0)||a.yData||e.getColumn("y",!0),v=(e.getColumn("z").length?e.getColumn("z"):void 0)||a.zData||e.getColumn("z",!0),P=!A||0===A.length,T=a.connectNulls,C=e.points||!1,k=f?e.data:A||u,E={x:Number.MAX_VALUE,y:0},M={x:-Number.MAX_VALUE,y:0},w=void 0===n.index,U=N[e.type],L=a.zoneAxis||"y",_=a.zones||!1,z=a.threshold,D=this.getPixelRatio(),G=e.chart.plotWidth,I=!1,B=!1,O,V,X=0,F=!1,H,W,q,Y,j=-1,Z=!1,K=!1,Q,J=!1,$=!1,ee=!1,et=!1,ei=!0,er=!0,es,eo=!1,en=!1,ea=0;if(a.boostData&&a.boostData.length>0)return;a.gapSize&&(en="value"!==a.gapUnit?a.gapSize*e.closestPointRange:a.gapSize),_&&(es=[],_.forEach((e,t)=>{if(e.color){let i=S(e.color).rgba;i[0]/=255,i[1]/=255,i[2]/=255,es[t]=i,eo||void 0!==e.value||(eo=i)}}),eo||(eo=S(e.pointAttribs&&e.pointAttribs().fill||e.color).rgba,eo[0]/=255,eo[1]/=255,eo[2]/=255)),n.inverted&&(G=e.chart.plotHeight),e.closestPointRangePx=Number.MAX_VALUE;let el=e=>{e&&(t.colorData.push(e[0]),t.colorData.push(e[1]),t.colorData.push(e[2]),t.colorData.push(e[3]))},eh=(e,o,n,a=1,l)=>{el(l),1!==D&&(!r.useGPUTranslations||t.skipTranslation)&&(e*=D,o*=D,a*=D),r.usePreallocated&&s?(s.push(e,o,n?1:0,a),ea+=4):(i.push(e),i.push(o),i.push(n?D:0),i.push(a))},ed=()=>{t.segments.length&&(t.segments[t.segments.length-1].to=i.length||ea)},ef=()=>{t.segments.length&&t.segments[t.segments.length-1].from===(i.length||ea)||(ed(),t.segments.push({from:i.length||ea}))},eu=(e,t,i,r,s)=>{el(s),eh(e+i,t),el(s),eh(e,t),el(s),eh(e,t+r),el(s),eh(e,t+r),el(s),eh(e+i,t+r),el(s),eh(e+i,t)};if(ef(),C&&C.length>0){t.skipTranslation=!0,t.drawMode="TRIANGLES",C[0].node&&C[0].node.levelDynamic&&C.sort((e,t)=>{if(e.node){if(e.node.levelDynamic>t.node.levelDynamic)return 1;if(e.node.levelDynamic<t.node.levelDynamic)return -1}return 0}),C.forEach(t=>{let i,r;let s=t.plotY;if(void 0!==s&&!isNaN(s)&&null!==t.y&&t.shapeArgs){let{x:s=0,y:o=0,width:a=0,height:l=0}=t.shapeArgs;i=(r=n.styledMode?t.series.colorAttribs(t):r=t.series.pointAttribs(t))["stroke-width"]||0,ee=S(r.fill).rgba,ee[0]/=255,ee[1]/=255,ee[2]/=255,e.is("treemap")&&(i=i||1,V=S(r.stroke).rgba,V[0]/=255,V[1]/=255,V[2]/=255,eu(s,o,a,l,V),i/=2),e.is("heatmap")&&n.inverted&&(s=h.len-s,o=d.len-o,a=-a,l=-l),eu(s+i,o+i,a-2*i,l-2*i,ee)}}),ed();return}for(;j<k.length-1;){if(void 0===(q=k[++j]))continue;if(w)break;let i=u&&u[j];if(!P&&R(i,!0)&&i.color&&(ee=S(i.color).rgba,ee[0]/=255,ee[1]/=255,ee[2]/=255),P?(H=q[0],W=q[1],k[j+1]&&(K=k[j+1][0]),k[j-1]&&(Z=k[j-1][0]),q.length>=3&&(Y=q[2],q[2]>t.zMax&&(t.zMax=q[2]),q[2]<t.zMin&&(t.zMin=q[2]))):(H=q,W=y?.[j],k[j+1]&&(K=k[j+1]),k[j-1]&&(Z=k[j-1]),v&&v.length&&(Y=v[j],v[j]>t.zMax&&(t.zMax=v[j]),v[j]<t.zMin&&(t.zMin=v[j]))),!T&&(null===H||null===W)){ef();continue}if(K&&K>=m&&K<=c&&(J=!0),Z&&Z>=m&&Z<=c&&($=!0),o?(P&&(W=q.slice(1,3)),Q=e.getColumn("low",!0)?.[j],W=e.getColumn("high",!0)?.[j]||0):f&&(H=q.x,Q=(W=q.stackY)-q.y),null!=b&&null!=x&&(ei=W>=b&&W<=x),(l||ei)&&(H>c&&M.x<c&&(M.x=H,M.y=W),H<m&&E.x>m&&(E.x=H,E.y=W),null!==W||!T)){if(null===W||!ei&&!J&&!$){ef();continue}if((l&&(K>=m||H>=m)&&(Z<=c||H<=c)||!l&&H>=m&&H<=c)&&(et=!0),et||J||$){if(en&&H-Z>en&&ef(),_){let e;_.some((t,i)=>{let r=_[i-1];return"x"===L?void 0!==t.value&&H<=t.value&&(es[i]&&(!r||H>=r.value)&&(e=es[i]),!0):void 0!==t.value&&W<=t.value&&(es[i]&&(!r||W>=r.value)&&(e=es[i]),!0)}),ee=e||eo||ee}if(r.useGPUTranslations||(t.skipTranslation=!0,H=h.toPixels(H,!0),W=d.toPixels(W,!0),!(H>G)||"POINTS"!==t.drawMode)){if(t.hasMarkers&&et&&!1!==I&&(e.closestPointRangePx=Math.min(e.closestPointRangePx,Math.abs(H-I))),!r.useGPUTranslations&&!r.usePreallocated&&I&&1>Math.abs(H-I)&&B&&1>Math.abs(W-B)){r.debug.showSkipSummary&&++X;continue}U&&(O=Q||0,(!1===Q||void 0===Q)&&(O=W<0?W:0),(o||f)&&!d.logarithmic||(O=Math.max(null===z?b:z,b)),r.useGPUTranslations||(O=d.toPixels(O,!0)),eh(H,O,0,0,ee)),a.step&&!er&&eh(H,B,0,2,ee),eh(H,W,0,"bubble"===e.type?Y||1:2,ee),I=H,B=W,F=!0,er=!1}}}}r.debug.showSkipSummary&&console.log("skipped points:",X);let eg=(e,i)=>{if(r.useGPUTranslations||(t.skipTranslation=!0,e.x=h.toPixels(e.x,!0),e.y=d.toPixels(e.y,!0)),i){this.data=[e.x,e.y,0,2].concat(this.data);return}eh(e.x,e.y,0,2)};!F&&!1!==T&&"line_strip"===e.drawMode&&(E.x<Number.MAX_VALUE&&eg(E,!0),M.x>-Number.MAX_VALUE&&eg(M)),ed()}pushSeries(e){let t=this.markerData,i=this.series,r=this.settings;i.length>0&&i[i.length-1].hasMarkers&&(i[i.length-1].markerTo=t.length),r.debug.timeSeriesProcessing&&console.time("building "+e.type+" series");let s={segments:[],markerFrom:t.length,colorData:[],series:e,zMin:Number.MAX_VALUE,zMax:-Number.MAX_VALUE,hasMarkers:!!e.options.marker&&!1!==e.options.marker.enabled,showMarkers:!0,drawMode:v[e.type]||"LINE_STRIP"};e.index>=i.length?i.push(s):i[e.index]=s,this.pushSeriesData(e,s),r.debug.timeSeriesProcessing&&console.timeEnd("building "+e.type+" series")}flush(){let e=this.vbuffer;this.data=[],this.markerData=[],this.series=[],e&&e.destroy()}setXAxis(e){let t=this.shader;if(!t)return;let i=this.getPixelRatio();t.setUniform("xAxisTrans",e.transA*i),t.setUniform("xAxisMin",e.min),t.setUniform("xAxisMinPad",e.minPixelPadding*i),t.setUniform("xAxisPointRange",e.pointRange),t.setUniform("xAxisLen",e.len*i),t.setUniform("xAxisPos",e.pos*i),t.setUniform("xAxisCVSCoord",!e.horiz),t.setUniform("xAxisIsLog",!!e.logarithmic),t.setUniform("xAxisReversed",!!e.reversed)}setYAxis(e){let t=this.shader;if(!t)return;let i=this.getPixelRatio();t.setUniform("yAxisTrans",e.transA*i),t.setUniform("yAxisMin",e.min),t.setUniform("yAxisMinPad",e.minPixelPadding*i),t.setUniform("yAxisPointRange",e.pointRange),t.setUniform("yAxisLen",e.len*i),t.setUniform("yAxisPos",e.pos*i),t.setUniform("yAxisCVSCoord",!e.horiz),t.setUniform("yAxisIsLog",!!e.logarithmic),t.setUniform("yAxisReversed",!!e.reversed)}setThreshold(e,t){let i=this.shader;i&&(i.setUniform("hasThreshold",e),i.setUniform("translatedThreshold",t))}renderChart(e){let t=this.gl,i=this.settings,r=this.shader,s=this.vbuffer,o=this.getPixelRatio();if(!e)return!1;this.width=e.chartWidth*o,this.height=e.chartHeight*o;let n=this.height,a=this.width;if(!t||!r||!a||!n)return!1;i.debug.timeRendering&&console.time("gl rendering"),t.canvas.width=a,t.canvas.height=n,r.bind(),t.viewport(0,0,a,n),r.setPMatrix(I.orthoMatrix(a,n)),i.lineWidth>1&&!h().isMS&&t.lineWidth(i.lineWidth),s&&(s.build(this.data,"aVertexPosition",4),s.bind()),r.setInverted(e.inverted),this.series.forEach((n,a)=>{let l=n.series.options,h=l.marker,d=void 0!==l.lineWidth?l.lineWidth:1,f=l.threshold,u=U(f),g=n.series.yAxis.getThreshold(f),m=z(l.marker?l.marker.enabled:null,!!n.series.xAxis.isRadial||null,n.series.closestPointRangePx>2*((l.marker?l.marker.radius:10)||10)),c=this.textureHandles[h&&h.symbol||n.series.symbol]||this.textureHandles.circle,p,b,x,A=[];if(0!==n.segments.length&&n.segments[0].from!==n.segments[0].to&&(c.isReady&&(t.bindTexture(t.TEXTURE_2D,c.handle),r.setTexture(c.handle)),e.styledMode?n.series.markerGroup===n.series.chart.boost?.markerGroup?(delete n.series.markerGroup,n.series.markerGroup=n.series.plotGroup("markerGroup","markers","visible",1,e.seriesGroup).addClass("highcharts-tracker"),x=n.series.markerGroup.getStyle("fill"),n.series.markerGroup.destroy(),n.series.markerGroup=n.series.chart.boost?.markerGroup):x=n.series.markerGroup?.getStyle("fill"):(x="POINTS"===n.drawMode&&n.series.pointAttribs&&n.series.pointAttribs().fill||n.series.color,l.colorByPoint&&(x=n.series.chart.options.colors[a])),n.series.fillOpacity&&l.fillOpacity&&(x=new(y())(x).setOpacity(z(l.fillOpacity,1)).get()),A=S(x).rgba,i.useAlpha||(A[3]=1),"add"===l.boostBlending?(t.blendFunc(t.SRC_ALPHA,t.ONE),t.blendEquation(t.FUNC_ADD)):"mult"===l.boostBlending||"multiply"===l.boostBlending?t.blendFunc(t.DST_COLOR,t.ZERO):"darken"===l.boostBlending?(t.blendFunc(t.ONE,t.ONE),t.blendEquation(t.FUNC_MIN)):t.blendFuncSeparate(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA,t.ONE,t.ONE_MINUS_SRC_ALPHA),r.reset(),n.colorData.length>0?(r.setUniform("hasColor",1),(b=new E(t,r)).build(Array(n.segments[0].from).concat(n.colorData),"aColor",4),b.bind()):(r.setUniform("hasColor",0),t.disableVertexAttribArray(t.getAttribLocation(r.getProgram(),"aColor"))),r.setColor(A),this.setXAxis(n.series.xAxis),this.setYAxis(n.series.yAxis),this.setThreshold(u,g),"POINTS"===n.drawMode&&r.setPointSize(2*z(l.marker&&l.marker.radius,.5)*o),r.setSkipTranslation(n.skipTranslation),"bubble"===n.series.type&&r.setBubbleUniforms(n.series,n.zMin,n.zMax,o),r.setDrawAsCircle(D[n.series.type]||!1),s)){if(d>0||"LINE_STRIP"!==n.drawMode)for(p=0;p<n.segments.length;p++)s.render(n.segments[p].from,n.segments[p].to,n.drawMode);if(n.hasMarkers&&m)for(r.setPointSize(2*z(l.marker&&l.marker.radius,5)*o),r.setDrawAsCircle(!0),p=0;p<n.segments.length;p++)s.render(n.segments[p].from,n.segments[p].to,"POINTS")}}),i.debug.timeRendering&&console.timeEnd("gl rendering"),this.postRenderCallback&&this.postRenderCallback(this),this.flush()}render(e){if(this.clear(),e.renderer.forExport)return this.renderChart(e);this.isInited?this.renderChart(e):setTimeout(()=>{this.render(e)},1)}setSize(e,t){let i=this.shader;i&&(this.width!==e||this.height!==t)&&(this.width=e,this.height=t,i.bind(),i.setPMatrix(I.orthoMatrix(e,t)))}init(e,t){let i=this.settings;if(this.isInited=!1,!e)return!1;i.debug.timeSetup&&console.time("gl setup");for(let t=0;t<G.length&&(this.gl=e.getContext(G[t],{}),!this.gl);++t);let r=this.gl;if(!r)return!1;t||this.flush(),r.enable(r.BLEND),r.blendFunc(r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA),r.disable(r.DEPTH_TEST),r.depthFunc(r.LESS);let s=this.shader=new k(r);if(!s)return!1;this.vbuffer=new E(r,s);let o=(e,t)=>{let i={isReady:!1,texture:M.createElement("canvas"),handle:r.createTexture()},s=i.texture.getContext("2d");this.textureHandles[e]=i,i.texture.width=512,i.texture.height=512,s.mozImageSmoothingEnabled=!1,s.webkitImageSmoothingEnabled=!1,s.msImageSmoothingEnabled=!1,s.imageSmoothingEnabled=!1,s.strokeStyle="rgba(255, 255, 255, 0)",s.fillStyle="#FFF",t(s);try{r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,i.handle),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.bindTexture(r.TEXTURE_2D,null),i.isReady=!0}catch(e){}};return o("circle",e=>{e.beginPath(),e.arc(256,256,256,0,2*Math.PI),e.stroke(),e.fill()}),o("square",e=>{e.fillRect(0,0,512,512)}),o("diamond",e=>{e.beginPath(),e.moveTo(256,0),e.lineTo(512,256),e.lineTo(256,512),e.lineTo(0,256),e.lineTo(256,0),e.fill()}),o("triangle",e=>{e.beginPath(),e.moveTo(0,512),e.lineTo(256,0),e.lineTo(512,512),e.lineTo(0,512),e.fill()}),o("triangle-down",e=>{e.beginPath(),e.moveTo(0,0),e.lineTo(256,512),e.lineTo(512,0),e.lineTo(0,0),e.fill()}),this.isInited=!0,i.debug.timeSetup&&console.timeEnd("gl setup"),!0}destroy(){let e=this.gl,t=this.shader,i=this.vbuffer;this.flush(),i&&i.destroy(),t&&t.destroy(),e&&(_(this.textureHandles,t=>{t.handle&&e.deleteTexture(t.handle)}),e.canvas.width=1,e.canvas.height=1)}}let{getBoostClipRect:B,isChartSeriesBoosting:O}=x,{getOptions:V}=h(),{composed:X,doc:F,noop:H,win:W}=h(),{addEvent:q,destroyObjectProperties:Y,error:j,extend:Z,fireEvent:K,isArray:Q,isNumber:J,pick:$,pushUnique:ee,wrap:et,defined:ei}=h();function er(e,t){let i=t.boost;e&&i&&i.target&&i.canvas&&!O(t.chart)&&e.allocateBufferForSingleSeries(t)}function es(e){return $(e&&e.options&&e.options.boost&&e.options.boost.enabled,!0)}function eo(e,t){let i=e.constructor,s=e.seriesGroup||t.group,o=e.chartWidth,n=e.chartHeight,a=e,l="undefined"!=typeof SVGForeignObjectElement,h=!1;O(e)?a=e:(a=t,h=!!(t.options.events?.click||t.options.point?.events?.click));let d=a.boost=a.boost||{};if(l=!1,r||(r=F.createElement("canvas")),!d.target&&(d.canvas=r,e.renderer.forExport||!l?(a.renderTarget=d.target=e.renderer.image("",0,0,o,n).addClass("highcharts-boost-canvas").add(s),d.clear=function(){d.target.attr({href:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="})},d.copy=function(){d.resize(),d.target.attr({href:d.canvas.toDataURL("image/png")})}):(d.targetFo=e.renderer.createElement("foreignObject").add(s),a.renderTarget=d.target=F.createElement("canvas"),d.targetCtx=d.target.getContext("2d"),d.targetFo.element.appendChild(d.target),d.clear=function(){d.target.width=d.canvas.width,d.target.height=d.canvas.height},d.copy=function(){d.target.width=d.canvas.width,d.target.height=d.canvas.height,d.targetCtx.drawImage(d.canvas,0,0)}),d.resize=function(){o=e.chartWidth,n=e.chartHeight,(d.targetFo||d.target).attr({x:0,y:0,width:o,height:n}).css({pointerEvents:h?void 0:"none",mixedBlendMode:"normal",opacity:1}).addClass(h?"highcharts-tracker":""),a instanceof i&&a.boost?.markerGroup?.translate(e.plotLeft,e.plotTop)},d.clipRect=e.renderer.clipRect(),(d.targetFo||d.target).attr({zIndex:t.options.zIndex}),a instanceof i&&(a.boost.markerGroup=a.renderer.g().add(s).translate(t.xAxis.pos,t.yAxis.pos))),d.canvas.width=o,d.canvas.height=n,d.clipRect){let t=B(e,a),i=t.width===e.clipBox.width&&t.height===e.clipBox.height?s:d.targetFo||d.target;d.clipRect.attr(t),i?.clip(d.clipRect)}return d.resize(),d.clear(),!d.wgl&&(d.wgl=new I(e=>{e.settings.debug.timeBufferCopy&&console.time("buffer copy"),d.copy(),e.settings.debug.timeBufferCopy&&console.timeEnd("buffer copy")}),d.wgl.init(d.canvas)||j("[highcharts boost] - unable to init WebGL renderer"),d.wgl.setOptions(e.options.boost||{}),a instanceof i&&d.wgl.allocateBuffer(e)),d.wgl.setSize(o,n),d.wgl}function en(e){let t=e.points;if(t){let e,i;for(i=0;i<t.length;i+=1)(e=t[i])&&e.destroyElements&&e.destroyElements()}for(let t of(["graph","area","tracker"].forEach(t=>{let i=e[t];i&&(e[t]=i.destroy())}),e.zones))Y(t,void 0,!0)}function ea(e,t,i,r,s,o){let n=(s=s||0)+(r=r||3e3),a=!0;for(;a&&s<n&&s<e.length;)a=t(e[s],s),++s;a&&(s<e.length?o?ea(e,t,i,r,s,o):W.requestAnimationFrame?W.requestAnimationFrame(function(){ea(e,t,i,r,s)}):setTimeout(ea,0,e,t,i,r,s):i&&i())}function el(e,t){let i=e.options,r=e.dataTable.modified.rowCount,s=e.xAxis&&e.xAxis.options,o=e.yAxis&&e.yAxis.options,n=e.colorAxis&&e.colorAxis.options;return r>(i.boostThreshold||Number.MAX_VALUE)&&J(o.min)&&J(o.max)&&(!t||J(s.min)&&J(s.max))&&(!n||J(n.min)&&J(n.max))}let eh=(e,t)=>!e.forceCrop&&(O(e.chart)||(t?t.length:0)>=(e.options.boostThreshold||Number.MAX_VALUE));function ed(){let e=this,t=e.chart;t.boost&&t.boost.markerGroup===e.markerGroup&&(e.markerGroup=null),t.hoverPoints&&(t.hoverPoints=t.hoverPoints.filter(function(t){return t.series===e})),t.hoverPoint&&t.hoverPoint.series===e&&(t.hoverPoint=null)}function ef(){let e=this.boost;e&&e.canvas&&e.target&&(e.wgl&&e.wgl.clear(),e.clear&&e.clear())}function eu(e){let t=e.boost;t&&t.canvas&&t.target&&t.wgl&&!O(e.chart)&&t.wgl.render(e.chart)}function eg(e,t){let i=e.options,r=e.xAxis,s=e.pointClass;if(t instanceof s)return t;let o=(e.getColumn("x").length?e.getColumn("x"):void 0)||i.xData||e.getColumn("x",!0)||!1,n=new s(e,(Q(e.options.data)?e.options.data:[])[t.i],o?o[t.i]:void 0);return n.category=$(r.categories?r.categories[n.x]:n.x,n.x),n.key=n.name??n.category,n.dist=t.dist,n.distX=t.distX,n.plotX=t.plotX,n.plotY=t.plotY,n.index=t.i,n.percentage=t.percentage,n.isInside=e.isPointInside(n),n}function em(e){var t,i,r,s;let{options:o,xAxis:n,yAxis:a}=this;if(!this.isDirty&&!n.isDirty&&!a.isDirty&&!e)return!1;this.yAxis.setTickInterval();let l=o.boostThreshold||0,h=o.cropThreshold,d=this.getColumn("x"),f=n.getExtremes(),u=f.max??Number.MAX_VALUE,g=f.min??-Number.MAX_VALUE,m=this.getColumn("y"),c=a.getExtremes(),p=c.max??Number.MAX_VALUE,b=c.min??-Number.MAX_VALUE;if(!this.boosted&&n.old&&a.old&&g>=(n.old.min??-Number.MAX_VALUE)&&u<=(n.old.max??Number.MAX_VALUE)&&b>=(a.old.min??-Number.MAX_VALUE)&&p<=(a.old.max??Number.MAX_VALUE))return this.dataTable.modified.setColumns({x:d,y:m}),!0;let x=this.dataTable.rowCount;if(!l||x<l||h&&!this.forceCrop&&!this.getExtremesFromAll&&!o.getExtremesFromAll&&x<h)return this.dataTable.modified.setColumns({x:d,y:m}),!0;let A=[],y=[],v=[],P=!(J(f.max)||J(f.min)),T=!(J(c.max)||J(c.min)),C=!1,k,E=d[0],S=d[0],M,w=m?.[0],U=m?.[0];for(let e=0,t=d.length;e<t;++e)k=d[e],M=m?.[e],k>=g&&k<=u&&M>=b&&M<=p?(A.push({x:k,y:M}),y.push(k),v.push(M),P&&(E=Math.max(E,k),S=Math.min(S,k)),T&&(w=Math.max(w,M),U=Math.min(U,M))):C=!0;return P&&((t=n.options).max??(t.max=E),(i=n.options).min??(i.min=S)),T&&((r=a.options).max??(r.max=w),(s=a.options).min??(s.min=U)),this.cropped=C,this.cropStart=0,this.dataTable.modified.setColumns({x:y,y:v}),eh(this,y)||(this.processedData=A),!0}function ec(){let e=this.options||{},t=this.chart,r=t.boost,s=this.boost,o=this.xAxis,n=this.yAxis,a=e.xData||this.getColumn("x",!0),l=e.yData||this.getColumn("y",!0),h=this.getColumn("low",!0),d=this.getColumn("high",!0),f=this.processedData||e.data,u=o.getExtremes(),g=u.min-(o.minPointOffset||0),m=u.max+(o.minPointOffset||0),c=n.getExtremes(),p=c.min-(n.minPointOffset||0),b=c.max+(n.minPointOffset||0),x={},A=!!this.sampling,y=e.enableMouseTracking,v=e.threshold,P=this.pointArrayMap&&"low,high"===this.pointArrayMap.join(","),T=!!e.stacking,C=this.cropStart||0,k=this.requireSorting,E=!a,S="x"===e.findNearestPointBy,M=(this.getColumn("x",!0).length?this.getColumn("x",!0):void 0)||this.options.xData||this.getColumn("x",!0),w=$(e.lineWidth,1),U=!1,R,L=n.getThreshold(v),_,z,N,D;if(o.isPanning||n.isPanning||(U=eo(t,this),t.boosted=!0,!this.visible))return;(this.points||this.graph)&&en(this),O(t)?(this.markerGroup&&this.markerGroup!==r?.markerGroup&&this.markerGroup.destroy(),this.markerGroup=r?.markerGroup,s&&s.target&&(this.renderTarget=s.target=s.target.destroy())):(this.markerGroup===r?.markerGroup&&(this.markerGroup=void 0),this.markerGroup=this.plotGroup("markerGroup","markers","visible",1,t.seriesGroup).addClass("highcharts-tracker"));let G=this.points=[],I=(e,r,s,a)=>{let l=!!M&&M[C+s],h=e=>{t.inverted&&(e=o.len-e,r=n.len-r),G.push({destroy:H,x:l,clientX:e,plotX:e,plotY:r,i:C+s,percentage:a})};e=Math.ceil(e),i=S?e:e+","+r,y&&(x[i]?l===M[M.length-1]&&(G.length--,h(e)):(x[i]=!0,h(e)))};this.buildKDTree=H,K(this,"renderCanvas"),this.is("line")&&w>1&&s?.target&&r&&!r.lineWidthFilter&&(r.lineWidthFilter=t.renderer.definition({tagName:"filter",children:[{tagName:"feMorphology",attributes:{operator:"dilate",radius:.25*w}}],attributes:{id:"linewidth"}}),s.target.attr({filter:"url(#linewidth)"})),U&&(er(U,this),U.pushSeries(this),eu(this));let B=U.settings;t.renderer.forExport||(B.debug.timeKDTree&&console.time("kd tree building"),ea(T?this.data.slice(C):a||f,function(e,i){let r=void 0===t.index,s,a,f,u,c,x=!1,y=!0;return!ei(e)||(!r&&(E?(s=e[0],a=e[1]):(s=e,a=l?.[i]),P?(E&&(a=e.slice(1,3)),x=h[i],a=d[i]):T&&(s=e.x,x=(a=e.stackY)-e.y,c=e.percentage),k||(y=(a||0)>=p&&a<=b),null!==a&&s>=g&&s<=m&&y&&(f=o.toPixels(s,!0),A?((void 0===N||f===R)&&(P||(x=a),(void 0===D||a>z)&&(z=a,D=i),(void 0===N||x<_)&&(_=x,N=i)),S&&f===R||(void 0!==N&&(u=n.toPixels(z,!0),L=n.toPixels(_,!0),I(f,u,D,c),L!==u&&I(f,L,N,c)),N=D=void 0,R=f)):I(f,u=Math.ceil(n.toPixels(a,!0)),i,c))),!r)},()=>{K(this,"renderedCanvas"),delete this.buildKDTree,this.options&&this.buildKDTree(),B.debug.timeKDTree&&console.timeEnd("kd tree building")}))}function ep(e){let t=!0;if(this.chart.options&&this.chart.options.boost&&(t=void 0===this.chart.options.boost.enabled||this.chart.options.boost.enabled),!t||!this.boosted)return e.call(this);this.chart.boosted=!0;let i=eo(this.chart,this);i&&(er(i,this),i.pushSeries(this)),eu(this)}function eb(e){if(this.boosted){if(el(this))return{};if(this.xAxis.isPanning||this.yAxis.isPanning)return this}return e.apply(this,[].slice.call(arguments,1))}function ex(e){let t=this.options.data;if(es(this.chart)&&f[this.type]){let i=this.is("scatter")&&!this.is("bubble")&&!this.is("treemap")&&!this.is("heatmap");if(!eh(this,t)||i||this.is("treemap")||this.options.stacking||!el(this,!0)){if(this.boosted&&(this.xAxis?.isPanning||this.yAxis?.isPanning))return;i&&!this.yAxis.treeGrid?em.call(this,arguments[1]):e.apply(this,[].slice.call(arguments,1)),t=this.getColumn("x",!0)}if(this.boosted=eh(this,t),this.boosted){let e;!this.options.data?.length||J(e=this.getFirstValidPoint(this.options.data))||Q(e)||this.is("treemap")||j(12,!1,this.chart),function(e){e.boost=e.boost||{getPoint:t=>eg(e,t)};let t=e.boost.altered=[];if(["allowDG","directTouch","stickyTracking"].forEach(i=>{t.push({prop:i,val:e[i],own:Object.hasOwnProperty.call(e,i)})}),e.allowDG=!1,e.directTouch=!1,e.stickyTracking=!0,e.finishedAnimating=!0,e.labelBySeries&&(e.labelBySeries=e.labelBySeries.destroy()),e.is("scatter")&&!e.is("treemap")&&e.data.length){for(let t of e.data)t?.destroy?.();e.data.length=0,e.points.length=0,delete e.processedData}}(this)}else!function(e){let t=e.boost,i=e.chart,r=i.boost;if(r?.markerGroup)for(let e of(r.markerGroup.destroy(),r.markerGroup=void 0,i.series))e.markerGroup=void 0,e.markerGroup=e.plotGroup("markerGroup","markers","visible",1,i.seriesGroup).addClass("highcharts-tracker");t&&((t.altered||[]).forEach(t=>{t.own?e[t.prop]=t.val:delete e[t.prop]}),t.clear&&t.clear()),(i.seriesGroup||e.group)?.clip()}(this)}else e.apply(this,[].slice.call(arguments,1))}function eA(e){let t=e.apply(this,[].slice.call(arguments,1));return this.boost&&t?this.boost.getPoint(t):t}let ey={compose:function(e,t,i){if(ee(X,"Boost.Series")){let r=V().plotOptions,s=e.prototype;if(q(e,"destroy",ed),q(e,"hide",ef),i&&(s.renderCanvas=ec),et(s,"getExtremes",eb),et(s,"processData",ex),et(s,"searchPoint",eA),["translate","generatePoints","drawTracker","drawPoints","render"].forEach(e=>(function(e,t,i){function r(e){let t=this.options.stacking&&("translate"===i||"generatePoints"===i);this.boosted&&!t&&es(this.chart)&&"heatmap"!==this.type&&"treemap"!==this.type&&f[this.type]&&0!==this.options.boostThreshold?"render"===i&&this.renderCanvas&&this.renderCanvas():e.call(this)}if(et(e,i,r),"translate"===i)for(let e of["column","arearange","columnrange","heatmap","treemap"])t[e]&&et(t[e].prototype,i,r)})(s,t,e)),d.forEach(e=>{let i=r[e];i&&(i.boostThreshold=5e3,i.boostData=[],t[e].prototype.fillOpacity=!0)}),i){let{area:e,areaspline:i,bubble:r,column:s,heatmap:o,scatter:n,treemap:a}=t;if(e&&Z(e.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),i&&Z(i.prototype,{fill:!0,fillOpacity:!0,sampling:!0}),r){let e=r.prototype;delete e.buildKDTree,et(e,"markerAttribs",function(e){return!this.boosted&&e.apply(this,[].slice.call(arguments,1))})}s&&Z(s.prototype,{fill:!0,sampling:!0}),n&&(n.prototype.fill=!0),[o,a].forEach(e=>{e&&et(e.prototype,"drawPoints",ep)})}}return e},destroyGraphics:en,eachAsync:ea,getPoint:eg},ev={defaultHTMLColorMap:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",feldspar:"#d19275",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",grey:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslateblue:"#8470ff",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",violetred:"#d02090",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"}},{doc:eP,win:eT}=h(),{addEvent:eC,error:ek}=h(),eE=["webgl","experimental-webgl","moz-webgl","webkit-3d"];function eS(){let e;if(void 0!==eT.WebGLRenderingContext){e=eP.createElement("canvas");for(let t=0;t<eE.length;++t)try{if(null!=e.getContext(eE[t]))return!0}catch(e){}}return!1}let eM={compose:function(e,t,i,r,s){let o=eS();o||(void 0!==h().initCanvasBoost?h().initCanvasBoost():ek(26)),s&&!s.names.lightgoldenrodyellow&&(s.names={...s.names,...ev.defaultHTMLColorMap}),x.compose(e,o),ey.compose(i,r,o),eC(t,"setExtremes",function(e){for(let t of[this.chart,...this.series].map(e=>e.renderTarget).filter(Boolean)){let{horiz:i,pos:r}=this,s=i?"scaleX":"scaleY",o=i?"translateX":"translateY",n=t?.[s]??1,a=1,l=0,h=1,d="none";this.isPanning&&(a=(e.scale??1)*n,l=(t?.[o]||0)-a*(e.move||0)+n*r-a*r,h=.7,d="blur(3px)"),t?.attr({[s]:a,[o]:l}).css({transition:"250ms filter, 250ms opacity",filter:d,opacity:h})}})},hasWebGLSupport:eS},ew=h();ew.hasWebGLSupport=eM.hasWebGLSupport,eM.compose(ew.Chart,ew.Axis,ew.Series,ew.seriesTypes,ew.Color);let eU=h();return a.default})());
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*!*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) Highsoft AS. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
*!*/
|
|
6
|
+
import * as globals from "../globals.src";
|
|
7
|
+
import * as _Highcharts from "../highcharts.src";
|
|
8
|
+
/**
|
|
9
|
+
* Adds the module to the imported Highcharts namespace.
|
|
10
|
+
*
|
|
11
|
+
* @param highcharts
|
|
12
|
+
* The imported Highcharts namespace to extend.
|
|
13
|
+
*/
|
|
14
|
+
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
+
declare module "../highcharts.src" {
|
|
16
|
+
/**
|
|
17
|
+
* Returns true if the current browser supports WebGL.
|
|
18
|
+
*
|
|
19
|
+
* @return `true` if the browser supports WebGL.
|
|
20
|
+
*/
|
|
21
|
+
function hasWebGLSupport(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Override a bunch of methods the same way. If the number of points is
|
|
24
|
+
* below the threshold, run the original method. If not, check for a canvas
|
|
25
|
+
* version or do nothing.
|
|
26
|
+
*
|
|
27
|
+
* Note that we're not overriding any of these for heatmaps.
|
|
28
|
+
*/
|
|
29
|
+
function wrapSeriesFunctions(): void;
|
|
30
|
+
}
|
|
31
|
+
export default factory;
|
|
32
|
+
export let Highcharts: typeof _Highcharts;
|
package/modules/boost.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v12.0.
|
|
2
|
+
* @license Highcharts JS v12.0.2 (2024-12-04)
|
|
3
3
|
* @module highcharts/modules/boost
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
* */
|
|
14
14
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
15
15
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
16
|
-
module.exports = factory(
|
|
16
|
+
module.exports = factory(root["_Highcharts"], root["_Highcharts"]["Color"]);
|
|
17
17
|
else if(typeof define === 'function' && define.amd)
|
|
18
|
-
define("highcharts/boost", [
|
|
18
|
+
define("highcharts/modules/boost", ["highcharts/highcharts"], function (amd1) {return factory(amd1,amd1["Color"]);});
|
|
19
19
|
else if(typeof exports === 'object')
|
|
20
|
-
exports["highcharts/boost"] = factory(
|
|
20
|
+
exports["highcharts/modules/boost"] = factory(root["_Highcharts"], root["_Highcharts"]["Color"]);
|
|
21
21
|
else
|
|
22
22
|
root["Highcharts"] = factory(root["Highcharts"], root["Highcharts"]["Color"]);
|
|
23
|
-
})(this, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__620__) => {
|
|
23
|
+
})(typeof window === 'undefined' ? this : window, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__620__) => {
|
|
24
24
|
return /******/ (() => { // webpackBootstrap
|
|
25
25
|
/******/ "use strict";
|
|
26
26
|
/******/ var __webpack_modules__ = ({
|
|
@@ -1263,7 +1263,10 @@ class WGLRenderer {
|
|
|
1263
1263
|
*
|
|
1264
1264
|
* */
|
|
1265
1265
|
constructor(postRenderCallback) {
|
|
1266
|
-
|
|
1266
|
+
/**
|
|
1267
|
+
* The data to render - array of coordinates.
|
|
1268
|
+
* Repeating sequence of [x, y, checkThreshold, pointSize].
|
|
1269
|
+
*/
|
|
1267
1270
|
this.data = [];
|
|
1268
1271
|
// Height of our viewport in pixels
|
|
1269
1272
|
this.height = 0;
|
|
@@ -1687,6 +1690,10 @@ class WGLRenderer {
|
|
|
1687
1690
|
typeof yMax !== 'undefined') {
|
|
1688
1691
|
isYInside = y >= yMin && y <= yMax;
|
|
1689
1692
|
}
|
|
1693
|
+
// Do not render points outside the zoomed range (#19701)
|
|
1694
|
+
if (!sorted && !isYInside) {
|
|
1695
|
+
continue;
|
|
1696
|
+
}
|
|
1690
1697
|
if (x > xMax && closestRight.x < xMax) {
|
|
1691
1698
|
closestRight.x = x;
|
|
1692
1699
|
closestRight.y = y;
|
|
@@ -1705,9 +1712,10 @@ class WGLRenderer {
|
|
|
1705
1712
|
}
|
|
1706
1713
|
// The first point before and first after extremes should be
|
|
1707
1714
|
// rendered (#9962, 19701)
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
(px <= xMax || x <= xMax))
|
|
1715
|
+
// Make sure series with a single point are rendered (#21897)
|
|
1716
|
+
if (sorted && ((nx >= xMin || x >= xMin) &&
|
|
1717
|
+
(px <= xMax || x <= xMax)) ||
|
|
1718
|
+
!sorted && ((x >= xMin) && (x <= xMax))) {
|
|
1711
1719
|
isXInside = true;
|
|
1712
1720
|
}
|
|
1713
1721
|
if (!isXInside && !nextInside && !prevInside) {
|
|
@@ -2909,7 +2917,10 @@ function getPoint(series, boostPoint) {
|
|
|
2909
2917
|
* @private
|
|
2910
2918
|
*/
|
|
2911
2919
|
function scatterProcessData(force) {
|
|
2912
|
-
var _a,
|
|
2920
|
+
var _a,
|
|
2921
|
+
_b,
|
|
2922
|
+
_c,
|
|
2923
|
+
_d;
|
|
2913
2924
|
const series = this, { options, xAxis, yAxis } = series;
|
|
2914
2925
|
// Process only on changes
|
|
2915
2926
|
if (!series.isDirty &&
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) Highsoft AS. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
*!*/
|
|
6
|
+
import * as globals from "../globals";
|
|
7
|
+
import * as _Highcharts from "../highcharts";
|
|
8
|
+
/**
|
|
9
|
+
* Adds the module to the imported Highcharts namespace.
|
|
10
|
+
*
|
|
11
|
+
* @param highcharts
|
|
12
|
+
* The imported Highcharts namespace to extend.
|
|
13
|
+
*/
|
|
14
|
+
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
+
declare module "../highcharts" {}
|
|
16
|
+
export default factory;
|
|
17
|
+
export let Highcharts: typeof _Highcharts;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v12.0.2 (2024-12-04)
|
|
3
|
+
* @module highcharts/modules/broken-axis
|
|
4
|
+
* @requires highcharts
|
|
5
|
+
*
|
|
6
|
+
* (c) 2009-2024 Torstein Honsi
|
|
7
|
+
*
|
|
8
|
+
* License: www.highcharts.com/license
|
|
9
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/modules/broken-axis",["highcharts/highcharts"],function(t){return e(t,t.StackItem)}):"object"==typeof exports?exports["highcharts/modules/broken-axis"]=e(t._Highcharts,t._Highcharts.StackItem):t.Highcharts=e(t.Highcharts,t.Highcharts.StackItem)}("undefined"==typeof window?this:window,(t,e)=>(()=>{"use strict";var i,s={184:t=>{t.exports=e},944:e=>{e.exports=t}},r={};function n(t){var e=r[t];if(void 0!==e)return e.exports;var i=r[t]={exports:{}};return s[t](i,i.exports,n),i.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};n.d(o,{default:()=>v});var a=n(944),f=/*#__PURE__*/n.n(a),l=n(184),h=/*#__PURE__*/n.n(l);let{addEvent:c,find:u,fireEvent:k,isArray:p,isNumber:x,pick:m}=f();!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<e.length;i++)t.isInAnyBreak(e[i])||s.push(e[i]);this.tickPositions=s,this.tickPositions.info=i}}function r(){this.brokenAxis||(this.brokenAxis=new l(this))}function n(){let{isDirty:t,options:{connectNulls:e},points:i,xAxis:s,yAxis:r}=this;if(t){let t=i.length;for(;t--;){let n=i[t],o=!(null===n.y&&!1===e)&&(s?.brokenAxis?.isInAnyBreak(n.x,!0)||r?.brokenAxis?.isInAnyBreak(n.y,!0));n.visible=!o&&!1!==n.options.visible}}}function o(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,m(this.pointArrayMap,["y"]))}function a(t,e){let i,s,r;let n=this,o=n.points;if(t?.brokenAxis?.hasBreaks){let a=t.brokenAxis;e.forEach(function(e){i=a?.breakArray||[],s=t.isXAxis?t.min:m(n.options.threshold,t.min);let f=t?.options?.breaks?.filter(function(t){let e=!0;for(let s=0;s<i.length;s++){let r=i[s];if(r.from===t.from&&r.to===t.to){e=!1;break}}return e});o.forEach(function(n){r=m(n["stack"+e.toUpperCase()],n[e]),i.forEach(function(e){if(x(s)&&x(r)){let i="";s<e.from&&r>e.to||s>e.from&&r<e.from?i="pointBreak":(s<e.from&&r>e.from&&r<e.to||s>e.from&&r>e.to&&r<e.from)&&(i="pointInBreak"),i&&k(t,i,{point:n,brk:e})}}),f?.forEach(function(e){k(t,"pointOutsideOfBreak",{point:n,brk:e})})})})}}function f(){let t=this.currentDataGrouping,e=t?.gapSize,i=this.points.slice(),s=this.yAxis,r=this.options.gapSize,n=i.length-1;if(r&&n>0){let t,o;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),e&&e>r&&e>=this.basePointRange&&(r=e);n--;)if(o&&!1!==o.visible||(o=i[n+1]),t=i[n],!1!==o.visible&&!1!==t.visible){if(o.x-t.x>r){let e=(t.x+o.x)/2;i.splice(n+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(h())(s,s.options.stackLabels,!1,e,this.stack)).total=0)}o=t}}return this.getGraphPath(i)}t.compose=function(t,l){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),c(t,"init",r),c(t,"afterInit",e),c(t,"afterSetTickPositions",s),c(t,"afterSetOptions",i);let h=l.prototype;h.drawBreaks=a,h.gappedPath=f,c(l,"afterGeneratePoints",n),c(l,"afterRender",o)}return t};class l{static isInBreak(t,e){let i=t.repeat||1/0,s=t.from,r=t.to-t.from,n=e>=s?(e-s)%i:i-(s-e)%i;return t.inclusive?n<=r:n<r&&0!==n}static lin2Val(t){let e=this.brokenAxis,i=e&&e.breakArray;if(!i||!x(t))return t;let s=t,r,n;for(n=0;n<i.length&&!((r=i[n]).from>=s);n++)r.to<s?s+=r.len:l.isInBreak(r,s)&&(s+=r.len);return s}static val2Lin(t){let e=this.brokenAxis,i=e&&e.breakArray;if(!i||!x(t))return t;let s=t,r,n;for(n=0;n<i.length;n++)if((r=i[n]).to<=t)s-=r.len;else if(r.from>=t)break;else if(l.isInBreak(r,t)){s-=t-r.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return u(e,function(e){return e.from<t&&t<e.to})}isInAnyBreak(t,e){let i=this.axis,s=i.options.breaks||[],r=s.length,n,o,a;if(r&&x(t)){for(;r--;)l.isInBreak(s[r],t)&&(n=!0,o||(o=m(s[r].showPoints,!i.isXAxis)));a=n&&e?n&&!o:n}return a}setBreaks(t,e){let i=this,s=i.axis,r=s.chart.time,n=p(t)&&!!t.length&&!!Object.keys(t[0]).length;s.isDirty=i.hasBreaks!==n,i.hasBreaks=n,t?.forEach(t=>{t.from=r.parse(t.from)||0,t.to=r.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),n||s.val2lin!==l.val2Lin||(delete s.val2lin,delete s.lin2val),n&&(s.userOptions.ordinal=!1,s.lin2val=l.lin2Val,s.val2lin=l.val2Lin,s.setExtremes=function(t,e,r,n,o){if(i.hasBreaks){let s;let r=this.options.breaks||[];for(;s=i.findBreakAt(t,r);)t=s.to;for(;s=i.findBreakAt(e,r);)e=s.from;e<t&&(e=t)}s.constructor.prototype.setExtremes.call(this,t,e,r,n,o)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let t=s.options.breaks||[],e=[],r=[],n=m(s.pointRangePadding,0),o=0,a,f,h=s.userMin||s.min,c=s.userMax||s.max,u,p;t.forEach(function(t){f=t.repeat||1/0,x(h)&&x(c)&&(l.isInBreak(t,h)&&(h+=t.to%f-h%f),l.isInBreak(t,c)&&(c-=c%f-t.from%f))}),t.forEach(function(t){if(u=t.from,f=t.repeat||1/0,x(h)&&x(c)){for(;u-f>h;)u-=f;for(;u<h;)u+=f;for(p=u;p<c;p+=f)e.push({value:p,move:"in"}),e.push({value:p+t.to-t.from,move:"out",size:t.breakSize})}}),e.sort(function(t,e){return t.value===e.value?("in"===t.move?0:1)-("in"===e.move?0:1):t.value-e.value}),a=0,u=h,e.forEach(function(t){1===(a+="in"===t.move?1:-1)&&"in"===t.move&&(u=t.value),0===a&&x(u)&&(r.push({from:u,to:t.value,len:t.value-u-(t.size||0)}),o+=t.value-u-(t.size||0))}),i.breakArray=r,x(h)&&x(c)&&x(s.min)&&(i.unitLength=c-h-o+n,k(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(c-s.min+n)/i.unitLength),n&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=h,s.max=c)}}),m(e,!0)&&s.chart.redraw()}}t.Additions=l}(i||(i={}));let b=i,d=f();d.BrokenAxis=d.BrokenAxis||b,d.BrokenAxis.compose(d.Axis,d.Series);let v=f();return o.default})());
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) Highsoft AS. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
*!*/
|
|
6
|
+
import * as globals from "../globals.src";
|
|
7
|
+
import * as _Highcharts from "../highcharts.src";
|
|
8
|
+
/**
|
|
9
|
+
* Adds the module to the imported Highcharts namespace.
|
|
10
|
+
*
|
|
11
|
+
* @param highcharts
|
|
12
|
+
* The imported Highcharts namespace to extend.
|
|
13
|
+
*/
|
|
14
|
+
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
+
declare module "../highcharts.src" {}
|
|
16
|
+
export default factory;
|
|
17
|
+
export let Highcharts: typeof _Highcharts;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v12.0.
|
|
2
|
+
* @license Highcharts JS v12.0.2 (2024-12-04)
|
|
3
3
|
* @module highcharts/modules/broken-axis
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
*/
|
|
10
10
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
11
11
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
12
|
-
module.exports = factory(
|
|
12
|
+
module.exports = factory(root["_Highcharts"], root["_Highcharts"]["StackItem"]);
|
|
13
13
|
else if(typeof define === 'function' && define.amd)
|
|
14
|
-
define("highcharts/broken-axis", [
|
|
14
|
+
define("highcharts/modules/broken-axis", ["highcharts/highcharts"], function (amd1) {return factory(amd1,amd1["StackItem"]);});
|
|
15
15
|
else if(typeof exports === 'object')
|
|
16
|
-
exports["highcharts/broken-axis"] = factory(
|
|
16
|
+
exports["highcharts/modules/broken-axis"] = factory(root["_Highcharts"], root["_Highcharts"]["StackItem"]);
|
|
17
17
|
else
|
|
18
18
|
root["Highcharts"] = factory(root["Highcharts"], root["Highcharts"]["StackItem"]);
|
|
19
|
-
})(this, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__184__) => {
|
|
19
|
+
})(typeof window === 'undefined' ? this : window, (__WEBPACK_EXTERNAL_MODULE__944__, __WEBPACK_EXTERNAL_MODULE__184__) => {
|
|
20
20
|
return /******/ (() => { // webpackBootstrap
|
|
21
21
|
/******/ "use strict";
|
|
22
22
|
/******/ var __webpack_modules__ = ({
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*!*
|
|
2
|
+
*
|
|
3
|
+
* Copyright (c) Highsoft AS. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
*!*/
|
|
6
|
+
import * as globals from "../globals";
|
|
7
|
+
import * as _Highcharts from "../highcharts";
|
|
8
|
+
/**
|
|
9
|
+
* Adds the module to the imported Highcharts namespace.
|
|
10
|
+
*
|
|
11
|
+
* @param highcharts
|
|
12
|
+
* The imported Highcharts namespace to extend.
|
|
13
|
+
*/
|
|
14
|
+
export function factory(highcharts: typeof Highcharts): void;
|
|
15
|
+
declare module "../highcharts" {}
|
|
16
|
+
export default factory;
|
|
17
|
+
export let Highcharts: typeof _Highcharts;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v12.0.2 (2024-12-04)
|
|
3
|
+
* @module highcharts/modules/bullet
|
|
4
|
+
* @requires highcharts
|
|
5
|
+
*
|
|
6
|
+
* Bullet graph series type for Highcharts
|
|
7
|
+
*
|
|
8
|
+
* (c) 2010-2024 Kacper Madej
|
|
9
|
+
*
|
|
10
|
+
* License: www.highcharts.com/license
|
|
11
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Series.types.column,t._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/modules/bullet",["highcharts/highcharts"],function(t){return e(t,t.Series,["types"],["column"],t.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/modules/bullet"]=e(t._Highcharts,t._Highcharts.Series.types.column,t._Highcharts.SeriesRegistry):t.Highcharts=e(t.Highcharts,t.Highcharts.Series.types.column,t.Highcharts.SeriesRegistry)}("undefined"==typeof window?this:window,(t,e,r)=>(()=>{"use strict";var s={448:t=>{t.exports=e},512:t=>{t.exports=r},944:e=>{e.exports=t}},i={};function o(t){var e=i[t];if(void 0!==e)return e.exports;var r=i[t]={exports:{}};return s[t](r,r.exports,o),r.exports}o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var r in e)o.o(e,r)&&!o.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var a={};o.d(a,{default:()=>w});var h=o(944),l=/*#__PURE__*/o.n(h),n=o(448),p=/*#__PURE__*/o.n(n);class d extends p().prototype.pointClass{destroy(){this.targetGraphic&&(this.targetGraphic=this.targetGraphic.destroy()),super.destroy.apply(this,arguments)}}var c=o(512),g=/*#__PURE__*/o.n(c);let{extend:u,isNumber:y,merge:x,pick:f,relativeLength:b}=l();class m extends p(){drawPoints(){let t=this.chart,e=this.options,r=e.animationLimit||250;for(let s of(super.drawPoints.apply(this,arguments),this.points)){let i=s.options,o=s.target,a=s.y,h,l=s.targetGraphic,n,p,d,c;if(y(o)&&null!==o){p=(d=x(e.targetOptions,i.targetOptions)).height;let g=s.shapeArgs;s.dlBox&&g&&!y(g.width)&&(g=s.dlBox),n=b(d.width,g.width),c=this.yAxis.translate(o,!1,!0,!1,!0)-d.height/2-.5,h=this.crispCol.apply({chart:t,borderWidth:d.borderWidth,options:{crisp:e.crisp}},[g.x+g.width/2-n/2,c,n,p]),l?(l[t.pointCount<r?"animate":"attr"](h),y(a)&&null!==a?l.element.point=s:l.element.point=void 0):s.targetGraphic=l=t.renderer.rect().attr(h).add(this.group),t.styledMode||l.attr({fill:f(d.color,i.color,this.zones.length&&(s.getZone.call({series:this,x:s.x,y:o,options:{}}).color||this.color)||void 0,s.color,this.color),stroke:f(d.borderColor,s.borderColor,this.options.borderColor),"stroke-width":d.borderWidth,r:d.borderRadius}),y(a)&&null!==a&&(l.element.point=s),l.addClass(s.getClassName()+" highcharts-bullet-target",!0)}else l&&(s.targetGraphic=l.destroy())}}getExtremes(t){let e=super.getExtremes.call(this,t),r=this.targetData;if(r&&r.length){let t=super.getExtremes.call(this,r);y(t.dataMin)&&(e.dataMin=Math.min(f(e.dataMin,1/0),t.dataMin)),y(t.dataMax)&&(e.dataMax=Math.max(f(e.dataMax,-1/0),t.dataMax))}return e}}m.defaultOptions=x(p().defaultOptions,{targetOptions:{width:"140%",height:3,borderWidth:0,borderRadius:0},tooltip:{pointFormat:'<span style="color:{series.color}">●</span> {series.name}: <b>{point.y}</b>. Target: <b>{point.target}</b><br/>'}}),u(m.prototype,{parallelArrays:["x","y","target"],pointArrayMap:["y","target"]}),m.prototype.pointClass=d,g().registerSeriesType("bullet",m);let w=l();return a.default})());
|