highcharts 13.0.1 → 13.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bower.json +2 -3
- package/es-modules/Accessibility/A11yI18n.js +4 -4
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +6 -4
- package/es-modules/Accessibility/Components/LegendComponent.js +2 -2
- package/es-modules/Accessibility/Components/NavigatorComponent.js +2 -2
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +13 -10
- package/es-modules/Accessibility/Components/ZoomComponent.js +2 -2
- package/es-modules/Accessibility/FocusBorder.js +2 -2
- package/es-modules/Accessibility/Options/DeprecatedOptions.js +1 -2
- package/es-modules/Core/Animation/AnimationUtilities.js +3 -2
- package/es-modules/Core/Axis/Axis.js +48 -57
- package/es-modules/Core/Axis/Axis3DComposition.js +8 -6
- package/es-modules/Core/Axis/BrokenAxis.js +6 -5
- package/es-modules/Core/Axis/Color/ColorAxis.js +17 -10
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +2 -2
- package/es-modules/Core/Axis/GridAxis.js +4 -4
- package/es-modules/Core/Axis/LogarithmicAxis.js +5 -3
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +2 -2
- package/es-modules/Core/Axis/OrdinalAxis.js +9 -7
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -2
- package/es-modules/Core/Axis/RadialAxis.js +15 -9
- package/es-modules/Core/Axis/ScrollbarAxis.js +3 -3
- package/es-modules/Core/Axis/Stacking/StackItem.js +5 -5
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +4 -4
- package/es-modules/Core/Axis/Tick.js +10 -11
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -3
- package/es-modules/Core/Chart/Chart.js +14 -14
- package/es-modules/Core/Chart/Chart3D.js +3 -3
- package/es-modules/Core/Chart/ChartDefaults.js +23 -0
- package/es-modules/Core/Chart/MapChart.js +7 -5
- package/es-modules/Core/Chart/StockChart.js +15 -11
- package/es-modules/Core/Color/Color.js +3 -1
- package/es-modules/Core/Defaults.js +35 -0
- package/es-modules/Core/Globals.js +1 -1
- package/es-modules/Core/Legend/Legend.js +16 -12
- package/es-modules/Core/Legend/LegendSymbol.js +2 -2
- package/es-modules/Core/MSPointer.js +2 -2
- package/es-modules/Core/Math3D.js +6 -7
- package/es-modules/Core/Pointer.js +9 -9
- package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -9
- package/es-modules/Core/Renderer/SVG/SVGElement3D.js +2 -2
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +5 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +5 -5
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +11 -9
- package/es-modules/Core/Renderer/SVG/Symbols.js +6 -5
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +7 -5
- package/es-modules/Core/Series/DataLabel.js +8 -6
- package/es-modules/Core/Series/OverlappingDataLabels.js +5 -2
- package/es-modules/Core/Series/Point.js +3 -3
- package/es-modules/Core/Series/Series.js +37 -21
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Templating.js +2 -2
- package/es-modules/Core/Tooltip.js +11 -7
- package/es-modules/Core/Utilities.js +4 -3
- package/es-modules/Data/Connectors/DataConnector.js +2 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/DataTable.js +17 -0
- package/es-modules/Extensions/Annotations/Annotation.js +4 -4
- package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -2
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +2 -2
- package/es-modules/Extensions/Annotations/EventEmitter.js +4 -4
- package/es-modules/Extensions/Annotations/NavigationBindings.js +6 -3
- package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/Popup.js +3 -2
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +4 -6
- package/es-modules/Extensions/Annotations/Types/Measure.js +3 -3
- package/es-modules/Extensions/Annotations/Types/VerticalLine.js +3 -3
- package/es-modules/Extensions/Boost/BoostChart.js +11 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +8 -9
- package/es-modules/Extensions/Boost/WGLRenderer.js +9 -6
- package/es-modules/Extensions/Boost/WGLShader.js +3 -3
- package/es-modules/Extensions/BoostCanvas.js +2 -2
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +5 -4
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +2 -2
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +4 -3
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +2 -2
- package/es-modules/Extensions/DraggablePoints/DragDropProps.js +2 -3
- package/es-modules/Extensions/ExportData/ExportData.js +17 -16
- package/es-modules/Extensions/Exporting/Exporting.js +7 -7
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +2 -2
- package/es-modules/Extensions/Pane/PaneComposition.js +2 -2
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -2
- package/es-modules/Extensions/PatternFill.js +7 -5
- package/es-modules/Extensions/PriceIndication.js +5 -4
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +7 -7
- package/es-modules/Extensions/Sonification/MIDI.js +2 -3
- package/es-modules/Extensions/Sonification/Sonification.js +2 -2
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +3 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
- package/es-modules/Extensions/Sonification/TimelineFromChart.js +11 -11
- package/es-modules/Gantt/Legacy.js +2 -2
- package/es-modules/Gantt/Pathfinder.js +3 -3
- package/es-modules/Gantt/PathfinderAlgorithms.js +4 -3
- package/es-modules/Gantt/Tree.js +1 -1
- package/es-modules/Maps/MapNavigation.js +4 -4
- package/es-modules/Maps/MapPointer.js +2 -2
- package/es-modules/Maps/MapView.js +2 -2
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +8 -6
- package/es-modules/Series/Area/AreaSeries.js +4 -5
- package/es-modules/Series/BoxPlot/BoxPlotSeries.js +13 -4
- package/es-modules/Series/Bubble/BubbleLegendItem.js +10 -6
- package/es-modules/Series/Bubble/BubbleSeries.js +10 -9
- package/es-modules/Series/Bullet/BulletSeries.js +17 -10
- package/es-modules/Series/CenteredUtilities.js +7 -5
- package/es-modules/Series/Column/ColumnSeries.js +2 -2
- package/es-modules/Series/Column3D/Column3DComposition.js +6 -5
- package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -4
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +4 -2
- package/es-modules/Series/Cylinder/CylinderComposition.js +2 -2
- package/es-modules/Series/DataModifyComposition.js +9 -7
- package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -2
- package/es-modules/Series/Dumbbell/DumbbellPoint.js +14 -3
- package/es-modules/Series/Dumbbell/DumbbellSeries.js +24 -7
- package/es-modules/Series/FlowMap/FlowMapPoint.js +5 -3
- package/es-modules/Series/FlowMap/FlowMapSeries.js +17 -9
- package/es-modules/Series/Funnel/FunnelSeries.js +2 -2
- package/es-modules/Series/Funnel3D/Funnel3DSeries.js +7 -5
- package/es-modules/Series/Gauge/GaugeSeries.js +2 -2
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +4 -4
- package/es-modules/Series/Heatmap/HeatmapPoint.js +6 -6
- package/es-modules/Series/Heatmap/HeatmapPointOptions.js +12 -0
- package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -13
- package/es-modules/Series/Heatmap/HeatmapSeriesOptions.js +12 -0
- package/es-modules/Series/Histogram/HistogramPoint.js +17 -0
- package/es-modules/Series/Histogram/HistogramPointOptions.js +12 -0
- package/es-modules/Series/Histogram/HistogramSeries.js +14 -2
- package/es-modules/Series/Histogram/HistogramSeriesOptions.js +12 -0
- package/es-modules/Series/InterpolationUtilities.js +5 -5
- package/es-modules/Series/Item/ItemPointOptions.js +14 -0
- package/es-modules/Series/Item/ItemSeries.js +18 -6
- package/es-modules/Series/Item/ItemSeriesOptions.js +14 -0
- package/es-modules/Series/Map/MapPoint.js +5 -3
- package/es-modules/Series/Map/MapSeries.js +5 -8
- package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +3 -3
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -2
- package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +18 -9
- package/es-modules/Series/NodesComposition.js +9 -10
- package/es-modules/Series/Organization/OrganizationPoint.js +3 -2
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +5 -5
- package/es-modules/Series/Pictorial/PictorialSeries.js +4 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +2 -2
- package/es-modules/Series/Pie/PieSeries.js +3 -2
- package/es-modules/Series/Pie3D/Pie3DSeries.js +8 -4
- package/es-modules/Series/PolarComposition.js +8 -7
- package/es-modules/Series/Sankey/SankeySeries.js +11 -5
- package/es-modules/Series/Scatter/ScatterSeries.js +6 -5
- package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
- package/es-modules/Series/Spline/SplineSeries.js +5 -5
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +8 -6
- package/es-modules/Series/Tilemap/TilemapShapes.js +2 -2
- package/es-modules/Series/Timeline/TimelinePoint.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +4 -3
- package/es-modules/Series/TreeUtilities.js +16 -7
- package/es-modules/Series/Treegraph/TreegraphLink.js +2 -2
- package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +14 -11
- package/es-modules/Series/VariablePie/VariablePieSeries.js +6 -4
- package/es-modules/Series/Variwide/VariwideSeries.js +2 -2
- package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -2
- package/es-modules/Series/Windbarb/WindbarbSeries.js +2 -2
- package/es-modules/Shared/TimeBase.js +8 -2
- package/es-modules/Shared/Utilities.js +9 -7
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -3
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +4 -3
- package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +1 -1
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +2 -2
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +4 -4
- package/es-modules/Stock/Navigator/Navigator.js +26 -26
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +4 -4
- package/es-modules/Stock/RangeSelector/RangeSelector.js +15 -11
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +3 -3
- package/es-modules/Stock/Scrollbar/Scrollbar.js +8 -7
- package/es-modules/Stock/StockTools/StockToolbar.js +5 -5
- package/es-modules/Stock/StockTools/StockTools.js +2 -2
- package/es-modules/Stock/StockTools/StockToolsGui.js +4 -2
- package/es-modules/masters/highcharts-3d.src.js +1 -1
- package/es-modules/masters/highcharts-autoload.src.js +1 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +1 -1
- package/es-modules/masters/highcharts.src.js +7 -2
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
- package/es-modules/masters/i18n/fr-FR.src.js +1 -1
- package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
- package/es-modules/masters/i18n/nb-NO.src.js +1 -1
- package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
- package/es-modules/masters/i18n/zh-CN.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
- package/es-modules/masters/indicators/ao.src.js +1 -1
- package/es-modules/masters/indicators/apo.src.js +1 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
- package/es-modules/masters/indicators/aroon.src.js +1 -1
- package/es-modules/masters/indicators/atr.src.js +1 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
- package/es-modules/masters/indicators/cci.src.js +1 -1
- package/es-modules/masters/indicators/chaikin.src.js +1 -1
- package/es-modules/masters/indicators/cmf.src.js +1 -1
- package/es-modules/masters/indicators/cmo.src.js +1 -1
- package/es-modules/masters/indicators/dema.src.js +1 -1
- package/es-modules/masters/indicators/disparity-index.src.js +1 -1
- package/es-modules/masters/indicators/dmi.src.js +1 -1
- package/es-modules/masters/indicators/dpo.src.js +1 -1
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/es-modules/masters/indicators/indicators-all.src.js +1 -1
- package/es-modules/masters/indicators/indicators.src.js +1 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
- package/es-modules/masters/indicators/klinger.src.js +1 -1
- package/es-modules/masters/indicators/macd.src.js +1 -1
- package/es-modules/masters/indicators/mfi.src.js +1 -1
- package/es-modules/masters/indicators/momentum.src.js +1 -1
- package/es-modules/masters/indicators/natr.src.js +1 -1
- package/es-modules/masters/indicators/obv.src.js +1 -1
- package/es-modules/masters/indicators/pivot-points.src.js +1 -1
- package/es-modules/masters/indicators/ppo.src.js +1 -1
- package/es-modules/masters/indicators/price-channel.src.js +1 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
- package/es-modules/masters/indicators/psar.src.js +1 -1
- package/es-modules/masters/indicators/regressions.src.js +1 -1
- package/es-modules/masters/indicators/roc.src.js +1 -1
- package/es-modules/masters/indicators/rsi.src.js +1 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
- package/es-modules/masters/indicators/stochastic.src.js +1 -1
- package/es-modules/masters/indicators/supertrend.src.js +1 -1
- package/es-modules/masters/indicators/tema.src.js +1 -1
- package/es-modules/masters/indicators/trendline.src.js +1 -1
- package/es-modules/masters/indicators/trix.src.js +1 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
- package/es-modules/masters/indicators/vwap.src.js +1 -1
- package/es-modules/masters/indicators/williams-r.src.js +1 -1
- package/es-modules/masters/indicators/wma.src.js +1 -1
- package/es-modules/masters/indicators/zigzag.src.js +1 -1
- package/es-modules/masters/modules/accessibility.src.js +1 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
- package/es-modules/masters/modules/annotations.src.js +1 -1
- package/es-modules/masters/modules/arc-diagram.src.js +1 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
- package/es-modules/masters/modules/boost-canvas.src.js +1 -1
- package/es-modules/masters/modules/boost.src.js +1 -1
- package/es-modules/masters/modules/broken-axis.src.js +1 -1
- package/es-modules/masters/modules/bullet.src.js +1 -1
- package/es-modules/masters/modules/coloraxis.src.js +1 -1
- package/es-modules/masters/modules/contour.src.js +1 -1
- package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
- package/es-modules/masters/modules/cylinder.src.js +1 -1
- package/es-modules/masters/modules/data-sorting.src.js +1 -1
- package/es-modules/masters/modules/data-tools.src.js +1 -1
- package/es-modules/masters/modules/data.src.js +1 -1
- package/es-modules/masters/modules/datagrouping.src.js +1 -1
- package/es-modules/masters/modules/debugger.src.js +1 -1
- package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
- package/es-modules/masters/modules/dotplot.src.js +1 -1
- package/es-modules/masters/modules/drag-panes.src.js +1 -1
- package/es-modules/masters/modules/draggable-points.src.js +1 -1
- package/es-modules/masters/modules/drilldown.src.js +1 -1
- package/es-modules/masters/modules/dumbbell.src.js +1 -1
- package/es-modules/masters/modules/export-data.src.js +1 -1
- package/es-modules/masters/modules/exporting.src.js +1 -1
- package/es-modules/masters/modules/flowmap.src.js +1 -1
- package/es-modules/masters/modules/full-screen.src.js +1 -1
- package/es-modules/masters/modules/funnel.src.js +1 -1
- package/es-modules/masters/modules/funnel3d.src.js +1 -1
- package/es-modules/masters/modules/gantt.src.js +1 -1
- package/es-modules/masters/modules/geoheatmap.src.js +1 -1
- package/es-modules/masters/modules/grid-axis.src.js +1 -1
- package/es-modules/masters/modules/heatmap.src.js +1 -1
- package/es-modules/masters/modules/heikinashi.src.js +1 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
- package/es-modules/masters/modules/item-series.src.js +1 -1
- package/es-modules/masters/modules/lollipop.src.js +1 -1
- package/es-modules/masters/modules/map.src.js +1 -1
- package/es-modules/masters/modules/marker-clusters.src.js +1 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
- package/es-modules/masters/modules/navigator.src.js +1 -1
- package/es-modules/masters/modules/networkgraph.src.js +1 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
- package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
- package/es-modules/masters/modules/offline-exporting.src.js +1 -1
- package/es-modules/masters/modules/organization.src.js +1 -1
- package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
- package/es-modules/masters/modules/pareto.src.js +1 -1
- package/es-modules/masters/modules/pathfinder.src.js +1 -1
- package/es-modules/masters/modules/pattern-fill.src.js +1 -1
- package/es-modules/masters/modules/pictorial.src.js +1 -1
- package/es-modules/masters/modules/pointandfigure.src.js +1 -1
- package/es-modules/masters/modules/price-indicator.src.js +1 -1
- package/es-modules/masters/modules/pyramid3d.src.js +1 -1
- package/es-modules/masters/modules/renko.src.js +1 -1
- package/es-modules/masters/modules/sankey.src.js +1 -1
- package/es-modules/masters/modules/series-label.src.js +1 -1
- package/es-modules/masters/modules/series-on-point.src.js +1 -1
- package/es-modules/masters/modules/solid-gauge.src.js +1 -1
- package/es-modules/masters/modules/sonification.src.js +1 -1
- package/es-modules/masters/modules/static-scale.src.js +1 -1
- package/es-modules/masters/modules/stock-tools.src.js +1 -1
- package/es-modules/masters/modules/stock.src.js +1 -1
- package/es-modules/masters/modules/streamgraph.src.js +1 -1
- package/es-modules/masters/modules/sunburst.src.js +1 -1
- package/es-modules/masters/modules/textpath.src.js +1 -1
- package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
- package/es-modules/masters/modules/tilemap.src.js +1 -1
- package/es-modules/masters/modules/timeline.src.js +1 -1
- package/es-modules/masters/modules/treegraph.src.js +1 -1
- package/es-modules/masters/modules/treegrid.src.js +1 -1
- package/es-modules/masters/modules/treemap.src.js +1 -1
- package/es-modules/masters/modules/variable-pie.src.js +1 -1
- package/es-modules/masters/modules/variwide.src.js +1 -1
- package/es-modules/masters/modules/vector.src.js +1 -1
- package/es-modules/masters/modules/venn.src.js +1 -1
- package/es-modules/masters/modules/windbarb.src.js +1 -1
- package/es-modules/masters/modules/wordcloud.src.js +1 -1
- package/es-modules/masters/modules/xrange.src.js +1 -1
- package/es-modules/masters/standalone-navigator.src.js +1 -1
- package/es-modules/masters/themes/adaptive.src.js +1 -1
- package/es-modules/masters/themes/avocado.src.js +1 -1
- package/es-modules/masters/themes/dark-unica.src.js +1 -1
- package/es-modules/masters/themes/grid-light.src.js +1 -1
- package/es-modules/masters/themes/high-contrast.src.js +1 -1
- package/es-modules/masters/themes/sand-signika.src.js +1 -1
- package/es-modules/masters/themes/sunset.src.js +1 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -1
- package/esm/highcharts-3d.js +2 -2
- package/esm/highcharts-3d.src.js +40 -32
- package/esm/highcharts-autoload.js +1 -1
- package/esm/highcharts-autoload.src.js +1 -1
- package/esm/highcharts-gantt.js +1 -1
- package/esm/highcharts-gantt.src.js +1 -1
- package/esm/highcharts-more.js +2 -2
- package/esm/highcharts-more.src.js +90 -56
- package/esm/highcharts.js +4 -4
- package/esm/highcharts.src.js +312 -207
- package/esm/highmaps.js +1 -1
- package/esm/highmaps.src.js +1 -1
- package/esm/highstock.js +1 -1
- package/esm/highstock.src.js +1 -1
- package/esm/i18n/fr-FR.js +1 -1
- package/esm/i18n/fr-FR.src.js +1 -1
- package/esm/i18n/nb-NO.js +1 -1
- package/esm/i18n/nb-NO.src.js +1 -1
- package/esm/i18n/zh-CN.js +1 -1
- package/esm/i18n/zh-CN.src.js +1 -1
- package/esm/indicators/acceleration-bands.js +1 -1
- package/esm/indicators/acceleration-bands.src.js +1 -1
- package/esm/indicators/accumulation-distribution.js +1 -1
- package/esm/indicators/accumulation-distribution.src.js +1 -1
- package/esm/indicators/ao.js +1 -1
- package/esm/indicators/ao.src.js +1 -1
- package/esm/indicators/apo.js +1 -1
- package/esm/indicators/apo.src.js +1 -1
- package/esm/indicators/aroon-oscillator.js +1 -1
- package/esm/indicators/aroon-oscillator.src.js +1 -1
- package/esm/indicators/aroon.js +2 -2
- package/esm/indicators/aroon.src.js +3 -3
- package/esm/indicators/atr.js +1 -1
- package/esm/indicators/atr.src.js +1 -1
- package/esm/indicators/bollinger-bands.js +1 -1
- package/esm/indicators/bollinger-bands.src.js +1 -1
- package/esm/indicators/cci.js +1 -1
- package/esm/indicators/cci.src.js +1 -1
- package/esm/indicators/chaikin.js +1 -1
- package/esm/indicators/chaikin.src.js +1 -1
- package/esm/indicators/cmf.js +1 -1
- package/esm/indicators/cmf.src.js +1 -1
- package/esm/indicators/cmo.js +1 -1
- package/esm/indicators/cmo.src.js +1 -1
- package/esm/indicators/dema.js +1 -1
- package/esm/indicators/dema.src.js +1 -1
- package/esm/indicators/disparity-index.js +1 -1
- package/esm/indicators/disparity-index.src.js +1 -1
- package/esm/indicators/dmi.js +1 -1
- package/esm/indicators/dmi.src.js +1 -1
- package/esm/indicators/dpo.js +2 -2
- package/esm/indicators/dpo.src.js +4 -3
- package/esm/indicators/ichimoku-kinko-hyo.js +1 -1
- package/esm/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/esm/indicators/indicators-all.js +2 -2
- package/esm/indicators/indicators-all.src.js +8 -7
- package/esm/indicators/indicators.js +2 -2
- package/esm/indicators/indicators.src.js +2 -2
- package/esm/indicators/keltner-channels.js +1 -1
- package/esm/indicators/keltner-channels.src.js +1 -1
- package/esm/indicators/klinger.js +1 -1
- package/esm/indicators/klinger.src.js +1 -1
- package/esm/indicators/macd.js +1 -1
- package/esm/indicators/macd.src.js +1 -1
- package/esm/indicators/mfi.js +1 -1
- package/esm/indicators/mfi.src.js +1 -1
- package/esm/indicators/momentum.js +1 -1
- package/esm/indicators/momentum.src.js +1 -1
- package/esm/indicators/natr.js +1 -1
- package/esm/indicators/natr.src.js +1 -1
- package/esm/indicators/obv.js +1 -1
- package/esm/indicators/obv.src.js +1 -1
- package/esm/indicators/pivot-points.js +1 -1
- package/esm/indicators/pivot-points.src.js +1 -1
- package/esm/indicators/ppo.js +1 -1
- package/esm/indicators/ppo.src.js +1 -1
- package/esm/indicators/price-channel.js +1 -1
- package/esm/indicators/price-channel.src.js +1 -1
- package/esm/indicators/price-envelopes.js +1 -1
- package/esm/indicators/price-envelopes.src.js +1 -1
- package/esm/indicators/psar.js +1 -1
- package/esm/indicators/psar.src.js +1 -1
- package/esm/indicators/regressions.js +1 -1
- package/esm/indicators/regressions.src.js +1 -1
- package/esm/indicators/roc.js +1 -1
- package/esm/indicators/roc.src.js +1 -1
- package/esm/indicators/rsi.js +1 -1
- package/esm/indicators/rsi.src.js +2 -2
- package/esm/indicators/slow-stochastic.js +1 -1
- package/esm/indicators/slow-stochastic.src.js +1 -1
- package/esm/indicators/stochastic.js +1 -1
- package/esm/indicators/stochastic.src.js +1 -1
- package/esm/indicators/supertrend.js +1 -1
- package/esm/indicators/supertrend.src.js +1 -1
- package/esm/indicators/tema.js +1 -1
- package/esm/indicators/tema.src.js +1 -1
- package/esm/indicators/trendline.js +1 -1
- package/esm/indicators/trendline.src.js +1 -1
- package/esm/indicators/trix.js +1 -1
- package/esm/indicators/trix.src.js +1 -1
- package/esm/indicators/volume-by-price.js +1 -1
- package/esm/indicators/volume-by-price.src.js +1 -1
- package/esm/indicators/vwap.js +1 -1
- package/esm/indicators/vwap.src.js +1 -1
- package/esm/indicators/williams-r.js +1 -1
- package/esm/indicators/williams-r.src.js +1 -1
- package/esm/indicators/wma.js +1 -1
- package/esm/indicators/wma.src.js +1 -1
- package/esm/indicators/zigzag.js +1 -1
- package/esm/indicators/zigzag.src.js +1 -1
- package/esm/modules/accessibility.js +2 -2
- package/esm/modules/accessibility.src.js +69 -63
- package/esm/modules/annotations-advanced.js +3 -3
- package/esm/modules/annotations-advanced.src.js +25 -23
- package/esm/modules/annotations.js +3 -3
- package/esm/modules/annotations.src.js +21 -19
- package/esm/modules/arc-diagram.js +2 -2
- package/esm/modules/arc-diagram.src.js +16 -15
- package/esm/modules/arrow-symbols.js +1 -1
- package/esm/modules/arrow-symbols.src.js +1 -1
- package/esm/modules/boost-canvas.js +2 -2
- package/esm/modules/boost-canvas.src.js +29 -20
- package/esm/modules/boost.js +2 -2
- package/esm/modules/boost.src.js +28 -19
- package/esm/modules/broken-axis.js +2 -2
- package/esm/modules/broken-axis.src.js +6 -5
- package/esm/modules/bullet.js +2 -2
- package/esm/modules/bullet.src.js +17 -10
- package/esm/modules/coloraxis.js +2 -2
- package/esm/modules/coloraxis.src.js +18 -11
- package/esm/modules/contour.js +1 -1
- package/esm/modules/contour.src.js +1 -1
- package/esm/modules/current-date-indicator.js +1 -1
- package/esm/modules/current-date-indicator.src.js +1 -1
- package/esm/modules/cylinder.js +2 -2
- package/esm/modules/cylinder.src.js +9 -10
- package/esm/modules/data-sorting.js +1 -1
- package/esm/modules/data-sorting.src.js +1 -1
- package/esm/modules/data-tools.js +2 -2
- package/esm/modules/data-tools.src.js +20 -3
- package/esm/modules/data.js +1 -1
- package/esm/modules/data.src.js +1 -1
- package/esm/modules/datagrouping.js +2 -2
- package/esm/modules/datagrouping.src.js +6 -5
- package/esm/modules/debugger.js +1 -1
- package/esm/modules/debugger.src.js +1 -1
- package/esm/modules/dependency-wheel.js +1 -1
- package/esm/modules/dependency-wheel.src.js +1 -1
- package/esm/modules/dotplot.js +2 -2
- package/esm/modules/dotplot.src.js +3 -2
- package/esm/modules/drag-panes.js +1 -1
- package/esm/modules/drag-panes.src.js +1 -1
- package/esm/modules/draggable-points.js +2 -2
- package/esm/modules/draggable-points.src.js +2 -3
- package/esm/modules/drilldown.js +2 -2
- package/esm/modules/drilldown.src.js +5 -4
- package/esm/modules/dumbbell.js +2 -2
- package/esm/modules/dumbbell.src.js +37 -9
- package/esm/modules/export-data.js +2 -2
- package/esm/modules/export-data.src.js +17 -16
- package/esm/modules/exporting.js +2 -2
- package/esm/modules/exporting.src.js +7 -7
- package/esm/modules/flowmap.js +2 -2
- package/esm/modules/flowmap.src.js +21 -11
- package/esm/modules/full-screen.js +1 -1
- package/esm/modules/full-screen.src.js +1 -1
- package/esm/modules/funnel.js +2 -2
- package/esm/modules/funnel.src.js +2 -2
- package/esm/modules/funnel3d.js +2 -2
- package/esm/modules/funnel3d.src.js +14 -13
- package/esm/modules/gantt.js +2 -2
- package/esm/modules/gantt.src.js +93 -76
- package/esm/modules/geoheatmap.js +2 -2
- package/esm/modules/geoheatmap.src.js +8 -8
- package/esm/modules/grid-axis.js +2 -2
- package/esm/modules/grid-axis.src.js +4 -4
- package/esm/modules/heatmap.js +2 -2
- package/esm/modules/heatmap.src.js +22 -22
- package/esm/modules/heikinashi.js +1 -1
- package/esm/modules/heikinashi.src.js +1 -1
- package/esm/modules/histogram-bellcurve.js +1 -1
- package/esm/modules/histogram-bellcurve.src.js +15 -3
- package/esm/modules/hollowcandlestick.js +1 -1
- package/esm/modules/hollowcandlestick.src.js +1 -1
- package/esm/modules/item-series.js +2 -2
- package/esm/modules/item-series.src.js +18 -6
- package/esm/modules/lollipop.js +1 -1
- package/esm/modules/lollipop.src.js +1 -1
- package/esm/modules/map.js +2 -2
- package/esm/modules/map.src.js +65 -57
- package/esm/modules/marker-clusters.js +1 -1
- package/esm/modules/marker-clusters.src.js +1 -1
- package/esm/modules/mouse-wheel-zoom.js +2 -2
- package/esm/modules/mouse-wheel-zoom.src.js +3 -3
- package/esm/modules/navigator.js +2 -2
- package/esm/modules/navigator.src.js +47 -45
- package/esm/modules/networkgraph.js +2 -2
- package/esm/modules/networkgraph.src.js +31 -21
- package/esm/modules/no-data-to-display.js +1 -1
- package/esm/modules/no-data-to-display.src.js +1 -1
- package/esm/modules/non-cartesian-zoom.js +1 -1
- package/esm/modules/non-cartesian-zoom.src.js +1 -1
- package/esm/modules/offline-exporting.js +1 -1
- package/esm/modules/offline-exporting.src.js +1 -1
- package/esm/modules/organization.js +2 -2
- package/esm/modules/organization.src.js +3 -2
- package/esm/modules/parallel-coordinates.js +2 -2
- package/esm/modules/parallel-coordinates.src.js +2 -2
- package/esm/modules/pareto.js +1 -1
- package/esm/modules/pareto.src.js +1 -1
- package/esm/modules/pathfinder.js +2 -2
- package/esm/modules/pathfinder.src.js +7 -6
- package/esm/modules/pattern-fill.js +2 -2
- package/esm/modules/pattern-fill.src.js +7 -5
- package/esm/modules/pictorial.js +2 -2
- package/esm/modules/pictorial.src.js +10 -6
- package/esm/modules/pointandfigure.js +1 -1
- package/esm/modules/pointandfigure.src.js +1 -1
- package/esm/modules/price-indicator.js +2 -2
- package/esm/modules/price-indicator.src.js +5 -4
- package/esm/modules/pyramid3d.js +1 -1
- package/esm/modules/pyramid3d.src.js +1 -1
- package/esm/modules/renko.js +1 -1
- package/esm/modules/renko.src.js +1 -1
- package/esm/modules/sankey.js +2 -2
- package/esm/modules/sankey.src.js +34 -20
- package/esm/modules/series-label.js +2 -2
- package/esm/modules/series-label.src.js +7 -7
- package/esm/modules/series-on-point.js +1 -1
- package/esm/modules/series-on-point.src.js +1 -1
- package/esm/modules/solid-gauge.js +2 -2
- package/esm/modules/solid-gauge.src.js +2 -2
- package/esm/modules/sonification.js +2 -2
- package/esm/modules/sonification.src.js +19 -19
- package/esm/modules/static-scale.js +1 -1
- package/esm/modules/static-scale.src.js +1 -1
- package/esm/modules/stock-tools.js +3 -3
- package/esm/modules/stock-tools.src.js +15 -10
- package/esm/modules/stock.js +2 -2
- package/esm/modules/stock.src.js +90 -76
- package/esm/modules/streamgraph.js +1 -1
- package/esm/modules/streamgraph.src.js +1 -1
- package/esm/modules/sunburst.js +2 -2
- package/esm/modules/sunburst.src.js +41 -26
- package/esm/modules/textpath.js +1 -1
- package/esm/modules/textpath.src.js +1 -1
- package/esm/modules/tiledwebmap.js +2 -2
- package/esm/modules/tiledwebmap.src.js +8 -6
- package/esm/modules/tilemap.js +2 -2
- package/esm/modules/tilemap.src.js +3 -3
- package/esm/modules/timeline.js +2 -2
- package/esm/modules/timeline.src.js +5 -4
- package/esm/modules/treegraph.js +2 -2
- package/esm/modules/treegraph.src.js +17 -8
- package/esm/modules/treegrid.js +2 -2
- package/esm/modules/treegrid.src.js +28 -18
- package/esm/modules/treemap.js +2 -2
- package/esm/modules/treemap.src.js +35 -22
- package/esm/modules/variable-pie.js +2 -2
- package/esm/modules/variable-pie.src.js +6 -4
- package/esm/modules/variwide.js +2 -2
- package/esm/modules/variwide.src.js +2 -2
- package/esm/modules/vector.js +1 -1
- package/esm/modules/vector.src.js +1 -1
- package/esm/modules/venn.js +1 -1
- package/esm/modules/venn.src.js +1 -1
- package/esm/modules/windbarb.js +2 -2
- package/esm/modules/windbarb.src.js +2 -2
- package/esm/modules/wordcloud.js +1 -1
- package/esm/modules/wordcloud.src.js +1 -1
- package/esm/modules/xrange.js +1 -1
- package/esm/modules/xrange.src.js +1 -1
- package/esm/standalone-navigator.js +4 -4
- package/esm/standalone-navigator.src.js +355 -249
- package/esm/themes/adaptive.js +1 -1
- package/esm/themes/adaptive.src.js +1 -1
- package/esm/themes/avocado.js +1 -1
- package/esm/themes/avocado.src.js +1 -1
- package/esm/themes/dark-unica.js +1 -1
- package/esm/themes/dark-unica.src.js +1 -1
- package/esm/themes/grid-light.js +1 -1
- package/esm/themes/grid-light.src.js +1 -1
- package/esm/themes/high-contrast.js +1 -1
- package/esm/themes/high-contrast.src.js +1 -1
- package/esm/themes/sand-signika.js +1 -1
- package/esm/themes/sand-signika.src.js +1 -1
- package/esm/themes/sunset.js +1 -1
- package/esm/themes/sunset.src.js +1 -1
- package/highcharts-3d.js +2 -2
- package/highcharts-3d.src.js +40 -32
- package/highcharts-autoload.d.ts +8 -2
- package/highcharts-autoload.js +4 -4
- package/highcharts-autoload.src.d.ts +8 -2
- package/highcharts-autoload.src.js +313 -208
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +404 -283
- package/highcharts-more.js +2 -2
- package/highcharts-more.src.js +90 -56
- package/highcharts.d.ts +61 -4
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +61 -4
- package/highcharts.src.js +312 -207
- package/highmaps.js +4 -4
- package/highmaps.src.js +390 -272
- package/highstock.js +4 -4
- package/highstock.src.js +413 -293
- package/i18n/fr-FR.js +1 -1
- package/i18n/fr-FR.src.js +1 -1
- package/i18n/nb-NO.js +1 -1
- package/i18n/nb-NO.src.js +1 -1
- package/i18n/zh-CN.js +1 -1
- package/i18n/zh-CN.src.js +1 -1
- package/indicators/acceleration-bands.js +1 -1
- package/indicators/acceleration-bands.src.js +1 -1
- package/indicators/accumulation-distribution.js +1 -1
- package/indicators/accumulation-distribution.src.js +1 -1
- package/indicators/ao.js +1 -1
- package/indicators/ao.src.js +1 -1
- package/indicators/apo.js +1 -1
- package/indicators/apo.src.js +1 -1
- package/indicators/aroon-oscillator.js +1 -1
- package/indicators/aroon-oscillator.src.js +1 -1
- package/indicators/aroon.js +2 -2
- package/indicators/aroon.src.js +3 -3
- package/indicators/atr.js +1 -1
- package/indicators/atr.src.js +1 -1
- package/indicators/bollinger-bands.js +1 -1
- package/indicators/bollinger-bands.src.js +1 -1
- package/indicators/cci.js +1 -1
- package/indicators/cci.src.js +1 -1
- package/indicators/chaikin.js +1 -1
- package/indicators/chaikin.src.js +1 -1
- package/indicators/cmf.js +1 -1
- package/indicators/cmf.src.js +1 -1
- package/indicators/cmo.js +1 -1
- package/indicators/cmo.src.js +1 -1
- package/indicators/dema.js +1 -1
- package/indicators/dema.src.js +1 -1
- package/indicators/disparity-index.js +1 -1
- package/indicators/disparity-index.src.js +1 -1
- package/indicators/dmi.js +1 -1
- package/indicators/dmi.src.js +1 -1
- package/indicators/dpo.js +2 -2
- package/indicators/dpo.src.js +4 -3
- package/indicators/ichimoku-kinko-hyo.js +1 -1
- package/indicators/ichimoku-kinko-hyo.src.js +1 -1
- package/indicators/indicators-all.js +2 -2
- package/indicators/indicators-all.src.js +8 -7
- package/indicators/indicators.js +2 -2
- package/indicators/indicators.src.js +2 -2
- package/indicators/keltner-channels.js +1 -1
- package/indicators/keltner-channels.src.js +1 -1
- package/indicators/klinger.js +1 -1
- package/indicators/klinger.src.js +1 -1
- package/indicators/macd.js +1 -1
- package/indicators/macd.src.js +1 -1
- package/indicators/mfi.js +1 -1
- package/indicators/mfi.src.js +1 -1
- package/indicators/momentum.js +1 -1
- package/indicators/momentum.src.js +1 -1
- package/indicators/natr.js +1 -1
- package/indicators/natr.src.js +1 -1
- package/indicators/obv.js +1 -1
- package/indicators/obv.src.js +1 -1
- package/indicators/pivot-points.js +1 -1
- package/indicators/pivot-points.src.js +1 -1
- package/indicators/ppo.js +1 -1
- package/indicators/ppo.src.js +1 -1
- package/indicators/price-channel.js +1 -1
- package/indicators/price-channel.src.js +1 -1
- package/indicators/price-envelopes.js +1 -1
- package/indicators/price-envelopes.src.js +1 -1
- package/indicators/psar.js +1 -1
- package/indicators/psar.src.js +1 -1
- package/indicators/regressions.js +1 -1
- package/indicators/regressions.src.js +1 -1
- package/indicators/roc.js +1 -1
- package/indicators/roc.src.js +1 -1
- package/indicators/rsi.js +1 -1
- package/indicators/rsi.src.js +2 -2
- package/indicators/slow-stochastic.js +1 -1
- package/indicators/slow-stochastic.src.js +1 -1
- package/indicators/stochastic.js +1 -1
- package/indicators/stochastic.src.js +1 -1
- package/indicators/supertrend.js +1 -1
- package/indicators/supertrend.src.js +1 -1
- package/indicators/tema.js +1 -1
- package/indicators/tema.src.js +1 -1
- package/indicators/trendline.js +1 -1
- package/indicators/trendline.src.js +1 -1
- package/indicators/trix.js +1 -1
- package/indicators/trix.src.js +1 -1
- package/indicators/volume-by-price.js +1 -1
- package/indicators/volume-by-price.src.js +1 -1
- package/indicators/vwap.js +1 -1
- package/indicators/vwap.src.js +1 -1
- package/indicators/williams-r.js +1 -1
- package/indicators/williams-r.src.js +1 -1
- package/indicators/wma.js +1 -1
- package/indicators/wma.src.js +1 -1
- package/indicators/zigzag.js +1 -1
- package/indicators/zigzag.src.js +1 -1
- package/modules/accessibility.js +2 -2
- package/modules/accessibility.src.js +69 -63
- package/modules/annotations-advanced.js +3 -3
- package/modules/annotations-advanced.src.js +25 -23
- package/modules/annotations.js +3 -3
- package/modules/annotations.src.js +21 -19
- package/modules/arc-diagram.js +2 -2
- package/modules/arc-diagram.src.js +16 -15
- package/modules/arrow-symbols.js +1 -1
- package/modules/arrow-symbols.src.js +1 -1
- package/modules/boost-canvas.js +2 -2
- package/modules/boost-canvas.src.js +29 -20
- package/modules/boost.js +2 -2
- package/modules/boost.src.js +28 -19
- package/modules/broken-axis.js +2 -2
- package/modules/broken-axis.src.js +6 -5
- package/modules/bullet.js +2 -2
- package/modules/bullet.src.js +17 -10
- package/modules/coloraxis.js +2 -2
- package/modules/coloraxis.src.js +18 -11
- package/modules/contour.js +4 -4
- package/modules/contour.src.js +19 -12
- package/modules/current-date-indicator.js +1 -1
- package/modules/current-date-indicator.src.js +1 -1
- package/modules/cylinder.js +2 -2
- package/modules/cylinder.src.js +9 -10
- package/modules/data-sorting.js +1 -1
- package/modules/data-sorting.src.js +1 -1
- package/modules/data-tools.js +2 -2
- package/modules/data-tools.src.js +20 -3
- package/modules/data.js +1 -1
- package/modules/data.src.js +1 -1
- package/modules/datagrouping.js +2 -2
- package/modules/datagrouping.src.js +6 -5
- package/modules/debugger.js +1 -1
- package/modules/debugger.src.js +1 -1
- package/modules/dependency-wheel.js +1 -1
- package/modules/dependency-wheel.src.js +1 -1
- package/modules/dotplot.js +2 -2
- package/modules/dotplot.src.js +3 -2
- package/modules/drag-panes.js +1 -1
- package/modules/drag-panes.src.js +1 -1
- package/modules/draggable-points.js +2 -2
- package/modules/draggable-points.src.js +2 -3
- package/modules/drilldown.js +2 -2
- package/modules/drilldown.src.js +5 -4
- package/modules/dumbbell.js +2 -2
- package/modules/dumbbell.src.js +37 -9
- package/modules/export-data.js +2 -2
- package/modules/export-data.src.js +17 -16
- package/modules/exporting.js +2 -2
- package/modules/exporting.src.js +7 -7
- package/modules/flowmap.js +2 -2
- package/modules/flowmap.src.js +21 -11
- package/modules/full-screen.js +1 -1
- package/modules/full-screen.src.js +1 -1
- package/modules/funnel.js +2 -2
- package/modules/funnel.src.js +2 -2
- package/modules/funnel3d.js +2 -2
- package/modules/funnel3d.src.js +14 -13
- package/modules/gantt.js +6 -6
- package/modules/gantt.src.js +96 -79
- package/modules/geoheatmap.d.ts +0 -12
- package/modules/geoheatmap.js +2 -2
- package/modules/geoheatmap.src.d.ts +0 -12
- package/modules/geoheatmap.src.js +8 -8
- package/modules/grid-axis.js +2 -2
- package/modules/grid-axis.src.js +4 -4
- package/modules/heatmap.d.ts +0 -12
- package/modules/heatmap.js +4 -4
- package/modules/heatmap.src.d.ts +0 -12
- package/modules/heatmap.src.js +40 -33
- package/modules/heikinashi.js +1 -1
- package/modules/heikinashi.src.js +1 -1
- package/modules/histogram-bellcurve.js +1 -1
- package/modules/histogram-bellcurve.src.js +15 -3
- package/modules/hollowcandlestick.js +1 -1
- package/modules/hollowcandlestick.src.js +1 -1
- package/modules/item-series.js +2 -2
- package/modules/item-series.src.js +18 -6
- package/modules/lollipop.js +1 -1
- package/modules/lollipop.src.js +1 -1
- package/modules/map.d.ts +0 -12
- package/modules/map.js +4 -4
- package/modules/map.src.d.ts +0 -12
- package/modules/map.src.js +83 -68
- package/modules/marker-clusters.js +1 -1
- package/modules/marker-clusters.src.js +1 -1
- package/modules/mouse-wheel-zoom.js +2 -2
- package/modules/mouse-wheel-zoom.src.js +3 -3
- package/modules/navigator.js +2 -2
- package/modules/navigator.src.js +47 -45
- package/modules/networkgraph.js +2 -2
- package/modules/networkgraph.src.js +31 -21
- package/modules/no-data-to-display.js +1 -1
- package/modules/no-data-to-display.src.js +1 -1
- package/modules/non-cartesian-zoom.js +1 -1
- package/modules/non-cartesian-zoom.src.js +1 -1
- package/modules/offline-exporting.js +1 -1
- package/modules/offline-exporting.src.js +1 -1
- package/modules/organization.js +2 -2
- package/modules/organization.src.js +3 -2
- package/modules/parallel-coordinates.js +2 -2
- package/modules/parallel-coordinates.src.js +2 -2
- package/modules/pareto.js +1 -1
- package/modules/pareto.src.js +1 -1
- package/modules/pathfinder.js +2 -2
- package/modules/pathfinder.src.js +7 -6
- package/modules/pattern-fill.js +2 -2
- package/modules/pattern-fill.src.js +7 -5
- package/modules/pictorial.js +2 -2
- package/modules/pictorial.src.js +10 -6
- package/modules/pointandfigure.js +1 -1
- package/modules/pointandfigure.src.js +1 -1
- package/modules/price-indicator.js +2 -2
- package/modules/price-indicator.src.js +5 -4
- package/modules/pyramid3d.js +1 -1
- package/modules/pyramid3d.src.js +1 -1
- package/modules/renko.js +1 -1
- package/modules/renko.src.js +1 -1
- package/modules/sankey.js +2 -2
- package/modules/sankey.src.js +34 -20
- package/modules/series-label.js +2 -2
- package/modules/series-label.src.js +7 -7
- package/modules/series-on-point.js +1 -1
- package/modules/series-on-point.src.js +1 -1
- package/modules/solid-gauge.js +2 -2
- package/modules/solid-gauge.src.js +2 -2
- package/modules/sonification.js +2 -2
- package/modules/sonification.src.js +19 -19
- package/modules/static-scale.js +1 -1
- package/modules/static-scale.src.js +1 -1
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +15 -10
- package/modules/stock.js +6 -6
- package/modules/stock.src.js +105 -89
- package/modules/streamgraph.js +1 -1
- package/modules/streamgraph.src.js +1 -1
- package/modules/sunburst.js +2 -2
- package/modules/sunburst.src.js +41 -26
- package/modules/textpath.js +1 -1
- package/modules/textpath.src.js +1 -1
- package/modules/tiledwebmap.js +2 -2
- package/modules/tiledwebmap.src.js +8 -6
- package/modules/tilemap.js +2 -2
- package/modules/tilemap.src.js +3 -3
- package/modules/timeline.js +2 -2
- package/modules/timeline.src.js +5 -4
- package/modules/treegraph.js +2 -2
- package/modules/treegraph.src.js +17 -8
- package/modules/treegrid.js +2 -2
- package/modules/treegrid.src.js +28 -18
- package/modules/treemap.js +2 -2
- package/modules/treemap.src.js +35 -22
- package/modules/variable-pie.js +2 -2
- package/modules/variable-pie.src.js +6 -4
- package/modules/variwide.js +2 -2
- package/modules/variwide.src.js +2 -2
- package/modules/vector.js +1 -1
- package/modules/vector.src.js +1 -1
- package/modules/venn.js +1 -1
- package/modules/venn.src.js +1 -1
- package/modules/windbarb.js +2 -2
- package/modules/windbarb.src.js +2 -2
- package/modules/wordcloud.js +1 -1
- package/modules/wordcloud.src.js +1 -1
- package/modules/xrange.js +1 -1
- package/modules/xrange.src.js +1 -1
- package/package.json +2 -3
- package/standalone-navigator.js +4 -4
- package/standalone-navigator.src.js +355 -249
- package/themes/adaptive.js +1 -1
- package/themes/adaptive.src.js +1 -1
- package/themes/avocado.js +1 -1
- package/themes/avocado.src.js +1 -1
- package/themes/dark-unica.js +1 -1
- package/themes/dark-unica.src.js +1 -1
- package/themes/grid-light.js +1 -1
- package/themes/grid-light.src.js +1 -1
- package/themes/high-contrast.js +1 -1
- package/themes/high-contrast.src.js +1 -1
- package/themes/sand-signika.js +1 -1
- package/themes/sand-signika.src.js +1 -1
- package/themes/sunset.js +1 -1
- package/themes/sunset.src.js +1 -1
package/modules/treegrid.src.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts Gantt JS v13.0.
|
|
3
|
+
* @license Highcharts Gantt JS v13.0.2 (2026-08-27)
|
|
4
4
|
* @module highcharts/modules/treegrid
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -257,7 +257,7 @@ var BrokenAxis;
|
|
|
257
257
|
/** @internal */
|
|
258
258
|
function onSeriesAfterRender() {
|
|
259
259
|
this.drawBreaks(this.xAxis, ['x']);
|
|
260
|
-
this.drawBreaks(this.yAxis, (
|
|
260
|
+
this.drawBreaks(this.yAxis, (this.pointArrayMap ?? ['y']));
|
|
261
261
|
}
|
|
262
262
|
/** @internal */
|
|
263
263
|
function seriesDrawBreaks(axis, keys) {
|
|
@@ -269,7 +269,7 @@ var BrokenAxis;
|
|
|
269
269
|
breaks = brokenAxis?.breakArray || [];
|
|
270
270
|
threshold = axis.isXAxis ?
|
|
271
271
|
axis.min :
|
|
272
|
-
(
|
|
272
|
+
(series.options.threshold ?? axis.min);
|
|
273
273
|
points.forEach(function (point) {
|
|
274
274
|
y = point['stack' + key.toUpperCase()] ??
|
|
275
275
|
point[key];
|
|
@@ -562,7 +562,8 @@ var BrokenAxis;
|
|
|
562
562
|
if (Additions.isInBreak(breaks[i], val)) {
|
|
563
563
|
inbrk = true;
|
|
564
564
|
if (!keep) {
|
|
565
|
-
keep =
|
|
565
|
+
keep =
|
|
566
|
+
breaks[i].showPoints ?? !axis.isXAxis;
|
|
566
567
|
}
|
|
567
568
|
}
|
|
568
569
|
}
|
|
@@ -745,7 +746,7 @@ var BrokenAxis;
|
|
|
745
746
|
}
|
|
746
747
|
};
|
|
747
748
|
}
|
|
748
|
-
if (
|
|
749
|
+
if (redraw ?? true) {
|
|
749
750
|
axis.chart.redraw();
|
|
750
751
|
}
|
|
751
752
|
}
|
|
@@ -820,7 +821,7 @@ function applyGridOptions(axis) {
|
|
|
820
821
|
options.labels = {};
|
|
821
822
|
}
|
|
822
823
|
*/
|
|
823
|
-
options.labels.align = (
|
|
824
|
+
options.labels.align = (options.labels.align ?? 'center');
|
|
824
825
|
// @todo: Check against tickLabelPlacement between/on etc
|
|
825
826
|
/* Prevents adding the last tick label if the axis is not a category
|
|
826
827
|
axis.
|
|
@@ -1364,8 +1365,8 @@ function onAfterSetOptions(e) {
|
|
|
1364
1365
|
_________________________
|
|
1365
1366
|
Into this: |_____|_____|_____|_____|
|
|
1366
1367
|
^ ^ */
|
|
1367
|
-
options.minPadding = (
|
|
1368
|
-
options.maxPadding = (
|
|
1368
|
+
options.minPadding = (userOptions.minPadding ?? 0);
|
|
1369
|
+
options.maxPadding = (userOptions.maxPadding ?? 0);
|
|
1369
1370
|
}
|
|
1370
1371
|
// If borderWidth is set, then use its value for tick and
|
|
1371
1372
|
// line width.
|
|
@@ -1884,7 +1885,7 @@ function getNode(id, parent, level, data, mapOfIdToChildren, options) {
|
|
|
1884
1885
|
}
|
|
1885
1886
|
// Call getNode recursively on the children. Calculate the height of the
|
|
1886
1887
|
// node, and the number of descendants.
|
|
1887
|
-
const children = (
|
|
1888
|
+
const children = (mapOfIdToChildren[id] || []).map((child) => {
|
|
1888
1889
|
const node = getNode(child.id, id, (level + 1), child, mapOfIdToChildren, options), childStart = child.start || NaN, childEnd = (child.milestone === true ?
|
|
1889
1890
|
childStart :
|
|
1890
1891
|
child.end ||
|
|
@@ -2013,7 +2014,7 @@ function renderLabelIcon(tick, params) {
|
|
|
2013
2014
|
}
|
|
2014
2015
|
/** @internal */
|
|
2015
2016
|
function wrapGetLabelPosition(proceed, x, y, label, horiz, labelOptions, tickmarkOffset, index, step) {
|
|
2016
|
-
const tick = this, lbOptions = (
|
|
2017
|
+
const tick = this, lbOptions = (tick.options?.labels ?? labelOptions), pos = tick.pos, axis = tick.axis, isTreeGrid = axis.type === 'treegrid', result = proceed.apply(tick, [x, y, label, horiz, lbOptions, tickmarkOffset, index, step]);
|
|
2017
2018
|
let mapOfPosToGridNode, node, level;
|
|
2018
2019
|
if (isTreeGrid) {
|
|
2019
2020
|
const { width = 0, padding = axis.linkedParent ? 0 : 5 } = (lbOptions && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(lbOptions.symbol, true) ?
|
|
@@ -2034,7 +2035,7 @@ function wrapGetLabelPosition(proceed, x, y, label, horiz, labelOptions, tickmar
|
|
|
2034
2035
|
}
|
|
2035
2036
|
/** @internal */
|
|
2036
2037
|
function wrapRenderLabel(proceed) {
|
|
2037
|
-
const tick = this, { pos, axis, label, treeGrid: tickGrid, options: tickOptions } = tick, icon = tickGrid?.labelIcon, labelElement = label?.element, { treeGrid: axisGrid, options: axisOptions, chart, tickPositions } = axis, mapOfPosToGridNode = axisGrid.mapOfPosToGridNode, labelOptions = (
|
|
2038
|
+
const tick = this, { pos, axis, label, treeGrid: tickGrid, options: tickOptions } = tick, icon = tickGrid?.labelIcon, labelElement = label?.element, { treeGrid: axisGrid, options: axisOptions, chart, tickPositions } = axis, mapOfPosToGridNode = axisGrid.mapOfPosToGridNode, labelOptions = (tickOptions?.labels ?? axisOptions?.labels), symbolOptions = (labelOptions && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(labelOptions.symbol, true) ?
|
|
2038
2039
|
labelOptions.symbol :
|
|
2039
2040
|
{}), node = mapOfPosToGridNode?.[pos], { descendants, depth } = node || {}, hasDescendants = node && descendants && descendants > 0, level = depth, isTreeGridElement = (axis.type === 'treegrid') && labelElement, shouldRender = tickPositions.indexOf(pos) > -1, prefixClassName = 'highcharts-treegrid-node-', prefixLevelClass = prefixClassName + 'level-', styledMode = chart.styledMode;
|
|
2040
2041
|
let collapsed, addClassName, removeClassName;
|
|
@@ -2300,9 +2301,17 @@ function getColor(node, options) {
|
|
|
2300
2301
|
}
|
|
2301
2302
|
// Select either point color, level color or inherited color.
|
|
2302
2303
|
if (!series.chart.styledMode) {
|
|
2303
|
-
color = (
|
|
2304
|
-
|
|
2305
|
-
|
|
2304
|
+
color = ((point && point.options.color) ??
|
|
2305
|
+
(level && level.color) ??
|
|
2306
|
+
colorByPoint ??
|
|
2307
|
+
(parentColor && variateColor(parentColor)) ??
|
|
2308
|
+
series.color);
|
|
2309
|
+
}
|
|
2310
|
+
colorIndex = ((point && point.options.colorIndex) ??
|
|
2311
|
+
(level && level.colorIndex) ??
|
|
2312
|
+
colorIndexByPoint ??
|
|
2313
|
+
parentColorIndex ??
|
|
2314
|
+
options.colorIndex);
|
|
2306
2315
|
}
|
|
2307
2316
|
return {
|
|
2308
2317
|
color: color,
|
|
@@ -2339,7 +2348,8 @@ function getLevelOptions(params) {
|
|
|
2339
2348
|
let level, levelIsConstant, options;
|
|
2340
2349
|
if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(item) && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(item.level)) {
|
|
2341
2350
|
options = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)({}, item);
|
|
2342
|
-
levelIsConstant =
|
|
2351
|
+
levelIsConstant =
|
|
2352
|
+
options.levelIsConstant ?? defaults.levelIsConstant;
|
|
2343
2353
|
// Delete redundant properties.
|
|
2344
2354
|
delete options.levelIsConstant;
|
|
2345
2355
|
delete options.level;
|
|
@@ -2371,7 +2381,7 @@ function setTreeValues(tree, options) {
|
|
|
2371
2381
|
const before = options.before, idRoot = options.idRoot, mapIdToNode = options.mapIdToNode, nodeRoot = mapIdToNode[idRoot], levelIsConstant = (options.levelIsConstant !== false), points = options.points, point = points[tree.i], optionsPoint = point && point.options || {}, children = [];
|
|
2372
2382
|
let childrenTotal = 0;
|
|
2373
2383
|
tree.levelDynamic = tree.level - (levelIsConstant ? 0 : nodeRoot.level);
|
|
2374
|
-
tree.name = (
|
|
2384
|
+
tree.name = ((point && point.name) ?? '');
|
|
2375
2385
|
tree.visible = (idRoot === tree.id ||
|
|
2376
2386
|
options.visible === true);
|
|
2377
2387
|
if (typeof before === 'function') {
|
|
@@ -2392,7 +2402,7 @@ function setTreeValues(tree, options) {
|
|
|
2392
2402
|
}
|
|
2393
2403
|
});
|
|
2394
2404
|
// Set the values
|
|
2395
|
-
const value = (
|
|
2405
|
+
const value = (optionsPoint.value ?? childrenTotal);
|
|
2396
2406
|
tree.visible = value >= 0 && (childrenTotal > 0 || tree.visible);
|
|
2397
2407
|
tree.children = children;
|
|
2398
2408
|
tree.childrenTotal = childrenTotal;
|
|
@@ -2418,7 +2428,7 @@ function updateRootId(series) {
|
|
|
2418
2428
|
// Get the series options.
|
|
2419
2429
|
options = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(series.options) ? series.options : {};
|
|
2420
2430
|
// Calculate the rootId.
|
|
2421
|
-
rootId = (
|
|
2431
|
+
rootId = (series.rootNode ?? options.rootId ?? '');
|
|
2422
2432
|
// Set rootId on series.userOptions to pick it up in exporting.
|
|
2423
2433
|
if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(series.userOptions)) {
|
|
2424
2434
|
series.userOptions.rootId = rootId;
|
package/modules/treemap.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/treemap
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
*
|
|
9
9
|
* A commercial license may be required depending on use,
|
|
10
10
|
* see www.highcharts.com/license
|
|
11
|
-
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.Series):"function"==typeof define&&define.amd?define("highcharts/modules/treemap",["highcharts/highcharts"],function(t){return e(t,t.Templating,t.Color,t.SeriesRegistry,t.SVGElement,t.Series)}):"object"==typeof exports?exports["highcharts/modules/treemap"]=e(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.Series):t.Highcharts=e(t.Highcharts,t.Highcharts.Templating,t.Highcharts.Color,t.Highcharts.SeriesRegistry,t.Highcharts.SVGElement,t.Highcharts.Series)}("u"<typeof window?this:window,(t,e,i,s,r,o)=>(()=>{"use strict";var l,a,n={620(t){t.exports=i},28(t){t.exports=r},820(t){t.exports=o},512(t){t.exports=s},984(t){t.exports=e},944(e){e.exports=t}};let h={};function d(t){let e=h[t];if(void 0!==e)return e.exports;let i=h[t]={exports:{}};return n[t](i,i.exports,d),i.exports}d.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],r=e[i++];d.o(t,s)?0===r&&i++:0===r?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:r})}else for(var s in e)d.o(e,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let p={};d.d(p,{default:()=>te});var u=d(944),c=d.n(u);let g={mainBreadcrumb:"Main"};var v=d(984);let{format:m}=d.n(v)(),{composed:b}=c();function f(){if(this.breadcrumbs){let t=this.resetZoomButton&&this.resetZoomButton.getBBox(),e=this.breadcrumbs.options;t&&"right"===e.position.align&&"plotBox"===e.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-t.width-e.buttonSpacing)}}function y(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function x(){let t=this.breadcrumbs;if(t&&!t.options.floating&&t.level){let e=t.options,i=e.buttonTheme,s=(i.height||0)+2*(i.padding||0)+e.buttonSpacing,r=e.position.verticalAlign;"bottom"===r?(this.marginBottom=(this.marginBottom||0)+s,t.yOffset=s):"middle"!==r?(this.plotTop+=s,t.yOffset=-s):t.yOffset=void 0}}function T(){this.breadcrumbs&&this.breadcrumbs.redraw()}function w(t){!0===t.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}class L{static compose(t,e){(0,u.pushUnique)(b,"Breadcrumbs")&&((0,u.addEvent)(t,"destroy",y),(0,u.addEvent)(t,"afterShowResetZoom",f),(0,u.addEvent)(t,"getMargins",x),(0,u.addEvent)(t,"redraw",T),(0,u.addEvent)(t,"selection",w),(0,u.extend)(e.lang,g))}constructor(t,e){this.elementList={},this.isDirty=!0,this.level=0,this.list=[];const i=(0,u.merge)(t.options.drilldown&&t.options.drilldown.drillUpButton,L.defaultOptions,t.options.navigation&&t.options.navigation.breadcrumbs,e);this.chart=t,this.options=i||{}}updateProperties(t){this.setList(t),this.setLevel(),this.isDirty=!0}setList(t){this.list=t}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(t){let e=this.chart,i=this.options,s=e.options.lang,r=(0,u.pick)(i.format,i.showFullPath?"{level.name}":"← {level.name}"),o=s&&(0,u.pick)(s.drillUpText,s.mainBreadcrumb),l=i.formatter&&i.formatter(t)||m(r,{level:t.levelOptions},e)||"";return((0,u.isString)(l)&&!l.length||"← "===l)&&(0,u.defined)(o)&&(l=i.showFullPath?o:"← "+o),l}redraw(){this.isDirty&&this.render(),this.group&&this.group.align(),this.isDirty=!1}render(){let t=this.chart,e=this.options;!this.group&&e&&(this.group=t.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:e.zIndex}).add()),e.showFullPath?this.renderFullPathButtons():this.renderSingleButton(),this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(),this.resetElementListState(),this.updateListElements(),this.destroyListElements()}renderSingleButton(){let t=this.chart,e=this.list,i=this.options.buttonSpacing;this.destroyListElements();let s=this.group?this.group.getBBox().width:i,r=e[e.length-2];!t.drillUpButton&&this.level>0?t.drillUpButton=this.renderButton(r,s,i):t.drillUpButton&&(this.level>0?this.updateSingleButton():this.destroySingleButton())}alignBreadcrumbsGroup(t){if(this.group){let e=this.options,i=e.buttonTheme,s=e.position,r="chart"===e.relativeTo||"spacingBox"===e.relativeTo?void 0:"plotBox",o=this.group.getBBox(),l=2*(i.padding||0)+e.buttonSpacing;s.width=o.width+l,s.height=o.height+l;let a=(0,u.merge)(s);t&&(a.x+=t),this.options.rtl&&(a.x+=s.width),a.y=(0,u.pick)(a.y,this.yOffset,0),this.group.align(a,!0,r)}}renderButton(t,e,i){let s=this,r=this.chart,o=s.options,l=(0,u.merge)(o.buttonTheme),a=r.renderer.button(s.getButtonText(t),e,i,function(e){let i,r=o.events&&o.events.click;r&&(i=r.call(s,e,t,s)),!1!==i&&(o.showFullPath?e.newLevel=t.level:e.newLevel=s.level-1,(0,u.fireEvent)(s,"up",e))},l).addClass("highcharts-breadcrumbs-button").add(s.group);return r.styledMode||a.attr(o.style),a}renderSeparator(t,e){let i=this.chart,s=this.options.separator,r=i.renderer.label(s.text,t,e,void 0,void 0,void 0,!1).addClass("highcharts-breadcrumbs-separator").add(this.group);return i.styledMode||r.css(s.style),r}update(t){(0,u.merge)(!0,this.options,t),this.destroy(),this.isDirty=!0}updateSingleButton(){let t=this.chart,e=this.list[this.level-1];t.drillUpButton&&t.drillUpButton.attr({text:this.getButtonText(e)})}destroy(){this.destroySingleButton(),this.destroyListElements(!0),this.group&&this.group.destroy(),this.group=void 0}destroyListElements(t){let e=this.elementList;(0,u.objectEach)(e,(i,s)=>{(t||!e[s].updated)&&((i=e[s]).button&&i.button.destroy(),i.separator&&i.separator.destroy(),delete i.button,delete i.separator,delete e[s])}),t&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton=void 0)}resetElementListState(){(0,u.objectEach)(this.elementList,t=>{t.updated=!1})}updateListElements(){let t=this.elementList,e=this.options.buttonSpacing,i=this.list,s=this.options.rtl,r=s?-1:1,o=function(t,e){return r*t.getBBox().width+r*e},l=function(t,e,i){t.translate(e-t.getBBox().width,i)},a=this.group?o(this.group,e):e,n,h;for(let d=0,p=i.length;d<p;++d){let u,c,g=d===p-1;t[(h=i[d]).level]?(u=(n=t[h.level]).button,n.separator||g?n.separator&&g&&(n.separator.destroy(),delete n.separator):(a+=r*e,n.separator=this.renderSeparator(a,e),s&&l(n.separator,a,e),a+=o(n.separator,e)),t[h.level].updated=!0):(u=this.renderButton(h,a,e),s&&l(u,a,e),a+=o(u,e),g||(c=this.renderSeparator(a,e),s&&l(c,a,e),a+=o(c,e)),t[h.level]={button:u,separator:c,updated:!0}),u&&u.setState(2*!!g)}}}L.defaultOptions={buttonSpacing:5,buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"var(--highcharts-highlight-color-80)"}},floating:!1,format:void 0,relativeTo:"plotBox",rtl:!1,position:{align:"left",verticalAlign:"top",x:0,y:void 0},separator:{text:"/",style:{color:"var(--highcharts-neutral-color-60)",fontSize:"0.8em"}},showFullPath:!0,style:{},useHTML:!1,zIndex:7};var A=d(620),B=d.n(A),O=d(512),P=d.n(O),S=d(28),C=d.n(S);let{column:{prototype:N}}=P().seriesTypes;var M=l||(l={});function E(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new(C())(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}M.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},M.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return(0,u.defined)(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:N.pointAttribs},M.compose=function(t){let e=t.prototype.pointClass;return(0,u.addEvent)(e,"afterSetState",E),t};let R=l;var k=d(820),D=d.n(k);let I=class{constructor(t,e,i,s){this.height=t,this.width=e,this.plot=s,this.direction=i,this.startDirection=i,this.total=0,this.nW=0,this.lW=0,this.nH=0,this.lH=0,this.elArr=[],this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(t,e){return Math.max(t/e,e/t)}}}addElement(t){this.lP.total=this.elArr[this.elArr.length-1],this.total=this.total+t,0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH)),this.elArr.push(t)}reset(){this.nW=0,this.lW=0,this.elArr=[],this.total=0}},H=function(t,e){let{animatableAttribs:i,onComplete:s,css:r,renderer:o}=e,l=t.series&&t.series.chart.hasRendered?void 0:t.series&&t.series.options.animation,a=t.graphic;if(e.attribs={...e.attribs,class:t.getClassName()},t.shouldDraw())a||(t.graphic=a="text"===e.shapeType?o.text():"image"===e.shapeType?o.image(e.imageUrl||"").attr(e.shapeArgs||{}):o[e.shapeType](e.shapeArgs||{}),a.add(e.group)),r&&a.css(r),a.attr(e.attribs).animate(i,!e.isNew&&l,s);else if(a){let e=()=>{t.graphic=a=a&&a.destroy(),"function"==typeof s&&s()};Object.keys(i).length?a.animate(i,void 0,()=>e()):e()}},{pie:{prototype:{pointClass:G}},scatter:{prototype:{pointClass:V}}}=P().seriesTypes;class U extends V{constructor(){super(...arguments),this.groupedPointsAmount=0,this.shapeType="rect"}draw(t){H(this,t)}getClassName(){let t=this.series,e=t.options,i=super.getClassName();return this.node.level<=t.nodeMap[t.rootNode].level&&this.node.children.length?i+=" highcharts-above-level":this.node.isGroup||this.node.isLeaf||t.nodeMap[t.rootNode].isGroup||(0,u.pick)(e.interactByLeaf,!e.allowTraversingTree)?this.node.isGroup||this.node.isLeaf||t.nodeMap[t.rootNode].isGroup||(i+=" highcharts-internal-node"):i+=" highcharts-internal-node-interactive",i}isValid(){return!!(this.id||(0,u.isNumber)(this.value))}setState(t){super.setState.apply(this,arguments),this.graphic&&this.graphic.attr({zIndex:+("hover"===t)})}shouldDraw(){return(0,u.isNumber)(this.plotY)&&null!==this.y}}(0,u.extend)(U.prototype,{setVisible:G.prototype.setVisible});let W={allowTraversingTree:!1,animationLimit:250,borderRadius:0,showInLegend:!1,marker:void 0,colorByPoint:!1,dataLabels:{enabled:!0,formatter:function(){let t=this&&this.point?this.point:{};return(0,u.isString)(t.name)?t.name:""},headers:!1,inside:!0,padding:2,verticalAlign:"middle",style:{textOverflow:"ellipsis"}},tooltip:{headerFormat:"",pointFormat:"<b>{point.name}</b>: {point.value}<br/>",clusterFormat:"+ {point.groupedPointsAmount} more...<br/>"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"var(--highcharts-neutral-color-10)",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"var(--highcharts-neutral-color-40)",brightness:.1*!P().seriesTypes.heatmap,halo:!1,opacity:.75,shadow:!1}},legendSymbol:"rectangle",traverseToLeaf:!1,cluster:{className:void 0,color:void 0,enabled:!1,pixelWidth:void 0,pixelHeight:void 0,name:void 0,reductionFactor:void 0,minimumClusterSize:5,layoutAlgorithm:{distance:0,gridSize:0,kmeansThreshold:0},marker:{lineWidth:0,radius:0}}};(a||(a={})).recursive=function t(e,i,s){let r=i.call(s||this,e);!1!==r&&t(r,i,s)};let j=a,{parse:F}=B(),{composed:z,noop:_}=c(),{column:$,scatter:K}=P().seriesTypes,{getColor:Y,getLevelOptions:q,updateRootId:Z}={getColor:function(t,e){let i,s,r,o,l,a,n=e.index,h=e.mapOptionsToLevel,d=e.parentColor,p=e.parentColorIndex,c=e.series,g=e.colors,v=e.siblings,m=c.points,b=c.chart.options.chart;if(t){let f;i=m[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(o=i.index%(g?g.length:b.colorCount),r=g&&g[o]),c.chart.styledMode||(l=(0,u.pick)(i&&i.options.color,s&&s.color,r,d&&((f=s&&s.colorVariation)&&"brightness"===f.key&&n&&v?B().parse(d).brighten(f.to*(n/v)).get():d),c.color)),a=(0,u.pick)(i&&i.options.colorIndex,s&&s.colorIndex,o,p,e.colorIndex)}return{color:l,colorIndex:a}},getLevelOptions:function(t){let e,i,s,r,o,l,a={};if((0,u.isObject)(t))for(r=(0,u.isNumber)(t.from)?t.from:1,l=t.levels,i={},e=(0,u.isObject)(t.defaults)?t.defaults:{},(0,u.isArray)(l)&&(i=l.reduce((t,i)=>{let s,o,l;return(0,u.isObject)(i)&&(0,u.isNumber)(i.level)&&(l=(0,u.merge)({},i),o=(0,u.pick)(l.levelIsConstant,e.levelIsConstant),delete l.levelIsConstant,delete l.level,s=i.level+(o?0:r-1),(0,u.isObject)(t[s])?(0,u.merge)(!0,t[s],l):t[s]=l),t},{})),o=(0,u.isNumber)(t.to)?t.to:1,s=0;s<=o;s++)a[s]=(0,u.merge)({},e,(0,u.isObject)(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:r=0,nodeWidth:o=0}=s,{plotSizeX:l=1}=i;if("auto"===o){if("string"==typeof r&&/%$/.test(r))return l/(e+parseFloat(r)/100*(e-1));let t=Number(r);return(l+t)/(e||1)-t}return(0,u.relativeLength)(o,l)},setTreeValues:function t(e,i){let s=i.before,r=i.idRoot,o=i.mapIdToNode[r],l=!1!==i.levelIsConstant,a=i.points[e.i],n=a&&a.options||{},h=[],d=0;e.levelDynamic=e.level-(l?0:o.level),e.name=(0,u.pick)(a&&a.name,""),e.visible=r===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,r)=>{let o=(0,u.extend)({},i);(0,u.extend)(o,{index:r,siblings:e.children.length,visible:e.visible}),s=t(s,o),h.push(s),s.visible&&(d+=s.val)});let p=(0,u.pick)(n.value,d);return e.visible=p>=0&&(d>0||e.visible),e.children=h,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=p,e},updateRootId:function(t){let e,i;return(0,u.isObject)(t)&&(i=(0,u.isObject)(t.options)?t.options:{},e=(0,u.pick)(t.rootNode,i.rootId,""),(0,u.isObject)(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}};D().keepProps.push("simulation","hadOutsideDataLabels");let X=!1;function J(){let t=this.xAxis,e=this.yAxis;if(t&&e)if(this.is("treemap")){let i={endOnTick:!1,startOnTick:!1,visible:!1};this.is("treegraph")||(i.min=0,i.max=100,i.tickPositions=[]),(0,u.merge)(!0,t.options,i,t.userOptions),(0,u.merge)(!0,e.options,i,e.userOptions),t.visible=t.options.visible,e.visible=e.options.visible,this.is("treegraph")&&(this.isCartesian=t.visible),X=!0}else X&&(e.setOptions(e.userOptions),t.setOptions(t.userOptions),X=!1)}class Q extends K{constructor(){super(...arguments),this.simulation=0}static compose(t){(0,u.pushUnique)(z,"TreemapSeries")&&(0,u.addEvent)(t,"afterBindAxes",J)}algorithmCalcPoints(t,e,i,s){let r=i.plot,o=i.elArr.length-1,l,a,n,h,d=i.lW,p=i.lH,c,g=0;for(let t of(e?(d=i.nW,p=i.nH):c=i.elArr[o],i.elArr))(e||g<o)&&(0===i.direction?(l=r.x,a=r.y,h=t/(n=d)):(l=r.x,a=r.y,n=t/(h=p)),s.push({x:l,y:a,width:n,height:(0,u.correctFloat)(h)}),0===i.direction?r.y=r.y+h:r.x=r.x+n),g+=1;i.reset(),0===i.direction?i.width=i.width-d:i.height=i.height-p,r.y=r.parent.y+(r.parent.height-i.height),r.x=r.parent.x+(r.parent.width-i.width),t&&(i.direction=1-i.direction),e||i.addElement(c)}algorithmFill(t,e,i){let s=[],r,o=e.direction,l=e.x,a=e.y,n=e.width,h=e.height,d,p,u,c;for(let g of i)r=e.width*e.height*(g.val/e.val),d=l,p=a,0===o?(n-=u=r/(c=h),l+=u):(h-=c=r/(u=n),a+=c),s.push({x:d,y:p,width:u,height:c,direction:0,val:0}),t&&(o=1-o);return s}algorithmLowAspectRatio(t,e,i){let s=[],r={x:e.x,y:e.y,parent:e},o=e.direction,l=i.length-1,a=new I(e.height,e.width,o,r),n,h=0;for(let o of i)n=e.width*e.height*(o.val/e.val),a.addElement(n),a.lP.nR>a.lP.lR&&this.algorithmCalcPoints(t,!1,a,s,r),h===l&&this.algorithmCalcPoints(t,!0,a,s,r),++h;return s}alignDataLabel(t,e,i){$.prototype.alignDataLabel.apply(this,arguments),t.dataLabel&&t.dataLabel.attr({zIndex:(t.node.zIndex||0)+1})}applyTreeGrouping(){let t=this,e=t.parentList||{},{cluster:i}=t.options,s=i?.minimumClusterSize||5;if(i?.enabled){let r={},o=t=>{if(t?.point?.shapeArgs){let{width:e=0,height:s=0}=t.point.shapeArgs,{pixelWidth:o=0,pixelHeight:l=0}=i,a=(0,u.defined)(l),n=l?o*l:o*o;(e<o||s<(a?l:o)||e*s<n)&&!t.isGroup&&(0,u.defined)(t.parent)&&(r[t.parent]||(r[t.parent]=[]),r[t.parent].push(t))}t?.children.forEach(t=>{o(t)})};for(let l in o(t.tree),r)r[l]&&r[l].length>s&&r[l].forEach(s=>{let r=e[l].indexOf(s.i);if(-1!==r){e[l].splice(r,1);let o=`highcharts-grouped-treemap-points-${s.parent||"root"}`,a=t.points.find(t=>t.id===o);if(!a){let s=t.pointClass,r=t.points.length;a=new s(t,{className:i.className,color:i.color,id:o,index:r,isGroup:!0,value:0}),(0,u.extend)(a,{formatPrefix:"cluster"}),t.points.push(a),e[l].push(r),e[o]=[]}let n=a.groupedPointsAmount+1,h=t.points[a.index].options.value||0,d=i.name||`+ ${n}`;t.points[a.index].groupedPointsAmount=n,t.points[a.index].options.value=h+(s.point.value||0),t.points[a.index].name=d,e[o].push(s.point.index)}});t.nodeMap={},t.nodeList=[],t.parentList=e;let l=t.buildTree("",-1,0,t.parentList);t.translate(l)}}calculateChildrenAreas(t,e){let i=this.options,s=this.mapOptionsToLevel[t.level+1],r=(0,u.pick)(s?.layoutAlgorithm&&this[s?.layoutAlgorithm]&&s.layoutAlgorithm,i.layoutAlgorithm),o=i.alternateStartingDirection,l=t.children.filter(e=>t.isGroup||!e.ignore),a=s?.groupPadding??i.groupPadding??0,n=this.nodeMap[this.rootNode];if(!r)return;let h=[],d=n.pointValues?.width||0,p=n.pointValues?.height||0;s?.layoutStartingDirection&&(e.direction=+("vertical"!==s.layoutStartingDirection)),h=this[r](e,l);let c=-1;for(let t of l){let i=h[++c];t===n&&(d=d||i.width,p=i.height);let s=a/(this.xAxis.len/p),r=a/(this.yAxis.len/p);if(t.values=(0,u.merge)(i,{val:t.childrenTotal,direction:o?1-e.direction:e.direction}),t.children.length&&t.point.dataLabels?.length){let e=(0,u.arrayMax)(t.point.dataLabels.map(t=>t.options?.headers&&t.height||0))/(this.yAxis.len/p);e<t.values.height/2&&(t.values.y+=e,t.values.height-=e)}if(a){let e=Math.min(s,t.values.width/4),i=Math.min(r,t.values.height/4);t.values.x+=e,t.values.width-=2*e,t.values.y+=i,t.values.height-=2*i}t.pointValues=(0,u.merge)(i,{x:i.x/this.axisRatio,y:100-i.y-i.height,width:i.width/this.axisRatio}),t.children.length&&this.calculateChildrenAreas(t,t.values)}let g=(t,e=[],i=!0)=>(t.children.forEach(t=>{i&&t.isLeaf?e.push(t.point):i||t.isLeaf||e.push(t.point),t.children.length&&g(t,e,i)}),e);if("leaf"===i.nodeSizeBy&&t===n&&this.hasOutsideDataLabels&&!g(n,void 0,!1).some(t=>(0,u.isNumber)(t.options.value))&&!(0,u.isNumber)(n.point?.options.value)){let i=g(n),s=i.map(t=>t.options.value||0),r=i.map(({node:{pointValues:t}})=>t?t.width*t.height:0),o=s.reduce((t,e)=>t+e,0),l=r.reduce((t,e)=>t+e,0)/o,a=0,h=0;i.forEach((t,e)=>{let i=s[e]?r[e]/s[e]:1,o=(0,u.clamp)(i/l,.8,1.4),n=1-o;t.value&&(r[e]<20&&(n*=r[e]/20),n>h&&(h=n),n<a&&(a=n),t.simulatedValue=(t.simulatedValue||t.value)/o)}),(a<-.05||h>.05)&&this.simulation<10?(this.simulation++,this.setTreeValues(t),e.val=t.val,this.calculateChildrenAreas(t,e)):(i.forEach(t=>{delete t.simulatedValue}),this.setTreeValues(t),this.simulation=0)}}createList(t){let e=this.chart,i=e.breadcrumbs,s=[];if(i){let i=0;s.push({level:i,levelOptions:e.series[0]});let r=t.target.nodeMap[t.newRootId],o=[];for(;r.parent||""===r.parent;)o.push(r),r=t.target.nodeMap[r.parent];for(let t of o.reverse())s.push({level:++i,levelOptions:t});s.length<=1&&(s.length=0)}return s}drawDataLabels(){let t=this.mapOptionsToLevel,e=this.points.filter(function(t){return t.node.visible||(0,u.defined)(t.dataLabel)}),i=(0,u.splat)(this.options.dataLabels||{})[0]?.padding,s=e.some(t=>(0,u.isNumber)(t.plotY));for(let r of e){let e={},o={style:e},l=t[r.node.level];if((!r.node.isLeaf&&!r.node.isGroup||r.node.isGroup&&r.node.level<=this.nodeMap[this.rootNode].level)&&(o.enabled=!1),l?.dataLabels&&((0,u.merge)(!0,o,(0,u.splat)(l.dataLabels)[0]),this.hasDataLabels=()=>!0),r.node.isLeaf?o.inside=!0:o.headers&&(o.verticalAlign="top"),r.shapeArgs&&s){let{height:t=0,width:s=0}=r.shapeArgs;if(s>32&&t>16&&r.shouldDraw()){let l=s-2*((0,u.splat)(o.padding)[0]||(0,u.splat)(i)[0]||0);e.width=`${l}px`,e.lineClamp??(e.lineClamp=Math.floor(t/16)),this.options.allowTraversingTree&&(e.visibility="inherit"),r.dataLabel?.attr({width:o.headers?l:void 0})}else e.width=`${s}px`,e.visibility="hidden"}r.dlOptions=(0,u.merge)(o,r.options.dataLabels,{zIndex:void 0}),delete r.dlOptions.zIndex}super.drawDataLabels(e)}drawPoints(t=this.points){let e=this.chart,i=e.renderer,s=e.styledMode,r=this.options,o=s?{}:r.shadow,l=r.borderRadius,a=e.pointCount<r.animationLimit,n=r.allowTraversingTree;for(let e of t){let t={},h={},d={},p="level-group-"+e.node.level,c=!!e.graphic,g=a&&c,v=e.shapeArgs;e.shouldDraw()&&(e.isInside=!0,l&&(h.r=l),(0,u.merge)(!0,g?t:h,c?v:{},s?{}:this.pointAttribs(e,e.selected?"select":void 0)),this.colorAttribs&&s&&(0,u.extend)(d,this.colorAttribs(e)),this[p]||(this[p]=i.g(p).attr({zIndex:-(e.node.level||0)}).add(this.group),this[p].survive=!0)),e.draw({animatableAttribs:t,attribs:h,css:d,group:this[p],imageUrl:e.imageUrl,renderer:i,shadow:o,shapeArgs:v,shapeType:e.shapeType}),n&&e.graphic&&(e.drillId=r.interactByLeaf?this.drillToByLeaf(e):this.drillToByGroup(e))}}drillToByGroup(t){return(!t.node.isLeaf||!!t.node.isGroup)&&t.id}drillToByLeaf(t){let{traverseToLeaf:e}=t.series.options,i=!1,s;if(t.node.parent!==this.rootNode&&t.node.isLeaf)if(e)i=t.id;else for(s=t.node;!i;)void 0!==s.parent&&(s=this.nodeMap[s.parent]),s.parent===this.rootNode&&(i=s.id);return i}drillToNode(t,e){(0,u.error)(32,!1,void 0,{"treemap.drillToNode":"use treemap.setRootNode"}),this.setRootNode(t,e)}drillUp(){let t=this.nodeMap[this.rootNode];t&&(0,u.isString)(t.parent)&&this.setRootNode(t.parent,!0,{trigger:"traverseUpButton"})}getExtremes(){let{dataMin:t,dataMax:e}=super.getExtremes(this.colorValueData);return this.valueMin=t,this.valueMax=e,super.getExtremes()}getListOfParents(t,e){let i=(0,u.isArray)(t)?t:[],s=(0,u.isArray)(e)?e:[],r=i.reduce(function(t,e,i){let s=(0,u.pick)(e.parent,"");return void 0===t[s]&&(t[s]=[]),t[s].push(i),t},{"":[]});for(let t of Object.keys(r)){let e=r[t];if(""!==t&&-1===s.indexOf(t)){for(let t of e)r[""].push(t);delete r[t]}}return r}getTree(){let t=this.data.map(function(t){return t.id});return this.parentList=this.getListOfParents(this.data,t),this.nodeMap={},this.nodeList=[],this.buildTree("",-1,0,this.parentList||{})}buildTree(t,e,i,s,r){let o=[],l=this.points[e],a=0,n;for(let e of s[t]||[])a=Math.max((n=this.buildTree(this.points[e].id,e,i+1,s,t)).height+1,a),o.push(n),this.is("treegraph")&&(n.visible=!0);let h=new this.NodeClass().init(t,e,o,a,i,this,r);for(let t of o)t.parentNode=h;return this.nodeMap[h.id]=h,this.nodeList.push(h),l&&(l.node=h,h.point=l,(0,u.defined)(l.options.x)||(l.x=i)),h}hasData(){return!!this.dataTable.rowCount}init(t,e){let i=this,s=(0,u.merge)(e.drillUpButton,e.breadcrumbs),r=(0,u.addEvent)(i,"setOptions",t=>{let e=t.userOptions;(0,u.defined)(e.allowDrillToNode)&&!(0,u.defined)(e.allowTraversingTree)&&(e.allowTraversingTree=e.allowDrillToNode,delete e.allowDrillToNode),(0,u.defined)(e.drillUpButton)&&!(0,u.defined)(e.traverseUpButton)&&(e.traverseUpButton=e.drillUpButton,delete e.drillUpButton);let i=(0,u.splat)(e.dataLabels||{});e.levels?.forEach(t=>{i.push.apply(i,(0,u.splat)(t.dataLabels||{}))}),this.hasOutsideDataLabels=i.some(t=>t.headers)});super.init(t,e),delete i.opacity,i.eventsToUnbind.push(r),i.options.allowTraversingTree&&(i.eventsToUnbind.push((0,u.addEvent)(i,"click",i.onClickDrillToNode)),i.eventsToUnbind.push((0,u.addEvent)(i,"setRootNode",function(t){let e=i.chart;e.breadcrumbs&&e.breadcrumbs.updateProperties(i.createList(t))})),i.eventsToUnbind.push((0,u.addEvent)(i,"update",function(t,e){let i=this.chart.breadcrumbs;i&&t.options.breadcrumbs&&i.update(t.options.breadcrumbs),this.hadOutsideDataLabels=this.hasOutsideDataLabels})),i.eventsToUnbind.push((0,u.addEvent)(i,"destroy",function(t){let e=this.chart;e.breadcrumbs&&!t.keepEventsForUpdate&&(e.breadcrumbs.destroy(),e.breadcrumbs=void 0)}))),t.breadcrumbs||(t.breadcrumbs=new L(t,s)),i.eventsToUnbind.push((0,u.addEvent)(t.breadcrumbs,"up",function(t){let e=this.level-t.newLevel;for(let t=0;t<e;t++)i.drillUp()}))}onClickDrillToNode(t){let e=t.point,i=e?.drillId;(0,u.isString)(i)&&(e.setState(""),this.setRootNode(i,!0,{trigger:"click"}))}pointAttribs(t,e){let i=(0,u.isObject)(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},s=t?.node&&i[t.node.level]||{},r=this.options,o=e&&r.states&&r.states[e]||{},l=t?.node&&t.getClassName()||"",a={stroke:t&&t.borderColor||s.borderColor||o.borderColor||r.borderColor,"stroke-width":(0,u.pick)(t&&t.borderWidth,s.borderWidth,o.borderWidth,r.borderWidth),dashstyle:t?.borderDashStyle||s.borderDashStyle||o.borderDashStyle||r.borderDashStyle,fill:t?.color||this.color};return -1!==l.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==l.indexOf("highcharts-internal-node-interactive")?(a["fill-opacity"]=o.opacity??r.opacity??1,a.cursor="pointer"):-1!==l.indexOf("highcharts-internal-node")?a.fill="none":e&&o.brightness&&(a.fill=F(a.fill).brighten(o.brightness).get()),a}setColorRecursive(t,e,i,s,r){let o=this?.chart,l=o?.options?.colors;if(t){let o=Y(t,{colors:l,index:s,mapOptionsToLevel:this.mapOptionsToLevel,parentColor:e,parentColorIndex:i,series:this,siblings:r}),a=this.points[t.i];a&&(a.color=o.color,a.colorIndex=o.colorIndex);let n=-1;for(let e of t.children||[])this.setColorRecursive(e,o.color,o.colorIndex,++n,t.children.length)}}setPointValues(){let t=this,{points:e,xAxis:i,yAxis:s}=t,r=t.chart.styledMode,o=e=>r?0:t.pointAttribs(e)["stroke-width"]||0;for(let t of e){let{pointValues:e,visible:r}=t.node;if(e&&r){let{height:r,width:l,x:a,y:n}=e,h=o(t),d=i.toPixels(a,!0),p=i.toPixels(a+l,!0),c=s.toPixels(n,!0),g=s.toPixels(n+r,!0),v=0===d?h/2:(0,u.crisp)(i.toPixels(a,!0),h,!0),m=p===i.len?i.len-h/2:(0,u.crisp)(i.toPixels(a+l,!0),h,!0),b=c===s.len?s.len-h/2:(0,u.crisp)(s.toPixels(n,!0),h,!0),f=0===g?h/2:(0,u.crisp)(s.toPixels(n+r,!0),h,!0),y={x:Math.min(v,m),y:Math.min(b,f),width:Math.abs(m-v),height:Math.abs(f-b)};t.plotX=y.x+y.width/2,t.plotY=y.y+y.height/2,t.shapeArgs=y}else delete t.plotX,delete t.plotY}}setRootNode(t,e,i){let s=(0,u.extend)({newRootId:t,previousRootId:this.rootNode,redraw:(0,u.pick)(e,!0),series:this},i);(0,u.fireEvent)(this,"setRootNode",s,function(t){let e=t.series;e.idPreviousRoot=t.previousRootId,e.rootNode=t.newRootId,e.isDirty=!0,t.redraw&&e.chart.redraw()})}setState(t){this.options.inactiveOtherPoints=!0,super.setState(t,!1),this.options.inactiveOtherPoints=!1}setTreeValues(t){let e=this.options,i=this.rootNode,s=this.nodeMap[i],r="boolean"!=typeof e.levelIsConstant||e.levelIsConstant,o=[],l=this.points[t.i],a=0;for(let e of t.children)e=this.setTreeValues(e),o.push(e),e.ignore||(a+=e.val);(0,u.stableSort)(o,(t,e)=>(t.sortIndex||0)-(e.sortIndex||0));let n=(0,u.pick)(l?.simulatedValue,l?.options.value,a);return l&&(l.value=n),l?.isGroup&&e.cluster?.reductionFactor&&(n/=e.cluster.reductionFactor),t.parentNode?.point?.isGroup&&this.rootNode!==t.parent&&(t.visible=!1),(0,u.extend)(t,{children:o,childrenTotal:a,ignore:!((0,u.pick)(l?.visible,!0)&&n>0),isLeaf:t.visible&&!("treegraph"===this.type?o.length>0:a),isGroup:l?.isGroup,levelDynamic:t.level-(r?0:s.level),name:(0,u.pick)(l?.name,""),sortIndex:(0,u.pick)(l?.sortIndex,-n),val:n}),t}sliceAndDice(t,e){return this.algorithmFill(!0,t,e)}squarified(t,e){return this.algorithmLowAspectRatio(!0,t,e)}strip(t,e){return this.algorithmLowAspectRatio(!1,t,e)}stripes(t,e){return this.algorithmFill(!1,t,e)}translate(t){let e=this,i=e.options,s=!t,r=Z(e),o,l,a,n;t||r.startsWith("highcharts-grouped-treemap-points-")||((this.points||[]).forEach(t=>{t.isGroup&&t.destroy()}),super.translate(),t=e.getTree()),e.tree=t=t||e.tree,o=e.nodeMap[r],""===r||o||(e.setRootNode("",!1),r=e.rootNode,o=e.nodeMap[r]),o.point?.isGroup||(e.mapOptionsToLevel=q({from:o.level+1,levels:i.levels,to:t.height,defaults:{levelIsConstant:e.options.levelIsConstant,colorByPoint:i.colorByPoint}})),j.recursive(e.nodeMap[e.rootNode],t=>{let i=t.parent,s=!1;return t.visible=!0,(i||""===i)&&(s=e.nodeMap[i]),s}),j.recursive(e.nodeMap[e.rootNode].children,t=>{let e=!1;for(let i of t)i.visible=!0,i.children.length&&(e=(e||[]).concat(i.children));return e}),e.setTreeValues(t),e.axisRatio=e.xAxis.len/e.yAxis.len,e.nodeMap[""].pointValues=l={x:0,y:0,width:100,height:100},e.nodeMap[""].values=a=(0,u.merge)(l,{width:l.width*e.axisRatio,direction:+("vertical"!==i.layoutStartingDirection),val:t.val}),(this.hasOutsideDataLabels||this.hadOutsideDataLabels)&&this.drawDataLabels(),e.calculateChildrenAreas(t,a),e.colorAxis||i.colorByPoint||e.setColorRecursive(e.tree),i.allowTraversingTree&&o.pointValues&&(n=o.pointValues,e.xAxis.setExtremes(n.x,n.x+n.width,!1),e.yAxis.setExtremes(n.y,n.y+n.height,!1),e.xAxis.setScale(),e.yAxis.setScale()),e.setPointValues(),s&&e.applyTreeGrouping()}}Q.defaultOptions=(0,u.merge)(K.defaultOptions,W),(0,u.extend)(Q.prototype,{buildKDTree:_,colorAttribs:R.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,getExtremesFromAll:!0,getSymbol:_,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value","colorValue"],pointClass:U,NodeClass:class{constructor(){this.childrenTotal=0,this.visible=!1}init(t,e,i,s,r,o,l){return this.id=t,this.i=e,this.children=i,this.height=s,this.level=r,this.series=o,this.parent=l,this}},trackerGroups:["group","dataLabelsGroup"],utils:j}),R.compose(Q),P().registerSeriesType("treemap",Q);let tt=c();tt.Breadcrumbs=tt.Breadcrumbs||L,tt.Breadcrumbs.compose(tt.Chart,tt.defaultOptions),Q.compose(tt.Series);let te=c();return p.default})());
|
|
11
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.Series):"function"==typeof define&&define.amd?define("highcharts/modules/treemap",["highcharts/highcharts"],function(t){return e(t,t.Templating,t.Color,t.SeriesRegistry,t.SVGElement,t.Series)}):"object"==typeof exports?exports["highcharts/modules/treemap"]=e(t._Highcharts,t._Highcharts.Templating,t._Highcharts.Color,t._Highcharts.SeriesRegistry,t._Highcharts.SVGElement,t._Highcharts.Series):t.Highcharts=e(t.Highcharts,t.Highcharts.Templating,t.Highcharts.Color,t.Highcharts.SeriesRegistry,t.Highcharts.SVGElement,t.Highcharts.Series)}("u"<typeof window?this:window,(t,e,i,s,r,o)=>(()=>{"use strict";var l,a,n={620(t){t.exports=i},28(t){t.exports=r},820(t){t.exports=o},512(t){t.exports=s},984(t){t.exports=e},944(e){e.exports=t}};let h={};function d(t){let e=h[t];if(void 0!==e)return e.exports;let i=h[t]={exports:{}};return n[t](i,i.exports,d),i.exports}d.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],r=e[i++];d.o(t,s)?0===r&&i++:0===r?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:r})}else for(var s in e)d.o(e,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let p={};d.d(p,{default:()=>te});var u=d(944),c=d.n(u);let g={mainBreadcrumb:"Main"};var v=d(984);let{format:m}=d.n(v)(),{composed:b}=c();function f(){if(this.breadcrumbs){let t=this.resetZoomButton&&this.resetZoomButton.getBBox(),e=this.breadcrumbs.options;t&&"right"===e.position.align&&"plotBox"===e.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-t.width-e.buttonSpacing)}}function y(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function x(){let t=this.breadcrumbs;if(t&&!t.options.floating&&t.level){let e=t.options,i=e.buttonTheme,s=(i.height||0)+2*(i.padding||0)+e.buttonSpacing,r=e.position.verticalAlign;"bottom"===r?(this.marginBottom=(this.marginBottom||0)+s,t.yOffset=s):"middle"!==r?(this.plotTop+=s,t.yOffset=-s):t.yOffset=void 0}}function T(){this.breadcrumbs&&this.breadcrumbs.redraw()}function w(t){!0===t.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}class L{static compose(t,e){(0,u.pushUnique)(b,"Breadcrumbs")&&((0,u.addEvent)(t,"destroy",y),(0,u.addEvent)(t,"afterShowResetZoom",f),(0,u.addEvent)(t,"getMargins",x),(0,u.addEvent)(t,"redraw",T),(0,u.addEvent)(t,"selection",w),(0,u.extend)(e.lang,g))}constructor(t,e){this.elementList={},this.isDirty=!0,this.level=0,this.list=[];const i=(0,u.merge)(t.options.drilldown&&t.options.drilldown.drillUpButton,L.defaultOptions,t.options.navigation&&t.options.navigation.breadcrumbs,e);this.chart=t,this.options=i||{}}updateProperties(t){this.setList(t),this.setLevel(),this.isDirty=!0}setList(t){this.list=t}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(t){let e=this.chart,i=this.options,s=e.options.lang,r=i.format??(i.showFullPath?"{level.name}":"← {level.name}"),o=s&&(s.drillUpText??s.mainBreadcrumb),l=i.formatter&&i.formatter(t)||m(r,{level:t.levelOptions},e)||"";return((0,u.isString)(l)&&!l.length||"← "===l)&&(0,u.defined)(o)&&(l=i.showFullPath?o:"← "+o),l}redraw(){this.isDirty&&this.render(),this.group&&this.group.align(),this.isDirty=!1}render(){let t=this.chart,e=this.options;!this.group&&e&&(this.group=t.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:e.zIndex}).add()),e.showFullPath?this.renderFullPathButtons():this.renderSingleButton(),this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(),this.resetElementListState(),this.updateListElements(),this.destroyListElements()}renderSingleButton(){let t=this.chart,e=this.list,i=this.options.buttonSpacing;this.destroyListElements();let s=this.group?this.group.getBBox().width:i,r=e[e.length-2];!t.drillUpButton&&this.level>0?t.drillUpButton=this.renderButton(r,s,i):t.drillUpButton&&(this.level>0?this.updateSingleButton():this.destroySingleButton())}alignBreadcrumbsGroup(t){if(this.group){let e=this.options,i=e.buttonTheme,s=e.position,r="chart"===e.relativeTo||"spacingBox"===e.relativeTo?void 0:"plotBox",o=this.group.getBBox(),l=2*(i.padding||0)+e.buttonSpacing;s.width=o.width+l,s.height=o.height+l;let a=(0,u.merge)(s);t&&(a.x+=t),this.options.rtl&&(a.x+=s.width),a.y=a.y??this.yOffset??0,this.group.align(a,!0,r)}}renderButton(t,e,i){let s=this,r=this.chart,o=s.options,l=(0,u.merge)(o.buttonTheme),a=r.renderer.button(s.getButtonText(t),e,i,function(e){let i,r=o.events&&o.events.click;r&&(i=r.call(s,e,t,s)),!1!==i&&(o.showFullPath?e.newLevel=t.level:e.newLevel=s.level-1,(0,u.fireEvent)(s,"up",e))},l).addClass("highcharts-breadcrumbs-button").add(s.group);return r.styledMode||a.attr(o.style),a}renderSeparator(t,e){let i=this.chart,s=this.options.separator,r=i.renderer.label(s.text,t,e,void 0,void 0,void 0,!1).addClass("highcharts-breadcrumbs-separator").add(this.group);return i.styledMode||r.css(s.style),r}update(t){(0,u.merge)(!0,this.options,t),this.destroy(),this.isDirty=!0}updateSingleButton(){let t=this.chart,e=this.list[this.level-1];t.drillUpButton&&t.drillUpButton.attr({text:this.getButtonText(e)})}destroy(){this.destroySingleButton(),this.destroyListElements(!0),this.group&&this.group.destroy(),this.group=void 0}destroyListElements(t){let e=this.elementList;(0,u.objectEach)(e,(i,s)=>{(t||!e[s].updated)&&((i=e[s]).button&&i.button.destroy(),i.separator&&i.separator.destroy(),delete i.button,delete i.separator,delete e[s])}),t&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton=void 0)}resetElementListState(){(0,u.objectEach)(this.elementList,t=>{t.updated=!1})}updateListElements(){let t=this.elementList,e=this.options.buttonSpacing,i=this.list,s=this.options.rtl,r=s?-1:1,o=function(t,e){return r*t.getBBox().width+r*e},l=function(t,e,i){t.translate(e-t.getBBox().width,i)},a=this.group?o(this.group,e):e,n,h;for(let d=0,p=i.length;d<p;++d){let u,c,g=d===p-1;t[(h=i[d]).level]?(u=(n=t[h.level]).button,n.separator||g?n.separator&&g&&(n.separator.destroy(),delete n.separator):(a+=r*e,n.separator=this.renderSeparator(a,e),s&&l(n.separator,a,e),a+=o(n.separator,e)),t[h.level].updated=!0):(u=this.renderButton(h,a,e),s&&l(u,a,e),a+=o(u,e),g||(c=this.renderSeparator(a,e),s&&l(c,a,e),a+=o(c,e)),t[h.level]={button:u,separator:c,updated:!0}),u&&u.setState(2*!!g)}}}L.defaultOptions={buttonSpacing:5,buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"var(--highcharts-highlight-color-80)"}},floating:!1,format:void 0,relativeTo:"plotBox",rtl:!1,position:{align:"left",verticalAlign:"top",x:0,y:void 0},separator:{text:"/",style:{color:"var(--highcharts-neutral-color-60)",fontSize:"0.8em"}},showFullPath:!0,style:{},useHTML:!1,zIndex:7};var A=d(620),B=d.n(A),O=d(512),P=d.n(O),S=d(28),C=d.n(S);let{column:{prototype:N}}=P().seriesTypes;var M=l||(l={});function E(t){let e=this.series,i=e.chart.renderer;this.moveToTopOnHover&&this.graphic&&(e.stateMarkerGraphic||(e.stateMarkerGraphic=new(C())(i,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),e.stateMarkerGraphic.attr({href:`${i.url}#${this.id}`,visibility:"visible"})):e.stateMarkerGraphic.attr({href:""}))}M.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},M.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return(0,u.defined)(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:N.pointAttribs},M.compose=function(t){let e=t.prototype.pointClass;return(0,u.addEvent)(e,"afterSetState",E),t};let R=l;var D=d(820),I=d.n(D);let H=class{constructor(t,e,i,s){this.height=t,this.width=e,this.plot=s,this.direction=i,this.startDirection=i,this.total=0,this.nW=0,this.lW=0,this.nH=0,this.lH=0,this.elArr=[],this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(t,e){return Math.max(t/e,e/t)}}}addElement(t){this.lP.total=this.elArr[this.elArr.length-1],this.total=this.total+t,0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH)),this.elArr.push(t)}reset(){this.nW=0,this.lW=0,this.elArr=[],this.total=0}},G=function(t,e){let{animatableAttribs:i,onComplete:s,css:r,renderer:o}=e,l=t.series&&t.series.chart.hasRendered?void 0:t.series&&t.series.options.animation,a=t.graphic;if(e.attribs={...e.attribs,class:t.getClassName()},t.shouldDraw())a||(t.graphic=a="text"===e.shapeType?o.text():"image"===e.shapeType?o.image(e.imageUrl||"").attr(e.shapeArgs||{}):o[e.shapeType](e.shapeArgs||{}),a.add(e.group)),r&&a.css(r),a.attr(e.attribs).animate(i,!e.isNew&&l,s);else if(a){let e=()=>{t.graphic=a=a&&a.destroy(),"function"==typeof s&&s()};Object.keys(i).length?a.animate(i,void 0,()=>e()):e()}},{pie:{prototype:{pointClass:V}},scatter:{prototype:{pointClass:U}}}=P().seriesTypes;class k extends U{constructor(){super(...arguments),this.groupedPointsAmount=0,this.shapeType="rect"}draw(t){G(this,t)}getClassName(){let t=this.series,e=t.options,i=super.getClassName();return this.node.level<=t.nodeMap[t.rootNode].level&&this.node.children.length?i+=" highcharts-above-level":this.node.isGroup||this.node.isLeaf||t.nodeMap[t.rootNode].isGroup||(e.interactByLeaf??!e.allowTraversingTree)?this.node.isGroup||this.node.isLeaf||t.nodeMap[t.rootNode].isGroup||(i+=" highcharts-internal-node"):i+=" highcharts-internal-node-interactive",i}isValid(){return!!(this.id||(0,u.isNumber)(this.value))}setState(t){super.setState.apply(this,arguments),this.graphic&&this.graphic.attr({zIndex:+("hover"===t)})}shouldDraw(){return(0,u.isNumber)(this.plotY)&&null!==this.y}}(0,u.extend)(k.prototype,{setVisible:V.prototype.setVisible});let W={allowTraversingTree:!1,animationLimit:250,borderRadius:0,showInLegend:!1,marker:void 0,colorByPoint:!1,dataLabels:{enabled:!0,formatter:function(){let t=this&&this.point?this.point:{};return(0,u.isString)(t.name)?t.name:""},headers:!1,inside:!0,padding:2,verticalAlign:"middle",style:{textOverflow:"ellipsis"}},tooltip:{headerFormat:"",pointFormat:"<b>{point.name}</b>: {point.value}<br/>",clusterFormat:"+ {point.groupedPointsAmount} more...<br/>"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"var(--highcharts-neutral-color-10)",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"var(--highcharts-neutral-color-40)",brightness:.1*!P().seriesTypes.heatmap,halo:!1,opacity:.75,shadow:!1}},legendSymbol:"rectangle",traverseToLeaf:!1,cluster:{className:void 0,color:void 0,enabled:!1,pixelWidth:void 0,pixelHeight:void 0,name:void 0,reductionFactor:void 0,minimumClusterSize:5,layoutAlgorithm:{distance:0,gridSize:0,kmeansThreshold:0},marker:{lineWidth:0,radius:0}}};(a||(a={})).recursive=function t(e,i,s){let r=i.call(s||this,e);!1!==r&&t(r,i,s)};let j=a,{parse:F}=B(),{composed:z,noop:_}=c(),{column:$,scatter:K}=P().seriesTypes,{getColor:Y,getLevelOptions:q,updateRootId:Z}={getColor:function(t,e){let i,s,r,o,l,a,n=e.index,h=e.mapOptionsToLevel,d=e.parentColor,p=e.parentColorIndex,u=e.series,c=e.colors,g=e.siblings,v=u.points,m=u.chart.options.chart;if(t){let b;i=v[t.i],s=h[t.level]||{},i&&s.colorByPoint&&(o=i.index%(c?c.length:m.colorCount),r=c&&c[o]),u.chart.styledMode||(l=(i&&i.options.color)??(s&&s.color)??r??(d&&((b=s&&s.colorVariation)&&"brightness"===b.key&&n&&g?B().parse(d).brighten(b.to*(n/g)).get():d))??u.color),a=(i&&i.options.colorIndex)??(s&&s.colorIndex)??o??p??e.colorIndex}return{color:l,colorIndex:a}},getLevelOptions:function(t){let e,i,s,r,o,l,a={};if((0,u.isObject)(t))for(r=(0,u.isNumber)(t.from)?t.from:1,l=t.levels,i={},e=(0,u.isObject)(t.defaults)?t.defaults:{},(0,u.isArray)(l)&&(i=l.reduce((t,i)=>{let s,o,l;return(0,u.isObject)(i)&&(0,u.isNumber)(i.level)&&(o=(l=(0,u.merge)({},i)).levelIsConstant??e.levelIsConstant,delete l.levelIsConstant,delete l.level,s=i.level+(o?0:r-1),(0,u.isObject)(t[s])?(0,u.merge)(!0,t[s],l):t[s]=l),t},{})),o=(0,u.isNumber)(t.to)?t.to:1,s=0;s<=o;s++)a[s]=(0,u.merge)({},e,(0,u.isObject)(i[s])?i[s]:{});return a},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:r=0,nodeWidth:o=0}=s,{plotSizeX:l=1}=i;if("auto"===o){if("string"==typeof r&&/%$/.test(r))return l/(e+parseFloat(r)/100*(e-1));let t=Number(r);return(l+t)/(e||1)-t}return(0,u.relativeLength)(o,l)},setTreeValues:function t(e,i){let s=i.before,r=i.idRoot,o=i.mapIdToNode[r],l=!1!==i.levelIsConstant,a=i.points[e.i],n=a&&a.options||{},h=[],d=0;e.levelDynamic=e.level-(l?0:o.level),e.name=(a&&a.name)??"",e.visible=r===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,r)=>{let o=(0,u.extend)({},i);(0,u.extend)(o,{index:r,siblings:e.children.length,visible:e.visible}),s=t(s,o),h.push(s),s.visible&&(d+=s.val)});let p=n.value??d;return e.visible=p>=0&&(d>0||e.visible),e.children=h,e.childrenTotal=d,e.isLeaf=e.visible&&!d,e.val=p,e},updateRootId:function(t){let e,i;return(0,u.isObject)(t)&&(i=(0,u.isObject)(t.options)?t.options:{},e=t.rootNode??i.rootId??"",(0,u.isObject)(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}};I().keepProps.push("simulation","hadOutsideDataLabels");let X=!1;function J(){let t=this.xAxis,e=this.yAxis;if(t&&e)if(this.is("treemap")){let i={endOnTick:!1,startOnTick:!1,visible:!1};this.is("treegraph")||(i.min=0,i.max=100,i.tickPositions=[]),(0,u.merge)(!0,t.options,i,t.userOptions),(0,u.merge)(!0,e.options,i,e.userOptions),t.visible=t.options.visible,e.visible=e.options.visible,this.is("treegraph")&&(this.isCartesian=t.visible),X=!0}else X&&(e.setOptions(e.userOptions),t.setOptions(t.userOptions),X=!1)}class Q extends K{constructor(){super(...arguments),this.simulation=0}static compose(t){(0,u.pushUnique)(z,"TreemapSeries")&&(0,u.addEvent)(t,"afterBindAxes",J)}algorithmCalcPoints(t,e,i,s){let r=i.plot,o=i.elArr.length-1,l,a,n,h,d=i.lW,p=i.lH,c,g=0;for(let t of(e?(d=i.nW,p=i.nH):c=i.elArr[o],i.elArr))(e||g<o)&&(0===i.direction?(l=r.x,a=r.y,h=t/(n=d)):(l=r.x,a=r.y,n=t/(h=p)),s.push({x:l,y:a,width:n,height:(0,u.correctFloat)(h)}),0===i.direction?r.y=r.y+h:r.x=r.x+n),g+=1;i.reset(),0===i.direction?i.width=i.width-d:i.height=i.height-p,r.y=r.parent.y+(r.parent.height-i.height),r.x=r.parent.x+(r.parent.width-i.width),t&&(i.direction=1-i.direction),e||i.addElement(c)}algorithmFill(t,e,i){let s=[],r,o=e.direction,l=e.x,a=e.y,n=e.width,h=e.height,d,p,u,c;for(let g of i)r=e.width*e.height*(g.val/e.val),d=l,p=a,0===o?(n-=u=r/(c=h),l+=u):(h-=c=r/(u=n),a+=c),s.push({x:d,y:p,width:u,height:c,direction:0,val:0}),t&&(o=1-o);return s}algorithmLowAspectRatio(t,e,i){let s=[],r={x:e.x,y:e.y,parent:e},o=e.direction,l=i.length-1,a=new H(e.height,e.width,o,r),n,h=0;for(let o of i)n=e.width*e.height*(o.val/e.val),a.addElement(n),a.lP.nR>a.lP.lR&&this.algorithmCalcPoints(t,!1,a,s,r),h===l&&this.algorithmCalcPoints(t,!0,a,s,r),++h;return s}alignDataLabel(t,e,i){$.prototype.alignDataLabel.apply(this,arguments),t.dataLabel&&t.dataLabel.attr({zIndex:(t.node.zIndex||0)+1})}applyTreeGrouping(){let t=this,e=t.parentList||{},{cluster:i}=t.options,s=i?.minimumClusterSize||5;if(i?.enabled){let r={},o=t=>{if(t?.point?.shapeArgs){let{width:e=0,height:s=0}=t.point.shapeArgs,{pixelWidth:o=0,pixelHeight:l=0}=i,a=(0,u.defined)(l),n=l?o*l:o*o;(e<o||s<(a?l:o)||e*s<n)&&!t.isGroup&&(0,u.defined)(t.parent)&&(r[t.parent]||(r[t.parent]=[]),r[t.parent].push(t))}t?.children.forEach(t=>{o(t)})};for(let l in o(t.tree),r)r[l]&&r[l].length>s&&r[l].forEach(s=>{let r=e[l].indexOf(s.i);if(-1!==r){e[l].splice(r,1);let o=`highcharts-grouped-treemap-points-${s.parent||"root"}`,a=t.points.find(t=>t.id===o);if(!a){let s=t.pointClass,r=t.points.length;a=new s(t,{className:i.className,color:i.color,id:o,index:r,isGroup:!0,value:0}),(0,u.extend)(a,{formatPrefix:"cluster"}),t.points.push(a),e[l].push(r),e[o]=[]}let n=a.groupedPointsAmount+1,h=t.points[a.index].options.value||0,d=i.name||`+ ${n}`;t.points[a.index].groupedPointsAmount=n,t.points[a.index].options.value=h+(s.point.value||0),t.points[a.index].name=d,e[o].push(s.point.index)}});t.nodeMap={},t.nodeList=[],t.parentList=e;let l=t.buildTree("",-1,0,t.parentList);t.translate(l)}}calculateChildrenAreas(t,e){let i=this.options,s=this.mapOptionsToLevel[t.level+1],r=(s?.layoutAlgorithm&&this[s?.layoutAlgorithm]&&s.layoutAlgorithm)??i.layoutAlgorithm,o=i.alternateStartingDirection,l=t.children.filter(e=>t.isGroup||!e.ignore),a=s?.groupPadding??i.groupPadding??0,n=this.nodeMap[this.rootNode];if(!r)return;let h=[],d=n.pointValues?.width||0,p=n.pointValues?.height||0;s?.layoutStartingDirection&&(e.direction=+("vertical"!==s.layoutStartingDirection)),h=this[r](e,l);let c=-1;for(let t of l){let i=h[++c];t===n&&(d=d||i.width,p=i.height);let s=a/(this.xAxis.len/p),r=a/(this.yAxis.len/p);if(t.values=(0,u.merge)(i,{val:t.childrenTotal,direction:o?1-e.direction:e.direction}),t.children.length&&t.point.dataLabels?.length){let e=(0,u.arrayMax)(t.point.dataLabels.map(t=>t.options?.headers&&t.height||0))/(this.yAxis.len/p);e<t.values.height/2&&(t.values.y+=e,t.values.height-=e)}if(a){let e=Math.min(s,t.values.width/4),i=Math.min(r,t.values.height/4);t.values.x+=e,t.values.width-=2*e,t.values.y+=i,t.values.height-=2*i}t.pointValues=(0,u.merge)(i,{x:i.x/this.axisRatio,y:100-i.y-i.height,width:i.width/this.axisRatio}),t.children.length&&this.calculateChildrenAreas(t,t.values)}let g=(t,e=[],i=!0)=>(t.children.forEach(t=>{i&&t.isLeaf?e.push(t.point):i||t.isLeaf||e.push(t.point),t.children.length&&g(t,e,i)}),e);if("leaf"===i.nodeSizeBy&&t===n&&this.hasOutsideDataLabels&&!g(n,void 0,!1).some(t=>(0,u.isNumber)(t.options.value))&&!(0,u.isNumber)(n.point?.options.value)){let i=g(n),s=i.map(t=>t.options.value||0),r=i.map(({node:{pointValues:t}})=>t?t.width*t.height:0),o=s.reduce((t,e)=>t+e,0),l=r.reduce((t,e)=>t+e,0)/o,a=0,h=0;i.forEach((t,e)=>{let i=s[e]?r[e]/s[e]:1,o=(0,u.clamp)(i/l,.8,1.4),n=1-o;t.value&&(r[e]<20&&(n*=r[e]/20),n>h&&(h=n),n<a&&(a=n),t.simulatedValue=(t.simulatedValue||t.value)/o)}),(a<-.05||h>.05)&&this.simulation<10?(this.simulation++,this.setTreeValues(t),e.val=t.val,this.calculateChildrenAreas(t,e)):(i.forEach(t=>{delete t.simulatedValue}),this.setTreeValues(t),this.simulation=0)}}createList(t){let e=this.chart,i=e.breadcrumbs,s=[];if(i){let i=0;s.push({level:i,levelOptions:e.series[0]});let r=t.target.nodeMap[t.newRootId],o=[];for(;r.parent||""===r.parent;)o.push(r),r=t.target.nodeMap[r.parent];for(let t of o.reverse())s.push({level:++i,levelOptions:t});s.length<=1&&(s.length=0)}return s}drawDataLabels(){let t=this.mapOptionsToLevel,e=this.points.filter(function(t){return t.node.visible||(0,u.defined)(t.dataLabel)}),i=(0,u.splat)(this.options.dataLabels||{})[0]?.padding,s=e.some(t=>(0,u.isNumber)(t.plotY));for(let r of e){let e={},o={style:e},l=t[r.node.level];if((!r.node.isLeaf&&!r.node.isGroup||r.node.isGroup&&r.node.level<=this.nodeMap[this.rootNode].level)&&(o.enabled=!1),l?.dataLabels&&((0,u.merge)(!0,o,(0,u.splat)(l.dataLabels)[0]),this.hasDataLabels=()=>!0),r.node.isLeaf?o.inside=!0:o.headers&&(o.verticalAlign="top"),r.shapeArgs&&s){let{height:t=0,width:s=0}=r.shapeArgs;if(s>32&&t>16&&r.shouldDraw()){let l=s-2*((0,u.splat)(o.padding)[0]||(0,u.splat)(i)[0]||0);e.width=`${l}px`,e.lineClamp??(e.lineClamp=Math.floor(t/16)),this.options.allowTraversingTree&&(e.visibility="inherit"),r.dataLabel?.attr({width:o.headers?l:void 0})}else e.width=`${s}px`,e.visibility="hidden"}r.dlOptions=(0,u.merge)(o,r.options.dataLabels,{zIndex:void 0}),delete r.dlOptions.zIndex}super.drawDataLabels(e)}drawPoints(t=this.points){let e=this.chart,i=e.renderer,s=e.styledMode,r=this.options,o=s?{}:r.shadow,l=r.borderRadius,a=e.pointCount<r.animationLimit,n=r.allowTraversingTree;for(let e of t){let t={},h={},d={},p="level-group-"+e.node.level,c=!!e.graphic,g=a&&c,v=e.shapeArgs;e.shouldDraw()&&(e.isInside=!0,l&&(h.r=l),(0,u.merge)(!0,g?t:h,c?v:{},s?{}:this.pointAttribs(e,e.selected?"select":void 0)),this.colorAttribs&&s&&(0,u.extend)(d,this.colorAttribs(e)),this[p]||(this[p]=i.g(p).attr({zIndex:-(e.node.level||0)}).add(this.group),this[p].survive=!0)),e.draw({animatableAttribs:t,attribs:h,css:d,group:this[p],imageUrl:e.imageUrl,renderer:i,shadow:o,shapeArgs:v,shapeType:e.shapeType}),n&&e.graphic&&(e.drillId=r.interactByLeaf?this.drillToByLeaf(e):this.drillToByGroup(e))}}drillToByGroup(t){return(!t.node.isLeaf||!!t.node.isGroup)&&t.id}drillToByLeaf(t){let{traverseToLeaf:e}=t.series.options,i=!1,s;if(t.node.parent!==this.rootNode&&t.node.isLeaf)if(e)i=t.id;else for(s=t.node;!i;)void 0!==s.parent&&(s=this.nodeMap[s.parent]),s.parent===this.rootNode&&(i=s.id);return i}drillToNode(t,e){(0,u.error)(32,!1,void 0,{"treemap.drillToNode":"use treemap.setRootNode"}),this.setRootNode(t,e)}drillUp(){let t=this.nodeMap[this.rootNode];t&&(0,u.isString)(t.parent)&&this.setRootNode(t.parent,!0,{trigger:"traverseUpButton"})}getExtremes(){let{dataMin:t,dataMax:e}=super.getExtremes(this.colorValueData);return this.valueMin=t,this.valueMax=e,super.getExtremes()}getListOfParents(t,e){let i=(0,u.isArray)(t)?t:[],s=(0,u.isArray)(e)?e:[],r=i.reduce(function(t,e,i){let s=e.parent??"";return void 0===t[s]&&(t[s]=[]),t[s].push(i),t},{"":[]});for(let t of Object.keys(r)){let e=r[t];if(""!==t&&-1===s.indexOf(t)){for(let t of e)r[""].push(t);delete r[t]}}return r}getTree(){let t=this.data.map(function(t){return t.id});return this.parentList=this.getListOfParents(this.data,t),this.nodeMap={},this.nodeList=[],this.buildTree("",-1,0,this.parentList||{})}buildTree(t,e,i,s,r){let o=[],l=this.points[e],a=0,n;for(let e of s[t]||[])a=Math.max((n=this.buildTree(this.points[e].id,e,i+1,s,t)).height+1,a),o.push(n),this.is("treegraph")&&(n.visible=!0);let h=new this.NodeClass().init(t,e,o,a,i,this,r);for(let t of o)t.parentNode=h;return this.nodeMap[h.id]=h,this.nodeList.push(h),l&&(l.node=h,h.point=l,(0,u.defined)(l.options.x)||(l.x=i)),h}hasData(){return!!this.dataTable.rowCount}init(t,e){let i=this,s=(0,u.merge)(e.drillUpButton,e.breadcrumbs),r=(0,u.addEvent)(i,"setOptions",t=>{let e=t.userOptions;(0,u.defined)(e.allowDrillToNode)&&!(0,u.defined)(e.allowTraversingTree)&&(e.allowTraversingTree=e.allowDrillToNode,delete e.allowDrillToNode),(0,u.defined)(e.drillUpButton)&&!(0,u.defined)(e.traverseUpButton)&&(e.traverseUpButton=e.drillUpButton,delete e.drillUpButton);let i=(0,u.splat)(e.dataLabels||{});e.levels?.forEach(t=>{i.push.apply(i,(0,u.splat)(t.dataLabels||{}))}),this.hasOutsideDataLabels=i.some(t=>t.headers)});super.init(t,e),delete i.opacity,i.eventsToUnbind.push(r),i.options.allowTraversingTree&&(i.eventsToUnbind.push((0,u.addEvent)(i,"click",i.onClickDrillToNode)),i.eventsToUnbind.push((0,u.addEvent)(i,"setRootNode",function(t){let e=i.chart;e.breadcrumbs&&e.breadcrumbs.updateProperties(i.createList(t))})),i.eventsToUnbind.push((0,u.addEvent)(i,"update",function(t,e){let i=this.chart.breadcrumbs;i&&t.options.breadcrumbs&&i.update(t.options.breadcrumbs),this.hadOutsideDataLabels=this.hasOutsideDataLabels})),i.eventsToUnbind.push((0,u.addEvent)(i,"destroy",function(t){let e=this.chart;e.breadcrumbs&&!t.keepEventsForUpdate&&(e.breadcrumbs.destroy(),e.breadcrumbs=void 0)}))),t.breadcrumbs||(t.breadcrumbs=new L(t,s)),i.eventsToUnbind.push((0,u.addEvent)(t.breadcrumbs,"up",function(t){let e=this.level-t.newLevel;for(let t=0;t<e;t++)i.drillUp()}))}onClickDrillToNode(t){let e=t.point,i=e?.drillId;(0,u.isString)(i)&&(e.setState(""),this.setRootNode(i,!0,{trigger:"click"}))}pointAttribs(t,e){let i=(0,u.isObject)(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},s=t?.node&&i[t.node.level]||{},r=this.options,o=e&&r.states&&r.states[e]||{},l=t?.node&&t.getClassName()||"",a={stroke:t&&t.borderColor||s.borderColor||o.borderColor||r.borderColor,"stroke-width":(t&&t.borderWidth)??s.borderWidth??o.borderWidth??r.borderWidth,dashstyle:t?.borderDashStyle||s.borderDashStyle||o.borderDashStyle||r.borderDashStyle,fill:t?.color||this.color};return -1!==l.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==l.indexOf("highcharts-internal-node-interactive")?(a["fill-opacity"]=o.opacity??r.opacity??1,a.cursor="pointer"):-1!==l.indexOf("highcharts-internal-node")?a.fill="none":e&&o.brightness&&(a.fill=F(a.fill).brighten(o.brightness).get()),a}setColorRecursive(t,e,i,s,r){let o=this?.chart,l=o?.options?.colors;if(t){let o=Y(t,{colors:l,index:s,mapOptionsToLevel:this.mapOptionsToLevel,parentColor:e,parentColorIndex:i,series:this,siblings:r}),a=this.points[t.i];a&&(a.color=o.color,a.colorIndex=o.colorIndex);let n=-1;for(let e of t.children||[])this.setColorRecursive(e,o.color,o.colorIndex,++n,t.children.length)}}setPointValues(){let t=this,{points:e,xAxis:i,yAxis:s}=t,r=t.chart.styledMode,o=e=>r?0:t.pointAttribs(e)["stroke-width"]||0;for(let t of e){let{pointValues:e,visible:r}=t.node;if(e&&r){let{height:r,width:l,x:a,y:n}=e,h=o(t),d=i.toPixels(a,!0),p=i.toPixels(a+l,!0),c=s.toPixels(n,!0),g=s.toPixels(n+r,!0),v=0===d?h/2:(0,u.crisp)(i.toPixels(a,!0),h,!0),m=p===i.len?i.len-h/2:(0,u.crisp)(i.toPixels(a+l,!0),h,!0),b=c===s.len?s.len-h/2:(0,u.crisp)(s.toPixels(n,!0),h,!0),f=0===g?h/2:(0,u.crisp)(s.toPixels(n+r,!0),h,!0),y={x:Math.min(v,m),y:Math.min(b,f),width:Math.abs(m-v),height:Math.abs(f-b)};t.plotX=y.x+y.width/2,t.plotY=y.y+y.height/2,t.shapeArgs=y}else delete t.plotX,delete t.plotY}}setRootNode(t,e,i){let s=(0,u.extend)({newRootId:t,previousRootId:this.rootNode,redraw:e??!0,series:this},i);(0,u.fireEvent)(this,"setRootNode",s,function(t){let e=t.series;e.idPreviousRoot=t.previousRootId,e.rootNode=t.newRootId,e.isDirty=!0,t.redraw&&e.chart.redraw()})}setState(t){this.options.inactiveOtherPoints=!0,super.setState(t,!1),this.options.inactiveOtherPoints=!1}setTreeValues(t){let e=this.options,i=this.rootNode,s=this.nodeMap[i],r="boolean"!=typeof e.levelIsConstant||e.levelIsConstant,o=[],l=this.points[t.i],a=0;for(let e of t.children)e=this.setTreeValues(e),o.push(e),e.ignore||(a+=e.val);(0,u.stableSort)(o,(t,e)=>(t.sortIndex||0)-(e.sortIndex||0));let n=l?.simulatedValue??l?.options.value??a;return l&&(l.value=n),l?.isGroup&&e.cluster?.reductionFactor&&(n/=e.cluster.reductionFactor),t.parentNode?.point?.isGroup&&this.rootNode!==t.parent&&(t.visible=!1),(0,u.extend)(t,{children:o,childrenTotal:a,ignore:!((l?.visible??!0)&&n>0),isLeaf:t.visible&&!("treegraph"===this.type?o.length>0:a),isGroup:l?.isGroup,levelDynamic:t.level-(r?0:s.level),name:l?.name??"",sortIndex:l?.sortIndex??-n,val:n}),t}sliceAndDice(t,e){return this.algorithmFill(!0,t,e)}squarified(t,e){return this.algorithmLowAspectRatio(!0,t,e)}strip(t,e){return this.algorithmLowAspectRatio(!1,t,e)}stripes(t,e){return this.algorithmFill(!1,t,e)}translate(t){let e=this,i=e.options,s=!t,r=Z(e),o,l,a,n;t||r.startsWith("highcharts-grouped-treemap-points-")||((this.points||[]).forEach(t=>{t.isGroup&&t.destroy()}),super.translate(),t=e.getTree()),e.tree=t=t||e.tree,o=e.nodeMap[r],""===r||o||(e.setRootNode("",!1),r=e.rootNode,o=e.nodeMap[r]),o.point?.isGroup||(e.mapOptionsToLevel=q({from:o.level+1,levels:i.levels,to:t.height,defaults:{levelIsConstant:e.options.levelIsConstant,colorByPoint:i.colorByPoint}})),j.recursive(e.nodeMap[e.rootNode],t=>{let i=t.parent,s=!1;return t.visible=!0,(i||""===i)&&(s=e.nodeMap[i]),s}),j.recursive(e.nodeMap[e.rootNode].children,t=>{let e=!1;for(let i of t)i.visible=!0,i.children.length&&(e=(e||[]).concat(i.children));return e}),e.setTreeValues(t),e.axisRatio=e.xAxis.len/e.yAxis.len,e.nodeMap[""].pointValues=l={x:0,y:0,width:100,height:100},e.nodeMap[""].values=a=(0,u.merge)(l,{width:l.width*e.axisRatio,direction:+("vertical"!==i.layoutStartingDirection),val:t.val}),(this.hasOutsideDataLabels||this.hadOutsideDataLabels)&&this.drawDataLabels(),e.calculateChildrenAreas(t,a),e.colorAxis||i.colorByPoint||e.setColorRecursive(e.tree),i.allowTraversingTree&&o.pointValues&&(n=o.pointValues,e.xAxis.setExtremes(n.x,n.x+n.width,!1),e.yAxis.setExtremes(n.y,n.y+n.height,!1),e.xAxis.setScale(),e.yAxis.setScale()),e.setPointValues(),s&&e.applyTreeGrouping()}}Q.defaultOptions=(0,u.merge)(K.defaultOptions,W),(0,u.extend)(Q.prototype,{buildKDTree:_,colorAttribs:R.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,getExtremesFromAll:!0,getSymbol:_,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value","colorValue"],pointClass:k,NodeClass:class{constructor(){this.childrenTotal=0,this.visible=!1}init(t,e,i,s,r,o,l){return this.id=t,this.i=e,this.children=i,this.height=s,this.level=r,this.series=o,this.parent=l,this}},trackerGroups:["group","dataLabelsGroup"],utils:j}),R.compose(Q),P().registerSeriesType("treemap",Q);let tt=c();tt.Breadcrumbs=tt.Breadcrumbs||L,tt.Breadcrumbs.compose(tt.Chart,tt.defaultOptions),Q.compose(tt.Series);let te=c();return p.default})());
|
package/modules/treemap.src.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts JS v13.0.
|
|
3
|
+
* @license Highcharts JS v13.0.2 (2026-08-27)
|
|
4
4
|
* @module highcharts/modules/treemap
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -609,8 +609,9 @@ class Breadcrumbs {
|
|
|
609
609
|
* Formatted text.
|
|
610
610
|
*/
|
|
611
611
|
getButtonText(breadcrumb) {
|
|
612
|
-
const breadcrumbs = this, chart = breadcrumbs.chart, breadcrumbsOptions = breadcrumbs.options, lang = chart.options.lang, textFormat =
|
|
613
|
-
'{level.name}' :
|
|
612
|
+
const breadcrumbs = this, chart = breadcrumbs.chart, breadcrumbsOptions = breadcrumbs.options, lang = chart.options.lang, textFormat = breadcrumbsOptions.format ?? (breadcrumbsOptions.showFullPath ?
|
|
613
|
+
'{level.name}' :
|
|
614
|
+
'← {level.name}'), defaultText = lang && (lang.drillUpText ?? lang.mainBreadcrumb);
|
|
614
615
|
let returnText = breadcrumbsOptions.formatter &&
|
|
615
616
|
breadcrumbsOptions.formatter(breadcrumb) ||
|
|
616
617
|
format(textFormat, { level: breadcrumb.levelOptions }, chart) || '';
|
|
@@ -731,7 +732,7 @@ class Breadcrumbs {
|
|
|
731
732
|
if (breadcrumbs.options.rtl) {
|
|
732
733
|
newPositions.x += positionOptions.width;
|
|
733
734
|
}
|
|
734
|
-
newPositions.y = (
|
|
735
|
+
newPositions.y = (newPositions.y ?? this.yOffset ?? 0);
|
|
735
736
|
breadcrumbs.group.align(newPositions, true, alignTo);
|
|
736
737
|
}
|
|
737
738
|
}
|
|
@@ -1460,7 +1461,7 @@ class TreemapPoint extends ScatterPoint {
|
|
|
1460
1461
|
else if (!this.node.isGroup &&
|
|
1461
1462
|
!this.node.isLeaf &&
|
|
1462
1463
|
!series.nodeMap[series.rootNode].isGroup &&
|
|
1463
|
-
!(
|
|
1464
|
+
!(options.interactByLeaf ?? !options.allowTraversingTree)) {
|
|
1464
1465
|
className += ' highcharts-internal-node-interactive';
|
|
1465
1466
|
}
|
|
1466
1467
|
else if (!this.node.isGroup &&
|
|
@@ -2343,9 +2344,17 @@ function getColor(node, options) {
|
|
|
2343
2344
|
}
|
|
2344
2345
|
// Select either point color, level color or inherited color.
|
|
2345
2346
|
if (!series.chart.styledMode) {
|
|
2346
|
-
color = (
|
|
2347
|
-
|
|
2348
|
-
|
|
2347
|
+
color = ((point && point.options.color) ??
|
|
2348
|
+
(level && level.color) ??
|
|
2349
|
+
colorByPoint ??
|
|
2350
|
+
(parentColor && variateColor(parentColor)) ??
|
|
2351
|
+
series.color);
|
|
2352
|
+
}
|
|
2353
|
+
colorIndex = ((point && point.options.colorIndex) ??
|
|
2354
|
+
(level && level.colorIndex) ??
|
|
2355
|
+
colorIndexByPoint ??
|
|
2356
|
+
parentColorIndex ??
|
|
2357
|
+
options.colorIndex);
|
|
2349
2358
|
}
|
|
2350
2359
|
return {
|
|
2351
2360
|
color: color,
|
|
@@ -2382,7 +2391,8 @@ function getLevelOptions(params) {
|
|
|
2382
2391
|
let level, levelIsConstant, options;
|
|
2383
2392
|
if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(item) && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(item.level)) {
|
|
2384
2393
|
options = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)({}, item);
|
|
2385
|
-
levelIsConstant =
|
|
2394
|
+
levelIsConstant =
|
|
2395
|
+
options.levelIsConstant ?? defaults.levelIsConstant;
|
|
2386
2396
|
// Delete redundant properties.
|
|
2387
2397
|
delete options.levelIsConstant;
|
|
2388
2398
|
delete options.level;
|
|
@@ -2414,7 +2424,7 @@ function setTreeValues(tree, options) {
|
|
|
2414
2424
|
const before = options.before, idRoot = options.idRoot, mapIdToNode = options.mapIdToNode, nodeRoot = mapIdToNode[idRoot], levelIsConstant = (options.levelIsConstant !== false), points = options.points, point = points[tree.i], optionsPoint = point && point.options || {}, children = [];
|
|
2415
2425
|
let childrenTotal = 0;
|
|
2416
2426
|
tree.levelDynamic = tree.level - (levelIsConstant ? 0 : nodeRoot.level);
|
|
2417
|
-
tree.name = (
|
|
2427
|
+
tree.name = ((point && point.name) ?? '');
|
|
2418
2428
|
tree.visible = (idRoot === tree.id ||
|
|
2419
2429
|
options.visible === true);
|
|
2420
2430
|
if (typeof before === 'function') {
|
|
@@ -2435,7 +2445,7 @@ function setTreeValues(tree, options) {
|
|
|
2435
2445
|
}
|
|
2436
2446
|
});
|
|
2437
2447
|
// Set the values
|
|
2438
|
-
const value = (
|
|
2448
|
+
const value = (optionsPoint.value ?? childrenTotal);
|
|
2439
2449
|
tree.visible = value >= 0 && (childrenTotal > 0 || tree.visible);
|
|
2440
2450
|
tree.children = children;
|
|
2441
2451
|
tree.childrenTotal = childrenTotal;
|
|
@@ -2461,7 +2471,7 @@ function updateRootId(series) {
|
|
|
2461
2471
|
// Get the series options.
|
|
2462
2472
|
options = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(series.options) ? series.options : {};
|
|
2463
2473
|
// Calculate the rootId.
|
|
2464
|
-
rootId = (
|
|
2474
|
+
rootId = (series.rootNode ?? options.rootId ?? '');
|
|
2465
2475
|
// Set rootId on series.userOptions to pick it up in exporting.
|
|
2466
2476
|
if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(series.userOptions)) {
|
|
2467
2477
|
series.userOptions.rootId = rootId;
|
|
@@ -2851,9 +2861,9 @@ class TreemapSeries extends ScatterSeries {
|
|
|
2851
2861
|
* The rectangular area of the parent.
|
|
2852
2862
|
*/
|
|
2853
2863
|
calculateChildrenAreas(parent, area) {
|
|
2854
|
-
const series = this, options = series.options, mapOptionsToLevel = series.mapOptionsToLevel, level = mapOptionsToLevel[parent.level + 1], algorithm = (
|
|
2864
|
+
const series = this, options = series.options, mapOptionsToLevel = series.mapOptionsToLevel, level = mapOptionsToLevel[parent.level + 1], algorithm = ((level?.layoutAlgorithm &&
|
|
2855
2865
|
series[level?.layoutAlgorithm] &&
|
|
2856
|
-
level.layoutAlgorithm)
|
|
2866
|
+
level.layoutAlgorithm) ?? options.layoutAlgorithm), alternate = options.alternateStartingDirection,
|
|
2857
2867
|
// Collect all children which should be included
|
|
2858
2868
|
children = parent.children.filter((n) => parent.isGroup || !n.ignore), groupPadding = level?.groupPadding ?? options.groupPadding ?? 0, rootNode = series.nodeMap[series.rootNode];
|
|
2859
2869
|
if (!algorithm) {
|
|
@@ -3235,7 +3245,7 @@ class TreemapSeries extends ScatterSeries {
|
|
|
3235
3245
|
*/
|
|
3236
3246
|
getListOfParents(data, existingIds) {
|
|
3237
3247
|
const arr = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isArray)(data) ? data : [], ids = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isArray)(existingIds) ? existingIds : [], listOfParents = arr.reduce(function (prev, curr, i) {
|
|
3238
|
-
const parent = (
|
|
3248
|
+
const parent = (curr.parent ?? '');
|
|
3239
3249
|
if (typeof prev[parent] === 'undefined') {
|
|
3240
3250
|
prev[parent] = [];
|
|
3241
3251
|
}
|
|
@@ -3388,13 +3398,16 @@ class TreemapSeries extends ScatterSeries {
|
|
|
3388
3398
|
series.mapOptionsToLevel :
|
|
3389
3399
|
{}), level = point?.node && mapOptionsToLevel[point.node.level] || {}, options = this.options, stateOptions = state && options.states && options.states[state] || {}, className = point?.node && point.getClassName() || '',
|
|
3390
3400
|
// Set attributes by precedence. Point trumps level trumps series.
|
|
3391
|
-
// Stroke width uses
|
|
3401
|
+
// Stroke width uses nullish coalescing because it can be 0.
|
|
3392
3402
|
attr = {
|
|
3393
3403
|
'stroke': (point && point.borderColor) ||
|
|
3394
3404
|
level.borderColor ||
|
|
3395
3405
|
stateOptions.borderColor ||
|
|
3396
3406
|
options.borderColor,
|
|
3397
|
-
'stroke-width': (
|
|
3407
|
+
'stroke-width': ((point && point.borderWidth) ??
|
|
3408
|
+
level.borderWidth ??
|
|
3409
|
+
stateOptions.borderWidth ??
|
|
3410
|
+
options.borderWidth),
|
|
3398
3411
|
'dashstyle': point?.borderDashStyle ||
|
|
3399
3412
|
level.borderDashStyle ||
|
|
3400
3413
|
stateOptions.borderDashStyle ||
|
|
@@ -3535,7 +3548,7 @@ class TreemapSeries extends ScatterSeries {
|
|
|
3535
3548
|
const series = this, eventArgs = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)({
|
|
3536
3549
|
newRootId: id,
|
|
3537
3550
|
previousRootId: series.rootNode,
|
|
3538
|
-
redraw: (
|
|
3551
|
+
redraw: (redraw ?? true),
|
|
3539
3552
|
series: series
|
|
3540
3553
|
}, eventArguments);
|
|
3541
3554
|
/**
|
|
@@ -3592,7 +3605,7 @@ class TreemapSeries extends ScatterSeries {
|
|
|
3592
3605
|
// Sort the children
|
|
3593
3606
|
(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.stableSort)(children, (a, b) => ((a.sortIndex || 0) - (b.sortIndex || 0)));
|
|
3594
3607
|
// Set the values
|
|
3595
|
-
let val =
|
|
3608
|
+
let val = point?.simulatedValue ?? point?.options.value ?? childrenTotal;
|
|
3596
3609
|
if (point) {
|
|
3597
3610
|
point.value = val;
|
|
3598
3611
|
}
|
|
@@ -3606,14 +3619,14 @@ class TreemapSeries extends ScatterSeries {
|
|
|
3606
3619
|
children: children,
|
|
3607
3620
|
childrenTotal: childrenTotal,
|
|
3608
3621
|
// Ignore this node if point is not visible
|
|
3609
|
-
ignore: !((
|
|
3622
|
+
ignore: !((point?.visible ?? true) && (val > 0)),
|
|
3610
3623
|
isLeaf: tree.visible && !(series.type === 'treegraph' ?
|
|
3611
3624
|
children.length > 0 :
|
|
3612
3625
|
childrenTotal),
|
|
3613
3626
|
isGroup: point?.isGroup,
|
|
3614
3627
|
levelDynamic: (tree.level - (levelIsConstant ? 0 : nodeRoot.level)),
|
|
3615
|
-
name: (
|
|
3616
|
-
sortIndex: (
|
|
3628
|
+
name: (point?.name ?? ''),
|
|
3629
|
+
sortIndex: (point?.sortIndex ?? -val),
|
|
3617
3630
|
val: val
|
|
3618
3631
|
});
|
|
3619
3632
|
return tree;
|
package/modules/variable-pie.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/variable-pie
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/modules/variable-pie",["highcharts/highcharts"],function(t){return e(t,t.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/modules/variable-pie"]=e(t._Highcharts,t._Highcharts.SeriesRegistry):t.Highcharts=e(t.Highcharts,t.Highcharts.SeriesRegistry)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";var i={512(t){t.exports=e},944(e){e.exports=t}};let r={};function a(t){let e=r[t];if(void 0!==e)return e.exports;let s=r[t]={exports:{}};return i[t](s,s.exports,a),s.exports}a.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var r=e[i++],s=e[i++];a.o(t,r)?0===s&&i++:0===s?Object.defineProperty(t,r,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,r,{enumerable:!0,get:s})}else for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s={};a.d(s,{default:()=>
|
|
13
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/modules/variable-pie",["highcharts/highcharts"],function(t){return e(t,t.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/modules/variable-pie"]=e(t._Highcharts,t._Highcharts.SeriesRegistry):t.Highcharts=e(t.Highcharts,t.Highcharts.SeriesRegistry)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";var i={512(t){t.exports=e},944(e){e.exports=t}};let r={};function a(t){let e=r[t];if(void 0!==e)return e.exports;let s=r[t]={exports:{}};return i[t](s,s.exports,a),s.exports}a.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var r=e[i++],s=e[i++];a.o(t,r)?0===s&&i++:0===s?Object.defineProperty(t,r,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,r,{enumerable:!0,get:s})}else for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s={};a.d(s,{default:()=>c});var n=a(944),o=a.n(n),h=a(512),l=a.n(h);let{pie:p}=l().seriesTypes;class d extends p{calculateExtremes(){let t,e,i=this.chart,r=i.plotWidth,a=i.plotHeight,s=this.options,o=2*(s.slicedOffset||0),h=[...this.getColumn("z",!1,!0)],l=Math.min(r,a)-o,p={},d=this.center||this.getCenter();for(let t of["minPointSize","maxPointSize"]){let e=s[t],i=/%$/.test(e);e=parseInt(e,10),p[t]=i?l*e/100:2*e}this.minPxSize=d[3]+p.minPointSize,this.maxPxSize=(0,n.clamp)(d[2],d[3]+p.minPointSize,p.maxPointSize),h.length&&(t=s.zMin??(0,n.arrayMin)(h.filter(this.zValEval)),e=s.zMax??(0,n.arrayMax)(h.filter(this.zValEval)),this.getRadii(t,e,this.minPxSize,this.maxPxSize))}getRadii(t,e,i,r){let a,s,n,o=[...this.getColumn("z",!1,!0)],h=[],l="radius"!==this.options.sizeBy,p=e-t;for(let d=0;d<o.length;d++)(s=this.zValEval(o[d])?o[d]:t)<=t?n=i/2:s>=e?n=r/2:(a=p>0?(s-t)/p:.5,l&&(a=Math.sqrt(a)),n=Math.ceil(i+a*(r-i))/2),h.push(n);this.radii=h}redraw(){this.center=null,super.redraw()}getDataLabelPosition(t,e){let{center:i,options:r}=this,a=t.angle||0,s=this.radii[t.index],n=i[0]+Math.cos(a)*s,o=i[1]+Math.sin(a)*s,h=Math.min((r.slicedOffset||0)+(r.borderWidth||0),e/5);return{distance:e,natural:{x:n+Math.cos(a)*e,y:o+Math.sin(a)*e},computed:{},alignment:t.half?"right":"left",connectorPosition:{breakAt:{x:n+Math.cos(a)*h,y:o+Math.sin(a)*h},touchingSliceAt:{x:n,y:o}}}}translate(t){this.generatePoints();let e=this.options,i=e.slicedOffset,r=e.startAngle||0,a=Math.PI/180*(r-90),s=Math.PI/180*((e.endAngle??r+360)-90),o=s-a,h=this.points,l=e.ignoreHiddenPoint,p=0,d,c,u,g,f,y,M;this.startAngleRad=a,this.endAngleRad=s,this.calculateExtremes(),t||(this.center=t=this.getCenter());for(let e=0;e<h.length;e++)y=h[e],M=this.radii[e],d=a+p*o,(!l||y.visible)&&(p+=y.percentage/100),c=a+p*o,y.shapeType="arc",y.shapeArgs={x:t[0],y:t[1],r:M,innerR:t[3]/2,start:Math.round(1e3*d)/1e3,end:Math.round(1e3*c)/1e3},(u=(c+d)/2)>1.5*Math.PI?u-=2*Math.PI:u<-Math.PI/2&&(u+=2*Math.PI),y.slicedTranslation={translateX:Math.round(Math.cos(u)*i),translateY:Math.round(Math.sin(u)*i)},g=Math.cos(u)*t[2]/2,f=Math.sin(u)*t[2]/2,y.tooltipPos=[t[0]+.7*g,t[1]+.7*f],y.half=+(u<-Math.PI/2||u>Math.PI/2),y.angle=u;(0,n.fireEvent)(this,"afterTranslate")}zValEval(t){return!("number"!=typeof t||isNaN(t))||null}}d.defaultOptions=(0,n.merge)(p.defaultOptions,{minPointSize:"10%",maxPointSize:"100%",zMin:void 0,zMax:void 0,sizeBy:"area",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}<br/>Value: {point.y}<br/>Size: {point.z}<br/>'}}),(0,n.extend)(d.prototype,{pointArrayMap:["y","z"],parallelArrays:["x","y","z"]}),l().registerSeriesType("variablepie",d);let c=o();return s.default})());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts JS v13.0.
|
|
3
|
+
* @license Highcharts JS v13.0.2 (2026-08-27)
|
|
4
4
|
* @module highcharts/modules/variable-pie
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -370,8 +370,10 @@ class VariablePieSeries extends PieSeries {
|
|
|
370
370
|
series.minPxSize = positions[3] + extremes.minPointSize;
|
|
371
371
|
series.maxPxSize = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(positions[2], positions[3] + extremes.minPointSize, extremes.maxPointSize);
|
|
372
372
|
if (zData.length) {
|
|
373
|
-
zMin =
|
|
374
|
-
|
|
373
|
+
zMin =
|
|
374
|
+
seriesOptions.zMin ?? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMin)(zData.filter(series.zValEval));
|
|
375
|
+
zMax =
|
|
376
|
+
seriesOptions.zMax ?? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMax)(zData.filter(series.zValEval));
|
|
375
377
|
this.getRadii(zMin, zMax, series.minPxSize, series.maxPxSize);
|
|
376
378
|
}
|
|
377
379
|
}
|
|
@@ -474,7 +476,7 @@ class VariablePieSeries extends PieSeries {
|
|
|
474
476
|
translate(positions) {
|
|
475
477
|
this.generatePoints();
|
|
476
478
|
const series = this, precision = 1000, // Issue #172
|
|
477
|
-
options = series.options, slicedOffset = options.slicedOffset, startAngle = options.startAngle || 0, startAngleRad = Math.PI / 180 * (startAngle - 90), endAngleRad = Math.PI / 180 * ((
|
|
479
|
+
options = series.options, slicedOffset = options.slicedOffset, startAngle = options.startAngle || 0, startAngleRad = Math.PI / 180 * (startAngle - 90), endAngleRad = Math.PI / 180 * ((options.endAngle ?? startAngle + 360) - 90), circ = endAngleRad - startAngleRad, // 2 * Math.PI,
|
|
478
480
|
points = series.points, ignoreHiddenPoint = options.ignoreHiddenPoint;
|
|
479
481
|
let cumulative = 0, start, end, angle,
|
|
480
482
|
// The x component of the radius vector for a given point
|
package/modules/variwide.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
!/**
|
|
2
|
-
* Highcharts JS v13.0.
|
|
2
|
+
* Highcharts JS v13.0.2 (2026-08-27)
|
|
3
3
|
* @module highcharts/modules/variwide
|
|
4
4
|
* @requires highcharts
|
|
5
5
|
*
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
*
|
|
11
11
|
* A commercial license may be required depending on use,
|
|
12
12
|
* see www.highcharts.com/license
|
|
13
|
-
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/modules/variwide",["highcharts/highcharts"],function(t){return e(t,t.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/modules/variwide"]=e(t._Highcharts,t._Highcharts.SeriesRegistry):t.Highcharts=e(t.Highcharts,t.Highcharts.SeriesRegistry)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";var
|
|
13
|
+
*/function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.SeriesRegistry):"function"==typeof define&&define.amd?define("highcharts/modules/variwide",["highcharts/highcharts"],function(t){return e(t,t.SeriesRegistry)}):"object"==typeof exports?exports["highcharts/modules/variwide"]=e(t._Highcharts,t._Highcharts.SeriesRegistry):t.Highcharts=e(t.Highcharts,t.Highcharts.SeriesRegistry)}("u"<typeof window?this:window,(t,e)=>(()=>{"use strict";var s={512(t){t.exports=e},944(e){e.exports=t}};let i={};function r(t){let e=i[t];if(void 0!==e)return e.exports;let a=i[t]={exports:{}};return s[t](a,a.exports,r),a.exports}r.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{if(Array.isArray(e))for(var s=0;s<e.length;){var i=e[s++],a=e[s++];r.o(t,i)?0===a&&s++:0===a?Object.defineProperty(t,i,{enumerable:!0,value:e[s++]}):Object.defineProperty(t,i,{enumerable:!0,get:a})}else for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let a={};r.d(a,{default:()=>w});var o=r(944),n=r.n(o),h=r(512),l=r.n(h);let{composed:p}=n();function c(t){this.variwide&&this.cross&&this.cross.attr("stroke-width",t.point?.crosshairWidth)}function d(){let t=this;this.chart.labelCollectors.push(function(){return t.variwide?t.tickPositions.filter(e=>!!t.ticks[e].label).map((e,s)=>{let i=t.ticks[e].label;return i.labelrank=t.zData?.[s],i}):[]})}function u(t){let e=this.axis,s=e.horiz?"x":"y";e.variwide&&(this[s+"Orig"]=t.pos[s],this.postTranslate(t.pos,s,this.pos))}function x(t,e,s){let i=this.axis,r=t[e]-i.pos;i.horiz||(r=i.len-r),r=i.series[0].postTranslate(s,r),i.horiz||(r=i.len-r),t[e]=i.pos+r}function f(t,e,s,i,r,a,o,n){let h=Array.prototype.slice.call(arguments,1),l=r?"x":"y";this.axis.variwide&&"number"==typeof this[l+"Orig"]&&(h[+!r]=this[l+"Orig"]);let p=t.apply(this,h);return this.axis.variwide&&this.axis.categories&&this.postTranslate(p,l,this.pos),p}let{column:{prototype:{pointClass:g}}}=l().seriesTypes,y=class extends g{isValid(){return(0,o.isNumber)(this.y)&&(0,o.isNumber)(this.z)}},{column:v}=l().seriesTypes;class m extends v{processData(t){this.totalZ=0,this.relZ=[],l().seriesTypes.column.prototype.processData.call(this,t);let e=this.getColumn("z");(this.xAxis.reversed?e.slice().reverse():e).forEach(function(t,e){this.relZ[e]=this.totalZ,this.totalZ+=t},this),this.xAxis.categories&&(this.xAxis.variwide=!0,this.xAxis.zData=e)}postTranslate(t,e,s){let i=this.xAxis,r=this.relZ,a=i.reversed?r.length-t:t,o=i.reversed?-1:1,n=i.toPixels(i.reversed?(i.dataMax||0)+i.pointRange:i.dataMin||0),h=i.toPixels(i.reversed?i.dataMin||0:(i.dataMax||0)+i.pointRange),l=Math.abs(h-n),p=this.totalZ,c=this.chart.inverted?h-(this.chart.plotTop-o*i.minPixelPadding):n-this.chart.plotLeft-o*i.minPixelPadding,d=a/r.length*l,u=(a+o)/r.length*l,x=(r[a]??p)/p*l,f=(r[a+o]??p)/p*l;return s&&(s.crosshairWidth=f-x),c+x+(e-(c+d))*(f-x)/(u-d)}translate(){this.crispOption=this.options.crisp,this.options.crisp=!1,super.translate(),this.options.crisp=this.crispOption}correctStackLabels(){let t,e,s,i,r=this.options,a=this.yAxis;for(let o of this.points)i=o.x,e=o.shapeArgs.width,(s=a.stacking.stacks[(this.negStacks&&o.y<(r.startFromThreshold?0:r.threshold)?"-":"")+this.stackKey])&&(t=s[i])&&!o.isNull&&t.setOffset(-(e/2)||0,e||0,void 0,void 0,o.plotX,this.xAxis)}getXExtremes(t){let e=(0,o.arrayMax)(t),s=this.getColumn("z")[t.indexOf(e)];return{min:(0,o.arrayMin)(t),max:e+(this.xAxis.categories?0:s)}}}m.compose=function(t,e){if((0,o.pushUnique)(p,"Variwide")){let s=e.prototype;(0,o.addEvent)(t,"afterDrawCrosshair",c),(0,o.addEvent)(t,"afterRender",d),(0,o.addEvent)(e,"afterGetPosition",u),s.postTranslate=x,(0,o.wrap)(s,"getLabelPosition",f)}},m.defaultOptions=(0,o.merge)(v.defaultOptions,{pointPadding:0,groupPadding:0}),(0,o.addEvent)(m,"afterColumnTranslate",function(){let t=this.xAxis,e=this.chart.inverted,s=-1;for(let i of this.points){let r,a;++s;let n=i.shapeArgs||{},{x:h=0,width:l=0}=n,{plotX:p=0,tooltipPos:c,z:d=0}=i;t.variwide?(r=this.postTranslate(s,h,i),a=this.postTranslate(s,h+l)):(r=p,a=t.translate(i.x+d,!1,!1,!1,!0)),this.crispOption&&(r=(0,o.crisp)(r,this.borderWidth),a=(0,o.crisp)(a,this.borderWidth)),n.x=r,n.width=Math.max(a-r,1),i.plotX=(r+a)/2,c&&(e?c[1]=t.len-n.x-n.width/2:c[0]=n.x+n.width/2)}this.options.stacking&&this.correctStackLabels()},{order:2}),(0,o.extend)(m.prototype,{irregularWidths:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],parallelArrays:["x","y","z"],pointClass:y}),l().registerSeriesType("variwide",m);let b=n();m.compose(b.Axis,b.Tick);let w=n();return a.default})());
|
package/modules/variwide.src.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: LicenseRef-Highcharts
|
|
2
2
|
/**
|
|
3
|
-
* @license Highcharts JS v13.0.
|
|
3
|
+
* @license Highcharts JS v13.0.2 (2026-08-27)
|
|
4
4
|
* @module highcharts/modules/variwide
|
|
5
5
|
* @requires highcharts
|
|
6
6
|
*
|
|
@@ -498,7 +498,7 @@ class VariwideSeries extends ColumnSeries {
|
|
|
498
498
|
(axis.dataMin || 0) :
|
|
499
499
|
(axis.dataMax || 0) + axis.pointRange), len = Math.abs(maxPx - minPx), totalZ = this.totalZ, left = this.chart.inverted ?
|
|
500
500
|
maxPx - (this.chart.plotTop - goRight * axis.minPixelPadding) :
|
|
501
|
-
minPx - this.chart.plotLeft - goRight * axis.minPixelPadding, linearSlotLeft = i / relZ.length * len, linearSlotRight = (i + goRight) / relZ.length * len, slotLeft = ((
|
|
501
|
+
minPx - this.chart.plotLeft - goRight * axis.minPixelPadding, linearSlotLeft = i / relZ.length * len, linearSlotRight = (i + goRight) / relZ.length * len, slotLeft = ((relZ[i] ?? totalZ) / totalZ) * len, slotRight = ((relZ[i + goRight] ?? totalZ) / totalZ) * len, xInsideLinearSlot = (x - (left + linearSlotLeft));
|
|
502
502
|
// Set crosshairWidth for every point (#8173)
|
|
503
503
|
if (point) {
|
|
504
504
|
point.crosshairWidth = slotRight - slotLeft;
|
package/modules/vector.js
CHANGED