@ntlab/ntjs-assets 2.0.28 → 2.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/js/cdn.json +1 -1
- package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +3 -1
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisComposition.js +2 -1
- package/assets/js/highcharts/es-modules/Core/Axis/Color/ColorAxisDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Core/Legend/Legend.js +4 -4
- package/assets/js/highcharts/es-modules/Core/Series/Series.js +2 -2
- package/assets/js/highcharts/es-modules/Core/Series/SeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/Data/Converters/GoogleSheetsConverter.js +8 -3
- package/assets/js/highcharts/es-modules/Extensions/TextPath.js +3 -1
- package/assets/js/highcharts/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ao.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/apo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/aroon.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/atr.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cci.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cmf.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/cmo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dema.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dmi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/dpo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/indicators.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/klinger.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/macd.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/mfi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/momentum.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/natr.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/obv.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/ppo.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/psar.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/regressions.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/roc.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/rsi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/tema.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/trendline.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/trix.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/vwap.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/wma.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/export-data.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/organization.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/pyramid3d.src.js +2 -2
- package/assets/js/highcharts/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/tilemap.src.js +1 -1
- package/assets/js/highcharts/es-modules/masters/modules/treegraph.src.js +1 -1
- package/assets/js/highcharts/highcharts-3d.js +1 -1
- package/assets/js/highcharts/highcharts-3d.src.js +1 -1
- package/assets/js/highcharts/highcharts-gantt.js +3 -3
- package/assets/js/highcharts/highcharts-gantt.src.js +14 -12
- package/assets/js/highcharts/highcharts-more.js +2 -2
- package/assets/js/highcharts/highcharts-more.src.js +4 -2
- package/assets/js/highcharts/highcharts.js +3 -3
- package/assets/js/highcharts/highcharts.src.js +14 -12
- package/assets/js/highcharts/highmaps.js +3 -3
- package/assets/js/highcharts/highmaps.src.js +17 -14
- package/assets/js/highcharts/highstock.js +3 -3
- package/assets/js/highcharts/highstock.src.js +14 -12
- package/assets/js/highcharts/indicators/acceleration-bands.js +2 -2
- package/assets/js/highcharts/indicators/acceleration-bands.src.js +2 -2
- package/assets/js/highcharts/indicators/accumulation-distribution.js +2 -2
- package/assets/js/highcharts/indicators/accumulation-distribution.src.js +2 -2
- package/assets/js/highcharts/indicators/ao.js +2 -2
- package/assets/js/highcharts/indicators/ao.src.js +2 -2
- package/assets/js/highcharts/indicators/apo.js +2 -2
- package/assets/js/highcharts/indicators/apo.src.js +2 -2
- package/assets/js/highcharts/indicators/aroon-oscillator.js +2 -2
- package/assets/js/highcharts/indicators/aroon-oscillator.src.js +2 -2
- package/assets/js/highcharts/indicators/aroon.js +2 -2
- package/assets/js/highcharts/indicators/aroon.src.js +2 -2
- package/assets/js/highcharts/indicators/atr.js +2 -2
- package/assets/js/highcharts/indicators/atr.src.js +2 -2
- package/assets/js/highcharts/indicators/bollinger-bands.js +2 -2
- package/assets/js/highcharts/indicators/bollinger-bands.src.js +2 -2
- package/assets/js/highcharts/indicators/cci.js +2 -2
- package/assets/js/highcharts/indicators/cci.src.js +2 -2
- package/assets/js/highcharts/indicators/chaikin.js +2 -2
- package/assets/js/highcharts/indicators/chaikin.src.js +2 -2
- package/assets/js/highcharts/indicators/cmf.js +2 -2
- package/assets/js/highcharts/indicators/cmf.src.js +2 -2
- package/assets/js/highcharts/indicators/cmo.js +2 -2
- package/assets/js/highcharts/indicators/cmo.src.js +2 -2
- package/assets/js/highcharts/indicators/dema.js +2 -2
- package/assets/js/highcharts/indicators/dema.src.js +2 -2
- package/assets/js/highcharts/indicators/disparity-index.js +2 -2
- package/assets/js/highcharts/indicators/disparity-index.src.js +2 -2
- package/assets/js/highcharts/indicators/dmi.js +2 -2
- package/assets/js/highcharts/indicators/dmi.src.js +2 -2
- package/assets/js/highcharts/indicators/dpo.js +2 -2
- package/assets/js/highcharts/indicators/dpo.src.js +2 -2
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +2 -2
- package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +2 -2
- package/assets/js/highcharts/indicators/indicators-all.js +2 -2
- package/assets/js/highcharts/indicators/indicators-all.src.js +2 -2
- package/assets/js/highcharts/indicators/indicators.js +2 -2
- package/assets/js/highcharts/indicators/indicators.src.js +2 -2
- package/assets/js/highcharts/indicators/keltner-channels.js +2 -2
- package/assets/js/highcharts/indicators/keltner-channels.src.js +2 -2
- package/assets/js/highcharts/indicators/klinger.js +2 -2
- package/assets/js/highcharts/indicators/klinger.src.js +2 -2
- package/assets/js/highcharts/indicators/macd.js +2 -2
- package/assets/js/highcharts/indicators/macd.src.js +2 -2
- package/assets/js/highcharts/indicators/mfi.js +2 -2
- package/assets/js/highcharts/indicators/mfi.src.js +2 -2
- package/assets/js/highcharts/indicators/momentum.js +2 -2
- package/assets/js/highcharts/indicators/momentum.src.js +2 -2
- package/assets/js/highcharts/indicators/natr.js +2 -2
- package/assets/js/highcharts/indicators/natr.src.js +2 -2
- package/assets/js/highcharts/indicators/obv.js +2 -2
- package/assets/js/highcharts/indicators/obv.src.js +2 -2
- package/assets/js/highcharts/indicators/pivot-points.js +2 -2
- package/assets/js/highcharts/indicators/pivot-points.src.js +2 -2
- package/assets/js/highcharts/indicators/ppo.js +2 -2
- package/assets/js/highcharts/indicators/ppo.src.js +2 -2
- package/assets/js/highcharts/indicators/price-channel.js +2 -2
- package/assets/js/highcharts/indicators/price-channel.src.js +2 -2
- package/assets/js/highcharts/indicators/price-envelopes.js +2 -2
- package/assets/js/highcharts/indicators/price-envelopes.src.js +2 -2
- package/assets/js/highcharts/indicators/psar.js +2 -2
- package/assets/js/highcharts/indicators/psar.src.js +2 -2
- package/assets/js/highcharts/indicators/regressions.js +2 -2
- package/assets/js/highcharts/indicators/regressions.src.js +2 -2
- package/assets/js/highcharts/indicators/roc.js +2 -2
- package/assets/js/highcharts/indicators/roc.src.js +2 -2
- package/assets/js/highcharts/indicators/rsi.js +2 -2
- package/assets/js/highcharts/indicators/rsi.src.js +2 -2
- package/assets/js/highcharts/indicators/slow-stochastic.js +2 -2
- package/assets/js/highcharts/indicators/slow-stochastic.src.js +2 -2
- package/assets/js/highcharts/indicators/stochastic.js +2 -2
- package/assets/js/highcharts/indicators/stochastic.src.js +2 -2
- package/assets/js/highcharts/indicators/supertrend.js +2 -2
- package/assets/js/highcharts/indicators/supertrend.src.js +2 -2
- package/assets/js/highcharts/indicators/tema.js +2 -2
- package/assets/js/highcharts/indicators/tema.src.js +2 -2
- package/assets/js/highcharts/indicators/trendline.js +2 -2
- package/assets/js/highcharts/indicators/trendline.src.js +2 -2
- package/assets/js/highcharts/indicators/trix.js +2 -2
- package/assets/js/highcharts/indicators/trix.src.js +2 -2
- package/assets/js/highcharts/indicators/volume-by-price.js +2 -2
- package/assets/js/highcharts/indicators/volume-by-price.src.js +2 -2
- package/assets/js/highcharts/indicators/vwap.js +2 -2
- package/assets/js/highcharts/indicators/vwap.src.js +2 -2
- package/assets/js/highcharts/indicators/williams-r.js +2 -2
- package/assets/js/highcharts/indicators/williams-r.src.js +2 -2
- package/assets/js/highcharts/indicators/wma.js +2 -2
- package/assets/js/highcharts/indicators/wma.src.js +2 -2
- package/assets/js/highcharts/indicators/zigzag.js +2 -2
- package/assets/js/highcharts/indicators/zigzag.src.js +2 -2
- package/assets/js/highcharts/modules/accessibility.js +1 -1
- package/assets/js/highcharts/modules/accessibility.src.js +1 -1
- package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
- package/assets/js/highcharts/modules/annotations-advanced.src.js +3 -3
- package/assets/js/highcharts/modules/annotations.js +2 -2
- package/assets/js/highcharts/modules/annotations.src.js +3 -3
- package/assets/js/highcharts/modules/arc-diagram.js +2 -2
- package/assets/js/highcharts/modules/arc-diagram.src.js +6 -6
- package/assets/js/highcharts/modules/arrow-symbols.js +1 -1
- package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
- package/assets/js/highcharts/modules/boost-canvas.js +1 -1
- package/assets/js/highcharts/modules/boost-canvas.src.js +1 -1
- package/assets/js/highcharts/modules/boost.js +1 -1
- package/assets/js/highcharts/modules/boost.src.js +1 -1
- package/assets/js/highcharts/modules/broken-axis.js +1 -1
- package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
- package/assets/js/highcharts/modules/bullet.js +1 -1
- package/assets/js/highcharts/modules/bullet.src.js +1 -1
- package/assets/js/highcharts/modules/coloraxis.js +2 -2
- package/assets/js/highcharts/modules/coloraxis.src.js +4 -3
- package/assets/js/highcharts/modules/current-date-indicator.js +1 -1
- package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
- package/assets/js/highcharts/modules/cylinder.js +1 -1
- package/assets/js/highcharts/modules/cylinder.src.js +1 -1
- package/assets/js/highcharts/modules/data-tools.js +2 -2
- package/assets/js/highcharts/modules/data-tools.src.js +9 -4
- package/assets/js/highcharts/modules/data.js +1 -1
- package/assets/js/highcharts/modules/data.src.js +1 -1
- package/assets/js/highcharts/modules/datagrouping.js +1 -1
- package/assets/js/highcharts/modules/datagrouping.src.js +1 -1
- package/assets/js/highcharts/modules/debugger.js +1 -1
- package/assets/js/highcharts/modules/debugger.src.js +1 -1
- package/assets/js/highcharts/modules/dependency-wheel.js +2 -2
- package/assets/js/highcharts/modules/dependency-wheel.src.js +2 -2
- package/assets/js/highcharts/modules/dotplot.js +1 -1
- package/assets/js/highcharts/modules/dotplot.src.js +1 -1
- package/assets/js/highcharts/modules/drag-panes.js +2 -2
- package/assets/js/highcharts/modules/drag-panes.src.js +2 -2
- package/assets/js/highcharts/modules/draggable-points.js +1 -1
- package/assets/js/highcharts/modules/draggable-points.src.js +1 -1
- package/assets/js/highcharts/modules/drilldown.js +1 -1
- package/assets/js/highcharts/modules/drilldown.src.js +1 -1
- package/assets/js/highcharts/modules/dumbbell.js +1 -1
- package/assets/js/highcharts/modules/dumbbell.src.js +1 -1
- package/assets/js/highcharts/modules/export-data.js +2 -2
- package/assets/js/highcharts/modules/export-data.src.js +2 -2
- package/assets/js/highcharts/modules/exporting.js +1 -1
- package/assets/js/highcharts/modules/exporting.src.js +1 -1
- package/assets/js/highcharts/modules/flowmap.js +1 -1
- package/assets/js/highcharts/modules/flowmap.src.js +1 -1
- package/assets/js/highcharts/modules/full-screen.js +1 -1
- package/assets/js/highcharts/modules/full-screen.src.js +1 -1
- package/assets/js/highcharts/modules/funnel.js +1 -1
- package/assets/js/highcharts/modules/funnel.src.js +1 -1
- package/assets/js/highcharts/modules/funnel3d.js +2 -2
- package/assets/js/highcharts/modules/funnel3d.src.js +2 -2
- package/assets/js/highcharts/modules/gantt.js +1 -1
- package/assets/js/highcharts/modules/gantt.src.js +1 -1
- package/assets/js/highcharts/modules/geoheatmap.js +1 -1
- package/assets/js/highcharts/modules/geoheatmap.src.js +1 -1
- package/assets/js/highcharts/modules/grid-axis.js +1 -1
- package/assets/js/highcharts/modules/grid-axis.src.js +1 -1
- package/assets/js/highcharts/modules/heatmap.js +2 -2
- package/assets/js/highcharts/modules/heatmap.src.js +4 -3
- package/assets/js/highcharts/modules/heikinashi.js +2 -2
- package/assets/js/highcharts/modules/heikinashi.src.js +2 -2
- package/assets/js/highcharts/modules/histogram-bellcurve.js +1 -1
- package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
- package/assets/js/highcharts/modules/hollowcandlestick.js +2 -2
- package/assets/js/highcharts/modules/hollowcandlestick.src.js +2 -2
- package/assets/js/highcharts/modules/item-series.js +1 -1
- package/assets/js/highcharts/modules/item-series.src.js +1 -1
- package/assets/js/highcharts/modules/lollipop.js +1 -1
- package/assets/js/highcharts/modules/lollipop.src.js +1 -1
- package/assets/js/highcharts/modules/map.js +2 -2
- package/assets/js/highcharts/modules/map.src.js +4 -3
- package/assets/js/highcharts/modules/marker-clusters.js +1 -1
- package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.js +1 -1
- package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
- package/assets/js/highcharts/modules/navigator.js +1 -1
- package/assets/js/highcharts/modules/navigator.src.js +1 -1
- package/assets/js/highcharts/modules/networkgraph.js +2 -2
- package/assets/js/highcharts/modules/networkgraph.src.js +4 -2
- package/assets/js/highcharts/modules/no-data-to-display.js +1 -1
- package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
- package/assets/js/highcharts/modules/offline-exporting.js +2 -2
- package/assets/js/highcharts/modules/offline-exporting.src.js +3 -3
- package/assets/js/highcharts/modules/organization.js +2 -2
- package/assets/js/highcharts/modules/organization.src.js +2 -2
- package/assets/js/highcharts/modules/overlapping-datalabels.js +1 -1
- package/assets/js/highcharts/modules/overlapping-datalabels.src.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.js +1 -1
- package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
- package/assets/js/highcharts/modules/pareto.js +1 -1
- package/assets/js/highcharts/modules/pareto.src.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.js +1 -1
- package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.js +1 -1
- package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
- package/assets/js/highcharts/modules/pictorial.js +1 -1
- package/assets/js/highcharts/modules/pictorial.src.js +1 -1
- package/assets/js/highcharts/modules/price-indicator.js +2 -2
- package/assets/js/highcharts/modules/price-indicator.src.js +2 -2
- package/assets/js/highcharts/modules/pyramid3d.js +2 -2
- package/assets/js/highcharts/modules/pyramid3d.src.js +2 -2
- package/assets/js/highcharts/modules/sankey.js +2 -2
- package/assets/js/highcharts/modules/sankey.src.js +4 -2
- package/assets/js/highcharts/modules/series-label.js +1 -1
- package/assets/js/highcharts/modules/series-label.src.js +1 -1
- package/assets/js/highcharts/modules/series-on-point.js +1 -1
- package/assets/js/highcharts/modules/series-on-point.src.js +1 -1
- package/assets/js/highcharts/modules/solid-gauge.js +1 -1
- package/assets/js/highcharts/modules/solid-gauge.src.js +1 -1
- package/assets/js/highcharts/modules/sonification.js +1 -1
- package/assets/js/highcharts/modules/sonification.src.js +1 -1
- package/assets/js/highcharts/modules/static-scale.js +1 -1
- package/assets/js/highcharts/modules/static-scale.src.js +1 -1
- package/assets/js/highcharts/modules/stock-tools.js +2 -2
- package/assets/js/highcharts/modules/stock-tools.src.js +4 -4
- package/assets/js/highcharts/modules/stock.js +1 -1
- package/assets/js/highcharts/modules/stock.src.js +1 -1
- package/assets/js/highcharts/modules/streamgraph.js +1 -1
- package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
- package/assets/js/highcharts/modules/sunburst.js +2 -2
- package/assets/js/highcharts/modules/sunburst.src.js +4 -2
- package/assets/js/highcharts/modules/textpath.js +2 -2
- package/assets/js/highcharts/modules/textpath.src.js +4 -2
- package/assets/js/highcharts/modules/tiledwebmap.js +1 -1
- package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
- package/assets/js/highcharts/modules/tilemap.js +2 -2
- package/assets/js/highcharts/modules/tilemap.src.js +2 -2
- package/assets/js/highcharts/modules/timeline.js +1 -1
- package/assets/js/highcharts/modules/timeline.src.js +1 -1
- package/assets/js/highcharts/modules/treegraph.js +2 -2
- package/assets/js/highcharts/modules/treegraph.src.js +5 -3
- package/assets/js/highcharts/modules/treegrid.js +1 -1
- package/assets/js/highcharts/modules/treegrid.src.js +1 -1
- package/assets/js/highcharts/modules/treemap.js +1 -1
- package/assets/js/highcharts/modules/treemap.src.js +1 -1
- package/assets/js/highcharts/modules/variable-pie.js +1 -1
- package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
- package/assets/js/highcharts/modules/variwide.js +1 -1
- package/assets/js/highcharts/modules/variwide.src.js +1 -1
- package/assets/js/highcharts/modules/vector.js +1 -1
- package/assets/js/highcharts/modules/vector.src.js +1 -1
- package/assets/js/highcharts/modules/venn.js +1 -1
- package/assets/js/highcharts/modules/venn.src.js +1 -1
- package/assets/js/highcharts/modules/windbarb.js +1 -1
- package/assets/js/highcharts/modules/windbarb.src.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.js +1 -1
- package/assets/js/highcharts/modules/wordcloud.src.js +1 -1
- package/assets/js/highcharts/modules/xrange.js +1 -1
- package/assets/js/highcharts/modules/xrange.src.js +1 -1
- package/assets/js/highcharts/standalone-navigator.js +2 -2
- package/assets/js/highcharts/standalone-navigator.src.js +13 -11
- package/assets/js/highcharts/themes/avocado.js +1 -1
- package/assets/js/highcharts/themes/avocado.src.js +1 -1
- package/assets/js/highcharts/themes/brand-dark.js +1 -1
- package/assets/js/highcharts/themes/brand-dark.src.js +1 -1
- package/assets/js/highcharts/themes/brand-light.js +1 -1
- package/assets/js/highcharts/themes/brand-light.src.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.js +1 -1
- package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
- package/assets/js/highcharts/themes/dark-green.js +1 -1
- package/assets/js/highcharts/themes/dark-green.src.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.js +1 -1
- package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
- package/assets/js/highcharts/themes/gray.js +1 -1
- package/assets/js/highcharts/themes/gray.src.js +1 -1
- package/assets/js/highcharts/themes/grid-light.js +1 -1
- package/assets/js/highcharts/themes/grid-light.src.js +1 -1
- package/assets/js/highcharts/themes/grid.js +1 -1
- package/assets/js/highcharts/themes/grid.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.js +1 -1
- package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.js +1 -1
- package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
- package/assets/js/highcharts/themes/skies.js +1 -1
- package/assets/js/highcharts/themes/skies.src.js +1 -1
- package/assets/js/highcharts/themes/sunset.js +1 -1
- package/assets/js/highcharts/themes/sunset.src.js +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v11.4.
|
|
2
|
+
* Highcharts JS v11.4.5 (2024-07-04)
|
|
3
3
|
*
|
|
4
4
|
* Sankey diagram module
|
|
5
5
|
*
|
|
6
6
|
* (c) 2010-2024 Torstein Honsi
|
|
7
7
|
*
|
|
8
8
|
* License: www.highcharts.com/license
|
|
9
|
-
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/sankey",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function o(e,o,i,s){e.hasOwnProperty(o)||(e[o]=s.apply(null,i),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:o,module:e[o]}})))}o(e,"Series/NodesComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){var o;let{series:{prototype:i,prototype:{pointClass:{prototype:s}}}}=t,{defined:n,extend:r,find:l,merge:a,pick:h}=e;return function(t){function e(){return this.data=[].concat(this.points||[],this.nodes),i.destroy.apply(this,arguments)}function o(){this.nodes&&(this.nodes.forEach(t=>{t.destroy()}),this.nodes.length=0),i.setData.apply(this,arguments)}function d(t){let e=arguments,o=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==t&&o.forEach(t=>{t&&t.series&&(s.setState.apply(t,e),!t.isNode&&(t.fromNode.graphic&&s.setState.apply(t.fromNode,e),t.toNode&&t.toNode.graphic&&s.setState.apply(t.toNode,e)))}),s.setState.apply(this,e)}function p(t,e,o,i){let n=this.series.options.nodes,r=this.series.options.data,l=r&&r.length||0,d=r&&r[this.index];if(s.update.call(this,t,!this.isNode&&e,o,i),this.isNode){let t=(n||[]).reduce((t,e,o)=>this.id===e.id?o:t,-1),i=a(n&&n[t]||{},r&&r[this.index]||{});r&&(d?r[this.index]=d:r.length=l),n?t>=0?n[t]=i:n.push(i):this.series.options.nodes=[i],h(e,!0)&&this.series.chart.redraw(o)}}t.compose=function(t,i){let s=t.prototype,n=i.prototype;return s.setNodeState=d,s.setState=d,s.update=p,n.destroy=e,n.setData=o,i},t.createNode=function(t){let e=this.pointClass,o=(t,e)=>l(t,t=>t.id===e),i=o(this.nodes,t),s;if(!i){s=this.options.nodes&&o(this.options.nodes,t);let n=new e(this,r({className:"highcharts-node",isNode:!0,id:t,y:1},s));n.linksTo=[],n.linksFrom=[],n.getSum=function(){let t=0,e=0;return n.linksTo.forEach(e=>{t+=e.weight||0}),n.linksFrom.forEach(t=>{e+=t.weight||0}),Math.max(t,e)},n.offset=function(t,e){let o=0;for(let i=0;i<n[e].length;i++){if(n[e][i]===t)return o;o+=n[e][i].weight}},n.hasShape=function(){let t=0;return n.linksTo.forEach(e=>{e.outgoing&&t++}),!n.linksTo.length||t!==n.linksTo.length},n.index=this.nodes.push(n)-1,i=n}return i.formatPrefix="node",i.name=i.name||i.options.id||"",i.mass=h(i.options.mass,i.options.marker&&i.options.marker.radius,this.options.marker&&this.options.marker.radius,4),i},t.destroy=e,t.generatePoints=function(){let t=this.chart,e={};i.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(t=>{t.linksFrom.length=0,t.linksTo.length=0,t.level=t.options.level}),this.points.forEach(o=>{n(o.from)&&(e[o.from]||(e[o.from]=this.createNode(o.from)),e[o.from].linksFrom.push(o),o.fromNode=e[o.from],t.styledMode?o.colorIndex=h(o.options.colorIndex,e[o.from].colorIndex):o.color=o.options.color||e[o.from].color),n(o.to)&&(e[o.to]||(e[o.to]=this.createNode(o.to)),e[o.to].linksTo.push(o),o.toNode=e[o.to]),o.name=o.name||o.id},this),this.nodeLookup=e},t.setNodeState=d,t.updateNode=p}(o||(o={})),o}),o(e,"Series/Sankey/SankeyPoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,o){let{column:i}=e.seriesTypes,{defined:s}=o;class n extends i.prototype.pointClass{applyOptions(e,o){return t.prototype.applyOptions.call(this,e,o),s(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+t.prototype.getClassName.call(this)}getFromNode(){let t=-1,e;for(let o=0;o<this.linksTo.length;o++){let i=this.linksTo[o];i.fromNode.column>t&&i.fromNode!==this&&(t=(e=i.fromNode).column)}return{fromNode:e,fromColumn:t}}setNodeColumn(){s(this.options.column)||(0===this.linksTo.length?this.column=0:this.column=this.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}return n}),o(e,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'<span style="font-size: 0.8em">{series.name}</span><br/>',pointFormat:"{point.fromNode.name} → {point.toNode.name}: <b>{point.weight}</b><br/>",nodeFormat:"{point.name}: <b>{point.sum}</b><br/>"}}}),o(e,"Series/Sankey/SankeyColumnComposition.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:o,relativeLength:i}=t;return function(t){t.compose=function(t,o){return t.sankeyColumn=new e(t,o),t};class e{constructor(t,e){this.points=t,this.series=e}getTranslationFactor(t){let e=this.points,o=e.slice(),i=t.chart,s=t.options.minLinkWidth||0,n,r=0,l,a=(i.plotSizeY||0)-(t.options.borderWidth||0)-(e.length-1)*t.nodePadding;for(;e.length;){for(r=a/e.sankeyColumn.sum(),n=!1,l=e.length;l--;)e[l].getSum()*r<s&&(e.splice(l,1),a=Math.max(0,a-s),n=!0);if(!n)break}for(let t of(e.length=0,o))e.push(t);return r}top(t){let e=this.series,o=e.nodePadding,i=this.points.reduce((i,s)=>(i>0&&(i+=o),i+=Math.max(s.getSum()*t,e.options.minLinkWidth||0)),0);return({top:0,center:.5,bottom:1})[e.options.nodeAlignment||"center"]*((e.chart.plotSizeY||0)-i)}left(t){let e=this.series,o=e.chart,i=e.options.equalNodes,s=o.inverted?o.plotHeight:o.plotWidth,n=e.nodePadding,r=this.points.reduce((o,r)=>(o>0&&(o+=n),o+=i?s/r.series.nodes.length-n:Math.max(r.getSum()*t,e.options.minLinkWidth||0)),0);return((o.plotSizeX||0)-Math.round(r))/2}sum(){return this.points.reduce((t,e)=>t+e.getSum(),0)}offset(t,e){let s=this.points,n=this.series,r=n.nodePadding,l=0,a;if(n.is("organization")&&t.hangsFrom)return{absoluteTop:t.hangsFrom.nodeY};for(let h=0;h<s.length;h++){let d=s[h].getSum(),p=Math.max(d*e,n.options.minLinkWidth||0),c=t.options[n.chart.inverted?"offsetHorizontal":"offsetVertical"],u=t.options.offset||0;if(a=d?p+r:0,s[h]===t)return{relativeTop:l+(o(c)?i(c,p):i(u,a))};l+=a}}}t.SankeyColumnAdditions=e}(e||(e={})),e}),o(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){let{extend:o,isArray:i,isNumber:s,isObject:n,merge:r,pick:l,relativeLength:a}=e;return{getColor:function(e,o){let i,s,n,r,a,h;let d=o.index,p=o.mapOptionsToLevel,c=o.parentColor,u=o.parentColorIndex,f=o.series,m=o.colors,g=o.siblings,y=f.points,k=f.chart.options.chart;return e&&(i=y[e.i],s=p[e.level]||{},i&&s.colorByPoint&&(r=i.index%(m?m.length:k.colorCount),n=m&&m[r]),f.chart.styledMode||(a=l(i&&i.options.color,s&&s.color,n,c&&(e=>{let o=s&&s.colorVariation;return o&&"brightness"===o.key&&d&&g?t.parse(e).brighten(o.to*(d/g)).get():e})(c),f.color)),h=l(i&&i.options.colorIndex,s&&s.colorIndex,r,u,o.colorIndex)),{color:a,colorIndex:h}},getLevelOptions:function(t){let e,o,a,h,d,p;let c={};if(n(t))for(h=s(t.from)?t.from:1,p=t.levels,o={},e=n(t.defaults)?t.defaults:{},i(p)&&(o=p.reduce((t,o)=>{let i,a,d;return n(o)&&s(o.level)&&(a=l((d=r({},o)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,n(t[i=o.level+(a?0:h-1)])?r(!0,t[i],d):t[i]=d),t},{})),d=s(t.to)?t.to:1,a=0;a<=d;a++)c[a]=r({},e,n(o[a])?o[a]:{});return c},getNodeWidth:function(t,e){let{chart:o,options:i}=t,{nodeDistance:s=0,nodeWidth:n=0}=i,{plotSizeX:r=1}=o;if("auto"===n){if("string"==typeof s&&/%$/.test(s))return r/(e+parseFloat(s)/100*(e-1));let t=Number(s);return(r+t)/(e||1)-t}return a(n,r)},setTreeValues:function t(e,i){let s=i.before,n=i.idRoot,r=i.mapIdToNode[n],a=!1!==i.levelIsConstant,h=i.points[e.i],d=h&&h.options||{},p=[],c=0;e.levelDynamic=e.level-(a?0:r.level),e.name=l(h&&h.name,""),e.visible=n===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,n)=>{let r=o({},i);o(r,{index:n,siblings:e.children.length,visible:e.visible}),s=t(s,r),p.push(s),s.visible&&(c+=s.val)});let u=l(d.value,c);return e.visible=u>=0&&(c>0||e.visible),e.children=p,e.childrenTotal=c,e.isLeaf=e.visible&&!c,e.val=u,e},updateRootId:function(t){let e,o;return n(t)&&(o=n(t.options)?t.options:{},e=l(t.rootNode,o.rootId,""),n(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),o(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:o}=t,{addEvent:i,merge:s,uniqueKey:n,defined:r,extend:l}=e;function a(t,e){e=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let o=this.renderer.url,a=this.text||this,h=a.textPath,{attributes:d,enabled:p}=e;if(t=t||h&&h.path,h&&h.undo(),t&&p){let e=i(a,"afterModifyTree",e=>{if(t&&p){let i=t.attr("id");i||t.attr("id",i=n());let s={x:0,y:0};r(d.dx)&&(s.dx=d.dx,delete d.dx),r(d.dy)&&(s.dy=d.dy,delete d.dy),a.attr(s),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:l(d,{"text-anchor":d.textAnchor,href:`${o}#${i}`}),children:h}}});a.textPath={path:t,undo:e}}else a.attr({dx:0,dy:0}),delete a.textPath;return this.added&&(a.textCache="",this.renderer.buildText(a)),this}function h(t){let e=t.bBox,i=this.element?.querySelector("textPath");if(i){let t=[],{b:s,h:n}=this.renderer.fontMetrics(this.element),r=n-s,l=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),a=i.innerHTML.replace(l,"").split(/<tspan class="highcharts-br"[^>]*>/),h=a.length,d=(t,e)=>{let{x:n,y:l}=e,a=(i.getRotationOfChar(t)-90)*o,h=Math.cos(a),d=Math.sin(a);return[[n-r*h,l-r*d],[n+s*h,l+s*d]]};for(let e=0,o=0;o<h;o++){let s=a[o].length;for(let n=0;n<s;n+=5)try{let s=e+n+o,[r,l]=d(s,i.getStartPositionOfChar(s));0===n?(t.push(l),t.push(r)):(0===o&&t.unshift(l),o===h-1&&t.push(r))}catch(t){break}e+=s-1;try{let s=e+o,n=i.getEndPositionOfChar(s),[r,l]=d(s,n);t.unshift(l),t.unshift(r)}catch(t){break}}t.push(t[0].slice()),e.polygon=t}return e}function d(t){let e=t.labelOptions,o=t.point,i=e[o.formatPrefix+"TextPath"]||e.textPath;i&&!e.useHTML&&(this.setTextPath(o.getDataLabelPath?.(this)||o.graphic,i),o.dataLabelPath&&!i.enabled&&(o.dataLabelPath=o.dataLabelPath.destroy()))}return{compose:function(t){i(t,"afterGetBBox",h),i(t,"beforeAddingDataLabel",d);let e=t.prototype;e.setTextPath||(e.setTextPath=a)}}}),o(e,"Series/Sankey/SankeySeries.js",[e["Core/Globals.js"],e["Series/NodesComposition.js"],e["Series/Sankey/SankeyPoint.js"],e["Series/Sankey/SankeySeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Sankey/SankeyColumnComposition.js"],e["Core/Color/Color.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(t,e,o,i,s,n,r,l,a,h,d){let{column:p,line:c}=s.seriesTypes,{parse:u}=r,{getLevelOptions:f,getNodeWidth:m}=l,{clamp:g,crisp:y,extend:k,isObject:C,merge:b,pick:v,relativeLength:x,stableSort:S}=a;d.compose(h);class N extends p{static getDLOptions(t){let e=C(t.optionsPoint)?t.optionsPoint.dataLabels:{};return b({style:{}},C(t.level)?t.level.dataLabels:{},e)}createNodeColumns(){let t=[];for(let e of this.nodes)e.setNodeColumn(),t[e.column]||(t[e.column]=n.compose([],this)),t[e.column].push(e);for(let e=0;e<t.length;e++)void 0===t[e]&&(t[e]=n.compose([],this));return t}order(t,e){if(void 0===t.level)for(let o of(t.level=e,t.linksFrom))o.toNode&&this.order(o.toNode,e+1)}generatePoints(){if(e.generatePoints.apply(this,arguments),this.orderNodes){for(let t of this.nodes)0===t.linksTo.length&&this.order(t,0);S(this.nodes,(t,e)=>t.level-e.level)}}getNodePadding(){let t=this.options.nodePadding||0;if(this.nodeColumns){let e=this.nodeColumns.reduce((t,e)=>Math.max(t,e.length),0);e*t>this.chart.plotSizeY&&(t=this.chart.plotSizeY/e)}return t}hasData(){return!!this.processedXData.length}pointAttribs(t,e){if(!t)return{};let o=this,i=t.isNode?t.level:t.fromNode.level,s=o.mapOptionsToLevel[i||0]||{},n=t.options,l=s.states&&s.states[e||""]||{},a=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((t,e)=>(t[e]=v(l[e],n[e],s[e],o.options[e]),t),{}),h=v(l.color,n.color,a.colorByPoint?t.color:s.color);return t.isNode?{fill:h,stroke:a.borderColor,"stroke-width":a.borderWidth,opacity:a.opacity}:{fill:r.parse(h).setOpacity(a.linkOpacity).get()}}drawTracker(){p.prototype.drawTracker.call(this,this.points),p.prototype.drawTracker.call(this,this.nodes)}drawPoints(){p.prototype.drawPoints.call(this,this.points),p.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){p.prototype.drawDataLabels.call(this,this.points),p.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let t=this,e=this.chart,o=this.options,i=this.nodeColumns,s=i.length;for(let n of(this.nodeWidth=m(this,s),this.nodePadding=this.getNodePadding(),this.translationFactor=i.reduce((e,o)=>Math.min(e,o.sankeyColumn.getTranslationFactor(t)),1/0),this.colDistance=(e.plotSizeX-this.nodeWidth-o.borderWidth)/Math.max(1,i.length-1),t.mapOptionsToLevel=f({from:1,levels:o.levels,to:i.length-1,defaults:{borderColor:o.borderColor,borderRadius:o.borderRadius,borderWidth:o.borderWidth,color:t.color,colorByPoint:o.colorByPoint,levelIsConstant:!0,linkColor:o.linkColor,linkLineWidth:o.linkLineWidth,linkOpacity:o.linkOpacity,states:o.states}}),i))for(let e of n)t.translateNode(e,n);for(let e of this.nodes)for(let o of e.linksFrom)(o.weight||o.isNull)&&o.to&&(t.translateLink(o),o.allowShadow=!1)}translateLink(t){let e=(e,o)=>{let i=e.offset(t,o)*r;return Math.min(e.nodeY+i,e.nodeY+(e.shapeArgs&&e.shapeArgs.height||0)-f)},o=t.fromNode,i=t.toNode,s=this.chart,{inverted:n}=s,r=this.translationFactor,l=this.options,a=v(t.linkColorMode,l.linkColorMode),h=(s.inverted?-this.colDistance:this.colDistance)*l.curveFactor,d=o.nodeX,p=i.nodeX,c=t.outgoing,f=Math.max(t.weight*r,this.options.minLinkWidth),m=e(o,"linksFrom"),g=e(i,"linksTo"),y=this.nodeWidth,k=p>d+y;if(s.inverted&&(m=s.plotSizeY-m,g=(s.plotSizeY||0)-g,y=-y,f=-f,k=d>p),t.shapeType="path",t.linkBase=[m,m+f,g,g+f],k&&"number"==typeof g)t.shapeArgs={d:[["M",d+y,m],["C",d+y+h,m,p-h,g,p,g],["L",p+(c?y:0),g+f/2],["L",p,g+f],["C",p-h,g+f,d+y+h,m+f,d+y,m+f],["Z"]]};else if("number"==typeof g){let e=s.plotHeight-m-f,o=p-20-f,i=p-20,n=d+y,r=n+20,l=r+f,a=m,h=m+f,c=h+20,u=c+e,k=u+20,C=k+f,b=g,v=b+f,x=v+20,S=h-.7*f,N=k+.7*f,P=v-.7*f,T=p-.7*f,L=n+.7*f;t.shapeArgs={d:[["M",n,a],["C",L,a,l,S,l,c],["L",l,u],["C",l,N,L,C,n,C],["L",p,C],["C",T,C,o,N,o,u],["L",o,x],["C",o,P,T,b,p,b],["L",p,v],["C",i,v,i,v,i,x],["L",i,u],["C",i,k,i,k,p,k],["L",n,k],["C",r,k,r,k,r,u],["L",r,c],["C",r,h,r,h,n,h],["Z"]]}}if(t.dlBox={x:d+(p-d+y)/2,y:m+(g-m)/2,height:f,width:0},t.tooltipPos=s.inverted?[s.plotSizeY-t.dlBox.y-f/2,s.plotSizeX-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+f/2],t.y=t.plotY=1,t.x=t.plotX=1,!t.options.color){if("from"===a)t.color=o.color;else if("to"===a)t.color=i.color;else if("gradient"===a){let e=u(o.color).get(),s=u(i.color).get();t.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,n?e:s],[1,n?s:e]]}}}}translateNode(t,e){let o=this.translationFactor,i=this.chart,s=this.options,{borderRadius:n,borderWidth:r=0}=s,l=t.getSum(),a=Math.max(Math.round(l*o),this.options.minLinkWidth),h=Math.round(this.nodeWidth),d=e.sankeyColumn.offset(t,o),p=y(v(d.absoluteTop,e.sankeyColumn.top(o)+d.relativeTop),r),c=y(this.colDistance*t.column+r/2,r)+x(t.options[i.inverted?"offsetVertical":"offsetHorizontal"]||0,h),u=i.inverted?i.plotSizeX-c:c;if(t.sum=l,l){t.shapeType="roundedRect",t.nodeX=u,t.nodeY=p;let e=u,o=p,r=t.options.width||s.width||h,l=t.options.height||s.height||a,d=g(x("object"==typeof n?n.radius:n||0,r),0,a/2);i.inverted&&(e=u-h,o=i.plotSizeY-p-a,r=t.options.height||s.height||h,l=t.options.width||s.width||a),t.dlOptions=N.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options}),t.plotX=1,t.plotY=1,t.tooltipPos=i.inverted?[i.plotSizeY-o-l/2,i.plotSizeX-e-r/2]:[e+r/2,o+l/2],t.shapeArgs={x:e,y:o,width:r,height:l,r:d,display:t.hasShape()?"":"none"}}else t.dlOptions={enabled:!1}}}return N.defaultOptions=b(p.defaultOptions,i),e.compose(o,N),k(N.prototype,{animate:c.prototype.animate,createNode:e.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:o,searchPoint:t.noop}),s.registerSeriesType("sankey",N),N}),o(e,"masters/modules/sankey.src.js",[e["Core/Globals.js"]],function(t){return t})});
|
|
9
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/sankey",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function o(e,o,i,s){e.hasOwnProperty(o)||(e[o]=s.apply(null,i),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:o,module:e[o]}})))}o(e,"Series/NodesComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){var o;let{series:{prototype:i,prototype:{pointClass:{prototype:s}}}}=t,{defined:n,extend:r,find:l,merge:a,pick:h}=e;return function(t){function e(){return this.data=[].concat(this.points||[],this.nodes),i.destroy.apply(this,arguments)}function o(){this.nodes&&(this.nodes.forEach(t=>{t.destroy()}),this.nodes.length=0),i.setData.apply(this,arguments)}function d(t){let e=arguments,o=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==t&&o.forEach(t=>{t&&t.series&&(s.setState.apply(t,e),!t.isNode&&(t.fromNode.graphic&&s.setState.apply(t.fromNode,e),t.toNode&&t.toNode.graphic&&s.setState.apply(t.toNode,e)))}),s.setState.apply(this,e)}function p(t,e,o,i){let n=this.series.options.nodes,r=this.series.options.data,l=r&&r.length||0,d=r&&r[this.index];if(s.update.call(this,t,!this.isNode&&e,o,i),this.isNode){let t=(n||[]).reduce((t,e,o)=>this.id===e.id?o:t,-1),i=a(n&&n[t]||{},r&&r[this.index]||{});r&&(d?r[this.index]=d:r.length=l),n?t>=0?n[t]=i:n.push(i):this.series.options.nodes=[i],h(e,!0)&&this.series.chart.redraw(o)}}t.compose=function(t,i){let s=t.prototype,n=i.prototype;return s.setNodeState=d,s.setState=d,s.update=p,n.destroy=e,n.setData=o,i},t.createNode=function(t){let e=this.pointClass,o=(t,e)=>l(t,t=>t.id===e),i=o(this.nodes,t),s;if(!i){s=this.options.nodes&&o(this.options.nodes,t);let n=new e(this,r({className:"highcharts-node",isNode:!0,id:t,y:1},s));n.linksTo=[],n.linksFrom=[],n.getSum=function(){let t=0,e=0;return n.linksTo.forEach(e=>{t+=e.weight||0}),n.linksFrom.forEach(t=>{e+=t.weight||0}),Math.max(t,e)},n.offset=function(t,e){let o=0;for(let i=0;i<n[e].length;i++){if(n[e][i]===t)return o;o+=n[e][i].weight}},n.hasShape=function(){let t=0;return n.linksTo.forEach(e=>{e.outgoing&&t++}),!n.linksTo.length||t!==n.linksTo.length},n.index=this.nodes.push(n)-1,i=n}return i.formatPrefix="node",i.name=i.name||i.options.id||"",i.mass=h(i.options.mass,i.options.marker&&i.options.marker.radius,this.options.marker&&this.options.marker.radius,4),i},t.destroy=e,t.generatePoints=function(){let t=this.chart,e={};i.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(t=>{t.linksFrom.length=0,t.linksTo.length=0,t.level=t.options.level}),this.points.forEach(o=>{n(o.from)&&(e[o.from]||(e[o.from]=this.createNode(o.from)),e[o.from].linksFrom.push(o),o.fromNode=e[o.from],t.styledMode?o.colorIndex=h(o.options.colorIndex,e[o.from].colorIndex):o.color=o.options.color||e[o.from].color),n(o.to)&&(e[o.to]||(e[o.to]=this.createNode(o.to)),e[o.to].linksTo.push(o),o.toNode=e[o.to]),o.name=o.name||o.id},this),this.nodeLookup=e},t.setNodeState=d,t.updateNode=p}(o||(o={})),o}),o(e,"Series/Sankey/SankeyPoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,o){let{column:i}=e.seriesTypes,{defined:s}=o;class n extends i.prototype.pointClass{applyOptions(e,o){return t.prototype.applyOptions.call(this,e,o),s(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+t.prototype.getClassName.call(this)}getFromNode(){let t=-1,e;for(let o=0;o<this.linksTo.length;o++){let i=this.linksTo[o];i.fromNode.column>t&&i.fromNode!==this&&(t=(e=i.fromNode).column)}return{fromNode:e,fromColumn:t}}setNodeColumn(){s(this.options.column)||(0===this.linksTo.length?this.column=0:this.column=this.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}return n}),o(e,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'<span style="font-size: 0.8em">{series.name}</span><br/>',pointFormat:"{point.fromNode.name} → {point.toNode.name}: <b>{point.weight}</b><br/>",nodeFormat:"{point.name}: <b>{point.sum}</b><br/>"}}}),o(e,"Series/Sankey/SankeyColumnComposition.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:o,relativeLength:i}=t;return function(t){t.compose=function(t,o){return t.sankeyColumn=new e(t,o),t};class e{constructor(t,e){this.points=t,this.series=e}getTranslationFactor(t){let e=this.points,o=e.slice(),i=t.chart,s=t.options.minLinkWidth||0,n,r=0,l,a=(i.plotSizeY||0)-(t.options.borderWidth||0)-(e.length-1)*t.nodePadding;for(;e.length;){for(r=a/e.sankeyColumn.sum(),n=!1,l=e.length;l--;)e[l].getSum()*r<s&&(e.splice(l,1),a=Math.max(0,a-s),n=!0);if(!n)break}for(let t of(e.length=0,o))e.push(t);return r}top(t){let e=this.series,o=e.nodePadding,i=this.points.reduce((i,s)=>(i>0&&(i+=o),i+=Math.max(s.getSum()*t,e.options.minLinkWidth||0)),0);return({top:0,center:.5,bottom:1})[e.options.nodeAlignment||"center"]*((e.chart.plotSizeY||0)-i)}left(t){let e=this.series,o=e.chart,i=e.options.equalNodes,s=o.inverted?o.plotHeight:o.plotWidth,n=e.nodePadding,r=this.points.reduce((o,r)=>(o>0&&(o+=n),o+=i?s/r.series.nodes.length-n:Math.max(r.getSum()*t,e.options.minLinkWidth||0)),0);return((o.plotSizeX||0)-Math.round(r))/2}sum(){return this.points.reduce((t,e)=>t+e.getSum(),0)}offset(t,e){let s=this.points,n=this.series,r=n.nodePadding,l=0,a;if(n.is("organization")&&t.hangsFrom)return{absoluteTop:t.hangsFrom.nodeY};for(let h=0;h<s.length;h++){let d=s[h].getSum(),p=Math.max(d*e,n.options.minLinkWidth||0),c=t.options[n.chart.inverted?"offsetHorizontal":"offsetVertical"],u=t.options.offset||0;if(a=d?p+r:0,s[h]===t)return{relativeTop:l+(o(c)?i(c,p):i(u,a))};l+=a}}}t.SankeyColumnAdditions=e}(e||(e={})),e}),o(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){let{extend:o,isArray:i,isNumber:s,isObject:n,merge:r,pick:l,relativeLength:a}=e;return{getColor:function(e,o){let i,s,n,r,a,h;let d=o.index,p=o.mapOptionsToLevel,c=o.parentColor,u=o.parentColorIndex,f=o.series,m=o.colors,g=o.siblings,y=f.points,k=f.chart.options.chart;return e&&(i=y[e.i],s=p[e.level]||{},i&&s.colorByPoint&&(r=i.index%(m?m.length:k.colorCount),n=m&&m[r]),f.chart.styledMode||(a=l(i&&i.options.color,s&&s.color,n,c&&(e=>{let o=s&&s.colorVariation;return o&&"brightness"===o.key&&d&&g?t.parse(e).brighten(o.to*(d/g)).get():e})(c),f.color)),h=l(i&&i.options.colorIndex,s&&s.colorIndex,r,u,o.colorIndex)),{color:a,colorIndex:h}},getLevelOptions:function(t){let e,o,a,h,d,p;let c={};if(n(t))for(h=s(t.from)?t.from:1,p=t.levels,o={},e=n(t.defaults)?t.defaults:{},i(p)&&(o=p.reduce((t,o)=>{let i,a,d;return n(o)&&s(o.level)&&(a=l((d=r({},o)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,n(t[i=o.level+(a?0:h-1)])?r(!0,t[i],d):t[i]=d),t},{})),d=s(t.to)?t.to:1,a=0;a<=d;a++)c[a]=r({},e,n(o[a])?o[a]:{});return c},getNodeWidth:function(t,e){let{chart:o,options:i}=t,{nodeDistance:s=0,nodeWidth:n=0}=i,{plotSizeX:r=1}=o;if("auto"===n){if("string"==typeof s&&/%$/.test(s))return r/(e+parseFloat(s)/100*(e-1));let t=Number(s);return(r+t)/(e||1)-t}return a(n,r)},setTreeValues:function t(e,i){let s=i.before,n=i.idRoot,r=i.mapIdToNode[n],a=!1!==i.levelIsConstant,h=i.points[e.i],d=h&&h.options||{},p=[],c=0;e.levelDynamic=e.level-(a?0:r.level),e.name=l(h&&h.name,""),e.visible=n===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,n)=>{let r=o({},i);o(r,{index:n,siblings:e.children.length,visible:e.visible}),s=t(s,r),p.push(s),s.visible&&(c+=s.val)});let u=l(d.value,c);return e.visible=u>=0&&(c>0||e.visible),e.children=p,e.childrenTotal=c,e.isLeaf=e.visible&&!c,e.val=u,e},updateRootId:function(t){let e,o;return n(t)&&(o=n(t.options)?t.options:{},e=l(t.rootNode,o.rootId,""),n(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),o(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:o}=t,{addEvent:i,merge:s,uniqueKey:n,defined:r,extend:l}=e;function a(t,e){e=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let o=this.renderer.url,a=this.text||this,h=a.textPath,{attributes:d,enabled:p}=e;if(t=t||h&&h.path,h&&h.undo(),t&&p){let e=i(a,"afterModifyTree",e=>{if(t&&p){let i=t.attr("id");i||t.attr("id",i=n());let s={x:0,y:0};r(d.dx)&&(s.dx=d.dx,delete d.dx),r(d.dy)&&(s.dy=d.dy,delete d.dy),a.attr(s),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:l(d,{"text-anchor":d.textAnchor,href:`${o}#${i}`}),children:h}}});a.textPath={path:t,undo:e}}else a.attr({dx:0,dy:0}),delete a.textPath;return this.added&&(a.textCache="",this.renderer.buildText(a)),this}function h(t){let e=t.bBox,i=this.element?.querySelector("textPath");if(i){let t=[],{b:s,h:n}=this.renderer.fontMetrics(this.element),r=n-s,l=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),a=i.innerHTML.replace(l,"").split(/<tspan class="highcharts-br"[^>]*>/),h=a.length,d=(t,e)=>{let{x:n,y:l}=e,a=(i.getRotationOfChar(t)-90)*o,h=Math.cos(a),d=Math.sin(a);return[[n-r*h,l-r*d],[n+s*h,l+s*d]]};for(let e=0,o=0;o<h;o++){let s=a[o].length;for(let n=0;n<s;n+=5)try{let s=e+n+o,[r,l]=d(s,i.getStartPositionOfChar(s));0===n?(t.push(l),t.push(r)):(0===o&&t.unshift(l),o===h-1&&t.push(r))}catch(t){break}e+=s-1;try{let s=e+o,n=i.getEndPositionOfChar(s),[r,l]=d(s,n);t.unshift(l),t.unshift(r)}catch(t){break}}t.length&&t.push(t[0].slice()),e.polygon=t}return e}function d(t){let e=t.labelOptions,o=t.point,i=e[o.formatPrefix+"TextPath"]||e.textPath;i&&!e.useHTML&&(this.setTextPath(o.getDataLabelPath?.(this)||o.graphic,i),o.dataLabelPath&&!i.enabled&&(o.dataLabelPath=o.dataLabelPath.destroy()))}return{compose:function(t){i(t,"afterGetBBox",h),i(t,"beforeAddingDataLabel",d);let e=t.prototype;e.setTextPath||(e.setTextPath=a)}}}),o(e,"Series/Sankey/SankeySeries.js",[e["Core/Globals.js"],e["Series/NodesComposition.js"],e["Series/Sankey/SankeyPoint.js"],e["Series/Sankey/SankeySeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Sankey/SankeyColumnComposition.js"],e["Core/Color/Color.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(t,e,o,i,s,n,r,l,a,h,d){let{column:p,line:c}=s.seriesTypes,{parse:u}=r,{getLevelOptions:f,getNodeWidth:m}=l,{clamp:g,crisp:y,extend:k,isObject:C,merge:b,pick:v,relativeLength:x,stableSort:S}=a;d.compose(h);class N extends p{static getDLOptions(t){let e=C(t.optionsPoint)?t.optionsPoint.dataLabels:{};return b({style:{}},C(t.level)?t.level.dataLabels:{},e)}createNodeColumns(){let t=[];for(let e of this.nodes)e.setNodeColumn(),t[e.column]||(t[e.column]=n.compose([],this)),t[e.column].push(e);for(let e=0;e<t.length;e++)void 0===t[e]&&(t[e]=n.compose([],this));return t}order(t,e){if(void 0===t.level)for(let o of(t.level=e,t.linksFrom))o.toNode&&this.order(o.toNode,e+1)}generatePoints(){if(e.generatePoints.apply(this,arguments),this.orderNodes){for(let t of this.nodes)0===t.linksTo.length&&this.order(t,0);S(this.nodes,(t,e)=>t.level-e.level)}}getNodePadding(){let t=this.options.nodePadding||0;if(this.nodeColumns){let e=this.nodeColumns.reduce((t,e)=>Math.max(t,e.length),0);e*t>this.chart.plotSizeY&&(t=this.chart.plotSizeY/e)}return t}hasData(){return!!this.processedXData.length}pointAttribs(t,e){if(!t)return{};let o=this,i=t.isNode?t.level:t.fromNode.level,s=o.mapOptionsToLevel[i||0]||{},n=t.options,l=s.states&&s.states[e||""]||{},a=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((t,e)=>(t[e]=v(l[e],n[e],s[e],o.options[e]),t),{}),h=v(l.color,n.color,a.colorByPoint?t.color:s.color);return t.isNode?{fill:h,stroke:a.borderColor,"stroke-width":a.borderWidth,opacity:a.opacity}:{fill:r.parse(h).setOpacity(a.linkOpacity).get()}}drawTracker(){p.prototype.drawTracker.call(this,this.points),p.prototype.drawTracker.call(this,this.nodes)}drawPoints(){p.prototype.drawPoints.call(this,this.points),p.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){p.prototype.drawDataLabels.call(this,this.points),p.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let t=this,e=this.chart,o=this.options,i=this.nodeColumns,s=i.length;for(let n of(this.nodeWidth=m(this,s),this.nodePadding=this.getNodePadding(),this.translationFactor=i.reduce((e,o)=>Math.min(e,o.sankeyColumn.getTranslationFactor(t)),1/0),this.colDistance=(e.plotSizeX-this.nodeWidth-o.borderWidth)/Math.max(1,i.length-1),t.mapOptionsToLevel=f({from:1,levels:o.levels,to:i.length-1,defaults:{borderColor:o.borderColor,borderRadius:o.borderRadius,borderWidth:o.borderWidth,color:t.color,colorByPoint:o.colorByPoint,levelIsConstant:!0,linkColor:o.linkColor,linkLineWidth:o.linkLineWidth,linkOpacity:o.linkOpacity,states:o.states}}),i))for(let e of n)t.translateNode(e,n);for(let e of this.nodes)for(let o of e.linksFrom)(o.weight||o.isNull)&&o.to&&(t.translateLink(o),o.allowShadow=!1)}translateLink(t){let e=(e,o)=>{let i=e.offset(t,o)*r;return Math.min(e.nodeY+i,e.nodeY+(e.shapeArgs&&e.shapeArgs.height||0)-f)},o=t.fromNode,i=t.toNode,s=this.chart,{inverted:n}=s,r=this.translationFactor,l=this.options,a=v(t.linkColorMode,l.linkColorMode),h=(s.inverted?-this.colDistance:this.colDistance)*l.curveFactor,d=o.nodeX,p=i.nodeX,c=t.outgoing,f=Math.max(t.weight*r,this.options.minLinkWidth),m=e(o,"linksFrom"),g=e(i,"linksTo"),y=this.nodeWidth,k=p>d+y;if(s.inverted&&(m=s.plotSizeY-m,g=(s.plotSizeY||0)-g,y=-y,f=-f,k=d>p),t.shapeType="path",t.linkBase=[m,m+f,g,g+f],k&&"number"==typeof g)t.shapeArgs={d:[["M",d+y,m],["C",d+y+h,m,p-h,g,p,g],["L",p+(c?y:0),g+f/2],["L",p,g+f],["C",p-h,g+f,d+y+h,m+f,d+y,m+f],["Z"]]};else if("number"==typeof g){let e=s.plotHeight-m-f,o=p-20-f,i=p-20,n=d+y,r=n+20,l=r+f,a=m,h=m+f,c=h+20,u=c+e,k=u+20,C=k+f,b=g,v=b+f,x=v+20,S=h-.7*f,N=k+.7*f,P=v-.7*f,T=p-.7*f,L=n+.7*f;t.shapeArgs={d:[["M",n,a],["C",L,a,l,S,l,c],["L",l,u],["C",l,N,L,C,n,C],["L",p,C],["C",T,C,o,N,o,u],["L",o,x],["C",o,P,T,b,p,b],["L",p,v],["C",i,v,i,v,i,x],["L",i,u],["C",i,k,i,k,p,k],["L",n,k],["C",r,k,r,k,r,u],["L",r,c],["C",r,h,r,h,n,h],["Z"]]}}if(t.dlBox={x:d+(p-d+y)/2,y:m+(g-m)/2,height:f,width:0},t.tooltipPos=s.inverted?[s.plotSizeY-t.dlBox.y-f/2,s.plotSizeX-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+f/2],t.y=t.plotY=1,t.x=t.plotX=1,!t.options.color){if("from"===a)t.color=o.color;else if("to"===a)t.color=i.color;else if("gradient"===a){let e=u(o.color).get(),s=u(i.color).get();t.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,n?e:s],[1,n?s:e]]}}}}translateNode(t,e){let o=this.translationFactor,i=this.chart,s=this.options,{borderRadius:n,borderWidth:r=0}=s,l=t.getSum(),a=Math.max(Math.round(l*o),this.options.minLinkWidth),h=Math.round(this.nodeWidth),d=e.sankeyColumn.offset(t,o),p=y(v(d.absoluteTop,e.sankeyColumn.top(o)+d.relativeTop),r),c=y(this.colDistance*t.column+r/2,r)+x(t.options[i.inverted?"offsetVertical":"offsetHorizontal"]||0,h),u=i.inverted?i.plotSizeX-c:c;if(t.sum=l,l){t.shapeType="roundedRect",t.nodeX=u,t.nodeY=p;let e=u,o=p,r=t.options.width||s.width||h,l=t.options.height||s.height||a,d=g(x("object"==typeof n?n.radius:n||0,r),0,a/2);i.inverted&&(e=u-h,o=i.plotSizeY-p-a,r=t.options.height||s.height||h,l=t.options.width||s.width||a),t.dlOptions=N.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options}),t.plotX=1,t.plotY=1,t.tooltipPos=i.inverted?[i.plotSizeY-o-l/2,i.plotSizeX-e-r/2]:[e+r/2,o+l/2],t.shapeArgs={x:e,y:o,width:r,height:l,r:d,display:t.hasShape()?"":"none"}}else t.dlOptions={enabled:!1}}}return N.defaultOptions=b(p.defaultOptions,i),e.compose(o,N),k(N.prototype,{animate:c.prototype.animate,createNode:e.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:o,searchPoint:t.noop}),s.registerSeriesType("sankey",N),N}),o(e,"masters/modules/sankey.src.js",[e["Core/Globals.js"]],function(t){return t})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.4.
|
|
2
|
+
* @license Highcharts JS v11.4.5 (2024-07-04)
|
|
3
3
|
*
|
|
4
4
|
* Sankey diagram module
|
|
5
5
|
*
|
|
@@ -1618,7 +1618,9 @@
|
|
|
1618
1618
|
}
|
|
1619
1619
|
}
|
|
1620
1620
|
// Close it
|
|
1621
|
-
|
|
1621
|
+
if (polygon.length) {
|
|
1622
|
+
polygon.push(polygon[0].slice());
|
|
1623
|
+
}
|
|
1622
1624
|
bBox.polygon = polygon;
|
|
1623
1625
|
}
|
|
1624
1626
|
return bBox;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highstock JS v11.4.
|
|
2
|
+
* Highstock JS v11.4.5 (2024-07-04)
|
|
3
3
|
*
|
|
4
4
|
* Advanced Highcharts Stock tools
|
|
5
5
|
*
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* Author: Torstein Honsi
|
|
8
8
|
*
|
|
9
9
|
* License: www.highcharts.com/license
|
|
10
|
-
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts","modules/stock"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function e(i,e,s,n){i.hasOwnProperty(e)||(i[e]=n.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:i[e]}})))}e(i,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;return function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(e=>{e.call(this.chart,t,i)})}}t.Additions=i}(t||(t={})),t}),e(i,"Extensions/Annotations/NavigationBindingsDefaults.js",[i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i){let{getAssignedAxis:e}=t,{isNumber:s,merge:n}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis),a=this.chart.options.navigation;if(s&&o)return this.chart.addAnnotation(n({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:s.value,y:o.value,xAxis:s.axis.index,yAxis:o.axis.index},r:5}]},a.annotationsOptions,a.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;let n=i.options.shapes,o=n&&n[0]&&n[0].point||{};if(s(o.xAxis)&&s(o.yAxis)){let i=this.chart.inverted,s=this.chart.xAxis[o.xAxis].toPixels(o.x),n=this.chart.yAxis[o.yAxis].toPixels(o.y);e=Math.max(Math.sqrt(Math.pow(i?n-t.chartX:s-t.chartX,2)+Math.pow(i?s-t.chartY:n-t.chartY,2)),5)}i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis),a=this.chart.options.navigation;if(s&&o)return this.chart.addAnnotation(n({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:s.axis.index,yAxis:o.axis.index,points:[{x:s.value,y:o.value},{x:s.value,y:o.value}],ry:1}]},a.annotationsOptions,a.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),n=e.getAbsolutePosition(e.points[1]),o=e.getDistanceFromLine(s,n,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis);if(!s||!o)return;let a=s.value,r=o.value,l=s.axis.index,c=o.axis.index,h=this.chart.options.navigation;return this.chart.addAnnotation(n({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:l,yAxis:c,x:a,y:r},{xAxis:l,yAxis:c,x:a,y:r},{xAxis:l,yAxis:c,x:a,y:r},{xAxis:l,yAxis:c,x:a,y:r},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,n=s&&s[0]&&s[0].points||[],o=this.chart.pointer?.getCoordinates(t),a=o&&e(o.xAxis),r=o&&e(o.yAxis);if(a&&r){let t=a.value,e=r.value;n[1].x=t,n[2].x=t,n[2].y=e,n[3].y=e,i.update({shapes:[{points:n}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis),a=this.chart.options.navigation;if(s&&o)return this.chart.addAnnotation(n({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:s.axis.index,yAxis:o.axis.index,x:s.value,y:o.value}}]},a.annotationsOptions,a.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),e(i,"Extensions/Annotations/NavigationBindings.js",[i["Core/Chart/ChartNavigationComposition.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindingsDefaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i,e,s,n,o,a){let{setOptions:r}=i,{format:l}=e,{composed:c,doc:h,win:p}=s,{getAssignedAxis:d,getFieldType:g}=o,{addEvent:u,attr:m,defined:y,fireEvent:f,isArray:v,isFunction:b,isNumber:x,isObject:k,merge:A,objectEach:C,pick:w,pushUnique:T}=a;function N(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function O(){this.navigationBindings&&this.navigationBindings.destroy()}function S(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new z(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function L(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let e=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(e=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];C(t.boundClassNames,(t,n)=>{let o=s.querySelectorAll("."+n);if(o)for(let s=0;s<o.length;s++){let n=o[s],a=n.className;"normal"===t.noDataState?-1!==a.indexOf(i)&&n.classList.remove(i):e?-1!==a.indexOf(i)&&n.classList.remove(i):-1===a.indexOf(i)&&(n.className+=" "+i)}})}}}function B(){this.deselectAnnotation()}function E(){this.selectedButtonElement=null}function I(t){let i,e;let s=t.prototype.defaultOptions.events&&t.prototype.defaultOptions.events.click;function n(t){let i=this,e=i.chart.navigationBindings,n=e.activeAnnotation;s&&s.call(i,t),n!==i?(e.deselectAnnotation(),e.activeAnnotation=i,i.setControlPointsVisibility(!0),f(e,"showPopup",{annotation:i,formType:"annotation-toolbar",options:e.annotationToFields(i),onSubmit:function(t){if("remove"===t.actionType)e.activeAnnotation=!1,e.chart.removeAnnotation(i);else{let s={};e.fieldsToOptions(t.fields,s),e.deselectAnnotation();let n=s.typeOptions;"measure"===i.options.type&&(n.crosshairY.enabled=0!==n.crosshairY.strokeWidth,n.crosshairX.enabled=0!==n.crosshairX.strokeWidth),i.update(s)}}})):f(e,"closePopup"),t.activeAnnotation=!0}A(!0,t.prototype.defaultOptions.events,{click:n,touchstart:function(t){i=t.touches[0].clientX,e=t.touches[0].clientY},touchend:function(t){i&&Math.sqrt(Math.pow(i-t.changedTouches[0].clientX,2)+Math.pow(e-t.changedTouches[0].clientY,2))>=4||n.call(this,t)}})}class z{static compose(t,i){T(c,"NavigationBindings")&&(u(t,"remove",N),I(t),C(t.types,t=>{I(t)}),u(i,"destroy",O),u(i,"load",S),u(i,"render",L),u(z,"closePopup",B),u(z,"deselectButton",E),r(n))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=h.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&d(i.xAxis),i&&d(i.yAxis)]}initEvents(){let t=this,i=t.chart,e=t.container,n=t.options;t.boundClassNames={},C(n.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(e,i=>{t.eventsToUnbind.push(u(i,"click",e=>{let s=t.getButtonEvents(i,e);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,e)}))}),C(n.events||{},(i,e)=>{b(i)&&t.eventsToUnbind.push(u(t,e,i,{passive:!1}))}),t.eventsToUnbind.push(u(i.container,"click",function(e){!i.cancelClick&&i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,e)})),t.eventsToUnbind.push(u(i.container,s.isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},s.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,e){let s=this.chart,n=s.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),f(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,f(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),n.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,n=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=p.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,n=null;if(e.closest)n=e.closest.call(t,i);else do{if(s.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return n}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):f(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(f(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(f(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return C(t,(t,e)=>{let s=parseFloat(t),n=e.split("."),o=n.length-1;if(!x(s)||t.match(/px|em/g)||e.match(/format/g)||(t=s),"undefined"!==t){let e=i;n.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let a=w(n[s+1],"");o===s?e[i]=t:(e[i]||(e[i]=a.match(/\d/g)?[]:{}),e=e[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,e=z.annotationsEditable,s=e.nestedOptions,n=w(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),o=z.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:n};function r(i,e,n,a,c){let h;n&&y(i)&&-1===o.indexOf(e)&&((n.indexOf&&n.indexOf(e))>=0||n[e]||!0===n)&&(v(i)?(a[e]=[],i.forEach((t,i)=>{k(t)?(a[e][i]={},C(t,(t,n)=>{r(t,n,s[e],a[e][i],e)})):r(t,0,s[e],a[e],e)})):k(i)?(h={},v(a)?(a.push(h),h[e]={},h=h[e]):a[e]=h,C(i,(t,i)=>{r(t,i,0===e?n:s[e],h,e)})):"format"===e?a[e]=[l(i,t.labels[0].points[0]).toString(),"text"]:v(a)?a.push([i,g(c,i)]):a[e]=[i,g(e,i)])}return C(i,(t,o)=>{"typeOptions"===o?(a[o]={},C(i[o],(t,i)=>{r(t,i,s,a[o],i)})):r(t,o,e[n],a,o)}),a}getClickedClassNames(t,i){let e=i.target,s=[],n;for(;e&&e.tagName&&((n=m(e,"class"))&&(s=s.concat(n.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e;let s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=A(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return z.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},z.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},z}),e(i,"Stock/StockTools/StockToolsUtilities.js",[i["Core/Defaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,i,e,s){let{getOptions:n}=t,{getAssignedAxis:o,getFieldType:a}=i,{defined:r,fireEvent:l,isNumber:c,uniqueKey:h}=s,p=["apo","ad","aroon","aroonoscillator","atr","ao","cci","chaikin","cmf","cmo","disparityindex","dmi","dpo","linearRegressionAngle","linearRegressionIntercept","linearRegressionSlope","klinger","macd","mfi","momentum","natr","obv","ppo","roc","rsi","slowstochastic","stochastic","trix","williamsr"],d=["ad","cmf","klinger","mfi","obv","vbp","vwap"];function g(t,i){let e=i.pointer?.getCoordinates(t),s,n,a=Number.MAX_VALUE,r;if(i.navigationBindings&&e&&(s=o(e.xAxis),n=o(e.yAxis)),!s||!n)return;let l=s.value,c=n.value;if(n.axis.series.forEach(i=>{if(i.points){let e=i.searchPoint(t,!0);e&&a>Math.abs(e.x-l)&&(a=Math.abs(e.x-l),r=e)}}),r&&r.x&&r.y)return{x:r.x,y:r.y,below:c<r.y,series:r.series,xAxis:r.series.xAxis.index||0,yAxis:r.series.yAxis.index||0}}return{indicatorsWithAxes:p,indicatorsWithVolume:d,addFlagFromForm:function(t){return function(i){let e=this,s=e.chart,n=s.stockTools,o=g(i,s);if(!o)return;let r={x:o.x,y:o.y},c={type:"flags",onSeries:o.series.id,shape:t,data:[r],xAxis:o.xAxis,yAxis:o.yAxis,point:{events:{click:function(){let t=this,i=t.options;l(e,"showPopup",{point:t,formType:"annotation-toolbar",options:{langKey:"flags",type:"flags",title:[i.title,a("title",i.title)],name:[i.name,a("name",i.name)]},onSubmit:function(i){"remove"===i.actionType?t.remove():t.update(e.fieldsToOptions(i.fields,{}))}})}}}};n&&n.guiEnabled||s.addSeries(c),l(e,"showPopup",{formType:"flag",options:{langKey:"flags",type:"flags",title:["A",a("label","A")],name:["Flag A",a("label","Flag A")]},onSubmit:function(t){e.fieldsToOptions(t.fields,c.data[0]),s.addSeries(c)}})}},attractToPoint:g,getAssignedAxis:o,isNotNavigatorYAxis:function(t){return"highcharts-navigator-yaxis"!==t.userOptions.className},isPriceIndicatorEnabled:function(t){return t.some(t=>t.lastVisiblePrice||t.lastPrice)},manageIndicators:function(t){let i,s,o,a;let c=this.chart,g={linkedTo:t.linkedTo,type:t.type};if("edit"===t.actionType)this.fieldsToOptions(t.fields,g),(a=c.get(t.seriesId))&&a.update(g,!1);else if("remove"===t.actionType){if((a=c.get(t.seriesId))&&(i=a.yAxis,a.linkedSeries&&a.linkedSeries.forEach(t=>{t.remove(!1)}),a.remove(!1),p.indexOf(a.type)>=0)){let t={height:i.options.height,top:i.options.top};i.remove(!1),this.resizeYAxes(t)}}else g.id=h(),this.fieldsToOptions(t.fields,g),s=c.get(g.linkedTo),o=n().plotOptions,void 0!==s&&s instanceof e&&"sum"===s.getDGApproximation()&&!r(o&&o[g.type]&&o.dataGrouping&&o.dataGrouping.approximation)&&(g.dataGrouping={approximation:"sum"}),p.indexOf(t.type)>=0?(i=c.addAxis({id:h(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),g.yAxis=i.options.id,this.resizeYAxes()):g.yAxis=c.get(t.linkedTo).options.yAxis,d.indexOf(t.type)>=0&&(g.params.volumeSeriesID=c.series.filter(function(t){return"column"===t.options.type})[0].options.id),c.addSeries(g,!1);l(this,"deselectButton",{button:this.selectedButtonElement}),c.redraw()},shallowArraysEqual:function(t,i){if(!r(t)||!r(i)||t.length!==i.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0},updateHeight:function(t,i){let e=i.options.typeOptions,s=c(e.yAxis)&&this.chart.yAxis[e.yAxis];s&&e.points&&i.update({typeOptions:{height:s.toValue(t[s.horiz?"chartX":"chartY"])-(e.points[1].y||0)}})},updateNthPoint:function(t){return function(i,e){let s=e.options.typeOptions,n=c(s.xAxis)&&this.chart.xAxis[s.xAxis],o=c(s.yAxis)&&this.chart.yAxis[s.yAxis];n&&o&&(s.points.forEach((e,s)=>{s>=t&&(e.x=n.toValue(i[n.horiz?"chartX":"chartY"]),e.y=o.toValue(i[o.horiz?"chartX":"chartY"]))}),e.update({typeOptions:{points:s.points}}))}},updateRectSize:function(t,i){let e=i.chart,s=i.options.typeOptions,n=c(s.xAxis)&&e.xAxis[s.xAxis],o=c(s.yAxis)&&e.yAxis[s.yAxis];if(n&&o){let a=n.toValue(t[n.horiz?"chartX":"chartY"]),r=o.toValue(t[o.horiz?"chartX":"chartY"]),l=a-s.point.x,c=s.point.y-r;i.update({typeOptions:{background:{width:e.inverted?c:l,height:e.inverted?l:c}}})}}}}),e(i,"Stock/StockTools/StockToolsBindings.js",[i["Core/Globals.js"],i["Stock/StockTools/StockToolsUtilities.js"],i["Core/Utilities.js"]],function(t,i,e){let{addFlagFromForm:s,attractToPoint:n,isNotNavigatorYAxis:o,isPriceIndicatorEnabled:a,manageIndicators:r,updateHeight:l,updateNthPoint:c,updateRectSize:h}=i,{fireEvent:p,merge:d}=e;return{segment:{className:"highcharts-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.segment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowSegment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},ray:{className:"highcharts-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.ray.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowRay.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.infinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowInfinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.horizontalLine.annotationsOptions);this.chart.addAnnotation(n)}},verticalLine:{className:"highcharts-vertical-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.verticalLine.annotationsOptions);this.chart.addAnnotation(n)}},crooked3:{className:"highcharts-crooked3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2)]},crooked5:{className:"highcharts-crooked5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2),c(3),c(4)]},elliott3:{className:"highcharts-elliott3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2),c(3)]},elliott5:{className:"highcharts-elliott5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2),c(3),c(4),c(5)]},measureX:{className:"highcharts-measure-x",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureX.annotationsOptions);return this.chart.addAnnotation(a)},steps:[h]},measureY:{className:"highcharts-measure-y",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[h]},measureXY:{className:"highcharts-measure-xy",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[h]},fibonacci:{className:"highcharts-fibonacci",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.fibonacci.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),l]},parallelChannel:{className:"highcharts-parallel-channel",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.parallelChannel.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),l]},pitchfork:{className:"highcharts-pitchfork",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value,controlPoint:{style:{fill:"#f21313"}}},{x:s,y:n},{x:s,y:n}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},o.annotationsOptions,o.bindings.pitchfork.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(t){let i=n(t,this.chart);if(!i)return;this.verticalCounter=this.verticalCounter||0;let e=this.chart.options.navigation,s=d({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalCounter.annotationsOptions),o=this.chart.addAnnotation(s);this.verticalCounter++,o.options.events.click.call(o,{})}},timeCycles:{className:"highcharts-time-cycles",start:function(t){let i=n(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=d({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:i.xAxis,yAxis:i.yAxis,points:[{x:i.x},{x:i.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},e.annotationsOptions,e.bindings.timeCycles.annotationsOptions),o=this.chart.addAnnotation(s);return o.options.events.click.call(o,{}),o},steps:[c(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(t){let i=n(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=d({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalLabel.annotationsOptions),o=this.chart.addAnnotation(s);o.options.events.click.call(o,{})}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(t){let i=n(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=d({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,format:" "},connector:{fill:"none",stroke:i.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalArrow.annotationsOptions),o=this.chart.addAnnotation(s);o.options.events.click.call(o,{})}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value}]}},s.annotationsOptions,s.bindings.fibonacciTimeZones.annotationsOptions);return this.chart.addAnnotation(n)},steps:[function(t,i){let e=i.options.typeOptions.points,s=e&&e[0].x,[n,o]=this.getCoords(t);n&&o&&i.update({typeOptions:{xAxis:n.axis.index,yAxis:o.axis.index,points:[{x:s},{x:n.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:s("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:s("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:s("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:s("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(t){this.chart.update({chart:{zooming:{type:"x"}}}),p(this,"deselectButton",{button:t})}},zoomY:{className:"highcharts-zoom-y",init:function(t){this.chart.update({chart:{zooming:{type:"y"}}}),p(this,"deselectButton",{button:t})}},zoomXY:{className:"highcharts-zoom-xy",init:function(t){this.chart.update({chart:{zooming:{type:"xy"}}}),p(this,"deselectButton",{button:t})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(t){this.chart.series[0].update({type:"line",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(t){this.chart.series[0].update({type:"ohlc"}),p(this,"deselectButton",{button:t})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(t){this.chart.series[0].update({type:"candlestick"}),p(this,"deselectButton",{button:t})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(t){this.chart.series[0].update({type:"heikinashi"}),p(this,"deselectButton",{button:t})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(t){this.chart.series[0].update({type:"hlc",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(t){this.chart.series[0].update({type:"hollowcandlestick"}),p(this,"deselectButton",{button:t})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(t){this.chart.fullscreen&&this.chart.fullscreen.toggle(),p(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(t){let i=this.chart,e=i.series,s=i.stockTools,n=a(i.series);s&&s.guiEnabled&&(e.forEach(function(t){t.update({lastPrice:{enabled:!n},lastVisiblePrice:{enabled:!n,label:{enabled:!0}}},!1)}),i.redraw()),p(this,"deselectButton",{button:t})}},indicators:{className:"highcharts-indicators",init:function(){let t=this;p(t,"showPopup",{formType:"indicators",options:{},onSubmit:function(i){r.call(t,i)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(t){let i=this.chart,e=i.stockTools,s=e.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations,(i.annotations||[]).forEach(function(t){t.setVisibility(!this.toggledAnnotations)},this),e&&e.guiEnabled&&(this.toggledAnnotations?t.firstChild.style["background-image"]='url("'+s+'annotations-hidden.svg")':t.firstChild.style["background-image"]='url("'+s+'annotations-visible.svg")'),p(this,"deselectButton",{button:t})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(i){let e=this.chart,s=[],n=[],a=[],r=[];e.annotations.forEach(function(t,i){s[i]=t.userOptions}),e.series.forEach(function(t){t.is("sma")?n.push(t.userOptions):"flags"===t.type&&a.push(t.userOptions)}),e.yAxis.forEach(function(t){o(t)&&r.push(t.options)}),t.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:s,indicators:n,flags:a,yAxes:r})),p(this,"deselectButton",{button:i})}}}}),e(i,"Stock/StockTools/StockToolsDefaults.js",[],function(){return{lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"Add",saveButton:"Save",editButton:"Edit",removeButton:"Remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"✕ clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:["indicators","separator","simpleShapes","lines","crookedLines","measure","advanced","toggleAnnotations","separator","verticalLabels","flags","separator","zoomChange","fullScreen","typeChange","separator","currentPriceIndicator","saveChart"],definitions:{separator:{elementType:"span",symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:["segment","arrowSegment","ray","arrowRay","line","arrowInfinityLine","horizontalLine","verticalLine"],segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick","typeHollowCandlestick","typeHLC","typeHeikinAshi"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}},visible:!0}}}}),e(i,"Stock/StockTools/StockTools.js",[i["Core/Defaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Stock/StockTools/StockToolsBindings.js"],i["Stock/StockTools/StockToolsDefaults.js"],i["Stock/StockTools/StockToolsUtilities.js"],i["Core/Utilities.js"]],function(t,i,e,s,n,o){let{setOptions:a}=t,{getAssignedAxis:r}=i,{isNotNavigatorYAxis:l,isPriceIndicatorEnabled:c}=n,{correctFloat:h,defined:p,isNumber:d,pick:g}=o;function u(t,i,e,s){let n=0,o,a,r;function l(t){return p(t)&&!d(t)&&t.match("%")}return s&&(r=h(parseFloat(s.top)/100),a=h(parseFloat(s.height)/100)),{positions:t.map((s,c)=>{let p=h(l(s.options.height)?parseFloat(s.options.height)/100:s.height/i),g=h(l(s.options.top)?parseFloat(s.options.top)/100:(s.top-s.chart.plotTop)/i);return a?(g>r&&(g-=a),n=Math.max(n,(g||0)+(p||0))):(d(p)||(p=t[c-1].series.every(t=>t.is("sma"))?o:e/100),d(g)||(g=n),o=p,n=h(Math.max(n,(g||0)+(p||0)))),{height:100*p,top:100*g}}),allAxesHeight:n}}function m(t){let i=[];return t.forEach(function(e,s){let n=t[s+1];n?i[s]={enabled:!0,controlledAxis:{next:[g(n.options.id,n.index)]}}:i[s]={enabled:!1}}),i}function y(t,i,e,s){return t.forEach(function(n,o){let a=t[o-1];n.top=a?h(a.height+a.top):0,e&&(n.height=h(n.height+s*i))}),t}function f(t){let i=this.chart,e=i.yAxis.filter(l),s=i.plotHeight,{positions:n,allAxesHeight:o}=this.getYAxisPositions(e,s,20,t),a=this.getYAxisResizers(e);!t&&o<=h(1)?n[n.length-1]={height:20,top:h(100*o-20)}:n.forEach(function(t){t.height=t.height/(100*o)*100,t.top=t.top/(100*o)*100}),n.forEach(function(t,i){e[i].update({height:t.height+"%",top:t.top+"%",resize:a[i],offset:0},!1)})}return{compose:function(t){let i=t.prototype;i.utils?.manageIndicators||(i.getYAxisPositions=u,i.getYAxisResizers=m,i.recalculateYAxisPositions=y,i.resizeYAxes=f,i.utils=i.utils||{},i.utils.indicatorsWithAxes=n.indicatorsWithAxes,i.utils.indicatorsWithVolume=n.indicatorsWithVolume,i.utils.getAssignedAxis=r,i.utils.isPriceIndicatorEnabled=c,i.utils.manageIndicators=n.manageIndicators,a(s),a({navigation:{bindings:e}}))}}}),e(i,"Stock/StockTools/StockToolbar.js",[i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"],i["Stock/StockTools/StockToolsUtilities.js"]],function(t,i,e){let{addEvent:s,createElement:n,css:o,defined:a,fireEvent:r,getStyle:l,isArray:c,merge:h,pick:p}=t,{shallowArraysEqual:d}=e;class g{constructor(t,i,e){this.width=0,this.isDirty=!1,this.chart=e,this.options=t,this.lang=i,this.iconsURL=this.getIconsURL(),this.guiEnabled=t.enabled,this.visible=p(t.visible,!0),this.guiClassName=t.className,this.toolbarClassName=t.toolbarClassName,this.eventsToUnbind=[],this.guiEnabled&&(this.createContainer(),this.createButtons(),this.showHideNavigation()),r(this,"afterInit")}createButtons(){let t=this.lang,i=this.options,e=this.toolbar,n=i.buttons,o=i.definitions,a=e.childNodes;this.buttonList=n,n.forEach(i=>{let n=this.addButton(e,o,i,t);this.eventsToUnbind.push(s(n.buttonWrapper,"click",()=>this.eraseActiveButtons(a,n.buttonWrapper))),c(o[i].items)&&this.addSubmenu(n,o[i])})}addSubmenu(t,i){let e=t.submenuArrow,a=t.buttonWrapper,r=l(a,"width"),c=this.wrapper,h=this.listWrapper,p=this.toolbar.childNodes,d=this.submenu=n("ul",{className:"highcharts-submenu-wrapper"},void 0,a);this.addSubmenuItems(a,i),this.eventsToUnbind.push(s(e,"click",t=>{if(t.stopPropagation(),this.eraseActiveButtons(p,a),a.className.indexOf("highcharts-current")>=0)h.style.width=h.startWidth+"px",a.classList.remove("highcharts-current"),d.style.display="none";else{d.style.display="block";let t=d.offsetHeight-a.offsetHeight-3;d.offsetHeight+a.offsetTop>c.offsetHeight&&a.offsetTop>t||(t=0),o(d,{top:-t+"px",left:r+3+"px"}),a.className+=" highcharts-current",h.startWidth=c.offsetWidth,h.style.width=h.startWidth+l(h,"padding-left")+d.offsetWidth+3+"px"}}))}addSubmenuItems(t,i){let e;let n=this,o=this.submenu,a=this.lang,r=this.listWrapper;i.items.forEach(l=>{e=this.addButton(o,i,l,a),this.eventsToUnbind.push(s(e.mainButton,"click",function(){n.switchSymbol(this,t,!0),r.style.width=r.startWidth+"px",o.style.display="none"}))});let l=o.querySelectorAll("li > .highcharts-menu-item-btn")[0];this.switchSymbol(l,!1)}eraseActiveButtons(t,i,e){[].forEach.call(t,t=>{t!==i&&(t.classList.remove("highcharts-current"),t.classList.remove("highcharts-active"),(e=t.querySelectorAll(".highcharts-submenu-wrapper")).length>0&&(e[0].style.display="none"))})}addButton(t,i,e,s={}){let o=i[e],a=o.items,r=g.prototype.classMapping,l=o.className||"",c=n("li",{className:p(r[e],"")+" "+l,title:s[e]||e},void 0,t),h=n(o.elementType||"button",{className:"highcharts-menu-item-btn"},void 0,c);if(a&&a.length){let t=n("button",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,c);return t.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)",{buttonWrapper:c,mainButton:h,submenuArrow:t}}return h.style.backgroundImage="url("+this.iconsURL+o.symbol+")",{buttonWrapper:c,mainButton:h}}addNavigation(){let t=this.wrapper;this.arrowWrapper=n("div",{className:"highcharts-arrow-wrapper"}),this.arrowUp=n("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper),this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",this.arrowDown=n("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper),this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",t.insertBefore(this.arrowWrapper,t.childNodes[0]),this.scrollButtons()}scrollButtons(){let t=this.wrapper,i=this.toolbar,e=.1*t.offsetHeight,n=0;this.eventsToUnbind.push(s(this.arrowUp,"click",()=>{n>0&&(n-=e,i.style.marginTop=-n+"px")})),this.eventsToUnbind.push(s(this.arrowDown,"click",()=>{t.offsetHeight+n<=i.offsetHeight+e&&(n+=e,i.style.marginTop=-n+"px")}))}createContainer(){let t,i;let e=this.chart,o=this.options,a=e.container,r=e.options.navigation,l=r?.bindingsClassName,c=this,h=this.wrapper=n("div",{className:"highcharts-stocktools-wrapper "+o.className+" "+l});a.appendChild(h),this.showHideBtn=n("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,h),this.eventsToUnbind.push(s(this.showHideBtn,"click",()=>{this.update({gui:{visible:!c.visible}})})),["mousedown","mousemove","click","touchstart"].forEach(t=>{s(h,t,t=>t.stopPropagation())}),s(h,"mouseover",t=>e.pointer?.onContainerMouseLeave(t)),this.toolbar=i=n("ul",{className:"highcharts-stocktools-toolbar "+o.toolbarClassName}),this.listWrapper=t=n("div",{className:"highcharts-menu-wrapper"}),h.insertBefore(t,h.childNodes[0]),t.insertBefore(i,t.childNodes[0]),this.showHideToolbar(),this.addNavigation()}showHideNavigation(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")}showHideToolbar(){let t=this.wrapper,i=this.listWrapper,e=this.submenu,s=this.showHideBtn,n=this.visible;s.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",n?(t.style.height="100%",i.classList.remove("highcharts-hide"),s.classList.remove("highcharts-arrow-right"),s.style.top=l(i,"padding-top")+"px",s.style.left=t.offsetWidth+l(i,"padding-left")+"px"):(e&&(e.style.display="none"),s.style.left="0px",n=this.visible=!1,i.classList.add("highcharts-hide"),s.classList.add("highcharts-arrow-right"),t.style.height=s.offsetHeight+"px")}switchSymbol(t,i){let e=t.parentNode,s=e.className,n=e.parentNode.parentNode;!(s.indexOf("highcharts-disabled-btn")>-1)&&(n.className="",s&&n.classList.add(s.trim()),n.querySelectorAll(".highcharts-menu-item-btn")[0].style.backgroundImage=t.style.backgroundImage,i&&this.toggleButtonActiveClass(n))}toggleButtonActiveClass(t){let i=t.classList;i.contains("highcharts-active")?i.remove("highcharts-active"):i.add("highcharts-active")}unselectAllButtons(t){let i=t.parentNode.querySelectorAll(".highcharts-active");[].forEach.call(i,i=>{i!==t&&i.classList.remove("highcharts-active")})}update(t,i){this.isDirty=!!t.gui.definitions,h(!0,this.chart.options.stockTools,t),h(!0,this.options,t.gui),this.visible=p(this.options.visible&&this.options.enabled,!0),this.chart.navigationBindings&&this.chart.navigationBindings.update(),this.chart.isDirtyBox=!0,p(i,!0)&&this.chart.redraw()}destroy(){let t=this.wrapper,i=t&&t.parentNode;this.eventsToUnbind.forEach(t=>t()),i&&i.removeChild(t)}redraw(){if(this.options.enabled!==this.guiEnabled)this.handleGuiEnabledChange();else{if(!this.guiEnabled)return;this.updateClassNames(),this.updateButtons(),this.updateVisibility(),this.showHideNavigation(),this.showHideToolbar()}}handleGuiEnabledChange(){!1===this.options.enabled&&(this.destroy(),this.visible=!1),!0===this.options.enabled&&(this.createContainer(),this.createButtons()),this.guiEnabled=this.options.enabled}updateClassNames(){this.options.className!==this.guiClassName&&(this.guiClassName&&this.wrapper.classList.remove(this.guiClassName),this.options.className&&this.wrapper.classList.add(this.options.className),this.guiClassName=this.options.className),this.options.toolbarClassName!==this.toolbarClassName&&(this.toolbarClassName&&this.toolbar.classList.remove(this.toolbarClassName),this.options.toolbarClassName&&this.toolbar.classList.add(this.options.toolbarClassName),this.toolbarClassName=this.options.toolbarClassName)}updateButtons(){(!d(this.options.buttons,this.buttonList)||this.isDirty)&&(this.toolbar.innerHTML=i.emptyHTML,this.createButtons())}updateVisibility(){a(this.options.visible)&&(this.visible=this.options.visible)}getIconsURL(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/11.4.4/gfx/stock-icons/"}}return g.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"},g}),e(i,"Stock/StockTools/StockToolsGui.js",[i["Core/Defaults.js"],i["Stock/StockTools/StockToolsDefaults.js"],i["Stock/StockTools/StockToolbar.js"],i["Core/Utilities.js"]],function(t,i,e,s){let{setOptions:n}=t,{addEvent:o,getStyle:a,merge:r,pick:l}=s;function c(t){let i=this.options,s=i.lang,n=r(i.stockTools&&i.stockTools.gui,t&&t.gui),o=s&&s.stockTools&&s.stockTools.gui;this.stockTools=new e(n,o,this),this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}function h(){this.setStockTools()}function p(){this.stockTools&&(this.stockTools.redraw(),function(t){if(t.stockTools?.guiEnabled){let i=t.options.chart,e=t.stockTools.listWrapper,s=e&&(e.startWidth+a(e,"padding-left")+a(e,"padding-right")||e.offsetWidth);t.stockTools.width=s;let n=!1;if(s<t.plotWidth){let e=l(i.spacingLeft,i.spacing&&i.spacing[3],0)+s,o=e-t.spacingBox.x;t.spacingBox.x=e,t.spacingBox.width-=o,n=!0}else 0===s&&(n=!0);s!==t.stockTools.prevOffsetWidth&&(t.stockTools.prevOffsetWidth=s,n&&(t.isDirtyLegend=!0))}}(this))}function d(){this.stockTools&&this.stockTools.destroy()}function g(){let t=this.stockTools?.visible&&this.stockTools.guiEnabled?this.stockTools.width:0;t&&t<this.plotWidth&&(this.plotLeft+=t,this.spacing[3]+=t)}function u(){let t=this.stockTools,i=t&&t.toolbar&&t.toolbar.querySelector(".highcharts-current-price-indicator");t&&this.navigationBindings&&this.options.series&&i&&(this.navigationBindings.utils?.isPriceIndicatorEnabled?.(this.series)?i.firstChild.style["background-image"]='url("'+t.getIconsURL()+'current-price-hide.svg")':i.firstChild.style["background-image"]='url("'+t.getIconsURL()+'current-price-show.svg")')}function m(t){let i=this.chart.stockTools;if(i&&i.guiEnabled){let i=t.button;i.parentNode.className.indexOf("highcharts-submenu-wrapper")>=0&&(i=i.parentNode.parentNode),i.classList.remove("highcharts-active")}}function y(t){let i=this.chart.stockTools;if(i&&i.guiEnabled){let e=t.button;i.unselectAllButtons(t.button),e.parentNode.className.indexOf("highcharts-submenu-wrapper")>=0&&(e=e.parentNode.parentNode),i.toggleButtonActiveClass(e)}}return{compose:function(t,e){let s=t.prototype;s.setStockTools||(o(t,"afterGetContainer",h),o(t,"beforeRedraw",p),o(t,"beforeRender",p),o(t,"destroy",d),o(t,"getMargins",g,{order:0}),o(t,"render",u),s.setStockTools=c,o(e,"deselectButton",m),o(e,"selectButton",y),n(i))}}}),e(i,"masters/modules/stock-tools.src.js",[i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindings.js"],i["Stock/StockTools/StockTools.js"],i["Stock/StockTools/StockToolsGui.js"],i["Stock/StockTools/StockToolbar.js"]],function(t,i,e,s,n){return t.NavigationBindings=t.NavigationBindings||i,t.Toolbar=n,e.compose(t.NavigationBindings),s.compose(t.Chart,t.NavigationBindings),t})});
|
|
10
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/stock-tools",["highcharts","highcharts/modules/stock"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function e(i,e,s,n){i.hasOwnProperty(e)||(i[e]=n.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:i[e]}})))}e(i,"Core/Chart/ChartNavigationComposition.js",[],function(){var t;return function(t){t.compose=function(t){return t.navigation||(t.navigation=new i(t)),t};class i{constructor(t){this.updates=[],this.chart=t}addUpdate(t){this.chart.navigation.updates.push(t)}update(t,i){this.updates.forEach(e=>{e.call(this.chart,t,i)})}}t.Additions=i}(t||(t={})),t}),e(i,"Extensions/Annotations/NavigationBindingsDefaults.js",[i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i){let{getAssignedAxis:e}=t,{isNumber:s,merge:n}=i;return{lang:{navigation:{popup:{simpleShapes:"Simple shapes",lines:"Lines",circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",shapeOptions:"Shape options",typeOptions:"Details",fill:"Fill",format:"Text",strokeWidth:"Line width",stroke:"Line color",title:"Title",name:"Name",labelOptions:"Label options",labels:"Labels",backgroundColor:"Background color",backgroundColors:"Background colors",borderColor:"Border color",borderRadius:"Border radius",borderWidth:"Border width",style:"Style",padding:"Padding",fontSize:"Font size",color:"Color",height:"Height",shapes:"Shape options"}}},navigation:{bindingsClassName:"highcharts-bindings-container",bindings:{circleAnnotation:{className:"highcharts-circle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis),a=this.chart.options.navigation;if(s&&o)return this.chart.addAnnotation(n({langKey:"circle",type:"basicAnnotation",shapes:[{type:"circle",point:{x:s.value,y:o.value,xAxis:s.axis.index,yAxis:o.axis.index},r:5}]},a.annotationsOptions,a.bindings.circleAnnotation.annotationsOptions))},steps:[function(t,i){let e;let n=i.options.shapes,o=n&&n[0]&&n[0].point||{};if(s(o.xAxis)&&s(o.yAxis)){let i=this.chart.inverted,s=this.chart.xAxis[o.xAxis].toPixels(o.x),n=this.chart.yAxis[o.yAxis].toPixels(o.y);e=Math.max(Math.sqrt(Math.pow(i?n-t.chartX:s-t.chartX,2)+Math.pow(i?s-t.chartY:n-t.chartY,2)),5)}i.update({shapes:[{r:e}]})}]},ellipseAnnotation:{className:"highcharts-ellipse-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis),a=this.chart.options.navigation;if(s&&o)return this.chart.addAnnotation(n({langKey:"ellipse",type:"basicAnnotation",shapes:[{type:"ellipse",xAxis:s.axis.index,yAxis:o.axis.index,points:[{x:s.value,y:o.value},{x:s.value,y:o.value}],ry:1}]},a.annotationsOptions,a.bindings.ellipseAnnotation.annotationOptions))},steps:[function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[1]);e.translatePoint(t.chartX-s.x,t.chartY-s.y,1),e.redraw(!1)},function(t,i){let e=i.shapes[0],s=e.getAbsolutePosition(e.points[0]),n=e.getAbsolutePosition(e.points[1]),o=e.getDistanceFromLine(s,n,t.chartX,t.chartY),a=e.getYAxis(),r=Math.abs(a.toValue(0)-a.toValue(o));e.setYRadius(r),e.redraw(!1)}]},rectangleAnnotation:{className:"highcharts-rectangle-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis);if(!s||!o)return;let a=s.value,r=o.value,l=s.axis.index,c=o.axis.index,h=this.chart.options.navigation;return this.chart.addAnnotation(n({langKey:"rectangle",type:"basicAnnotation",shapes:[{type:"path",points:[{xAxis:l,yAxis:c,x:a,y:r},{xAxis:l,yAxis:c,x:a,y:r},{xAxis:l,yAxis:c,x:a,y:r},{xAxis:l,yAxis:c,x:a,y:r},{command:"Z"}]}]},h.annotationsOptions,h.bindings.rectangleAnnotation.annotationsOptions))},steps:[function(t,i){let s=i.options.shapes,n=s&&s[0]&&s[0].points||[],o=this.chart.pointer?.getCoordinates(t),a=o&&e(o.xAxis),r=o&&e(o.yAxis);if(a&&r){let t=a.value,e=r.value;n[1].x=t,n[2].x=t,n[2].y=e,n[3].y=e,i.update({shapes:[{points:n}]})}}]},labelAnnotation:{className:"highcharts-label-annotation",start:function(t){let i=this.chart.pointer?.getCoordinates(t),s=i&&e(i.xAxis),o=i&&e(i.yAxis),a=this.chart.options.navigation;if(s&&o)return this.chart.addAnnotation(n({langKey:"label",type:"basicAnnotation",labelOptions:{format:"{y:.2f}",overflow:"none",crop:!0},labels:[{point:{xAxis:s.axis.index,yAxis:o.axis.index,x:s.value,y:o.value}}]},a.annotationsOptions,a.bindings.labelAnnotation.annotationsOptions))}}},events:{},annotationsOptions:{animation:{defer:0}}}}}),e(i,"Extensions/Annotations/NavigationBindings.js",[i["Core/Chart/ChartNavigationComposition.js"],i["Core/Defaults.js"],i["Core/Templating.js"],i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindingsDefaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Utilities.js"]],function(t,i,e,s,n,o,a){let{setOptions:r}=i,{format:l}=e,{composed:c,doc:h,win:p}=s,{getAssignedAxis:d,getFieldType:g}=o,{addEvent:u,attr:m,defined:y,fireEvent:f,isArray:v,isFunction:b,isNumber:x,isObject:k,merge:A,objectEach:C,pick:w,pushUnique:T}=a;function N(){this.chart.navigationBindings&&this.chart.navigationBindings.deselectAnnotation()}function O(){this.navigationBindings&&this.navigationBindings.destroy()}function S(){let t=this.options;t&&t.navigation&&t.navigation.bindings&&(this.navigationBindings=new z(this,t.navigation),this.navigationBindings.initEvents(),this.navigationBindings.initUpdate())}function L(){let t=this.navigationBindings,i="highcharts-disabled-btn";if(this&&t){let e=!1;if(this.series.forEach(t=>{!t.options.isInternal&&t.visible&&(e=!0)}),this.navigationBindings&&this.navigationBindings.container&&this.navigationBindings.container[0]){let s=this.navigationBindings.container[0];C(t.boundClassNames,(t,n)=>{let o=s.querySelectorAll("."+n);if(o)for(let s=0;s<o.length;s++){let n=o[s],a=n.className;"normal"===t.noDataState?-1!==a.indexOf(i)&&n.classList.remove(i):e?-1!==a.indexOf(i)&&n.classList.remove(i):-1===a.indexOf(i)&&(n.className+=" "+i)}})}}}function B(){this.deselectAnnotation()}function E(){this.selectedButtonElement=null}function I(t){let i,e;let s=t.prototype.defaultOptions.events&&t.prototype.defaultOptions.events.click;function n(t){let i=this,e=i.chart.navigationBindings,n=e.activeAnnotation;s&&s.call(i,t),n!==i?(e.deselectAnnotation(),e.activeAnnotation=i,i.setControlPointsVisibility(!0),f(e,"showPopup",{annotation:i,formType:"annotation-toolbar",options:e.annotationToFields(i),onSubmit:function(t){if("remove"===t.actionType)e.activeAnnotation=!1,e.chart.removeAnnotation(i);else{let s={};e.fieldsToOptions(t.fields,s),e.deselectAnnotation();let n=s.typeOptions;"measure"===i.options.type&&(n.crosshairY.enabled=0!==n.crosshairY.strokeWidth,n.crosshairX.enabled=0!==n.crosshairX.strokeWidth),i.update(s)}}})):f(e,"closePopup"),t.activeAnnotation=!0}A(!0,t.prototype.defaultOptions.events,{click:n,touchstart:function(t){i=t.touches[0].clientX,e=t.touches[0].clientY},touchend:function(t){i&&Math.sqrt(Math.pow(i-t.changedTouches[0].clientX,2)+Math.pow(e-t.changedTouches[0].clientY,2))>=4||n.call(this,t)}})}class z{static compose(t,i){T(c,"NavigationBindings")&&(u(t,"remove",N),I(t),C(t.types,t=>{I(t)}),u(i,"destroy",O),u(i,"load",S),u(i,"render",L),u(z,"closePopup",B),u(z,"deselectButton",E),r(n))}constructor(t,i){this.boundClassNames=void 0,this.chart=t,this.options=i,this.eventsToUnbind=[],this.container=this.chart.container.getElementsByClassName(this.options.bindingsClassName||""),this.container.length||(this.container=h.getElementsByClassName(this.options.bindingsClassName||""))}getCoords(t){let i=this.chart.pointer?.getCoordinates(t);return[i&&d(i.xAxis),i&&d(i.yAxis)]}initEvents(){let t=this,i=t.chart,e=t.container,n=t.options;t.boundClassNames={},C(n.bindings||{},i=>{t.boundClassNames[i.className]=i}),[].forEach.call(e,i=>{t.eventsToUnbind.push(u(i,"click",e=>{let s=t.getButtonEvents(i,e);s&&!s.button.classList.contains("highcharts-disabled-btn")&&t.bindingsButtonClick(s.button,s.events,e)}))}),C(n.events||{},(i,e)=>{b(i)&&t.eventsToUnbind.push(u(t,e,i,{passive:!1}))}),t.eventsToUnbind.push(u(i.container,"click",function(e){!i.cancelClick&&i.isInsidePlot(e.chartX-i.plotLeft,e.chartY-i.plotTop,{visiblePlotOnly:!0})&&t.bindingsChartClick(this,e)})),t.eventsToUnbind.push(u(i.container,s.isTouchDevice?"touchmove":"mousemove",function(i){t.bindingsContainerMouseMove(this,i)},s.isTouchDevice?{passive:!1}:void 0))}initUpdate(){let i=this;t.compose(this.chart).navigation.addUpdate(t=>{i.update(t)})}bindingsButtonClick(t,i,e){let s=this.chart,n=s.renderer.boxWrapper,o=!0;this.selectedButtonElement&&(this.selectedButtonElement.classList===t.classList&&(o=!1),f(this,"deselectButton",{button:this.selectedButtonElement}),this.nextEvent&&(this.currentUserDetails&&"annotations"===this.currentUserDetails.coll&&s.removeAnnotation(this.currentUserDetails),this.mouseMoveEvent=this.nextEvent=!1)),o?(this.selectedButton=i,this.selectedButtonElement=t,f(this,"selectButton",{button:t}),i.init&&i.init.call(this,t,e),(i.start||i.steps)&&s.renderer.boxWrapper.addClass("highcharts-draw-mode")):(s.stockTools&&t.classList.remove("highcharts-active"),n.removeClass("highcharts-draw-mode"),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null)}bindingsChartClick(t,i){t=this.chart;let e=this.activeAnnotation,s=this.selectedButton,n=t.renderer.boxWrapper;e&&(e.cancelClick||i.activeAnnotation||!i.target.parentNode||function(t,i){let e=p.Element.prototype,s=e.matches||e.msMatchesSelector||e.webkitMatchesSelector,n=null;if(e.closest)n=e.closest.call(t,i);else do{if(s.call(t,i))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return n}(i.target,".highcharts-popup")?e.cancelClick&&setTimeout(()=>{e.cancelClick=!1},0):f(this,"closePopup")),s&&s.start&&(this.nextEvent?(this.nextEvent(i,this.currentUserDetails),this.steps&&(this.stepIndex++,s.steps[this.stepIndex]?this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]:(f(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),s.end&&s.end.call(this,i,this.currentUserDetails),this.nextEvent=!1,this.mouseMoveEvent=!1,this.selectedButton=null))):(this.currentUserDetails=s.start.call(this,i),this.currentUserDetails&&s.steps?(this.stepIndex=0,this.steps=!0,this.mouseMoveEvent=this.nextEvent=s.steps[this.stepIndex]):(f(this,"deselectButton",{button:this.selectedButtonElement}),n.removeClass("highcharts-draw-mode"),this.steps=!1,this.selectedButton=null,s.end&&s.end.call(this,i,this.currentUserDetails))))}bindingsContainerMouseMove(t,i){this.mouseMoveEvent&&this.mouseMoveEvent(i,this.currentUserDetails)}fieldsToOptions(t,i){return C(t,(t,e)=>{let s=parseFloat(t),n=e.split("."),o=n.length-1;if(!x(s)||t.match(/px|em/g)||e.match(/format/g)||(t=s),"undefined"!==t){let e=i;n.forEach((i,s)=>{if("__proto__"!==i&&"constructor"!==i){let a=w(n[s+1],"");o===s?e[i]=t:(e[i]||(e[i]=a.match(/\d/g)?[]:{}),e=e[i])}})}}),i}deselectAnnotation(){this.activeAnnotation&&(this.activeAnnotation.setControlPointsVisibility(!1),this.activeAnnotation=!1)}annotationToFields(t){let i=t.options,e=z.annotationsEditable,s=e.nestedOptions,n=w(i.type,i.shapes&&i.shapes[0]&&i.shapes[0].type,i.labels&&i.labels[0]&&i.labels[0].type,"label"),o=z.annotationsNonEditable[i.langKey]||[],a={langKey:i.langKey,type:n};function r(i,e,n,a,c){let h;n&&y(i)&&-1===o.indexOf(e)&&((n.indexOf&&n.indexOf(e))>=0||n[e]||!0===n)&&(v(i)?(a[e]=[],i.forEach((t,i)=>{k(t)?(a[e][i]={},C(t,(t,n)=>{r(t,n,s[e],a[e][i],e)})):r(t,0,s[e],a[e],e)})):k(i)?(h={},v(a)?(a.push(h),h[e]={},h=h[e]):a[e]=h,C(i,(t,i)=>{r(t,i,0===e?n:s[e],h,e)})):"format"===e?a[e]=[l(i,t.labels[0].points[0]).toString(),"text"]:v(a)?a.push([i,g(c,i)]):a[e]=[i,g(e,i)])}return C(i,(t,o)=>{"typeOptions"===o?(a[o]={},C(i[o],(t,i)=>{r(t,i,s,a[o],i)})):r(t,o,e[n],a,o)}),a}getClickedClassNames(t,i){let e=i.target,s=[],n;for(;e&&e.tagName&&((n=m(e,"class"))&&(s=s.concat(n.split(" ").map(t=>[t,e]))),(e=e.parentNode)!==t););return s}getButtonEvents(t,i){let e;let s=this;return this.getClickedClassNames(t,i).forEach(t=>{s.boundClassNames[t[0]]&&!e&&(e={events:s.boundClassNames[t[0]],button:t[1]})}),e}update(t){this.options=A(!0,this.options,t),this.removeEvents(),this.initEvents()}removeEvents(){this.eventsToUnbind.forEach(t=>t())}destroy(){this.removeEvents()}}return z.annotationsEditable={nestedOptions:{labelOptions:["style","format","backgroundColor"],labels:["style"],label:["style"],style:["fontSize","color"],background:["fill","strokeWidth","stroke"],innerBackground:["fill","strokeWidth","stroke"],outerBackground:["fill","strokeWidth","stroke"],shapeOptions:["fill","strokeWidth","stroke"],shapes:["fill","strokeWidth","stroke"],line:["strokeWidth","stroke"],backgroundColors:[!0],connector:["fill","strokeWidth","stroke"],crosshairX:["strokeWidth","stroke"],crosshairY:["strokeWidth","stroke"]},circle:["shapes"],ellipse:["shapes"],verticalLine:[],label:["labelOptions"],measure:["background","crosshairY","crosshairX"],fibonacci:[],tunnel:["background","line","height"],pitchfork:["innerBackground","outerBackground"],rect:["shapes"],crookedLine:[],basicAnnotation:["shapes","labelOptions"]},z.annotationsNonEditable={rectangle:["crosshairX","crosshairY","labelOptions"],ellipse:["labelOptions"],circle:["labelOptions"]},z}),e(i,"Stock/StockTools/StockToolsUtilities.js",[i["Core/Defaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Core/Series/Series.js"],i["Core/Utilities.js"]],function(t,i,e,s){let{getOptions:n}=t,{getAssignedAxis:o,getFieldType:a}=i,{defined:r,fireEvent:l,isNumber:c,uniqueKey:h}=s,p=["apo","ad","aroon","aroonoscillator","atr","ao","cci","chaikin","cmf","cmo","disparityindex","dmi","dpo","linearRegressionAngle","linearRegressionIntercept","linearRegressionSlope","klinger","macd","mfi","momentum","natr","obv","ppo","roc","rsi","slowstochastic","stochastic","trix","williamsr"],d=["ad","cmf","klinger","mfi","obv","vbp","vwap"];function g(t,i){let e=i.pointer?.getCoordinates(t),s,n,a=Number.MAX_VALUE,r;if(i.navigationBindings&&e&&(s=o(e.xAxis),n=o(e.yAxis)),!s||!n)return;let l=s.value,c=n.value;if(n.axis.series.forEach(i=>{if(i.points){let e=i.searchPoint(t,!0);e&&a>Math.abs(e.x-l)&&(a=Math.abs(e.x-l),r=e)}}),r&&r.x&&r.y)return{x:r.x,y:r.y,below:c<r.y,series:r.series,xAxis:r.series.xAxis.index||0,yAxis:r.series.yAxis.index||0}}return{indicatorsWithAxes:p,indicatorsWithVolume:d,addFlagFromForm:function(t){return function(i){let e=this,s=e.chart,n=s.stockTools,o=g(i,s);if(!o)return;let r={x:o.x,y:o.y},c={type:"flags",onSeries:o.series.id,shape:t,data:[r],xAxis:o.xAxis,yAxis:o.yAxis,point:{events:{click:function(){let t=this,i=t.options;l(e,"showPopup",{point:t,formType:"annotation-toolbar",options:{langKey:"flags",type:"flags",title:[i.title,a("title",i.title)],name:[i.name,a("name",i.name)]},onSubmit:function(i){"remove"===i.actionType?t.remove():t.update(e.fieldsToOptions(i.fields,{}))}})}}}};n&&n.guiEnabled||s.addSeries(c),l(e,"showPopup",{formType:"flag",options:{langKey:"flags",type:"flags",title:["A",a("label","A")],name:["Flag A",a("label","Flag A")]},onSubmit:function(t){e.fieldsToOptions(t.fields,c.data[0]),s.addSeries(c)}})}},attractToPoint:g,getAssignedAxis:o,isNotNavigatorYAxis:function(t){return"highcharts-navigator-yaxis"!==t.userOptions.className},isPriceIndicatorEnabled:function(t){return t.some(t=>t.lastVisiblePrice||t.lastPrice)},manageIndicators:function(t){let i,s,o,a;let c=this.chart,g={linkedTo:t.linkedTo,type:t.type};if("edit"===t.actionType)this.fieldsToOptions(t.fields,g),(a=c.get(t.seriesId))&&a.update(g,!1);else if("remove"===t.actionType){if((a=c.get(t.seriesId))&&(i=a.yAxis,a.linkedSeries&&a.linkedSeries.forEach(t=>{t.remove(!1)}),a.remove(!1),p.indexOf(a.type)>=0)){let t={height:i.options.height,top:i.options.top};i.remove(!1),this.resizeYAxes(t)}}else g.id=h(),this.fieldsToOptions(t.fields,g),s=c.get(g.linkedTo),o=n().plotOptions,void 0!==s&&s instanceof e&&"sum"===s.getDGApproximation()&&!r(o&&o[g.type]&&o.dataGrouping&&o.dataGrouping.approximation)&&(g.dataGrouping={approximation:"sum"}),p.indexOf(t.type)>=0?(i=c.addAxis({id:h(),offset:0,opposite:!0,title:{text:""},tickPixelInterval:40,showLastLabel:!1,labels:{align:"left",y:-2}},!1,!1),g.yAxis=i.options.id,this.resizeYAxes()):g.yAxis=c.get(t.linkedTo).options.yAxis,d.indexOf(t.type)>=0&&(g.params.volumeSeriesID=c.series.filter(function(t){return"column"===t.options.type})[0].options.id),c.addSeries(g,!1);l(this,"deselectButton",{button:this.selectedButtonElement}),c.redraw()},shallowArraysEqual:function(t,i){if(!r(t)||!r(i)||t.length!==i.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==i[e])return!1;return!0},updateHeight:function(t,i){let e=i.options.typeOptions,s=c(e.yAxis)&&this.chart.yAxis[e.yAxis];s&&e.points&&i.update({typeOptions:{height:s.toValue(t[s.horiz?"chartX":"chartY"])-(e.points[1].y||0)}})},updateNthPoint:function(t){return function(i,e){let s=e.options.typeOptions,n=c(s.xAxis)&&this.chart.xAxis[s.xAxis],o=c(s.yAxis)&&this.chart.yAxis[s.yAxis];n&&o&&(s.points.forEach((e,s)=>{s>=t&&(e.x=n.toValue(i[n.horiz?"chartX":"chartY"]),e.y=o.toValue(i[o.horiz?"chartX":"chartY"]))}),e.update({typeOptions:{points:s.points}}))}},updateRectSize:function(t,i){let e=i.chart,s=i.options.typeOptions,n=c(s.xAxis)&&e.xAxis[s.xAxis],o=c(s.yAxis)&&e.yAxis[s.yAxis];if(n&&o){let a=n.toValue(t[n.horiz?"chartX":"chartY"]),r=o.toValue(t[o.horiz?"chartX":"chartY"]),l=a-s.point.x,c=s.point.y-r;i.update({typeOptions:{background:{width:e.inverted?c:l,height:e.inverted?l:c}}})}}}}),e(i,"Stock/StockTools/StockToolsBindings.js",[i["Core/Globals.js"],i["Stock/StockTools/StockToolsUtilities.js"],i["Core/Utilities.js"]],function(t,i,e){let{addFlagFromForm:s,attractToPoint:n,isNotNavigatorYAxis:o,isPriceIndicatorEnabled:a,manageIndicators:r,updateHeight:l,updateNthPoint:c,updateRectSize:h}=i,{fireEvent:p,merge:d}=e;return{segment:{className:"highcharts-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"segment",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.segment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},arrowSegment:{className:"highcharts-arrow-segment",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"arrowSegment",type:"crookedLine",typeOptions:{line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowSegment.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},ray:{className:"highcharts-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"ray",type:"infinityLine",typeOptions:{type:"ray",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.ray.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},arrowRay:{className:"highcharts-arrow-ray",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"arrowRay",type:"infinityLine",typeOptions:{type:"ray",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowRay.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},infinityLine:{className:"highcharts-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"infinityLine",type:"infinityLine",typeOptions:{type:"line",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.infinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},arrowInfinityLine:{className:"highcharts-arrow-infinity-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"arrowInfinityLine",type:"infinityLine",typeOptions:{type:"line",line:{markerEnd:"arrow"},xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value},{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.arrowInfinityLine.annotationsOptions);return this.chart.addAnnotation(n)},steps:[c(1)]},horizontalLine:{className:"highcharts-horizontal-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"horizontalLine",type:"infinityLine",draggable:"y",typeOptions:{type:"horizontalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.horizontalLine.annotationsOptions);this.chart.addAnnotation(n)}},verticalLine:{className:"highcharts-vertical-line",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({langKey:"verticalLine",type:"infinityLine",draggable:"x",typeOptions:{type:"verticalLine",xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value}]}},s.annotationsOptions,s.bindings.verticalLine.annotationsOptions);this.chart.addAnnotation(n)}},crooked3:{className:"highcharts-crooked3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"crooked3",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2)]},crooked5:{className:"highcharts-crooked5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"crooked5",type:"crookedLine",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.crooked5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2),c(3),c(4)]},elliott3:{className:"highcharts-elliott3",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"elliott3",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott3.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2),c(3)]},elliott5:{className:"highcharts-elliott5",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"elliott5",type:"elliottWave",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.elliott5.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2),c(3),c(4),c(5)]},measureX:{className:"highcharts-measure-x",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"measure",type:"measure",typeOptions:{selectType:"x",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{enabled:!1,strokeWidth:0,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureX.annotationsOptions);return this.chart.addAnnotation(a)},steps:[h]},measureY:{className:"highcharts-measure-y",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"measure",type:"measure",typeOptions:{selectType:"y",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},crosshairX:{enabled:!1,strokeWidth:0,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"},background:{width:0,height:0,strokeWidth:0,stroke:"#ffffff"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[h]},measureXY:{className:"highcharts-measure-xy",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"measure",type:"measure",typeOptions:{selectType:"xy",xAxis:i.axis.index,yAxis:e.axis.index,point:{x:s,y:n},background:{width:0,height:0,strokeWidth:10},crosshairX:{strokeWidth:1,stroke:"#000000"},crosshairY:{strokeWidth:1,stroke:"#000000"}},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.measureXY.annotationsOptions);return this.chart.addAnnotation(a)},steps:[h]},fibonacci:{className:"highcharts-fibonacci",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"fibonacci",type:"fibonacci",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]},labelOptions:{style:{color:"#666666"}}},o.annotationsOptions,o.bindings.fibonacci.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),l]},parallelChannel:{className:"highcharts-parallel-channel",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"parallelChannel",type:"tunnel",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:s,y:n},{x:s,y:n}]}},o.annotationsOptions,o.bindings.parallelChannel.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),l]},pitchfork:{className:"highcharts-pitchfork",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=i.value,n=e.value,o=this.chart.options.navigation,a=d({langKey:"pitchfork",type:"pitchfork",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value,y:e.value,controlPoint:{style:{fill:"#f21313"}}},{x:s,y:n},{x:s,y:n}],innerBackground:{fill:"rgba(100, 170, 255, 0.8)"}},shapeOptions:{strokeWidth:2}},o.annotationsOptions,o.bindings.pitchfork.annotationsOptions);return this.chart.addAnnotation(a)},steps:[c(1),c(2)]},verticalCounter:{className:"highcharts-vertical-counter",start:function(t){let i=n(t,this.chart);if(!i)return;this.verticalCounter=this.verticalCounter||0;let e=this.chart.options.navigation,s=d({langKey:"verticalCounter",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,text:this.verticalCounter.toString()}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalCounter.annotationsOptions),o=this.chart.addAnnotation(s);this.verticalCounter++,o.options.events.click.call(o,{})}},timeCycles:{className:"highcharts-time-cycles",start:function(t){let i=n(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=d({langKey:"timeCycles",type:"timeCycles",typeOptions:{xAxis:i.xAxis,yAxis:i.yAxis,points:[{x:i.x},{x:i.x}],line:{stroke:"rgba(0, 0, 0, 0.75)",fill:"transparent",strokeWidth:2}}},e.annotationsOptions,e.bindings.timeCycles.annotationsOptions),o=this.chart.addAnnotation(s);return o.options.events.click.call(o,{}),o},steps:[c(1)]},verticalLabel:{className:"highcharts-vertical-label",start:function(t){let i=n(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=d({langKey:"verticalLabel",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40}},labelOptions:{style:{color:"#666666",fontSize:"0.7em"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalLabel.annotationsOptions),o=this.chart.addAnnotation(s);o.options.events.click.call(o,{})}},verticalArrow:{className:"highcharts-vertical-arrow",start:function(t){let i=n(t,this.chart);if(!i)return;let e=this.chart.options.navigation,s=d({langKey:"verticalArrow",type:"verticalLine",typeOptions:{point:{x:i.x,y:i.y,xAxis:i.xAxis,yAxis:i.yAxis},label:{offset:i.below?40:-40,format:" "},connector:{fill:"none",stroke:i.below?"#f21313":"#06b535"}},shapeOptions:{stroke:"rgba(0, 0, 0, 0.75)",strokeWidth:1}},e.annotationsOptions,e.bindings.verticalArrow.annotationsOptions),o=this.chart.addAnnotation(s);o.options.events.click.call(o,{})}},fibonacciTimeZones:{className:"highcharts-fibonacci-time-zones",start:function(t){let[i,e]=this.getCoords(t);if(!i||!e)return;let s=this.chart.options.navigation,n=d({type:"fibonacciTimeZones",langKey:"fibonacciTimeZones",typeOptions:{xAxis:i.axis.index,yAxis:e.axis.index,points:[{x:i.value}]}},s.annotationsOptions,s.bindings.fibonacciTimeZones.annotationsOptions);return this.chart.addAnnotation(n)},steps:[function(t,i){let e=i.options.typeOptions.points,s=e&&e[0].x,[n,o]=this.getCoords(t);n&&o&&i.update({typeOptions:{xAxis:n.axis.index,yAxis:o.axis.index,points:[{x:s},{x:n.value}]}})}]},flagCirclepin:{className:"highcharts-flag-circlepin",start:s("circlepin")},flagDiamondpin:{className:"highcharts-flag-diamondpin",start:s("flag")},flagSquarepin:{className:"highcharts-flag-squarepin",start:s("squarepin")},flagSimplepin:{className:"highcharts-flag-simplepin",start:s("nopin")},zoomX:{className:"highcharts-zoom-x",init:function(t){this.chart.update({chart:{zooming:{type:"x"}}}),p(this,"deselectButton",{button:t})}},zoomY:{className:"highcharts-zoom-y",init:function(t){this.chart.update({chart:{zooming:{type:"y"}}}),p(this,"deselectButton",{button:t})}},zoomXY:{className:"highcharts-zoom-xy",init:function(t){this.chart.update({chart:{zooming:{type:"xy"}}}),p(this,"deselectButton",{button:t})}},seriesTypeLine:{className:"highcharts-series-type-line",init:function(t){this.chart.series[0].update({type:"line",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeOhlc:{className:"highcharts-series-type-ohlc",init:function(t){this.chart.series[0].update({type:"ohlc"}),p(this,"deselectButton",{button:t})}},seriesTypeCandlestick:{className:"highcharts-series-type-candlestick",init:function(t){this.chart.series[0].update({type:"candlestick"}),p(this,"deselectButton",{button:t})}},seriesTypeHeikinAshi:{className:"highcharts-series-type-heikinashi",init:function(t){this.chart.series[0].update({type:"heikinashi"}),p(this,"deselectButton",{button:t})}},seriesTypeHLC:{className:"highcharts-series-type-hlc",init:function(t){this.chart.series[0].update({type:"hlc",useOhlcData:!0}),p(this,"deselectButton",{button:t})}},seriesTypeHollowCandlestick:{className:"highcharts-series-type-hollowcandlestick",init:function(t){this.chart.series[0].update({type:"hollowcandlestick"}),p(this,"deselectButton",{button:t})}},fullScreen:{className:"highcharts-full-screen",noDataState:"normal",init:function(t){this.chart.fullscreen&&this.chart.fullscreen.toggle(),p(this,"deselectButton",{button:t})}},currentPriceIndicator:{className:"highcharts-current-price-indicator",init:function(t){let i=this.chart,e=i.series,s=i.stockTools,n=a(i.series);s&&s.guiEnabled&&(e.forEach(function(t){t.update({lastPrice:{enabled:!n},lastVisiblePrice:{enabled:!n,label:{enabled:!0}}},!1)}),i.redraw()),p(this,"deselectButton",{button:t})}},indicators:{className:"highcharts-indicators",init:function(){let t=this;p(t,"showPopup",{formType:"indicators",options:{},onSubmit:function(i){r.call(t,i)}})}},toggleAnnotations:{className:"highcharts-toggle-annotations",init:function(t){let i=this.chart,e=i.stockTools,s=e.getIconsURL();this.toggledAnnotations=!this.toggledAnnotations,(i.annotations||[]).forEach(function(t){t.setVisibility(!this.toggledAnnotations)},this),e&&e.guiEnabled&&(this.toggledAnnotations?t.firstChild.style["background-image"]='url("'+s+'annotations-hidden.svg")':t.firstChild.style["background-image"]='url("'+s+'annotations-visible.svg")'),p(this,"deselectButton",{button:t})}},saveChart:{className:"highcharts-save-chart",noDataState:"normal",init:function(i){let e=this.chart,s=[],n=[],a=[],r=[];e.annotations.forEach(function(t,i){s[i]=t.userOptions}),e.series.forEach(function(t){t.is("sma")?n.push(t.userOptions):"flags"===t.type&&a.push(t.userOptions)}),e.yAxis.forEach(function(t){o(t)&&r.push(t.options)}),t.win.localStorage.setItem("highcharts-chart",JSON.stringify({annotations:s,indicators:n,flags:a,yAxes:r})),p(this,"deselectButton",{button:i})}}}}),e(i,"Stock/StockTools/StockToolsDefaults.js",[],function(){return{lang:{stockTools:{gui:{simpleShapes:"Simple shapes",lines:"Lines",crookedLines:"Crooked lines",measure:"Measure",advanced:"Advanced",toggleAnnotations:"Toggle annotations",verticalLabels:"Vertical labels",flags:"Flags",zoomChange:"Zoom change",typeChange:"Type change",saveChart:"Save chart",indicators:"Indicators",currentPriceIndicator:"Current Price Indicators",zoomX:"Zoom X",zoomY:"Zoom Y",zoomXY:"Zooom XY",fullScreen:"Fullscreen",typeOHLC:"OHLC",typeLine:"Line",typeCandlestick:"Candlestick",typeHLC:"HLC",typeHollowCandlestick:"Hollow Candlestick",typeHeikinAshi:"Heikin Ashi",circle:"Circle",ellipse:"Ellipse",label:"Label",rectangle:"Rectangle",flagCirclepin:"Flag circle",flagDiamondpin:"Flag diamond",flagSquarepin:"Flag square",flagSimplepin:"Flag simple",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",infinityLine:"Infinity line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",timeCycles:"Time Cycles"}},navigation:{popup:{circle:"Circle",ellipse:"Ellipse",rectangle:"Rectangle",label:"Label",segment:"Segment",arrowSegment:"Arrow segment",ray:"Ray",arrowRay:"Arrow ray",line:"Line",arrowInfinityLine:"Arrow line",horizontalLine:"Horizontal line",verticalLine:"Vertical line",crooked3:"Crooked 3 line",crooked5:"Crooked 5 line",elliott3:"Elliott 3 line",elliott5:"Elliott 5 line",verticalCounter:"Vertical counter",verticalLabel:"Vertical label",verticalArrow:"Vertical arrow",fibonacci:"Fibonacci",fibonacciTimeZones:"Fibonacci Time Zones",pitchfork:"Pitchfork",parallelChannel:"Parallel channel",infinityLine:"Infinity line",measure:"Measure",measureXY:"Measure XY",measureX:"Measure X",measureY:"Measure Y",timeCycles:"Time Cycles",flags:"Flags",addButton:"Add",saveButton:"Save",editButton:"Edit",removeButton:"Remove",series:"Series",volume:"Volume",connector:"Connector",innerBackground:"Inner background",outerBackground:"Outer background",crosshairX:"Crosshair X",crosshairY:"Crosshair Y",tunnel:"Tunnel",background:"Background",noFilterMatch:"No match",searchIndicators:"Search Indicators",clearFilter:"✕ clear filter",index:"Index",period:"Period",periods:"Periods",standardDeviation:"Standard deviation",periodTenkan:"Tenkan period",periodSenkouSpanB:"Senkou Span B period",periodATR:"ATR period",multiplierATR:"ATR multiplier",shortPeriod:"Short period",longPeriod:"Long period",signalPeriod:"Signal period",decimals:"Decimals",algorithm:"Algorithm",topBand:"Top band",bottomBand:"Bottom band",initialAccelerationFactor:"Initial acceleration factor",maxAccelerationFactor:"Max acceleration factor",increment:"Increment",multiplier:"Multiplier",ranges:"Ranges",highIndex:"High index",lowIndex:"Low index",deviation:"Deviation",xAxisUnit:"x-axis unit",factor:"Factor",fastAvgPeriod:"Fast average period",slowAvgPeriod:"Slow average period",average:"Average",indicatorAliases:{abands:["Acceleration Bands"],bb:["Bollinger Bands"],dema:["Double Exponential Moving Average"],ema:["Exponential Moving Average"],ikh:["Ichimoku Kinko Hyo"],keltnerchannels:["Keltner Channels"],linearRegression:["Linear Regression"],pivotpoints:["Pivot Points"],pc:["Price Channel"],priceenvelopes:["Price Envelopes"],psar:["Parabolic SAR"],sma:["Simple Moving Average"],supertrend:["Super Trend"],tema:["Triple Exponential Moving Average"],vbp:["Volume by Price"],vwap:["Volume Weighted Moving Average"],wma:["Weighted Moving Average"],zigzag:["Zig Zag"],apo:["Absolute price indicator"],ad:["Accumulation/Distribution"],aroon:["Aroon"],aroonoscillator:["Aroon oscillator"],atr:["Average True Range"],ao:["Awesome oscillator"],cci:["Commodity Channel Index"],chaikin:["Chaikin"],cmf:["Chaikin Money Flow"],cmo:["Chande Momentum Oscillator"],disparityindex:["Disparity Index"],dmi:["Directional Movement Index"],dpo:["Detrended price oscillator"],klinger:["Klinger Oscillator"],linearRegressionAngle:["Linear Regression Angle"],linearRegressionIntercept:["Linear Regression Intercept"],linearRegressionSlope:["Linear Regression Slope"],macd:["Moving Average Convergence Divergence"],mfi:["Money Flow Index"],momentum:["Momentum"],natr:["Normalized Average True Range"],obv:["On-Balance Volume"],ppo:["Percentage Price oscillator"],roc:["Rate of Change"],rsi:["Relative Strength Index"],slowstochastic:["Slow Stochastic"],stochastic:["Stochastic"],trix:["TRIX"],williamsr:["Williams %R"]}}}},stockTools:{gui:{enabled:!0,className:"highcharts-bindings-wrapper",toolbarClassName:"stocktools-toolbar",buttons:["indicators","separator","simpleShapes","lines","crookedLines","measure","advanced","toggleAnnotations","separator","verticalLabels","flags","separator","zoomChange","fullScreen","typeChange","separator","currentPriceIndicator","saveChart"],definitions:{separator:{elementType:"span",symbol:"separator.svg"},simpleShapes:{items:["label","circle","ellipse","rectangle"],circle:{symbol:"circle.svg"},ellipse:{symbol:"ellipse.svg"},rectangle:{symbol:"rectangle.svg"},label:{symbol:"label.svg"}},flags:{items:["flagCirclepin","flagDiamondpin","flagSquarepin","flagSimplepin"],flagSimplepin:{symbol:"flag-basic.svg"},flagDiamondpin:{symbol:"flag-diamond.svg"},flagSquarepin:{symbol:"flag-trapeze.svg"},flagCirclepin:{symbol:"flag-elipse.svg"}},lines:{items:["segment","arrowSegment","ray","arrowRay","line","arrowInfinityLine","horizontalLine","verticalLine"],segment:{symbol:"segment.svg"},arrowSegment:{symbol:"arrow-segment.svg"},ray:{symbol:"ray.svg"},arrowRay:{symbol:"arrow-ray.svg"},line:{symbol:"line.svg"},arrowInfinityLine:{symbol:"arrow-line.svg"},verticalLine:{symbol:"vertical-line.svg"},horizontalLine:{symbol:"horizontal-line.svg"}},crookedLines:{items:["elliott3","elliott5","crooked3","crooked5"],crooked3:{symbol:"crooked-3.svg"},crooked5:{symbol:"crooked-5.svg"},elliott3:{symbol:"elliott-3.svg"},elliott5:{symbol:"elliott-5.svg"}},verticalLabels:{items:["verticalCounter","verticalLabel","verticalArrow"],verticalCounter:{symbol:"vertical-counter.svg"},verticalLabel:{symbol:"vertical-label.svg"},verticalArrow:{symbol:"vertical-arrow.svg"}},advanced:{items:["fibonacci","fibonacciTimeZones","pitchfork","parallelChannel","timeCycles"],pitchfork:{symbol:"pitchfork.svg"},fibonacci:{symbol:"fibonacci.svg"},fibonacciTimeZones:{symbol:"fibonacci-timezone.svg"},parallelChannel:{symbol:"parallel-channel.svg"},timeCycles:{symbol:"time-cycles.svg"}},measure:{items:["measureXY","measureX","measureY"],measureX:{symbol:"measure-x.svg"},measureY:{symbol:"measure-y.svg"},measureXY:{symbol:"measure-xy.svg"}},toggleAnnotations:{symbol:"annotations-visible.svg"},currentPriceIndicator:{symbol:"current-price-show.svg"},indicators:{symbol:"indicators.svg"},zoomChange:{items:["zoomX","zoomY","zoomXY"],zoomX:{symbol:"zoom-x.svg"},zoomY:{symbol:"zoom-y.svg"},zoomXY:{symbol:"zoom-xy.svg"}},typeChange:{items:["typeOHLC","typeLine","typeCandlestick","typeHollowCandlestick","typeHLC","typeHeikinAshi"],typeOHLC:{symbol:"series-ohlc.svg"},typeLine:{symbol:"series-line.svg"},typeCandlestick:{symbol:"series-candlestick.svg"},typeHLC:{symbol:"series-hlc.svg"},typeHeikinAshi:{symbol:"series-heikin-ashi.svg"},typeHollowCandlestick:{symbol:"series-hollow-candlestick.svg"}},fullScreen:{symbol:"fullscreen.svg"},saveChart:{symbol:"save-chart.svg"}},visible:!0}}}}),e(i,"Stock/StockTools/StockTools.js",[i["Core/Defaults.js"],i["Extensions/Annotations/NavigationBindingsUtilities.js"],i["Stock/StockTools/StockToolsBindings.js"],i["Stock/StockTools/StockToolsDefaults.js"],i["Stock/StockTools/StockToolsUtilities.js"],i["Core/Utilities.js"]],function(t,i,e,s,n,o){let{setOptions:a}=t,{getAssignedAxis:r}=i,{isNotNavigatorYAxis:l,isPriceIndicatorEnabled:c}=n,{correctFloat:h,defined:p,isNumber:d,pick:g}=o;function u(t,i,e,s){let n=0,o,a,r;function l(t){return p(t)&&!d(t)&&t.match("%")}return s&&(r=h(parseFloat(s.top)/100),a=h(parseFloat(s.height)/100)),{positions:t.map((s,c)=>{let p=h(l(s.options.height)?parseFloat(s.options.height)/100:s.height/i),g=h(l(s.options.top)?parseFloat(s.options.top)/100:(s.top-s.chart.plotTop)/i);return a?(g>r&&(g-=a),n=Math.max(n,(g||0)+(p||0))):(d(p)||(p=t[c-1].series.every(t=>t.is("sma"))?o:e/100),d(g)||(g=n),o=p,n=h(Math.max(n,(g||0)+(p||0)))),{height:100*p,top:100*g}}),allAxesHeight:n}}function m(t){let i=[];return t.forEach(function(e,s){let n=t[s+1];n?i[s]={enabled:!0,controlledAxis:{next:[g(n.options.id,n.index)]}}:i[s]={enabled:!1}}),i}function y(t,i,e,s){return t.forEach(function(n,o){let a=t[o-1];n.top=a?h(a.height+a.top):0,e&&(n.height=h(n.height+s*i))}),t}function f(t){let i=this.chart,e=i.yAxis.filter(l),s=i.plotHeight,{positions:n,allAxesHeight:o}=this.getYAxisPositions(e,s,20,t),a=this.getYAxisResizers(e);!t&&o<=h(1)?n[n.length-1]={height:20,top:h(100*o-20)}:n.forEach(function(t){t.height=t.height/(100*o)*100,t.top=t.top/(100*o)*100}),n.forEach(function(t,i){e[i].update({height:t.height+"%",top:t.top+"%",resize:a[i],offset:0},!1)})}return{compose:function(t){let i=t.prototype;i.utils?.manageIndicators||(i.getYAxisPositions=u,i.getYAxisResizers=m,i.recalculateYAxisPositions=y,i.resizeYAxes=f,i.utils=i.utils||{},i.utils.indicatorsWithAxes=n.indicatorsWithAxes,i.utils.indicatorsWithVolume=n.indicatorsWithVolume,i.utils.getAssignedAxis=r,i.utils.isPriceIndicatorEnabled=c,i.utils.manageIndicators=n.manageIndicators,a(s),a({navigation:{bindings:e}}))}}}),e(i,"Stock/StockTools/StockToolbar.js",[i["Core/Utilities.js"],i["Core/Renderer/HTML/AST.js"],i["Stock/StockTools/StockToolsUtilities.js"]],function(t,i,e){let{addEvent:s,createElement:n,css:o,defined:a,fireEvent:r,getStyle:l,isArray:c,merge:h,pick:p}=t,{shallowArraysEqual:d}=e;class g{constructor(t,i,e){this.width=0,this.isDirty=!1,this.chart=e,this.options=t,this.lang=i,this.iconsURL=this.getIconsURL(),this.guiEnabled=t.enabled,this.visible=p(t.visible,!0),this.guiClassName=t.className,this.toolbarClassName=t.toolbarClassName,this.eventsToUnbind=[],this.guiEnabled&&(this.createContainer(),this.createButtons(),this.showHideNavigation()),r(this,"afterInit")}createButtons(){let t=this.lang,i=this.options,e=this.toolbar,n=i.buttons,o=i.definitions,a=e.childNodes;this.buttonList=n,n.forEach(i=>{let n=this.addButton(e,o,i,t);this.eventsToUnbind.push(s(n.buttonWrapper,"click",()=>this.eraseActiveButtons(a,n.buttonWrapper))),c(o[i].items)&&this.addSubmenu(n,o[i])})}addSubmenu(t,i){let e=t.submenuArrow,a=t.buttonWrapper,r=l(a,"width"),c=this.wrapper,h=this.listWrapper,p=this.toolbar.childNodes,d=this.submenu=n("ul",{className:"highcharts-submenu-wrapper"},void 0,a);this.addSubmenuItems(a,i),this.eventsToUnbind.push(s(e,"click",t=>{if(t.stopPropagation(),this.eraseActiveButtons(p,a),a.className.indexOf("highcharts-current")>=0)h.style.width=h.startWidth+"px",a.classList.remove("highcharts-current"),d.style.display="none";else{d.style.display="block";let t=d.offsetHeight-a.offsetHeight-3;d.offsetHeight+a.offsetTop>c.offsetHeight&&a.offsetTop>t||(t=0),o(d,{top:-t+"px",left:r+3+"px"}),a.className+=" highcharts-current",h.startWidth=c.offsetWidth,h.style.width=h.startWidth+l(h,"padding-left")+d.offsetWidth+3+"px"}}))}addSubmenuItems(t,i){let e;let n=this,o=this.submenu,a=this.lang,r=this.listWrapper;i.items.forEach(l=>{e=this.addButton(o,i,l,a),this.eventsToUnbind.push(s(e.mainButton,"click",function(){n.switchSymbol(this,t,!0),r.style.width=r.startWidth+"px",o.style.display="none"}))});let l=o.querySelectorAll("li > .highcharts-menu-item-btn")[0];this.switchSymbol(l,!1)}eraseActiveButtons(t,i,e){[].forEach.call(t,t=>{t!==i&&(t.classList.remove("highcharts-current"),t.classList.remove("highcharts-active"),(e=t.querySelectorAll(".highcharts-submenu-wrapper")).length>0&&(e[0].style.display="none"))})}addButton(t,i,e,s={}){let o=i[e],a=o.items,r=g.prototype.classMapping,l=o.className||"",c=n("li",{className:p(r[e],"")+" "+l,title:s[e]||e},void 0,t),h=n(o.elementType||"button",{className:"highcharts-menu-item-btn"},void 0,c);if(a&&a.length){let t=n("button",{className:"highcharts-submenu-item-arrow highcharts-arrow-right"},void 0,c);return t.style.backgroundImage="url("+this.iconsURL+"arrow-bottom.svg)",{buttonWrapper:c,mainButton:h,submenuArrow:t}}return h.style.backgroundImage="url("+this.iconsURL+o.symbol+")",{buttonWrapper:c,mainButton:h}}addNavigation(){let t=this.wrapper;this.arrowWrapper=n("div",{className:"highcharts-arrow-wrapper"}),this.arrowUp=n("div",{className:"highcharts-arrow-up"},void 0,this.arrowWrapper),this.arrowUp.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",this.arrowDown=n("div",{className:"highcharts-arrow-down"},void 0,this.arrowWrapper),this.arrowDown.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",t.insertBefore(this.arrowWrapper,t.childNodes[0]),this.scrollButtons()}scrollButtons(){let t=this.wrapper,i=this.toolbar,e=.1*t.offsetHeight,n=0;this.eventsToUnbind.push(s(this.arrowUp,"click",()=>{n>0&&(n-=e,i.style.marginTop=-n+"px")})),this.eventsToUnbind.push(s(this.arrowDown,"click",()=>{t.offsetHeight+n<=i.offsetHeight+e&&(n+=e,i.style.marginTop=-n+"px")}))}createContainer(){let t,i;let e=this.chart,o=this.options,a=e.container,r=e.options.navigation,l=r?.bindingsClassName,c=this,h=this.wrapper=n("div",{className:"highcharts-stocktools-wrapper "+o.className+" "+l});a.appendChild(h),this.showHideBtn=n("div",{className:"highcharts-toggle-toolbar highcharts-arrow-left"},void 0,h),this.eventsToUnbind.push(s(this.showHideBtn,"click",()=>{this.update({gui:{visible:!c.visible}})})),["mousedown","mousemove","click","touchstart"].forEach(t=>{s(h,t,t=>t.stopPropagation())}),s(h,"mouseover",t=>e.pointer?.onContainerMouseLeave(t)),this.toolbar=i=n("ul",{className:"highcharts-stocktools-toolbar "+o.toolbarClassName}),this.listWrapper=t=n("div",{className:"highcharts-menu-wrapper"}),h.insertBefore(t,h.childNodes[0]),t.insertBefore(i,t.childNodes[0]),this.showHideToolbar(),this.addNavigation()}showHideNavigation(){this.visible&&this.toolbar.offsetHeight>this.wrapper.offsetHeight-50?this.arrowWrapper.style.display="block":(this.toolbar.style.marginTop="0px",this.arrowWrapper.style.display="none")}showHideToolbar(){let t=this.wrapper,i=this.listWrapper,e=this.submenu,s=this.showHideBtn,n=this.visible;s.style.backgroundImage="url("+this.iconsURL+"arrow-right.svg)",n?(t.style.height="100%",i.classList.remove("highcharts-hide"),s.classList.remove("highcharts-arrow-right"),s.style.top=l(i,"padding-top")+"px",s.style.left=t.offsetWidth+l(i,"padding-left")+"px"):(e&&(e.style.display="none"),s.style.left="0px",n=this.visible=!1,i.classList.add("highcharts-hide"),s.classList.add("highcharts-arrow-right"),t.style.height=s.offsetHeight+"px")}switchSymbol(t,i){let e=t.parentNode,s=e.className,n=e.parentNode.parentNode;!(s.indexOf("highcharts-disabled-btn")>-1)&&(n.className="",s&&n.classList.add(s.trim()),n.querySelectorAll(".highcharts-menu-item-btn")[0].style.backgroundImage=t.style.backgroundImage,i&&this.toggleButtonActiveClass(n))}toggleButtonActiveClass(t){let i=t.classList;i.contains("highcharts-active")?i.remove("highcharts-active"):i.add("highcharts-active")}unselectAllButtons(t){let i=t.parentNode.querySelectorAll(".highcharts-active");[].forEach.call(i,i=>{i!==t&&i.classList.remove("highcharts-active")})}update(t,i){this.isDirty=!!t.gui.definitions,h(!0,this.chart.options.stockTools,t),h(!0,this.options,t.gui),this.visible=p(this.options.visible&&this.options.enabled,!0),this.chart.navigationBindings&&this.chart.navigationBindings.update(),this.chart.isDirtyBox=!0,p(i,!0)&&this.chart.redraw()}destroy(){let t=this.wrapper,i=t&&t.parentNode;this.eventsToUnbind.forEach(t=>t()),i&&i.removeChild(t)}redraw(){if(this.options.enabled!==this.guiEnabled)this.handleGuiEnabledChange();else{if(!this.guiEnabled)return;this.updateClassNames(),this.updateButtons(),this.updateVisibility(),this.showHideNavigation(),this.showHideToolbar()}}handleGuiEnabledChange(){!1===this.options.enabled&&(this.destroy(),this.visible=!1),!0===this.options.enabled&&(this.createContainer(),this.createButtons()),this.guiEnabled=this.options.enabled}updateClassNames(){this.options.className!==this.guiClassName&&(this.guiClassName&&this.wrapper.classList.remove(this.guiClassName),this.options.className&&this.wrapper.classList.add(this.options.className),this.guiClassName=this.options.className),this.options.toolbarClassName!==this.toolbarClassName&&(this.toolbarClassName&&this.toolbar.classList.remove(this.toolbarClassName),this.options.toolbarClassName&&this.toolbar.classList.add(this.options.toolbarClassName),this.toolbarClassName=this.options.toolbarClassName)}updateButtons(){(!d(this.options.buttons,this.buttonList)||this.isDirty)&&(this.toolbar.innerHTML=i.emptyHTML,this.createButtons())}updateVisibility(){a(this.options.visible)&&(this.visible=this.options.visible)}getIconsURL(){return this.chart.options.navigation.iconsURL||this.options.iconsURL||"https://code.highcharts.com/11.4.5/gfx/stock-icons/"}}return g.prototype.classMapping={circle:"highcharts-circle-annotation",ellipse:"highcharts-ellipse-annotation",rectangle:"highcharts-rectangle-annotation",label:"highcharts-label-annotation",segment:"highcharts-segment",arrowSegment:"highcharts-arrow-segment",ray:"highcharts-ray",arrowRay:"highcharts-arrow-ray",line:"highcharts-infinity-line",arrowInfinityLine:"highcharts-arrow-infinity-line",verticalLine:"highcharts-vertical-line",horizontalLine:"highcharts-horizontal-line",crooked3:"highcharts-crooked3",crooked5:"highcharts-crooked5",elliott3:"highcharts-elliott3",elliott5:"highcharts-elliott5",pitchfork:"highcharts-pitchfork",fibonacci:"highcharts-fibonacci",fibonacciTimeZones:"highcharts-fibonacci-time-zones",parallelChannel:"highcharts-parallel-channel",measureX:"highcharts-measure-x",measureY:"highcharts-measure-y",measureXY:"highcharts-measure-xy",timeCycles:"highcharts-time-cycles",verticalCounter:"highcharts-vertical-counter",verticalLabel:"highcharts-vertical-label",verticalArrow:"highcharts-vertical-arrow",currentPriceIndicator:"highcharts-current-price-indicator",indicators:"highcharts-indicators",flagCirclepin:"highcharts-flag-circlepin",flagDiamondpin:"highcharts-flag-diamondpin",flagSquarepin:"highcharts-flag-squarepin",flagSimplepin:"highcharts-flag-simplepin",zoomX:"highcharts-zoom-x",zoomY:"highcharts-zoom-y",zoomXY:"highcharts-zoom-xy",typeLine:"highcharts-series-type-line",typeOHLC:"highcharts-series-type-ohlc",typeHLC:"highcharts-series-type-hlc",typeCandlestick:"highcharts-series-type-candlestick",typeHollowCandlestick:"highcharts-series-type-hollowcandlestick",typeHeikinAshi:"highcharts-series-type-heikinashi",fullScreen:"highcharts-full-screen",toggleAnnotations:"highcharts-toggle-annotations",saveChart:"highcharts-save-chart",separator:"highcharts-separator"},g}),e(i,"Stock/StockTools/StockToolsGui.js",[i["Core/Defaults.js"],i["Stock/StockTools/StockToolsDefaults.js"],i["Stock/StockTools/StockToolbar.js"],i["Core/Utilities.js"]],function(t,i,e,s){let{setOptions:n}=t,{addEvent:o,getStyle:a,merge:r,pick:l}=s;function c(t){let i=this.options,s=i.lang,n=r(i.stockTools&&i.stockTools.gui,t&&t.gui),o=s&&s.stockTools&&s.stockTools.gui;this.stockTools=new e(n,o,this),this.stockTools.guiEnabled&&(this.isDirtyBox=!0)}function h(){this.setStockTools()}function p(){this.stockTools&&(this.stockTools.redraw(),function(t){if(t.stockTools?.guiEnabled){let i=t.options.chart,e=t.stockTools.listWrapper,s=e&&(e.startWidth+a(e,"padding-left")+a(e,"padding-right")||e.offsetWidth);t.stockTools.width=s;let n=!1;if(s<t.plotWidth){let e=l(i.spacingLeft,i.spacing&&i.spacing[3],0)+s,o=e-t.spacingBox.x;t.spacingBox.x=e,t.spacingBox.width-=o,n=!0}else 0===s&&(n=!0);s!==t.stockTools.prevOffsetWidth&&(t.stockTools.prevOffsetWidth=s,n&&(t.isDirtyLegend=!0))}}(this))}function d(){this.stockTools&&this.stockTools.destroy()}function g(){let t=this.stockTools?.visible&&this.stockTools.guiEnabled?this.stockTools.width:0;t&&t<this.plotWidth&&(this.plotLeft+=t,this.spacing[3]+=t)}function u(){let t=this.stockTools,i=t&&t.toolbar&&t.toolbar.querySelector(".highcharts-current-price-indicator");t&&this.navigationBindings&&this.options.series&&i&&(this.navigationBindings.utils?.isPriceIndicatorEnabled?.(this.series)?i.firstChild.style["background-image"]='url("'+t.getIconsURL()+'current-price-hide.svg")':i.firstChild.style["background-image"]='url("'+t.getIconsURL()+'current-price-show.svg")')}function m(t){let i=this.chart.stockTools;if(i&&i.guiEnabled){let i=t.button;i.parentNode.className.indexOf("highcharts-submenu-wrapper")>=0&&(i=i.parentNode.parentNode),i.classList.remove("highcharts-active")}}function y(t){let i=this.chart.stockTools;if(i&&i.guiEnabled){let e=t.button;i.unselectAllButtons(t.button),e.parentNode.className.indexOf("highcharts-submenu-wrapper")>=0&&(e=e.parentNode.parentNode),i.toggleButtonActiveClass(e)}}return{compose:function(t,e){let s=t.prototype;s.setStockTools||(o(t,"afterGetContainer",h),o(t,"beforeRedraw",p),o(t,"beforeRender",p),o(t,"destroy",d),o(t,"getMargins",g,{order:0}),o(t,"render",u),s.setStockTools=c,o(e,"deselectButton",m),o(e,"selectButton",y),n(i))}}}),e(i,"masters/modules/stock-tools.src.js",[i["Core/Globals.js"],i["Extensions/Annotations/NavigationBindings.js"],i["Stock/StockTools/StockTools.js"],i["Stock/StockTools/StockToolsGui.js"],i["Stock/StockTools/StockToolbar.js"]],function(t,i,e,s,n){return t.NavigationBindings=t.NavigationBindings||i,t.Toolbar=n,e.compose(t.NavigationBindings),s.compose(t.Chart,t.NavigationBindings),t})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highstock JS v11.4.
|
|
2
|
+
* @license Highstock JS v11.4.5 (2024-07-04)
|
|
3
3
|
*
|
|
4
4
|
* Advanced Highcharts Stock tools
|
|
5
5
|
*
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
factory['default'] = factory;
|
|
14
14
|
module.exports = factory;
|
|
15
15
|
} else if (typeof define === 'function' && define.amd) {
|
|
16
|
-
define('highcharts/modules/stock-tools', ['highcharts', 'modules/stock'], function (Highcharts) {
|
|
16
|
+
define('highcharts/modules/stock-tools', ['highcharts', 'highcharts/modules/stock'], function (Highcharts) {
|
|
17
17
|
factory(Highcharts);
|
|
18
18
|
factory.Highcharts = Highcharts;
|
|
19
19
|
return factory;
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
* from a different server.
|
|
448
448
|
*
|
|
449
449
|
* @type {string}
|
|
450
|
-
* @default https://code.highcharts.com/11.4.
|
|
450
|
+
* @default https://code.highcharts.com/11.4.5/gfx/stock-icons/
|
|
451
451
|
* @since 7.1.3
|
|
452
452
|
* @apioption navigation.iconsURL
|
|
453
453
|
*/
|
|
@@ -5304,7 +5304,7 @@
|
|
|
5304
5304
|
getIconsURL() {
|
|
5305
5305
|
return this.chart.options.navigation.iconsURL ||
|
|
5306
5306
|
this.options.iconsURL ||
|
|
5307
|
-
'https://code.highcharts.com/11.4.
|
|
5307
|
+
'https://code.highcharts.com/11.4.5/gfx/stock-icons/';
|
|
5308
5308
|
}
|
|
5309
5309
|
}
|
|
5310
5310
|
Toolbar.prototype.classMapping = {
|