highcharts 11.3.0 → 11.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bower.json +1 -1
- package/css/annotations/popup.css +27 -19
- package/css/stocktools/gui.css +19 -7
- package/es-modules/Accessibility/A11yI18n.js +4 -6
- package/es-modules/Accessibility/Accessibility.js +8 -6
- package/es-modules/Accessibility/Components/InfoRegionsComponent.js +11 -6
- package/es-modules/Accessibility/Components/LegendComponent.js +4 -4
- package/es-modules/Accessibility/Components/MenuComponent.js +3 -6
- package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -3
- package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -7
- package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +18 -3
- package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +5 -3
- package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -4
- package/es-modules/Accessibility/FocusBorder.js +5 -5
- package/es-modules/Accessibility/HighContrastMode.js +22 -13
- package/es-modules/Accessibility/HighContrastTheme.js +2 -6
- package/es-modules/Accessibility/KeyboardNavigation.js +17 -8
- package/es-modules/Accessibility/Options/A11yDefaults.js +11 -1
- package/es-modules/Accessibility/ProxyElement.js +4 -4
- package/es-modules/Accessibility/ProxyProvider.js +8 -2
- package/es-modules/Accessibility/Utils/DOMElementProvider.js +8 -0
- package/es-modules/Accessibility/Utils/EventProvider.js +9 -0
- package/es-modules/Core/Animation/Fx.js +3 -3
- package/es-modules/Core/Axis/Axis.js +43 -97
- package/es-modules/Core/Axis/Axis3DComposition.js +5 -5
- package/es-modules/Core/Axis/Axis3DDefaults.js +1 -1
- package/es-modules/Core/Axis/AxisDefaults.js +18 -7
- package/es-modules/Core/Axis/BrokenAxis.js +4 -6
- package/es-modules/Core/Axis/Color/ColorAxis.js +2 -1
- package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -5
- package/es-modules/Core/Axis/DateTimeAxis.js +3 -5
- package/es-modules/Core/Axis/GridAxis.js +7 -7
- package/es-modules/Core/Axis/LogarithmicAxis.js +2 -4
- package/es-modules/Core/Axis/NavigatorAxisComposition.js +26 -22
- package/es-modules/Core/Axis/OrdinalAxis.js +97 -53
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
- package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +4 -5
- package/es-modules/Core/Axis/RadialAxis.js +5 -5
- package/es-modules/Core/Axis/ScrollbarAxis.js +2 -2
- package/es-modules/Core/Axis/Stacking/StackItem.js +8 -4
- package/es-modules/Core/Axis/Stacking/StackingAxis.js +3 -5
- package/es-modules/Core/Axis/Tick.js +16 -7
- package/es-modules/Core/Axis/Tick3DComposition.js +2 -2
- package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +4 -8
- package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -6
- package/es-modules/Core/Axis/WaterfallAxis.js +3 -3
- package/es-modules/Core/Axis/ZAxis.js +6 -11
- package/es-modules/Core/Chart/Chart.js +201 -176
- package/es-modules/Core/Chart/Chart3D.js +1 -1
- package/es-modules/Core/Chart/ChartDefaults.js +7 -0
- package/es-modules/Core/Chart/GanttChart.js +2 -2
- package/es-modules/Core/Chart/MapChart.js +12 -2
- package/es-modules/Core/Chart/StockChart.js +12 -11
- package/es-modules/Core/Color/Color.js +3 -3
- package/es-modules/Core/Color/Palettes.js +2 -2
- package/es-modules/Core/Defaults.js +18 -15
- package/es-modules/Core/Geometry/CircleUtilities.js +3 -3
- package/es-modules/Core/Globals.js +2 -2
- package/es-modules/Core/HttpUtilities.js +4 -4
- package/es-modules/Core/Legend/Legend.js +6 -6
- package/es-modules/Core/MSPointer.js +7 -7
- package/es-modules/Core/Pointer.js +230 -245
- package/es-modules/Core/Renderer/HTML/AST.js +1 -1
- package/es-modules/Core/Renderer/HTML/HTMLElement.js +213 -26
- package/es-modules/Core/Renderer/RendererUtilities.js +1 -1
- package/es-modules/Core/Renderer/SVG/SVGElement.js +85 -52
- package/es-modules/Core/Renderer/SVG/SVGLabel.js +14 -11
- package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -14
- package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +8 -7
- package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
- package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
- package/es-modules/Core/Responsive.js +5 -6
- package/es-modules/Core/Series/DataLabel.js +70 -90
- package/es-modules/Core/Series/DataSeriesComposition.js +1 -1
- package/es-modules/Core/Series/DataSeriesConverter.js +2 -2
- package/es-modules/Core/Series/Point.js +48 -40
- package/es-modules/Core/Series/Series.js +61 -51
- package/es-modules/Core/Series/Series3D.js +2 -2
- package/es-modules/Core/Series/SeriesRegistry.js +10 -2
- package/es-modules/Core/Templating.js +1 -1
- package/es-modules/Core/Time.js +12 -7
- package/es-modules/Core/Tooltip.js +19 -17
- package/es-modules/Core/Utilities.js +54 -26
- package/es-modules/Data/Connectors/CSVConnector.js +2 -2
- package/es-modules/Data/Connectors/DataConnector.js +4 -2
- package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
- package/es-modules/Data/Connectors/HTMLTableConnector.js +2 -2
- package/es-modules/Data/Connectors/JSONConnector.js +3 -5
- package/es-modules/Data/Converters/CSVConverter.js +1 -3
- package/es-modules/Data/Converters/DataConverter.js +8 -2
- package/es-modules/Data/Converters/HTMLTableConverter.js +1 -3
- package/es-modules/Data/Converters/JSONConverter.js +1 -0
- package/es-modules/Data/DataTable.js +1 -2
- package/es-modules/Data/Formula/FormulaProcessor.js +4 -2
- package/es-modules/Data/Modifiers/DataModifier.js +15 -3
- package/es-modules/Extensions/Annotations/Annotation.js +6 -7
- package/es-modules/Extensions/Annotations/AnnotationChart.js +4 -5
- package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
- package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
- package/es-modules/Extensions/Annotations/ControlTarget.js +1 -1
- package/es-modules/Extensions/Annotations/Controllables/Controllable.js +7 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +3 -3
- package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +8 -9
- package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -4
- package/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
- package/es-modules/Extensions/Annotations/NavigationBindings.js +29 -18
- package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +6 -6
- package/es-modules/Extensions/Annotations/Popup/Popup.js +1 -1
- package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -6
- package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +2 -2
- package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +31 -31
- package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +1 -1
- package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +14 -11
- package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +1 -1
- package/es-modules/Extensions/Annotations/Types/Measure.js +1 -1
- package/es-modules/Extensions/ArrowSymbols.js +7 -13
- package/es-modules/Extensions/Boost/Boost.js +39 -7
- package/es-modules/Extensions/Boost/BoostChart.js +4 -4
- package/es-modules/Extensions/Boost/BoostSeries.js +58 -13
- package/es-modules/Extensions/Boost/WGLRenderer.js +3 -3
- package/es-modules/Extensions/Boost/WGLVertexBuffer.js +1 -1
- package/es-modules/Extensions/BoostCanvas.js +5 -4
- package/es-modules/Extensions/BorderRadius.js +5 -4
- package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +9 -9
- package/es-modules/Extensions/CurrentDateIndication.js +1 -1
- package/es-modules/Extensions/Data.js +11 -11
- package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +8 -9
- package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
- package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +6 -7
- package/es-modules/Extensions/Debugger/Debugger.js +1 -1
- package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
- package/es-modules/Extensions/DragPanes/AxisResizer.js +13 -16
- package/es-modules/Extensions/DragPanes/DragPanes.js +2 -4
- package/es-modules/Extensions/DraggablePoints/DragDropDefaults.js +2 -1
- package/es-modules/Extensions/DraggablePoints/DragDropUtilities.js +1 -1
- package/es-modules/Extensions/DraggablePoints/DraggableChart.js +4 -4
- package/es-modules/Extensions/DraggablePoints/DraggablePoints.js +8 -9
- package/es-modules/Extensions/Drilldown/Drilldown.js +11 -9
- package/es-modules/Extensions/Drilldown/DrilldownSeries.js +5 -6
- package/es-modules/Extensions/ExportData/ExportData.js +27 -18
- package/es-modules/Extensions/Exporting/Exporting.js +25 -20
- package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
- package/es-modules/Extensions/Exporting/Fullscreen.js +5 -10
- package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +26 -21
- package/es-modules/Extensions/MarkerClusters/MarkerClusterSymbols.js +2 -12
- package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +3 -3
- package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +51 -161
- package/es-modules/Extensions/NoDataToDisplay/NoDataToDisplay.js +3 -5
- package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -6
- package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
- package/es-modules/Extensions/OverlappingDataLabels.js +21 -49
- package/es-modules/Extensions/Pane/PaneComposition.js +3 -5
- package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -4
- package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +5 -6
- package/es-modules/Extensions/ParallelCoordinates/ParallelSeries.js +1 -1
- package/es-modules/Extensions/PatternFill.js +19 -22
- package/es-modules/Extensions/PriceIndication.js +1 -1
- package/es-modules/Extensions/ScrollablePlotArea.js +218 -292
- package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +26 -18
- package/es-modules/Extensions/Sonification/Options.js +1 -0
- package/es-modules/Extensions/Sonification/SonificationSpeaker.js +2 -2
- package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
- package/es-modules/Extensions/StaticScale.js +3 -5
- package/es-modules/Gantt/Legacy.js +1 -1
- package/es-modules/Gantt/Pathfinder.js +2 -2
- package/es-modules/Gantt/PathfinderComposition.js +3 -5
- package/es-modules/Gantt/Tree.js +3 -3
- package/es-modules/Maps/GeoJSONComposition.js +20 -13
- package/es-modules/Maps/MapNavigation.js +2 -2
- package/es-modules/Maps/MapPointer.js +3 -19
- package/es-modules/Maps/MapSymbols.js +3 -9
- package/es-modules/Maps/MapView.js +134 -74
- package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +5 -4
- package/es-modules/Series/Area/AreaSeries.js +2 -4
- package/es-modules/Series/Area3D/Area3DSeries.js +1 -1
- package/es-modules/Series/AreaRange/AreaRangePoint.js +2 -2
- package/es-modules/Series/AreaRange/AreaRangeSeries.js +2 -3
- package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
- package/es-modules/Series/Bar/BarSeries.js +1 -1
- package/es-modules/Series/Bellcurve/BellcurveSeries.js +1 -1
- package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +4 -0
- package/es-modules/Series/Bubble/BubbleLegendComposition.js +1 -1
- package/es-modules/Series/Bubble/BubbleLegendDefaults.js +2 -2
- package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
- package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
- package/es-modules/Series/Bullet/BulletSeriesDefaults.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeries.js +2 -2
- package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -5
- package/es-modules/Series/ColorMapComposition.js +1 -1
- package/es-modules/Series/Column/ColumnDataLabel.js +2 -2
- package/es-modules/Series/Column/ColumnSeries.js +20 -22
- package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
- package/es-modules/Series/Column3D/Column3DComposition.js +1 -1
- package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
- package/es-modules/Series/Cylinder/CylinderComposition.js +9 -9
- package/es-modules/Series/DataModifyComposition.js +5 -5
- package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -2
- package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +1 -1
- package/es-modules/Series/DragNodesComposition.js +7 -7
- package/es-modules/Series/DrawPointUtilities.js +0 -2
- package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +1 -1
- package/es-modules/Series/Funnel/FunnelSeries.js +1 -1
- package/es-modules/Series/Funnel3D/Funnel3DComposition.js +6 -6
- package/es-modules/Series/Funnel3D/Funnel3DSeriesDefaults.js +2 -2
- package/es-modules/Series/Funnel3D/SVGElement3DFunnel.js +1 -1
- package/es-modules/Series/Gantt/GanttSeries.js +0 -1
- package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
- package/es-modules/Series/GraphLayoutComposition.js +1 -1
- package/es-modules/Series/Heatmap/HeatmapSeries.js +2 -2
- package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
- package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -3
- package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
- package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +2 -2
- package/es-modules/Series/Item/ItemSeries.js +1 -1
- package/es-modules/Series/Line/LineSeries.js +1 -1
- package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
- package/es-modules/Series/Map/MapPoint.js +5 -1
- package/es-modules/Series/Map/MapSeries.js +32 -7
- package/es-modules/Series/Map/MapSeriesDefaults.js +5 -3
- package/es-modules/Series/Networkgraph/EulerIntegration.js +5 -5
- package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -4
- package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +5 -5
- package/es-modules/Series/Networkgraph/QuadTree.js +1 -1
- package/es-modules/Series/Networkgraph/QuadTreeNode.js +1 -1
- package/es-modules/Series/Networkgraph/VerletIntegration.js +9 -9
- package/es-modules/Series/NodesComposition.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
- package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +1 -1
- package/es-modules/Series/OnSeriesComposition.js +1 -1
- package/es-modules/Series/Organization/OrganizationPoint.js +1 -1
- package/es-modules/Series/Organization/OrganizationSeries.js +22 -10
- package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +15 -2
- package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -5
- package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
- package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +6 -10
- package/es-modules/Series/Pictorial/PictorialSeries.js +2 -2
- package/es-modules/Series/Pie/PieDataLabel.js +2 -2
- package/es-modules/Series/Pie/PiePoint.js +1 -1
- package/es-modules/Series/Pie/PieSeries.js +10 -1
- package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
- package/es-modules/Series/Pie3D/Pie3DSeries.js +2 -2
- package/es-modules/Series/PolarComposition.js +22 -20
- package/es-modules/Series/Sankey/SankeyColumnComposition.js +1 -1
- package/es-modules/Series/Sankey/SankeySeries.js +8 -8
- package/es-modules/Series/Sankey/SankeySeriesDefaults.js +57 -13
- package/es-modules/Series/SeriesOnPointComposition.js +3 -3
- package/es-modules/Series/Spline/SplineSeries.js +1 -1
- package/es-modules/Series/Sunburst/SunburstPoint.js +1 -1
- package/es-modules/Series/Sunburst/SunburstSeries.js +2 -7
- package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +3 -3
- package/es-modules/Series/Sunburst/SunburstUtilities.js +1 -1
- package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +23 -25
- package/es-modules/Series/Tilemap/TilemapSeries.js +2 -2
- package/es-modules/Series/Timeline/TimelineSeries.js +2 -2
- package/es-modules/Series/TreeUtilities.js +23 -1
- package/es-modules/Series/Treegraph/TreegraphLayout.js +7 -11
- package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -0
- package/es-modules/Series/Treegraph/TreegraphSeries.js +8 -8
- package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +39 -2
- package/es-modules/Series/Treemap/TreemapSeries.js +4 -2
- package/es-modules/Series/Treemap/TreemapUtilities.js +0 -7
- package/es-modules/Series/Variwide/VariwideComposition.js +6 -2
- package/es-modules/Series/Variwide/VariwideSeries.js +1 -1
- package/es-modules/Series/Venn/VennSeries.js +4 -4
- package/es-modules/Series/Venn/VennUtils.js +5 -6
- package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
- package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -1
- package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -4
- package/es-modules/Series/XRange/XRangePoint.js +2 -2
- package/es-modules/Series/XRange/XRangeSeries.js +1 -1
- package/es-modules/Shared/BaseForm.js +1 -1
- package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
- package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
- package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +2 -2
- package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
- package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -1
- package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +7 -7
- package/es-modules/Stock/Indicators/MultipleLinesComposition.js +9 -9
- package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
- package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -2
- package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +16 -17
- package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +4 -5
- package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
- package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +5 -5
- package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +188 -0
- package/es-modules/Stock/Navigator/Navigator.js +42 -27
- package/es-modules/Stock/Navigator/NavigatorComposition.js +10 -149
- package/es-modules/Stock/Navigator/NavigatorDefaults.js +16 -2
- package/es-modules/Stock/Navigator/StandaloneNavigator.js +334 -0
- package/es-modules/Stock/Navigator/StandaloneNavigatorDefaults.js +64 -0
- package/es-modules/Stock/RangeSelector/RangeSelector.js +28 -16
- package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
- package/es-modules/Stock/Scrollbar/Scrollbar.js +10 -10
- package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
- package/es-modules/Stock/StockTools/StockToolbar.js +6 -5
- package/es-modules/Stock/StockTools/StockTools.js +10 -13
- package/es-modules/Stock/StockTools/StockToolsBindings.js +35 -35
- package/es-modules/Stock/StockTools/StockToolsDefaults.js +2 -1
- package/es-modules/Stock/StockTools/StockToolsGui.js +7 -8
- package/es-modules/Stock/StockTools/StockToolsUtilities.js +8 -9
- package/es-modules/Stock/Utilities/StockUtilities.js +41 -0
- package/es-modules/masters/highcharts-3d.src.js +2 -1
- package/es-modules/masters/highcharts-gantt.src.js +1 -1
- package/es-modules/masters/highcharts-more.src.js +2 -1
- package/es-modules/masters/highcharts.src.js +41 -40
- package/es-modules/masters/highmaps.src.js +1 -1
- package/es-modules/masters/highstock.src.js +1 -1
- package/es-modules/masters/indicators/acceleration-bands.src.js +3 -1
- package/es-modules/masters/indicators/accumulation-distribution.src.js +3 -1
- package/es-modules/masters/indicators/ao.src.js +3 -1
- package/es-modules/masters/indicators/apo.src.js +3 -1
- package/es-modules/masters/indicators/aroon-oscillator.src.js +3 -1
- package/es-modules/masters/indicators/aroon.src.js +3 -1
- package/es-modules/masters/indicators/atr.src.js +3 -1
- package/es-modules/masters/indicators/bollinger-bands.src.js +3 -1
- package/es-modules/masters/indicators/cci.src.js +3 -1
- package/es-modules/masters/indicators/chaikin.src.js +3 -1
- package/es-modules/masters/indicators/cmf.src.js +3 -1
- package/es-modules/masters/indicators/cmo.src.js +3 -1
- package/es-modules/masters/indicators/dema.src.js +3 -1
- package/es-modules/masters/indicators/disparity-index.src.js +3 -1
- package/es-modules/masters/indicators/dmi.src.js +3 -1
- package/es-modules/masters/indicators/dpo.src.js +3 -1
- package/es-modules/masters/indicators/ema.src.js +2 -0
- package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +3 -1
- package/es-modules/masters/indicators/indicators-all.src.js +3 -1
- package/es-modules/masters/indicators/indicators.src.js +7 -1
- package/es-modules/masters/indicators/keltner-channels.src.js +3 -1
- package/es-modules/masters/indicators/klinger.src.js +3 -1
- package/es-modules/masters/indicators/macd.src.js +3 -1
- package/es-modules/masters/indicators/mfi.src.js +3 -1
- package/es-modules/masters/indicators/momentum.src.js +3 -1
- package/es-modules/masters/indicators/natr.src.js +3 -1
- package/es-modules/masters/indicators/obv.src.js +3 -1
- package/es-modules/masters/indicators/pivot-points.src.js +3 -1
- package/es-modules/masters/indicators/ppo.src.js +3 -1
- package/es-modules/masters/indicators/price-channel.src.js +3 -1
- package/es-modules/masters/indicators/price-envelopes.src.js +3 -1
- package/es-modules/masters/indicators/psar.src.js +3 -1
- package/es-modules/masters/indicators/regressions.src.js +3 -1
- package/es-modules/masters/indicators/roc.src.js +3 -1
- package/es-modules/masters/indicators/rsi.src.js +3 -1
- package/es-modules/masters/indicators/slow-stochastic.src.js +3 -1
- package/es-modules/masters/indicators/stochastic.src.js +3 -1
- package/es-modules/masters/indicators/supertrend.src.js +3 -1
- package/es-modules/masters/indicators/tema.src.js +3 -1
- package/es-modules/masters/indicators/trendline.src.js +3 -1
- package/es-modules/masters/indicators/trix.src.js +3 -1
- package/es-modules/masters/indicators/volume-by-price.src.js +3 -1
- package/es-modules/masters/indicators/vwap.src.js +3 -1
- package/es-modules/masters/indicators/williams-r.src.js +3 -1
- package/es-modules/masters/indicators/wma.src.js +3 -1
- package/es-modules/masters/indicators/zigzag.src.js +3 -1
- package/es-modules/masters/modules/accessibility.src.js +4 -1
- package/es-modules/masters/modules/annotations-advanced.src.js +3 -5
- package/es-modules/masters/modules/annotations.src.js +6 -3
- package/es-modules/masters/modules/arc-diagram.src.js +3 -1
- package/es-modules/masters/modules/arrow-symbols.src.js +2 -1
- package/es-modules/masters/modules/boost-canvas.src.js +2 -1
- package/es-modules/masters/modules/boost.src.js +3 -2
- package/es-modules/masters/modules/broken-axis.src.js +4 -3
- package/es-modules/masters/modules/bullet.src.js +3 -1
- package/es-modules/masters/modules/coloraxis.src.js +4 -3
- package/es-modules/masters/modules/current-date-indicator.src.js +2 -1
- package/es-modules/masters/modules/cylinder.src.js +3 -1
- package/es-modules/masters/modules/data-tools.src.js +9 -8
- package/es-modules/masters/modules/data.src.js +9 -8
- package/es-modules/masters/modules/datagrouping.src.js +7 -5
- package/es-modules/masters/modules/debugger.src.js +3 -2
- package/es-modules/masters/modules/dependency-wheel.src.js +3 -1
- package/es-modules/masters/modules/dotplot.src.js +3 -1
- package/es-modules/masters/modules/drag-panes.src.js +2 -1
- package/es-modules/masters/modules/draggable-points.src.js +2 -1
- package/es-modules/masters/modules/drilldown.src.js +3 -2
- package/es-modules/masters/modules/dumbbell.src.js +3 -1
- package/es-modules/masters/modules/export-data.src.js +5 -4
- package/es-modules/masters/modules/exporting.src.js +6 -5
- package/es-modules/masters/modules/flowmap.src.js +3 -1
- package/es-modules/masters/modules/full-screen.src.js +4 -3
- package/es-modules/masters/modules/funnel.src.js +2 -1
- package/es-modules/masters/modules/funnel3d.src.js +4 -3
- package/es-modules/masters/modules/gantt.src.js +15 -17
- package/es-modules/masters/modules/geoheatmap.src.js +3 -1
- package/es-modules/masters/modules/grid-axis.src.js +2 -1
- package/es-modules/masters/modules/heatmap.src.js +3 -5
- package/es-modules/masters/modules/heikinashi.src.js +2 -1
- package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -1
- package/es-modules/masters/modules/hollowcandlestick.src.js +3 -1
- package/es-modules/masters/modules/item-series.src.js +3 -1
- package/es-modules/masters/modules/lollipop.src.js +3 -1
- package/es-modules/masters/modules/map.src.js +15 -10
- package/es-modules/masters/modules/marker-clusters.src.js +2 -1
- package/es-modules/masters/modules/mouse-wheel-zoom.src.js +4 -2
- package/es-modules/masters/modules/navigator.src.d.ts +1 -0
- package/es-modules/masters/modules/navigator.src.js +19 -0
- package/es-modules/masters/modules/networkgraph.src.js +2 -1
- package/es-modules/masters/modules/no-data-to-display.src.js +2 -1
- package/es-modules/masters/modules/offline-exporting.src.js +4 -3
- package/es-modules/masters/modules/organization.src.js +3 -1
- package/es-modules/masters/modules/overlapping-datalabels.src.js +4 -2
- package/es-modules/masters/modules/parallel-coordinates.src.js +2 -1
- package/es-modules/masters/modules/pareto.src.js +3 -1
- package/es-modules/masters/modules/pathfinder.src.js +4 -3
- package/es-modules/masters/modules/pattern-fill.src.js +2 -1
- package/es-modules/masters/modules/pictorial.src.js +3 -1
- package/es-modules/masters/modules/price-indicator.src.js +2 -1
- package/es-modules/masters/modules/pyramid3d.src.js +3 -1
- package/es-modules/masters/modules/sankey.src.js +3 -1
- package/es-modules/masters/modules/series-label.src.js +2 -1
- package/es-modules/masters/modules/series-on-point.src.js +2 -1
- package/es-modules/masters/modules/solid-gauge.src.js +3 -1
- package/es-modules/masters/modules/sonification.src.js +2 -1
- package/es-modules/masters/modules/static-scale.src.js +2 -1
- package/es-modules/masters/modules/stock-tools.src.js +5 -3
- package/es-modules/masters/modules/stock.src.js +20 -15
- package/es-modules/masters/modules/streamgraph.src.js +3 -1
- package/es-modules/masters/modules/sunburst.src.js +4 -3
- package/es-modules/masters/modules/tiledwebmap.src.js +5 -4
- package/es-modules/masters/modules/tilemap.src.js +2 -1
- package/es-modules/masters/modules/timeline.src.js +3 -1
- package/es-modules/masters/modules/treegraph.src.js +3 -1
- package/es-modules/masters/modules/treegrid.src.js +2 -2
- package/es-modules/masters/modules/treemap.src.js +5 -4
- package/es-modules/masters/modules/variable-pie.src.js +3 -1
- package/es-modules/masters/modules/variwide.src.js +2 -1
- package/es-modules/masters/modules/vector.src.js +3 -1
- package/es-modules/masters/modules/venn.src.js +3 -1
- package/es-modules/masters/modules/windbarb.src.js +3 -1
- package/es-modules/masters/modules/wordcloud.src.js +3 -1
- package/es-modules/masters/modules/xrange.src.js +2 -1
- package/es-modules/masters/standalone-navigator.src.js +13 -0
- package/es-modules/masters/themes/avocado.src.js +2 -1
- package/es-modules/masters/themes/brand-dark.src.js +2 -1
- package/es-modules/masters/themes/brand-light.src.js +2 -1
- package/es-modules/masters/themes/dark-blue.src.js +2 -1
- package/es-modules/masters/themes/dark-green.src.js +2 -1
- package/es-modules/masters/themes/dark-unica.src.js +2 -1
- package/es-modules/masters/themes/gray.src.js +2 -1
- package/es-modules/masters/themes/grid-light.src.js +2 -1
- package/es-modules/masters/themes/grid.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-dark.src.js +2 -1
- package/es-modules/masters/themes/high-contrast-light.src.js +2 -1
- package/es-modules/masters/themes/sand-signika.src.js +2 -1
- package/es-modules/masters/themes/skies.src.js +2 -1
- package/es-modules/masters/themes/sunset.src.js +2 -1
- package/es-modules/tsconfig.tsbuildinfo +1 -0
- package/globals.d.ts +9 -0
- package/globals.src.d.ts +9 -0
- package/highcharts-3d.js +3 -3
- package/highcharts-3d.src.js +32 -33
- package/highcharts-gantt.js +4 -4
- package/highcharts-gantt.src.js +5703 -5639
- package/highcharts-more.d.ts +4 -0
- package/highcharts-more.js +3 -3
- package/highcharts-more.src.d.ts +4 -0
- package/highcharts-more.src.js +88 -87
- package/highcharts.d.ts +834 -5365
- package/highcharts.js +4 -4
- package/highcharts.src.d.ts +834 -5365
- package/highcharts.src.js +1583 -1682
- package/highmaps.js +4 -4
- package/highmaps.src.js +1837 -1835
- package/highstock.js +4 -4
- package/highstock.src.js +12488 -12510
- package/indicators/acceleration-bands.js +3 -3
- package/indicators/acceleration-bands.src.js +12 -11
- package/indicators/accumulation-distribution.js +3 -3
- package/indicators/accumulation-distribution.src.js +6 -3
- package/indicators/ao.js +3 -3
- package/indicators/ao.src.js +3 -2
- package/indicators/apo.js +3 -3
- package/indicators/apo.src.js +4 -3
- package/indicators/aroon-oscillator.js +3 -3
- package/indicators/aroon-oscillator.src.js +12 -11
- package/indicators/aroon.js +3 -3
- package/indicators/aroon.src.js +13 -12
- package/indicators/atr.js +3 -3
- package/indicators/atr.src.js +3 -2
- package/indicators/bollinger-bands.js +3 -3
- package/indicators/bollinger-bands.src.js +12 -11
- package/indicators/cci.js +3 -3
- package/indicators/cci.src.js +3 -2
- package/indicators/chaikin.js +3 -3
- package/indicators/chaikin.src.js +7 -4
- package/indicators/cmf.js +3 -3
- package/indicators/cmf.src.js +4 -3
- package/indicators/cmo.js +3 -3
- package/indicators/cmo.src.js +5 -4
- package/indicators/dema.js +3 -3
- package/indicators/dema.src.js +3 -2
- package/indicators/disparity-index.js +3 -3
- package/indicators/disparity-index.src.js +3 -2
- package/indicators/dmi.js +3 -3
- package/indicators/dmi.src.js +12 -11
- package/indicators/dpo.js +3 -3
- package/indicators/dpo.src.js +4 -3
- package/indicators/ema.js +1 -1
- package/indicators/ema.src.js +2 -1
- package/indicators/ichimoku-kinko-hyo.js +3 -3
- package/indicators/ichimoku-kinko-hyo.src.js +3 -2
- package/indicators/indicators-all.js +3 -3
- package/indicators/indicators-all.src.js +63 -60
- package/indicators/indicators.js +3 -3
- package/indicators/indicators.src.js +286 -3
- package/indicators/keltner-channels.js +3 -3
- package/indicators/keltner-channels.src.js +12 -11
- package/indicators/klinger.js +3 -3
- package/indicators/klinger.src.js +13 -12
- package/indicators/macd.js +3 -3
- package/indicators/macd.src.js +3 -2
- package/indicators/mfi.js +3 -3
- package/indicators/mfi.src.js +3 -2
- package/indicators/momentum.js +3 -3
- package/indicators/momentum.src.js +3 -2
- package/indicators/natr.js +3 -3
- package/indicators/natr.src.js +3 -2
- package/indicators/obv.js +3 -3
- package/indicators/obv.src.js +4 -3
- package/indicators/pivot-points.js +3 -3
- package/indicators/pivot-points.src.js +5 -4
- package/indicators/ppo.js +3 -3
- package/indicators/ppo.src.js +4 -3
- package/indicators/price-channel.js +3 -3
- package/indicators/price-channel.src.js +12 -11
- package/indicators/price-envelopes.js +3 -3
- package/indicators/price-envelopes.src.js +12 -11
- package/indicators/psar.js +3 -3
- package/indicators/psar.src.js +3 -2
- package/indicators/regressions.js +3 -3
- package/indicators/regressions.src.js +10 -9
- package/indicators/roc.js +3 -3
- package/indicators/roc.src.js +3 -2
- package/indicators/rsi.js +3 -3
- package/indicators/rsi.src.js +3 -2
- package/indicators/slow-stochastic.js +3 -3
- package/indicators/slow-stochastic.src.js +3 -2
- package/indicators/stochastic.js +3 -3
- package/indicators/stochastic.src.js +12 -11
- package/indicators/supertrend.js +3 -3
- package/indicators/supertrend.src.js +20 -19
- package/indicators/tema.js +3 -3
- package/indicators/tema.src.js +3 -2
- package/indicators/trendline.js +3 -3
- package/indicators/trendline.src.js +3 -2
- package/indicators/trix.js +3 -3
- package/indicators/trix.src.js +3 -2
- package/indicators/volume-by-price.js +3 -3
- package/indicators/volume-by-price.src.js +8 -7
- package/indicators/vwap.js +3 -3
- package/indicators/vwap.src.js +3 -2
- package/indicators/williams-r.js +3 -3
- package/indicators/williams-r.src.js +4 -3
- package/indicators/wma.js +3 -3
- package/indicators/wma.src.js +3 -2
- package/indicators/zigzag.js +3 -3
- package/indicators/zigzag.src.js +8 -7
- package/lib/svg2pdf.js +7 -7
- package/lib/svg2pdf.src.js +185 -150
- package/modules/accessibility.js +3 -3
- package/modules/accessibility.src.js +664 -2793
- package/modules/annotations-advanced.d.ts +3 -0
- package/modules/annotations-advanced.js +3 -3
- package/modules/annotations-advanced.src.d.ts +3 -0
- package/modules/annotations-advanced.src.js +2949 -2920
- package/modules/annotations.d.ts +0 -3
- package/modules/annotations.js +3 -3
- package/modules/annotations.src.d.ts +0 -3
- package/modules/annotations.src.js +2926 -2905
- package/modules/arc-diagram.js +3 -3
- package/modules/arc-diagram.src.js +8 -6
- package/modules/arrow-symbols.js +3 -3
- package/modules/arrow-symbols.src.js +10 -13
- package/modules/boost-canvas.js +3 -3
- package/modules/boost-canvas.src.js +73 -26
- package/modules/boost.js +3 -3
- package/modules/boost.src.js +108 -30
- package/modules/broken-axis.js +3 -3
- package/modules/broken-axis.src.js +9 -9
- package/modules/bullet.js +3 -3
- package/modules/bullet.src.js +5 -4
- package/modules/coloraxis.js +3 -3
- package/modules/coloraxis.src.js +10 -9
- package/modules/current-date-indicator.js +3 -3
- package/modules/current-date-indicator.src.js +3 -2
- package/modules/cylinder.js +3 -3
- package/modules/cylinder.src.js +12 -11
- package/modules/data-tools.js +3 -3
- package/modules/data-tools.src.js +53 -36
- package/modules/data.d.ts +2 -2
- package/modules/data.js +3 -3
- package/modules/data.src.d.ts +2 -2
- package/modules/data.src.js +24 -23
- package/modules/datagrouping.js +3 -3
- package/modules/datagrouping.src.js +25 -23
- package/modules/debugger.js +3 -3
- package/modules/debugger.src.js +6 -5
- package/modules/dependency-wheel.js +3 -3
- package/modules/dependency-wheel.src.js +7 -5
- package/modules/dotplot.js +3 -3
- package/modules/dotplot.src.js +3 -2
- package/modules/drag-panes.js +3 -3
- package/modules/drag-panes.src.js +19 -21
- package/modules/draggable-points.js +3 -3
- package/modules/draggable-points.src.js +18 -16
- package/modules/drilldown.js +3 -3
- package/modules/drilldown.src.js +29 -26
- package/modules/dumbbell.js +3 -3
- package/modules/dumbbell.src.js +5 -4
- package/modules/export-data.js +3 -3
- package/modules/export-data.src.js +33 -22
- package/modules/exporting.d.ts +1 -1
- package/modules/exporting.js +3 -3
- package/modules/exporting.src.d.ts +1 -1
- package/modules/exporting.src.js +40 -39
- package/modules/flowmap.js +3 -3
- package/modules/flowmap.src.js +3 -2
- package/modules/full-screen.js +3 -3
- package/modules/full-screen.src.js +9 -13
- package/modules/funnel.js +3 -3
- package/modules/funnel.src.js +3 -2
- package/modules/funnel3d.js +3 -3
- package/modules/funnel3d.src.js +12 -12
- package/modules/gantt.d.ts +3 -4
- package/modules/gantt.js +3 -3
- package/modules/gantt.src.d.ts +3 -4
- package/modules/gantt.src.js +4165 -4002
- package/modules/geoheatmap.js +3 -3
- package/modules/geoheatmap.src.js +8 -7
- package/modules/grid-axis.js +3 -3
- package/modules/grid-axis.src.js +9 -8
- package/modules/heatmap.d.ts +2 -2
- package/modules/heatmap.js +3 -3
- package/modules/heatmap.src.d.ts +2 -2
- package/modules/heatmap.src.js +21 -15
- package/modules/heikinashi.js +3 -3
- package/modules/heikinashi.src.js +9 -6
- package/modules/histogram-bellcurve.js +3 -3
- package/modules/histogram-bellcurve.src.js +4 -3
- package/modules/hollowcandlestick.js +3 -3
- package/modules/hollowcandlestick.src.js +5 -4
- package/modules/item-series.js +3 -3
- package/modules/item-series.src.js +4 -3
- package/modules/lollipop.js +3 -3
- package/modules/lollipop.src.js +6 -3
- package/modules/map.d.ts +22 -1
- package/modules/map.js +3 -3
- package/modules/map.src.d.ts +22 -1
- package/modules/map.src.js +256 -155
- package/modules/marker-clusters.js +3 -3
- package/modules/marker-clusters.src.js +35 -37
- package/modules/mouse-wheel-zoom.js +3 -3
- package/modules/mouse-wheel-zoom.src.js +55 -163
- package/modules/navigator.d.ts +148 -0
- package/modules/navigator.js +9 -0
- package/modules/navigator.src.d.ts +148 -0
- package/modules/navigator.src.js +3921 -0
- package/modules/networkgraph.d.ts +2 -2
- package/modules/networkgraph.js +3 -3
- package/modules/networkgraph.src.d.ts +2 -2
- package/modules/networkgraph.src.js +36 -35
- package/modules/no-data-to-display.js +3 -3
- package/modules/no-data-to-display.src.js +6 -6
- package/modules/offline-exporting.js +3 -3
- package/modules/offline-exporting.src.js +10 -10
- package/modules/organization.js +3 -3
- package/modules/organization.src.js +41 -15
- package/modules/overlapping-datalabels.js +3 -3
- package/modules/overlapping-datalabels.src.js +4 -2
- package/modules/parallel-coordinates.js +3 -3
- package/modules/parallel-coordinates.src.js +12 -12
- package/modules/pareto.js +3 -3
- package/modules/pareto.src.js +3 -2
- package/modules/pathfinder.js +3 -3
- package/modules/pathfinder.src.js +18 -22
- package/modules/pattern-fill.js +3 -3
- package/modules/pattern-fill.src.js +22 -23
- package/modules/pictorial.js +3 -3
- package/modules/pictorial.src.js +25 -26
- package/modules/price-indicator.js +3 -3
- package/modules/price-indicator.src.js +3 -2
- package/modules/pyramid3d.js +3 -3
- package/modules/pyramid3d.src.js +3 -2
- package/modules/sankey.js +3 -3
- package/modules/sankey.src.js +93 -26
- package/modules/series-label.js +3 -3
- package/modules/series-label.src.js +28 -19
- package/modules/series-on-point.js +3 -3
- package/modules/series-on-point.src.js +5 -4
- package/modules/solid-gauge.js +3 -3
- package/modules/solid-gauge.src.js +3 -2
- package/modules/sonification.d.ts +2 -2
- package/modules/sonification.js +3 -3
- package/modules/sonification.src.d.ts +2 -2
- package/modules/sonification.src.js +8 -6
- package/modules/static-scale.js +3 -3
- package/modules/static-scale.src.js +6 -6
- package/modules/stock-tools.js +3 -3
- package/modules/stock-tools.src.js +109 -96
- package/modules/stock.d.ts +1 -1
- package/modules/stock.js +3 -3
- package/modules/stock.src.d.ts +1 -1
- package/modules/stock.src.js +10762 -10685
- package/modules/streamgraph.js +3 -3
- package/modules/streamgraph.src.js +3 -2
- package/modules/sunburst.js +3 -3
- package/modules/sunburst.src.js +50 -37
- package/modules/tiledwebmap.js +4 -4
- package/modules/tiledwebmap.src.js +28 -29
- package/modules/tilemap.js +3 -3
- package/modules/tilemap.src.js +4 -3
- package/modules/timeline.js +3 -3
- package/modules/timeline.src.js +5 -4
- package/modules/treegraph.js +3 -3
- package/modules/treegraph.src.js +58 -23
- package/modules/treegrid.js +3 -3
- package/modules/treegrid.src.js +49 -33
- package/modules/treemap.js +3 -3
- package/modules/treemap.src.js +44 -26
- package/modules/variable-pie.js +3 -3
- package/modules/variable-pie.src.js +3 -2
- package/modules/variwide.js +3 -3
- package/modules/variwide.src.js +9 -4
- package/modules/vector.js +3 -3
- package/modules/vector.src.js +3 -2
- package/modules/venn.js +3 -3
- package/modules/venn.src.js +16 -17
- package/modules/windbarb.js +3 -3
- package/modules/windbarb.src.js +5 -4
- package/modules/wordcloud.js +3 -3
- package/modules/wordcloud.src.js +10 -8
- package/modules/xrange.js +3 -3
- package/modules/xrange.src.js +5 -4
- package/package.json +1 -1
- package/standalone-navigator.js +2 -0
- package/standalone-navigator.src.js +49402 -0
- package/themes/avocado.js +3 -3
- package/themes/avocado.src.js +2 -1
- package/themes/brand-dark.js +3 -3
- package/themes/brand-dark.src.js +2 -1
- package/themes/brand-light.js +3 -3
- package/themes/brand-light.src.js +2 -1
- package/themes/dark-blue.js +3 -3
- package/themes/dark-blue.src.js +2 -1
- package/themes/dark-green.js +3 -3
- package/themes/dark-green.src.js +2 -1
- package/themes/dark-unica.js +3 -3
- package/themes/dark-unica.src.js +2 -1
- package/themes/gray.js +3 -3
- package/themes/gray.src.js +2 -1
- package/themes/grid-light.js +3 -3
- package/themes/grid-light.src.js +2 -1
- package/themes/grid.js +3 -3
- package/themes/grid.src.js +2 -1
- package/themes/high-contrast-dark.js +3 -3
- package/themes/high-contrast-dark.src.js +2 -1
- package/themes/high-contrast-light.js +3 -3
- package/themes/high-contrast-light.src.js +2 -1
- package/themes/sand-signika.js +3 -3
- package/themes/sand-signika.src.js +2 -1
- package/themes/skies.js +3 -3
- package/themes/skies.src.js +2 -1
- package/themes/sunset.js +3 -3
- package/themes/sunset.src.js +2 -1
- package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +0 -259
- package/lib/canvg.js +0 -8
package/globals.d.ts
CHANGED
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
* in the Highcharts namespace.
|
|
9
9
|
*/
|
|
10
10
|
export type GlobalSVGElement = SVGElement;
|
|
11
|
+
/**
|
|
12
|
+
* Implementation
|
|
13
|
+
*/
|
|
14
|
+
export class Chart {
|
|
15
|
+
/**
|
|
16
|
+
* Emit console warning if the a11y module is not loaded.
|
|
17
|
+
*/
|
|
18
|
+
warnIfA11yModuleNotLoaded(): void;
|
|
19
|
+
}
|
|
11
20
|
/**
|
|
12
21
|
* 3D axis for z coordinates.
|
|
13
22
|
*/
|
package/globals.src.d.ts
CHANGED
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
* in the Highcharts namespace.
|
|
9
9
|
*/
|
|
10
10
|
export type GlobalSVGElement = SVGElement;
|
|
11
|
+
/**
|
|
12
|
+
* Implementation
|
|
13
|
+
*/
|
|
14
|
+
export class Chart {
|
|
15
|
+
/**
|
|
16
|
+
* Emit console warning if the a11y module is not loaded.
|
|
17
|
+
*/
|
|
18
|
+
warnIfA11yModuleNotLoaded(): void;
|
|
19
|
+
}
|
|
11
20
|
/**
|
|
12
21
|
* 3D axis for z coordinates.
|
|
13
22
|
*/
|
package/highcharts-3d.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
* Highcharts JS v11.
|
|
1
|
+
!/**
|
|
2
|
+
* Highcharts JS v11.4.0 (2024-03-04)
|
|
3
3
|
*
|
|
4
4
|
* 3D features for Highcharts JS
|
|
5
5
|
*
|
|
6
6
|
* License: www.highcharts.com/license
|
|
7
|
-
*/!function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Core/Math3D.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:i}=t,{pick:s}=e;function o(t,e,o,a){let n=e.options.chart.options3d,l=s(a,!!o&&e.inverted),h={x:e.plotWidth/2,y:e.plotHeight/2,z:n.depth/2,vd:s(n.depth,1)*s(n.viewDistance,0)},p=e.scale3d||1,c=i*n.beta*(l?-1:1),d=i*n.alpha*(l?-1:1),x={cosA:Math.cos(d),cosB:Math.cos(-c),sinA:Math.sin(d),sinB:Math.sin(-c)};return o||(h.x+=e.plotLeft,h.y+=e.plotTop),t.map(function(t){var e,i,s;let o=(e=(l?t.y:t.x)-h.x,i=(l?t.x:t.y)-h.y,s=(t.z||0)-h.z,{x:x.cosB*e-x.sinB*s,y:-x.sinA*x.sinB*e+x.cosA*i-x.cosB*x.sinA*s,z:x.cosA*x.sinB*e+x.sinA*i+x.cosA*x.cosB*s}),a=r(o,h,h.vd);return a.x=a.x*p+h.x,a.y=a.y*p+h.y,a.z=o.z*p+h.z,{x:l?a.y:a.x,y:l?a.x:a.y,z:a.z}})}function r(t,e,i){let s=i>0&&i<Number.POSITIVE_INFINITY?i/(t.z+e.z+i):1;return{x:t.x*s,y:t.y*s}}function a(t){let e=0,i,s;for(i=0;i<t.length;i++)s=(i+1)%t.length,e+=t[i].x*t[s].y-t[s].x*t[i].y;return e/2}return{perspective:o,perspective3D:r,pointCameraDistance:function(t,e){let i=e.options.chart.options3d,o={x:e.plotWidth/2,y:e.plotHeight/2,z:s(i.depth,1)*s(i.viewDistance,0)+i.depth},r=Math.sqrt(Math.pow(o.x-s(t.plotX,t.x),2)+Math.pow(o.y-s(t.plotY,t.y),2)+Math.pow(o.z-s(t.plotZ,t.z),2));return r},shapeArea:a,shapeArea3D:function(t,e,i){return a(o(t,e,i))}}}),i(e,"Core/Chart/Chart3D.js",[e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Math3D.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{parse:r}=t,{defaultOptions:a}=e,{perspective:n,shapeArea3D:l}=i,{addEvent:h,isArray:p,merge:c,pick:d,wrap:x}=s;return function(t){function e(t){this.is3d()&&"scatter"===t.options.type&&(t.options.type="scatter3d")}function i(){if(this.chart3d&&this.is3d()){let t=this.renderer,e=this.options.chart.options3d,i=this.chart3d.get3dFrame(),s=this.plotLeft,o=this.plotLeft+this.plotWidth,a=this.plotTop,n=this.plotTop+this.plotHeight,l=e.depth,h=s-(i.left.visible?i.left.size:0),p=o+(i.right.visible?i.right.size:0),c=a-(i.top.visible?i.top.size:0),d=n+(i.bottom.visible?i.bottom.size:0),x=0-(i.front.visible?i.front.size:0),y=l+(i.back.visible?i.back.size:0),f=this.hasRendered?"animate":"attr";this.chart3d.frame3d=i,this.frameShapes||(this.frameShapes={bottom:t.polyhedron().add(),top:t.polyhedron().add(),left:t.polyhedron().add(),right:t.polyhedron().add(),back:t.polyhedron().add(),front:t.polyhedron().add()}),this.frameShapes.bottom[f]({class:"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:i.bottom.frontFacing?-1e3:1e3,faces:[{fill:r(i.bottom.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:x},{x:p,y:d,z:x},{x:p,y:d,z:y},{x:h,y:d,z:y}],enabled:i.bottom.visible},{fill:r(i.bottom.color).brighten(.1).get(),vertexes:[{x:s,y:n,z:l},{x:o,y:n,z:l},{x:o,y:n,z:0},{x:s,y:n,z:0}],enabled:i.bottom.visible},{fill:r(i.bottom.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:x},{x:h,y:d,z:y},{x:s,y:n,z:l},{x:s,y:n,z:0}],enabled:i.bottom.visible&&!i.left.visible},{fill:r(i.bottom.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:y},{x:p,y:d,z:x},{x:o,y:n,z:0},{x:o,y:n,z:l}],enabled:i.bottom.visible&&!i.right.visible},{fill:r(i.bottom.color).get(),vertexes:[{x:p,y:d,z:x},{x:h,y:d,z:x},{x:s,y:n,z:0},{x:o,y:n,z:0}],enabled:i.bottom.visible&&!i.front.visible},{fill:r(i.bottom.color).get(),vertexes:[{x:h,y:d,z:y},{x:p,y:d,z:y},{x:o,y:n,z:l},{x:s,y:n,z:l}],enabled:i.bottom.visible&&!i.back.visible}]}),this.frameShapes.top[f]({class:"highcharts-3d-frame highcharts-3d-frame-top",zIndex:i.top.frontFacing?-1e3:1e3,faces:[{fill:r(i.top.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:y},{x:p,y:c,z:y},{x:p,y:c,z:x},{x:h,y:c,z:x}],enabled:i.top.visible},{fill:r(i.top.color).brighten(.1).get(),vertexes:[{x:s,y:a,z:0},{x:o,y:a,z:0},{x:o,y:a,z:l},{x:s,y:a,z:l}],enabled:i.top.visible},{fill:r(i.top.color).brighten(-.1).get(),vertexes:[{x:h,y:c,z:y},{x:h,y:c,z:x},{x:s,y:a,z:0},{x:s,y:a,z:l}],enabled:i.top.visible&&!i.left.visible},{fill:r(i.top.color).brighten(-.1).get(),vertexes:[{x:p,y:c,z:x},{x:p,y:c,z:y},{x:o,y:a,z:l},{x:o,y:a,z:0}],enabled:i.top.visible&&!i.right.visible},{fill:r(i.top.color).get(),vertexes:[{x:h,y:c,z:x},{x:p,y:c,z:x},{x:o,y:a,z:0},{x:s,y:a,z:0}],enabled:i.top.visible&&!i.front.visible},{fill:r(i.top.color).get(),vertexes:[{x:p,y:c,z:y},{x:h,y:c,z:y},{x:s,y:a,z:l},{x:o,y:a,z:l}],enabled:i.top.visible&&!i.back.visible}]}),this.frameShapes.left[f]({class:"highcharts-3d-frame highcharts-3d-frame-left",zIndex:i.left.frontFacing?-1e3:1e3,faces:[{fill:r(i.left.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:x},{x:s,y:n,z:0},{x:s,y:n,z:l},{x:h,y:d,z:y}],enabled:i.left.visible&&!i.bottom.visible},{fill:r(i.left.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:y},{x:s,y:a,z:l},{x:s,y:a,z:0},{x:h,y:c,z:x}],enabled:i.left.visible&&!i.top.visible},{fill:r(i.left.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:y},{x:h,y:c,z:y},{x:h,y:c,z:x},{x:h,y:d,z:x}],enabled:i.left.visible},{fill:r(i.left.color).brighten(-.1).get(),vertexes:[{x:s,y:a,z:l},{x:s,y:n,z:l},{x:s,y:n,z:0},{x:s,y:a,z:0}],enabled:i.left.visible},{fill:r(i.left.color).get(),vertexes:[{x:h,y:d,z:x},{x:h,y:c,z:x},{x:s,y:a,z:0},{x:s,y:n,z:0}],enabled:i.left.visible&&!i.front.visible},{fill:r(i.left.color).get(),vertexes:[{x:h,y:c,z:y},{x:h,y:d,z:y},{x:s,y:n,z:l},{x:s,y:a,z:l}],enabled:i.left.visible&&!i.back.visible}]}),this.frameShapes.right[f]({class:"highcharts-3d-frame highcharts-3d-frame-right",zIndex:i.right.frontFacing?-1e3:1e3,faces:[{fill:r(i.right.color).brighten(.1).get(),vertexes:[{x:p,y:d,z:y},{x:o,y:n,z:l},{x:o,y:n,z:0},{x:p,y:d,z:x}],enabled:i.right.visible&&!i.bottom.visible},{fill:r(i.right.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:x},{x:o,y:a,z:0},{x:o,y:a,z:l},{x:p,y:c,z:y}],enabled:i.right.visible&&!i.top.visible},{fill:r(i.right.color).brighten(-.1).get(),vertexes:[{x:o,y:a,z:0},{x:o,y:n,z:0},{x:o,y:n,z:l},{x:o,y:a,z:l}],enabled:i.right.visible},{fill:r(i.right.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:x},{x:p,y:c,z:x},{x:p,y:c,z:y},{x:p,y:d,z:y}],enabled:i.right.visible},{fill:r(i.right.color).get(),vertexes:[{x:p,y:c,z:x},{x:p,y:d,z:x},{x:o,y:n,z:0},{x:o,y:a,z:0}],enabled:i.right.visible&&!i.front.visible},{fill:r(i.right.color).get(),vertexes:[{x:p,y:d,z:y},{x:p,y:c,z:y},{x:o,y:a,z:l},{x:o,y:n,z:l}],enabled:i.right.visible&&!i.back.visible}]}),this.frameShapes.back[f]({class:"highcharts-3d-frame highcharts-3d-frame-back",zIndex:i.back.frontFacing?-1e3:1e3,faces:[{fill:r(i.back.color).brighten(.1).get(),vertexes:[{x:p,y:d,z:y},{x:h,y:d,z:y},{x:s,y:n,z:l},{x:o,y:n,z:l}],enabled:i.back.visible&&!i.bottom.visible},{fill:r(i.back.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:y},{x:p,y:c,z:y},{x:o,y:a,z:l},{x:s,y:a,z:l}],enabled:i.back.visible&&!i.top.visible},{fill:r(i.back.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:y},{x:h,y:c,z:y},{x:s,y:a,z:l},{x:s,y:n,z:l}],enabled:i.back.visible&&!i.left.visible},{fill:r(i.back.color).brighten(-.1).get(),vertexes:[{x:p,y:c,z:y},{x:p,y:d,z:y},{x:o,y:n,z:l},{x:o,y:a,z:l}],enabled:i.back.visible&&!i.right.visible},{fill:r(i.back.color).get(),vertexes:[{x:s,y:a,z:l},{x:o,y:a,z:l},{x:o,y:n,z:l},{x:s,y:n,z:l}],enabled:i.back.visible},{fill:r(i.back.color).get(),vertexes:[{x:h,y:d,z:y},{x:p,y:d,z:y},{x:p,y:c,z:y},{x:h,y:c,z:y}],enabled:i.back.visible}]}),this.frameShapes.front[f]({class:"highcharts-3d-frame highcharts-3d-frame-front",zIndex:i.front.frontFacing?-1e3:1e3,faces:[{fill:r(i.front.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:x},{x:p,y:d,z:x},{x:o,y:n,z:0},{x:s,y:n,z:0}],enabled:i.front.visible&&!i.bottom.visible},{fill:r(i.front.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:x},{x:h,y:c,z:x},{x:s,y:a,z:0},{x:o,y:a,z:0}],enabled:i.front.visible&&!i.top.visible},{fill:r(i.front.color).brighten(-.1).get(),vertexes:[{x:h,y:c,z:x},{x:h,y:d,z:x},{x:s,y:n,z:0},{x:s,y:a,z:0}],enabled:i.front.visible&&!i.left.visible},{fill:r(i.front.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:x},{x:p,y:c,z:x},{x:o,y:a,z:0},{x:o,y:n,z:0}],enabled:i.front.visible&&!i.right.visible},{fill:r(i.front.color).get(),vertexes:[{x:o,y:a,z:0},{x:s,y:a,z:0},{x:s,y:n,z:0},{x:o,y:n,z:0}],enabled:i.front.visible},{fill:r(i.front.color).get(),vertexes:[{x:p,y:d,z:x},{x:h,y:d,z:x},{x:h,y:c,z:x},{x:p,y:c,z:x}],enabled:i.front.visible}]})}}function s(){this.styledMode&&[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(t){this.renderer.definition({tagName:"filter",attributes:{id:"highcharts-"+t.name},children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",attributes:{type:"linear",slope:t.slope}},{tagName:"feFuncG",attributes:{type:"linear",slope:t.slope}},{tagName:"feFuncB",attributes:{type:"linear",slope:t.slope}}]}]})},this)}function o(){let t=this.options;this.is3d()&&(t.series||[]).forEach(function(e){let i=e.type||t.chart.type||t.chart.defaultSeriesType;"scatter"===i&&(e.type="scatter3d")})}function y(){let t=this.options.chart.options3d;if(this.chart3d&&this.is3d()){t&&(t.alpha=t.alpha%360+(t.alpha>=0?0:360),t.beta=t.beta%360+(t.beta>=0?0:360));let e=this.inverted,i=this.clipBox,s=this.margin;i[e?"y":"x"]=-(s[3]||0),i[e?"x":"y"]=-(s[0]||0),i[e?"height":"width"]=this.chartWidth+(s[3]||0)+(s[1]||0),i[e?"width":"height"]=this.chartHeight+(s[0]||0)+(s[2]||0),this.scale3d=1,!0===t.fitToPlot&&(this.scale3d=this.chart3d.getScale(t.depth)),this.chart3d.frame3d=this.chart3d.get3dFrame()}}function f(){this.is3d()&&(this.isDirtyBox=!0)}function u(){this.chart3d&&this.is3d()&&(this.chart3d.frame3d=this.chart3d.get3dFrame())}function z(){this.chart3d||(this.chart3d=new v(this))}function b(t){return this.is3d()||t.apply(this,[].slice.call(arguments,1))}function g(t){let e,i=this.series.length;if(this.is3d())for(;i--;)(e=this.series[i]).translate(),e.render();else t.call(this)}function m(t){t.apply(this,[].slice.call(arguments,1)),this.is3d()&&(this.container.className+=" highcharts-3d-chart")}t.defaultOptions={chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:null,frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}},t.compose=function(r,n){let l=r.prototype,d=n.prototype;l.is3d=function(){return!!this.options.chart.options3d?.enabled},l.propsRequireDirtyBox.push("chart.options3d"),l.propsRequireUpdateSeries.push("chart.options3d"),d.matrixSetter=function(){let t;if(this.pos<1&&(p(this.start)||p(this.end))){let e=this.start||[1,0,0,1,0,0],i=this.end||[1,0,0,1,0,0];t=[];for(let s=0;s<6;s++)t.push(this.pos*i[s]+(1-this.pos)*e[s])}else t=this.end;this.elem.attr(this.prop,t,null,!0)},c(!0,a,t.defaultOptions),h(r,"init",z),h(r,"addSeries",e),h(r,"afterDrawChartBox",i),h(r,"afterGetContainer",s),h(r,"afterInit",o),h(r,"afterSetChartSize",y),h(r,"beforeRedraw",f),h(r,"beforeRender",u),x(l,"isInsidePlot",b),x(l,"renderSeries",g),x(l,"setClassName",m)};class v{constructor(t){this.chart=t}get3dFrame(){let t=this.chart,e=t.options.chart.options3d,i=e.frame,s=t.plotLeft,o=t.plotLeft+t.plotWidth,r=t.plotTop,a=t.plotTop+t.plotHeight,h=e.depth,p=function(e){let i=l(e,t);return i>.5?1:i<-.5?-1:0},c=p([{x:s,y:a,z:h},{x:o,y:a,z:h},{x:o,y:a,z:0},{x:s,y:a,z:0}]),x=p([{x:s,y:r,z:0},{x:o,y:r,z:0},{x:o,y:r,z:h},{x:s,y:r,z:h}]),y=p([{x:s,y:r,z:0},{x:s,y:r,z:h},{x:s,y:a,z:h},{x:s,y:a,z:0}]),f=p([{x:o,y:r,z:h},{x:o,y:r,z:0},{x:o,y:a,z:0},{x:o,y:a,z:h}]),u=p([{x:s,y:a,z:0},{x:o,y:a,z:0},{x:o,y:r,z:0},{x:s,y:r,z:0}]),z=p([{x:s,y:r,z:h},{x:o,y:r,z:h},{x:o,y:a,z:h},{x:s,y:a,z:h}]),b=!1,g=!1,m=!1,v=!1;[].concat(t.xAxis,t.yAxis,t.zAxis).forEach(function(t){t&&(t.horiz?t.opposite?g=!0:b=!0:t.opposite?v=!0:m=!0)});let M=function(t,e,i){let s=["size","color","visible"],o={};for(let e=0;e<s.length;e++){let i=s[e];for(let e=0;e<t.length;e++)if("object"==typeof t[e]){let s=t[e][i];if(null!=s){o[i]=s;break}}}let r=i;return!0===o.visible||!1===o.visible?r=o.visible:"auto"===o.visible&&(r=e>0),{size:d(o.size,1),color:d(o.color,"none"),frontFacing:e>0,visible:r}},S={axes:{},bottom:M([i.bottom,i.top,i],c,b),top:M([i.top,i.bottom,i],x,g),left:M([i.left,i.right,i.side,i],y,m),right:M([i.right,i.left,i.side,i],f,v),back:M([i.back,i.front,i],z,!0),front:M([i.front,i.back,i],u,!1)};if("auto"===e.axisLabelPosition){let e=function(t,e){return t.visible!==e.visible||t.visible&&e.visible&&t.frontFacing!==e.frontFacing},i=[];e(S.left,S.front)&&i.push({y:(r+a)/2,x:s,z:0,xDir:{x:1,y:0,z:0}}),e(S.left,S.back)&&i.push({y:(r+a)/2,x:s,z:h,xDir:{x:0,y:0,z:-1}}),e(S.right,S.front)&&i.push({y:(r+a)/2,x:o,z:0,xDir:{x:0,y:0,z:1}}),e(S.right,S.back)&&i.push({y:(r+a)/2,x:o,z:h,xDir:{x:-1,y:0,z:0}});let l=[];e(S.bottom,S.front)&&l.push({x:(s+o)/2,y:a,z:0,xDir:{x:1,y:0,z:0}}),e(S.bottom,S.back)&&l.push({x:(s+o)/2,y:a,z:h,xDir:{x:-1,y:0,z:0}});let p=[];e(S.top,S.front)&&p.push({x:(s+o)/2,y:r,z:0,xDir:{x:1,y:0,z:0}}),e(S.top,S.back)&&p.push({x:(s+o)/2,y:r,z:h,xDir:{x:-1,y:0,z:0}});let c=[];e(S.bottom,S.left)&&c.push({z:(0+h)/2,y:a,x:s,xDir:{x:0,y:0,z:-1}}),e(S.bottom,S.right)&&c.push({z:(0+h)/2,y:a,x:o,xDir:{x:0,y:0,z:1}});let d=[];e(S.top,S.left)&&d.push({z:(0+h)/2,y:r,x:s,xDir:{x:0,y:0,z:-1}}),e(S.top,S.right)&&d.push({z:(0+h)/2,y:r,x:o,xDir:{x:0,y:0,z:1}});let x=function(e,i,s){if(0===e.length)return null;if(1===e.length)return e[0];let o=n(e,t,!1),r=0;for(let t=1;t<o.length;t++)s*o[t][i]>s*o[r][i]?r=t:s*o[t][i]==s*o[r][i]&&o[t].z<o[r].z&&(r=t);return e[r]};S.axes={y:{left:x(i,"x",-1),right:x(i,"x",1)},x:{top:x(p,"y",-1),bottom:x(l,"y",1)},z:{top:x(d,"y",-1),bottom:x(c,"y",1)}}}else S.axes={y:{left:{x:s,z:0,xDir:{x:1,y:0,z:0}},right:{x:o,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:r,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:a,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:m?o:s,y:r,xDir:m?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:m?o:s,y:a,xDir:m?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return S}getScale(t){let e=this.chart,i=e.plotLeft,s=e.plotWidth+i,o=e.plotTop,r=e.plotHeight+o,a=i+e.plotWidth/2,l=o+e.plotHeight/2,h={minX:Number.MAX_VALUE,maxX:-Number.MAX_VALUE,minY:Number.MAX_VALUE,maxY:-Number.MAX_VALUE},p,c=1;return p=[{x:i,y:o,z:0},{x:i,y:o,z:t}],[0,1].forEach(function(t){p.push({x:s,y:p[t].y,z:p[t].z})}),[0,1,2,3].forEach(function(t){p.push({x:p[t].x,y:r,z:p[t].z})}),(p=n(p,e,!1)).forEach(function(t){h.minX=Math.min(h.minX,t.x),h.maxX=Math.max(h.maxX,t.x),h.minY=Math.min(h.minY,t.y),h.maxY=Math.max(h.maxY,t.y)}),i>h.minX&&(c=Math.min(c,1-Math.abs((i+a)/(h.minX+a))%1)),s<h.maxX&&(c=Math.min(c,(s-a)/(h.maxX-a))),o>h.minY&&(c=h.minY<0?Math.min(c,(o+l)/(-h.minY+o+l)):Math.min(c,1-(o+l)/(h.minY+l)%1)),r<h.maxY&&(c=Math.min(c,Math.abs((r-l)/(h.maxY-l)))),c}}t.Additions=v}(o||(o={})),o}),i(e,"Series/Area3D/Area3DSeries.js",[e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:o}=t,{perspective:r}=e,{line:{prototype:a}}=i.seriesTypes,{pushUnique:n,wrap:l}=s;function h(t){let e=t.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d())return e;let i=a.getGraphPath,s=this.options,o=Math.round(this.yAxis.getThreshold(s.threshold)),n=[];if(this.rawPointsX)for(let t=0;t<this.points.length;t++)n.push({x:this.rawPointsX[t],y:s.stacking?this.points[t].yBottom:o,z:this.zPadding});let l=this.chart.options.chart.options3d;n=r(n,this.chart,!0).map(t=>({plotX:t.x,plotY:t.y,plotZ:t.z})),this.group&&l&&l.depth&&l.beta&&(this.markerGroup&&(this.markerGroup.add(this.group),this.markerGroup.attr({translateX:0,translateY:0})),this.group.attr({zIndex:Math.max(1,l.beta>270||l.beta<90?l.depth-Math.round(this.zPadding||0):Math.round(this.zPadding||0))})),n.reversed=!0;let h=i.call(this,n,!0,!0);if(h[0]&&"M"===h[0][0]&&(h[0]=["L",h[0][1],h[0][2]]),this.areaPath){let t=this.areaPath.splice(0,this.areaPath.length/2).concat(h);t.xMap=this.areaPath.xMap,this.areaPath=t}return this.graphPath=e,e}return{compose:function t(e){n(o,t)&&l(e.prototype,"getGraphPath",h)}}}),i(e,"Core/Axis/Axis3DDefaults.js",[],function(){return{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}}}),i(e,"Core/Axis/Tick3DComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{composed:i}=t,{addEvent:s,extend:o,pushUnique:r,wrap:a}=e;function n(t){let e=this.axis.axis3D;e&&o(t.pos,e.fix3dPosition(t.pos))}function l(t){let e=this.axis.axis3D,i=t.apply(this,[].slice.call(arguments,1));if(e){let t=i[0],s=i[1];if("M"===t[0]&&"L"===s[0]){let i=[e.fix3dPosition({x:t[1],y:t[2],z:0}),e.fix3dPosition({x:s[1],y:s[2],z:0})];return this.axis.chart.renderer.toLineSegments(i)}}return i}return{compose:function t(e){r(i,t)&&(s(e,"afterGetLabelPosition",n),a(e.prototype,"getMarkPath",l))}}}),i(e,"Core/Axis/Axis3DComposition.js",[e["Core/Axis/Axis3DDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Axis/Tick3DComposition.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{defaultOptions:a}=e,{composed:n,deg2rad:l}=i,{perspective:h,perspective3D:p,shapeArea:c}=s,{addEvent:d,merge:x,pick:y,pushUnique:f,wrap:u}=r;function z(){let t=this.chart,e=this.options;t.is3d&&t.is3d()&&"colorAxis"!==this.coll&&(e.tickWidth=y(e.tickWidth,0),e.gridLineWidth=y(e.gridLineWidth,1))}function b(t){this.chart.is3d()&&"colorAxis"!==this.coll&&t.point&&(t.point.crosshairPos=this.isXAxis?t.point.axisXpos:this.len-t.point.axisYpos)}function g(){this.axis3D||(this.axis3D=new P(this))}function m(t){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:t.apply(this,[].slice.call(arguments,1))}function v(t){if(!this.chart.is3d()||"colorAxis"===this.coll)return t.apply(this,[].slice.call(arguments,1));let e=arguments,i=e[1],s=e[2],o=[],r=this.getPlotLinePath({value:i}),a=this.getPlotLinePath({value:s});if(r&&a)for(let t=0;t<r.length;t+=2){let e=r[t],i=r[t+1],s=a[t],n=a[t+1];"M"===e[0]&&"L"===i[0]&&"M"===s[0]&&"L"===n[0]&&o.push(e,i,n,["L",s[1],s[2]],["Z"])}return o}function M(t){let e=this.axis3D,i=this.chart,s=t.apply(this,[].slice.call(arguments,1));if("colorAxis"===this.coll||!i.chart3d||!i.is3d()||null===s)return s;let o=i.options.chart.options3d,r=this.isZAxis?i.plotWidth:o.depth,a=i.chart3d.frame3d,n=s[0],l=s[1],p,c=[];return"M"===n[0]&&"L"===l[0]&&(p=[e.swapZ({x:n[1],y:n[2],z:0}),e.swapZ({x:n[1],y:n[2],z:r}),e.swapZ({x:l[1],y:l[2],z:0}),e.swapZ({x:l[1],y:l[2],z:r})],this.horiz?(this.isZAxis?(a.left.visible&&c.push(p[0],p[2]),a.right.visible&&c.push(p[1],p[3])):(a.front.visible&&c.push(p[0],p[2]),a.back.visible&&c.push(p[1],p[3])),a.top.visible&&c.push(p[0],p[1]),a.bottom.visible&&c.push(p[2],p[3])):(a.front.visible&&c.push(p[0],p[2]),a.back.visible&&c.push(p[1],p[3]),a.left.visible&&c.push(p[0],p[1]),a.right.visible&&c.push(p[2],p[3])),c=h(c,this.chart,!1)),i.renderer.toLineSegments(c)}function S(t,e){let{chart:i,gridGroup:s,tickPositions:o,ticks:r}=this;if(this.categories&&i.frameShapes&&i.is3d()&&s&&e&&e.label){let t,a,n;let l=s.element.childNodes[0].getBBox(),h=i.frameShapes.left.getBBox(),c=i.options.chart.options3d,d={x:i.plotWidth/2,y:i.plotHeight/2,z:c.depth/2,vd:y(c.depth,1)*y(c.viewDistance,0)},x=o.indexOf(e.pos),f=r[o[x-1]],u=r[o[x+1]];return f?.label?.xy&&(a=p({x:f.label.xy.x,y:f.label.xy.y,z:null},d,d.vd)),u&&u.label&&u.label.xy&&(n=p({x:u.label.xy.x,y:u.label.xy.y,z:null},d,d.vd)),t=p(t={x:e.label.xy.x,y:e.label.xy.y,z:null},d,d.vd),Math.abs(a?t.x-a.x:n?n.x-t.x:l.x-h.x)}return t.apply(this,[].slice.call(arguments,1))}function A(t){let e=t.apply(this,[].slice.call(arguments,1));return this.axis3D?this.axis3D.fix3dPosition(e,!0):e}class P{static compose(e,i){if(o.compose(i),f(n,this.compose)){x(!0,a.xAxis,t),e.keepProps.push("axis3D"),d(e,"init",g),d(e,"afterSetOptions",z),d(e,"drawCrosshair",b);let i=e.prototype;u(i,"getLinePath",m),u(i,"getPlotBandPath",v),u(i,"getPlotLinePath",M),u(i,"getSlotWidth",S),u(i,"getTitlePosition",A)}}constructor(t){this.axis=t}fix3dPosition(t,e){let i=this.axis,s=i.chart;if("colorAxis"===i.coll||!s.chart3d||!s.is3d())return t;let o=l*s.options.chart.options3d.alpha,r=l*s.options.chart.options3d.beta,a=y(e&&i.options.title.position3d,i.options.labels.position3d),n=y(e&&i.options.title.skew3d,i.options.labels.skew3d),p=s.chart3d.frame3d,d=s.plotLeft,x=s.plotWidth+d,f=s.plotTop,u=s.plotHeight+f,z=0,b=0,g,m={x:0,y:1,z:0},v=!1;if(t=i.axis3D.swapZ({x:t.x,y:t.y,z:0}),i.isZAxis){if(i.opposite){if(null===p.axes.z.top)return{};b=t.y-f,t.x=p.axes.z.top.x,t.y=p.axes.z.top.y,g=p.axes.z.top.xDir,v=!p.top.frontFacing}else{if(null===p.axes.z.bottom)return{};b=t.y-u,t.x=p.axes.z.bottom.x,t.y=p.axes.z.bottom.y,g=p.axes.z.bottom.xDir,v=!p.bottom.frontFacing}}else if(i.horiz){if(i.opposite){if(null===p.axes.x.top)return{};b=t.y-f,t.y=p.axes.x.top.y,t.z=p.axes.x.top.z,g=p.axes.x.top.xDir,v=!p.top.frontFacing}else{if(null===p.axes.x.bottom)return{};b=t.y-u,t.y=p.axes.x.bottom.y,t.z=p.axes.x.bottom.z,g=p.axes.x.bottom.xDir,v=!p.bottom.frontFacing}}else if(i.opposite){if(null===p.axes.y.right)return{};z=t.x-x,t.x=p.axes.y.right.x,t.z=p.axes.y.right.z,g={x:(g=p.axes.y.right.xDir).z,y:g.y,z:-g.x}}else{if(null===p.axes.y.left)return{};z=t.x-d,t.x=p.axes.y.left.x,t.z=p.axes.y.left.z,g=p.axes.y.left.xDir}if("chart"===a);else if("flap"===a){if(i.horiz){let t=Math.sin(o);i.opposite&&(t=-t),v&&(t=-t),m={x:g.z*t,y:Math.cos(o),z:-g.x*t}}else g={x:Math.cos(r),y:0,z:Math.sin(r)}}else if("ortho"===a){if(i.horiz){let t=Math.cos(o),e={x:Math.sin(r)*t,y:-Math.sin(o),z:-t*Math.cos(r)},i=1/Math.sqrt((m={x:g.y*e.z-g.z*e.y,y:g.z*e.x-g.x*e.z,z:g.x*e.y-g.y*e.x}).x*m.x+m.y*m.y+m.z*m.z);v&&(i=-i),m={x:i*m.x,y:i*m.y,z:i*m.z}}else g={x:Math.cos(r),y:0,z:Math.sin(r)}}else i.horiz?m={x:Math.sin(r)*Math.sin(o),y:Math.cos(o),z:-Math.cos(r)*Math.sin(o)}:g={x:Math.cos(r),y:0,z:Math.sin(r)};t.x+=z*g.x+b*m.x,t.y+=z*g.y+b*m.y,t.z+=z*g.z+b*m.z;let M=h([t],i.chart)[0];if(n){let e=0>c(h([t,{x:t.x+g.x,y:t.y+g.y,z:t.z+g.z},{x:t.x+m.x,y:t.y+m.y,z:t.z+m.z}],i.chart));e&&(g={x:-g.x,y:-g.y,z:-g.z});let s=h([{x:t.x,y:t.y,z:t.z},{x:t.x+g.x,y:t.y+g.y,z:t.z+g.z},{x:t.x+m.x,y:t.y+m.y,z:t.z+m.z}],i.chart);M.matrix=[s[1].x-s[0].x,s[1].y-s[0].y,s[2].x-s[0].x,s[2].y-s[0].y,M.x,M.y],M.matrix[4]-=M.x*M.matrix[0]+M.y*M.matrix[2],M.matrix[5]-=M.x*M.matrix[1]+M.y*M.matrix[3]}return M}swapZ(t,e){let i=this.axis;if(i.isZAxis){let s=e?0:i.chart.plotLeft;return{x:s+t.z,y:t.y,z:t.x-s}}return t}}return P}),i(e,"Core/Series/Series3D.js",[e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:o}=t,{perspective:r}=e,{addEvent:a,extend:n,isNumber:l,merge:h,pick:p,pushUnique:c}=s;class d extends i{static compose(t){c(o,this.compose)&&(a(t,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()}),n(t.prototype,{translate3dPoints:d.prototype.translate3dPoints}))}translate3dPoints(){let t,e;let i=this,s=i.options,o=i.chart,a=p(i.zAxis,o.options.zAxis[0]),n=[],h=[],c=s.stacking?l(s.stack)?s.stack:0:i.index||0;i.zPadding=c*(s.depth||0+(s.groupZPadding||1)),i.data.forEach(t=>{a&&a.translate?(e=a.logarithmic&&a.val2lin?a.val2lin(t.z):t.z,t.plotZ=a.translate(e),t.isInside=!!t.isInside&&e>=a.min&&e<=a.max):t.plotZ=i.zPadding,t.axisXpos=t.plotX,t.axisYpos=t.plotY,t.axisZpos=t.plotZ,n.push({x:t.plotX,y:t.plotY,z:t.plotZ}),h.push(t.plotX||0)}),i.rawPointsX=h;let d=r(n,o,!0);i.data.forEach((e,i)=>{t=d[i],e.plotX=t.x,e.plotY=t.y,e.plotZ=t.z})}}return d.defaultOptions=h(i.defaultOptions),d}),i(e,"Core/Renderer/SVG/SVGElement3D.js",[e["Core/Color/Color.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{parse:s}=t,{Element:o}=e.getRendererType().prototype,{defined:r,pick:a}=i;class n extends o{constructor(){super(...arguments),this.parts=["front","top","side"],this.pathType="cuboid"}initArgs(t){let e=this.renderer,i=e[this.pathType+"Path"](t),s=i.zIndexes;for(let t of this.parts){let o={class:"highcharts-3d-"+t,zIndex:s[t]||0};e.styledMode&&("top"===t?o.filter="url(#highcharts-brighter)":"side"===t&&(o.filter="url(#highcharts-darker)")),this[t]=e.path(i[t]).attr(o).add(this)}this.attr({"stroke-linejoin":"round",zIndex:s.group}),this.forcedSides=i.forcedSides}singleSetterForParts(t,e,i,s,o,r){let a={},n=[null,null,s||"attr",o,r],l=i&&i.zIndexes;if(i){for(let e of(l&&l.group&&this.attr({zIndex:l.group}),Object.keys(i)))a[e]={},a[e][t]=i[e],l&&(a[e].zIndex=i.zIndexes[e]||0);n[1]=a}else a[t]=e,n[0]=a;return this.processParts.apply(this,n)}processParts(t,e,i,s,o){for(let r of this.parts)e&&(t=a(e[r],!1)),!1!==t&&this[r][i](t,s,o);return this}destroy(){return this.processParts(null,null,"destroy"),super.destroy()}attr(t,e,i,s){if("string"==typeof t&&void 0!==e){let i=t;(t={})[i]=e}return t.shapeArgs||r(t.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](t.shapeArgs||t)):super.attr(t,void 0,i,s)}animate(t,e,i){if(r(t.x)&&r(t.y)){let s=this.renderer[this.pathType+"Path"](t),o=s.forcedSides;this.singleSetterForParts("d",null,s,"animate",e,i),this.attr({zIndex:s.zIndexes.group}),o===this.forcedSides||(this.forcedSides=o,this.renderer.styledMode||this.fillSetter(this.fill))}else super.animate(t,e,i);return this}fillSetter(t){return this.forcedSides=this.forcedSides||[],this.singleSetterForParts("fill",null,{front:t,top:s(t).brighten(this.forcedSides.indexOf("top")>=0?0:.1).get(),side:s(t).brighten(this.forcedSides.indexOf("side")>=0?0:-.1).get()}),this.color=this.fill=t,this}}return n.types={base:n,cuboid:n},n}),i(e,"Core/Renderer/SVG/SVGRenderer3D.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Renderer/SVG/SVGElement3D.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var a;let{animObject:n}=t,{parse:l}=e,{charts:h,composed:p,deg2rad:c}=i,{perspective:d,shapeArea:x}=s,{defined:y,extend:f,merge:u,pick:z,pushUnique:b}=r,g=Math.cos,m=Math.sin,v=Math.PI,M=4*(Math.sqrt(2)-1)/3/(v/2);function S(t,e,i,s,o,r,a,n){let l=r-o,h=[];return r>o&&r-o>Math.PI/2+1e-4?h=(h=h.concat(S(t,e,i,s,o,o+Math.PI/2,a,n))).concat(S(t,e,i,s,o+Math.PI/2,r,a,n)):r<o&&o-r>Math.PI/2+1e-4?h=(h=h.concat(S(t,e,i,s,o,o-Math.PI/2,a,n))).concat(S(t,e,i,s,o-Math.PI/2,r,a,n)):[["C",t+i*Math.cos(o)-i*M*l*Math.sin(o)+a,e+s*Math.sin(o)+s*M*l*Math.cos(o)+n,t+i*Math.cos(r)+i*M*l*Math.sin(r)+a,e+s*Math.sin(r)-s*M*l*Math.cos(r)+n,t+i*Math.cos(r)+a,e+s*Math.sin(r)+n]]}return function(t){function e(t,e){let i=[];for(let e of t)i.push(["L",e.x,e.y]);return t.length&&(i[0][0]="M",e&&i.push(["Z"])),i}function s(t){let e=[],i=!0;for(let s of t)e.push(i?["M",s.x,s.y]:["L",s.x,s.y]),i=!i;return e}function r(t){let e=this,i=e.Element.prototype,s=e.createElement("path");return s.vertexes=[],s.insidePlotArea=!1,s.enabled=!0,s.attr=function(t){if("object"==typeof t&&(y(t.enabled)||y(t.vertexes)||y(t.insidePlotArea))){this.enabled=z(t.enabled,this.enabled),this.vertexes=z(t.vertexes,this.vertexes),this.insidePlotArea=z(t.insidePlotArea,this.insidePlotArea),delete t.enabled,delete t.vertexes,delete t.insidePlotArea;let i=h[e.chartIndex],s=d(this.vertexes,i,this.insidePlotArea),o=e.toLinePath(s,!0),r=x(s);t.d=o,t.visibility=this.enabled&&r>0?"inherit":"hidden"}return i.attr.apply(this,arguments)},s.animate=function(t){if("object"==typeof t&&(y(t.enabled)||y(t.vertexes)||y(t.insidePlotArea))){this.enabled=z(t.enabled,this.enabled),this.vertexes=z(t.vertexes,this.vertexes),this.insidePlotArea=z(t.insidePlotArea,this.insidePlotArea),delete t.enabled,delete t.vertexes,delete t.insidePlotArea;let i=h[e.chartIndex],s=d(this.vertexes,i,this.insidePlotArea),o=e.toLinePath(s,!0),r=x(s),a=this.enabled&&r>0?"visible":"hidden";t.d=o,this.attr("visibility",a)}return i.animate.apply(this,arguments)},s.attr(t)}function a(t){let e=this,i=e.Element.prototype,s=e.g(),o=s.destroy;return this.styledMode||s.attr({"stroke-linejoin":"round"}),s.faces=[],s.destroy=function(){for(let t=0;t<s.faces.length;t++)s.faces[t].destroy();return o.call(this)},s.attr=function(t,o,r,a){if("object"==typeof t&&y(t.faces)){for(;s.faces.length>t.faces.length;)s.faces.pop().destroy();for(;s.faces.length<t.faces.length;)s.faces.push(e.face3d().add(s));for(let i=0;i<t.faces.length;i++)e.styledMode&&delete t.faces[i].fill,s.faces[i].attr(t.faces[i],null,r,a);delete t.faces}return i.attr.apply(this,arguments)},s.animate=function(t,o,r){if(t&&t.faces){for(;s.faces.length>t.faces.length;)s.faces.pop().destroy();for(;s.faces.length<t.faces.length;)s.faces.push(e.face3d().add(s));for(let e=0;e<t.faces.length;e++)s.faces[e].animate(t.faces[e],o,r);delete t.faces}return i.animate.apply(this,arguments)},s.attr(t)}function M(t,e){let i=new o.types[t](this,"g");return i.initArgs(e),i}function A(t){return this.element3d("cuboid",t)}function P(t){let e=t.x||0,i=t.y||0,s=t.z||0,o=t.height||0,r=t.width||0,a=t.depth||0,n=h[this.chartIndex],l=n.options.chart.options3d,p=l.alpha,c=[],y,f=0,u=[{x:e,y:i,z:s},{x:e+r,y:i,z:s},{x:e+r,y:i+o,z:s},{x:e,y:i+o,z:s},{x:e,y:i+o,z:s+a},{x:e+r,y:i+o,z:s+a},{x:e+r,y:i,z:s+a},{x:e,y:i,z:s+a}];u=d(u,n,t.insidePlotArea);let z=t=>0===o&&t>1&&t<6?{x:u[t].x,y:u[t].y+10,z:u[t].z}:u[0].x===u[7].x&&t>=4?{x:u[t].x+10,y:u[t].y,z:u[t].z}:0===a&&t<2||t>5?{x:u[t].x,y:u[t].y,z:u[t].z+10}:u[t],b=t=>u[t],g=(t,e,i)=>{let s=t.map(b),o=e.map(b),r=t.map(z),a=e.map(z),n=[[],-1];return 0>x(s)?n=[s,0]:0>x(o)?n=[o,1]:i&&(c.push(i),n=0>x(r)?[s,0]:0>x(a)?[o,1]:[s,0]),n};y=g([3,2,1,0],[7,6,5,4],"front");let m=y[0],v=y[1];y=g([1,6,7,0],[4,5,2,3],"top");let M=y[0],S=y[1];y=g([1,2,5,6],[0,7,4,3],"side");let A=y[0],P=y[1];return 1===P?f+=1e6*(n.plotWidth-e):P||(f+=1e6*e),f+=10*(!S||p>=0&&p<=180||p<360&&p>357.5?n.plotHeight-i:10+i),1===v?f+=100*s:v||(f+=100*(1e3-s)),{front:this.toLinePath(m,!0),top:this.toLinePath(M,!0),side:this.toLinePath(A,!0),zIndexes:{group:Math.round(f)},forcedSides:c,isFront:v,isTop:S}}function C(t){let e=this.g(),s=this.Element.prototype,o=["x","y","r","innerR","start","end","depth"];function r(t){let e={},i=!1,s;for(s in t=u(t))-1!==o.indexOf(s)&&(e[s]=t[s],delete t[s],i=!0);return!!i&&[e,t]}for(let i of((t=u(t)).alpha=(t.alpha||0)*c,t.beta=(t.beta||0)*c,e.top=this.path(),e.side1=this.path(),e.side2=this.path(),e.inn=this.path(),e.out=this.path(),e.onAdd=function(){let t=e.parentGroup,i=e.attr("class");for(let s of(e.top.add(e),["out","inn","side1","side2"]))e[s].attr({class:i+" highcharts-3d-side"}).add(t)},["addClass","removeClass"]))e[i]=function(){let t=arguments;for(let s of["top","out","inn","side1","side2"])e[s][i].apply(e[s],t)};for(let i of(e.setPaths=function(t){let i=e.renderer.arc3dPath(t),s=100*i.zTop;e.attribs=t,e.top.attr({d:i.top,zIndex:i.zTop}),e.inn.attr({d:i.inn,zIndex:i.zInn}),e.out.attr({d:i.out,zIndex:i.zOut}),e.side1.attr({d:i.side1,zIndex:i.zSide1}),e.side2.attr({d:i.side2,zIndex:i.zSide2}),e.zIndex=s,e.attr({zIndex:s}),t.center&&(e.top.setRadialReference(t.center),delete t.center)},e.setPaths(t),e.fillSetter=function(t){let e=l(t).brighten(-.1).get();return this.fill=t,this.side1.attr({fill:e}),this.side2.attr({fill:e}),this.inn.attr({fill:e}),this.out.attr({fill:e}),this.top.attr({fill:t}),this},["opacity","translateX","translateY","visibility"]))e[i+"Setter"]=function(t,i){for(let s of(e[i]=t,["out","inn","side1","side2","top"]))e[s].attr(i,t)};return e.attr=function(t){let i,o;return"object"==typeof t&&(o=r(t))&&(i=o[0],arguments[0]=o[1],f(e.attribs,i),e.setPaths(e.attribs)),s.attr.apply(e,arguments)},e.animate=function(t,o,a){let l,h;let p=this.attribs,c="data-"+Math.random().toString(26).substring(2,9);delete t.center,delete t.z,delete t.alpha,delete t.beta;let d=n(z(o,this.renderer.globalAnimation));return d.duration&&(l=r(t),e[c]=0,t[c]=1,e[c+"Setter"]=i.noop,l&&(h=l[0],d.step=function(t,e){let i=t=>p[t]+(z(h[t],p[t])-p[t])*e.pos;e.prop===c&&e.elem.setPaths(u(p,{x:i("x"),y:i("y"),r:i("r"),innerR:i("innerR"),start:i("start"),end:i("end"),depth:i("depth")}))}),o=d),s.animate.call(this,t,o,a)},e.destroy=function(){return this.top.destroy(),this.out.destroy(),this.inn.destroy(),this.side1.destroy(),this.side2.destroy(),s.destroy.call(this)},e.hide=function(){this.top.hide(),this.out.hide(),this.inn.hide(),this.side1.hide(),this.side2.hide()},e.show=function(t){this.top.show(t),this.out.show(t),this.inn.show(t),this.side1.show(t),this.side2.show(t)},e}function D(t){let e=t.x||0,i=t.y||0,s=t.start||0,o=(t.end||0)-1e-5,r=t.r||0,a=t.innerR||0,n=t.depth||0,l=t.alpha||0,h=t.beta||0,p=Math.cos(s),c=Math.sin(s),d=Math.cos(o),x=Math.sin(o),y=r*Math.cos(h),f=r*Math.cos(l),u=a*Math.cos(h),z=a*Math.cos(l),b=n*Math.sin(h),M=n*Math.sin(l),A=[["M",e+y*p,i+f*c]];(A=A.concat(S(e,i,y,f,s,o,0,0))).push(["L",e+u*d,i+z*x]),(A=A.concat(S(e,i,u,z,o,s,0,0))).push(["Z"]);let P=h>0?Math.PI/2:0,C=l>0?0:Math.PI/2,D=s>-P?s:o>-P?-P:s,j=o<v-C?o:s<v-C?v-C:o,k=2*v-C,L=[["M",e+y*g(D),i+f*m(D)]];L=L.concat(S(e,i,y,f,D,j,0,0)),o>k&&s<k?(L.push(["L",e+y*g(j)+b,i+f*m(j)+M]),(L=L.concat(S(e,i,y,f,j,k,b,M))).push(["L",e+y*g(k),i+f*m(k)]),(L=L.concat(S(e,i,y,f,k,o,0,0))).push(["L",e+y*g(o)+b,i+f*m(o)+M]),(L=L.concat(S(e,i,y,f,o,k,b,M))).push(["L",e+y*g(k),i+f*m(k)]),L=L.concat(S(e,i,y,f,k,j,0,0))):o>v-C&&s<v-C&&(L.push(["L",e+y*Math.cos(j)+b,i+f*Math.sin(j)+M]),(L=L.concat(S(e,i,y,f,j,o,b,M))).push(["L",e+y*Math.cos(o),i+f*Math.sin(o)]),L=L.concat(S(e,i,y,f,o,j,0,0))),L.push(["L",e+y*Math.cos(j)+b,i+f*Math.sin(j)+M]),(L=L.concat(S(e,i,y,f,j,D,b,M))).push(["Z"]);let w=[["M",e+u*p,i+z*c]];(w=w.concat(S(e,i,u,z,s,o,0,0))).push(["L",e+u*Math.cos(o)+b,i+z*Math.sin(o)+M]),(w=w.concat(S(e,i,u,z,o,s,b,M))).push(["Z"]);let I=[["M",e+y*p,i+f*c],["L",e+y*p+b,i+f*c+M],["L",e+u*p+b,i+z*c+M],["L",e+u*p,i+z*c],["Z"]],T=[["M",e+y*d,i+f*x],["L",e+y*d+b,i+f*x+M],["L",e+u*d+b,i+z*x+M],["L",e+u*d,i+z*x],["Z"]],X=Math.atan2(M,-b),G=Math.abs(o+X),Y=Math.abs(s+X),Z=Math.abs((s+o)/2+X);function R(t){return(t%=2*Math.PI)>Math.PI&&(t=2*Math.PI-t),t}G=R(G),Y=R(Y),Z=R(Z);let E=1e5*Z,F=1e5*Y,O=1e5*G;return{top:A,zTop:1e5*Math.PI+1,out:L,zOut:Math.max(E,F,O),inn:w,zInn:Math.max(E,F,O),side1:I,zSide1:.99*O,side2:T,zSide2:.99*F}}t.compose=function t(i){b(p,t)&&f(i.prototype,{Element3D:o,arc3d:C,arc3dPath:D,cuboid:A,cuboidPath:P,element3d:M,face3d:r,polyhedron:a,toLinePath:e,toLineSegments:s})}}(a||(a={})),a}),i(e,"Core/Axis/ZAxis.js",[e["Core/Axis/Axis.js"],e["Core/Axis/AxisDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s,o){let{xAxis:r}=e,{defaultOptions:a}=i,{composed:n}=s,{addEvent:l,merge:h,pick:p,pushUnique:c,splat:d}=o;function x(t){return new f(this,t)}function y(){let t=this.options.zAxis=d(this.options.zAxis||{});this.is3d()&&(this.zAxis=[],t.forEach((t,e)=>{this.addZAxis(t).setScale()}))}class f extends t{constructor(){super(...arguments),this.isZAxis=!0}static compose(t){if(c(n,this.compose)){let e=t.prototype;a.zAxis=h(r,{offset:0,lineWidth:0}),l(t,"afterGetAxes",y),e.addZAxis=x,e.collectionsWithInit.zAxis=[e.addZAxis],e.collectionsWithUpdate.push("zAxis")}}init(t,e){this.isZAxis=!0,super.init(t,e,"zAxis")}getSeriesExtremes(){this.chart,this.hasVisibleSeries=!1,this.dataMin=this.dataMax=this.ignoreMinPadding=this.ignoreMaxPadding=void 0,this.stacking&&this.stacking.buildStacks(),this.series.forEach(t=>{if(t.reserveSpace()){let e=t.options.threshold;this.hasVisibleSeries=!0,this.positiveValuesOnly&&e<=0&&(e=void 0);let i=t.zData;i.length&&(this.dataMin=Math.min(p(this.dataMin,i[0]),Math.min.apply(null,i)),this.dataMax=Math.max(p(this.dataMax,i[0]),Math.max.apply(null,i)))}})}setAxisSize(){let t=this.chart;super.setAxisSize(),this.width=this.len=t.options.chart.options3d&&t.options.chart.options3d.depth||0,this.right=t.chartWidth-this.width-this.left}}return f}),i(e,"Series/Column3D/Column3DComposition.js",[e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Utilities.js"]],function(t,e,i){let{composed:s}=t,{perspective:o}=e,{addEvent:r,extend:a,pick:n,pushUnique:l,wrap:h}=i;function p(){let t=this.chart,e=this.options,i=e.depth,s=e.stacking?e.stack||0:this.index,r=s*(i+(e.groupZPadding||1)),n=this.borderWidth%2?.5:0,l;for(let s of(t.inverted&&!this.yAxis.reversed&&(n*=-1),!1!==e.grouping&&(r=0),r+=e.groupZPadding||1,this.points))if(s.outside3dPlot=null,null!==s.y){let e;let h=a({x:0,y:0,width:0,height:0},s.shapeArgs||{}),p=[["x","width"],["y","height"]],c=s.tooltipPos;for(let t of p)if((e=h[t[0]]-n)<0&&(h[t[1]]+=h[t[0]]+n,h[t[0]]=-n,e=0),e+h[t[1]]>this[t[0]+"Axis"].len&&0!==h[t[1]]&&(h[t[1]]=this[t[0]+"Axis"].len-h[t[0]]),0!==h[t[1]]&&(h[t[0]]>=this[t[0]+"Axis"].len||h[t[0]]+h[t[1]]<=n)){for(let t in h)h[t]="y"===t?-9999:0;s.outside3dPlot=!0}if("roundedRect"===s.shapeType&&(s.shapeType="cuboid"),s.shapeArgs=a(h,{z:r,depth:i,insidePlotArea:!0}),l={x:h.x+h.width/2,y:h.y,z:r+i/2},t.inverted&&(l.x=h.height,l.y=s.clientX||0),s.axisXpos=l.x,s.axisYpos=l.y,s.axisZpos=l.z,s.plot3d=o([l],t,!0,!1)[0],c){let e=o([{x:c[0],y:c[1],z:r+i/2}],t,!0,!1)[0];s.tooltipPos=[e.x,e.y]}}this.z=r}function c(){if(this.chart.is3d()){let t=this.options,e=t.grouping,i=t.stacking,s=this.yAxis.options.reversedStacks,o=0;if(!(void 0!==e&&!e)){let e;let r=function(t,e){let i=t.series,s={totalStacks:0},o,r=1;return i.forEach(function(t){s[o=n(t.options.stack,e?0:i.length-1-t.index)]?s[o].series.push(t):(s[o]={series:[t],position:r},r++)}),s.totalStacks=r+1,s}(this.chart,i),a=t.stack||0;for(e=0;e<r[a].series.length&&r[a].series[e]!==this;e++);o=10*(r.totalStacks-r[a].position)+(s?e:-e),this.xAxis.reversed||(o=10*r.totalStacks-o)}t.depth=t.depth||25,this.z=this.z||0,t.zIndex=o}}function d(t,...e){return this.series.chart.is3d()?this.graphic&&"g"!==this.graphic.element.nodeName:t.apply(this,e)}function x(t){if(this.chart.is3d()){let t=arguments,e=t[1],i=this.yAxis,s=this.yAxis.reversed;if(e)for(let t of this.points)null===t.y||(t.height=t.shapeArgs.height,t.shapey=t.shapeArgs.y,t.shapeArgs.height=1,s||(t.stackY?t.shapeArgs.y=t.plotY+i.translate(t.stackY):t.shapeArgs.y=t.plotY+(t.negative?-t.height:t.height)));else{for(let t of this.points)null!==t.y&&(t.shapeArgs.height=t.height,t.shapeArgs.y=t.shapey,t.graphic&&t.graphic[t.outside3dPlot?"attr":"animate"](t.shapeArgs,this.options.animation));this.drawDataLabels()}}else t.apply(this,[].slice.call(arguments,1))}function y(t,e,i,s,o,r){return"dataLabelsGroup"!==e&&"markerGroup"!==e&&this.chart.is3d()&&(this[e]&&delete this[e],r&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(r)),this[e]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[e].survive=!0,"group"===e&&(arguments[3]="visible"))),t.apply(this,Array.prototype.slice.call(arguments,1))}function f(t){let e=t.apply(this,[].slice.call(arguments,1));return this.chart.is3d&&this.chart.is3d()&&(e.stroke=this.options.edgeColor||e.fill,e["stroke-width"]=n(this.options.edgeWidth,1)),e}function u(t,e,i){let s=this.chart.is3d&&this.chart.is3d();s&&(this.options.inactiveOtherPoints=!0),t.call(this,e,i),s&&(this.options.inactiveOtherPoints=!1)}function z(t,e){if(this.chart.is3d())for(let t of this.points)t.visible=t.options.visible=e=void 0===e?!n(this.visible,t.visible):e,this.options.data[this.data.indexOf(t)]=t.options,t.graphic&&t.graphic.attr({visibility:e?"visible":"hidden"});t.apply(this,Array.prototype.slice.call(arguments,1))}function b(t){t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()&&this.translate3dShapes()}function g(t,e,i,s,r){let a=this.chart;if(s.outside3dPlot=e.outside3dPlot,a.is3d()&&this.is("column")){let t=this.options,i=n(s.inside,!!this.options.stacking),l=a.options.chart.options3d,h=e.pointWidth/2||0,p={x:r.x+h,y:r.y,z:this.z+t.depth/2};a.inverted&&(i&&(r.width=0,p.x+=e.shapeArgs.height/2),l.alpha>=90&&l.alpha<=270&&(p.y+=e.shapeArgs.width)),p=o([p],a,!0,!1)[0],r.x=p.x-h,r.y=e.outside3dPlot?-9e9:p.y}t.apply(this,[].slice.call(arguments,1))}function m(t){return!arguments[2].outside3dPlot&&t.apply(this,[].slice.call(arguments,1))}function v(t,e){let i=t.apply(this,[].slice.call(arguments,1)),s=this.axis.chart,{width:r}=e;if(s.is3d()&&this.base){let t=+this.base.split(",")[0],e=s.series[t],a=s.options.chart.options3d;if(e&&"column"===e.type){let t={x:i.x+(s.inverted?i.height:r/2),y:i.y,z:e.options.depth/2};s.inverted&&(i.width=0,a.alpha>=90&&a.alpha<=270&&(t.y+=r)),t=o([t],s,!0,!1)[0],i.x=t.x-r/2,i.y=t.y}}return i}return{compose:function t(e,i){if(l(s,t)){let t=e.prototype,s=i.prototype,{column:o,columnRange:a}=e.types;if(h(t,"alignDataLabel",g),h(t,"justifyDataLabel",m),h(s,"getStackBox",v),o){let t=o.prototype,e=t.pointClass.prototype;t.translate3dPoints=()=>void 0,t.translate3dShapes=p,r(t,"afterInit",c),h(e,"hasNewShapeType",d),h(t,"animate",x),h(t,"plotGroup",y),h(t,"pointAttribs",f),h(t,"setState",u),h(t,"setVisible",z),h(t,"translate",b)}if(a){let t=a.prototype,e=t.pointClass.prototype;h(e,"hasNewShapeType",d),h(t,"plotGroup",y),h(t,"pointAttribs",f),h(t,"setState",u),h(t,"setVisible",z)}}}}}),i(e,"Series/Pie3D/Pie3DPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(t){let{pie:{prototype:{pointClass:e}}}=t.seriesTypes;return class extends e{haloPath(){return this.series?.chart.is3d()?[]:super.haloPath.apply(this,arguments)}}}),i(e,"Series/Pie3D/Pie3DSeries.js",[e["Core/Globals.js"],e["Series/Pie3D/Pie3DPoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:o,deg2rad:r}=t,{pie:a}=i.seriesTypes,{extend:n,pick:l,pushUnique:h}=s;class p extends a{static compose(t){h(o,this.compose)&&(t.types.pie=p)}addPoint(){super.addPoint.apply(this,arguments),this.chart.is3d()&&this.update(this.userOptions,!0)}animate(t){if(this.chart.is3d()){let e=this.center,i=this.group,s=this.markerGroup,o=this.options.animation,r;!0===o&&(o={}),t?(i.oldtranslateX=l(i.oldtranslateX,i.translateX),i.oldtranslateY=l(i.oldtranslateY,i.translateY),r={translateX:e[0],translateY:e[1],scaleX:.001,scaleY:.001},i.attr(r),s&&(s.attrSetters=i.attrSetters,s.attr(r))):(r={translateX:i.oldtranslateX,translateY:i.oldtranslateY,scaleX:1,scaleY:1},i.animate(r,o),s&&s.animate(r,o))}else super.animate.apply(this,arguments)}getDataLabelPosition(t,e){let i=super.getDataLabelPosition(t,e);if(this.chart.is3d()){let e=this.chart.options.chart.options3d,s=t.shapeArgs,o=s.r,a=(s.alpha||e?.alpha)*r,n=(s.beta||e?.beta)*r,l=(s.start+s.end)/2,h=i.connectorPosition,p=-o*(1-Math.cos(a))*Math.sin(l),c=o*(Math.cos(n)-1)*Math.cos(l);for(let t of[i?.natural,h.breakAt,h.touchingSliceAt])t.x+=c,t.y+=p}return i}pointAttribs(t){let e=super.pointAttribs.apply(this,arguments),i=this.options;return this.chart.is3d()&&!this.chart.styledMode&&(e.stroke=i.edgeColor||t.color||this.color,e["stroke-width"]=l(i.edgeWidth,1)),e}translate(){if(super.translate.apply(this,arguments),!this.chart.is3d())return;let t=this.options,e=t.depth||0,i=this.chart.options.chart.options3d,s=i.alpha,o=i.beta,a=t.stacking?(t.stack||0)*e:this._i*e;for(let i of(a+=e/2,!1!==t.grouping&&(a=0),this.points)){let n=i.shapeArgs;i.shapeType="arc3d",n.z=a,n.depth=.75*e,n.alpha=s,n.beta=o,n.center=this.center;let l=(n.end+n.start)/2;i.slicedTranslation={translateX:Math.round(Math.cos(l)*t.slicedOffset*Math.cos(s*r)),translateY:Math.round(Math.sin(l)*t.slicedOffset*Math.cos(s*r))}}}drawTracker(){if(super.drawTracker.apply(this,arguments),this.chart.is3d()){for(let t of this.points)if(t.graphic)for(let e of["out","inn","side1","side2"])t.graphic&&(t.graphic[e].element.point=t)}}}return n(p.prototype,{pointClass:e}),p}),i(e,"Series/Scatter3D/Scatter3DPoint.js",[e["Series/Scatter/ScatterSeries.js"],e["Core/Utilities.js"]],function(t,e){let{pointClass:i}=t.prototype,{defined:s}=e;return class extends i{applyOptions(){return super.applyOptions.apply(this,arguments),s(this.z)||(this.z=0),this}}}),i(e,"Series/Scatter3D/Scatter3DSeriesDefaults.js",[],function(){return{tooltip:{pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>"}}}),i(e,"Series/Scatter3D/Scatter3DSeries.js",[e["Core/Math3D.js"],e["Series/Scatter3D/Scatter3DPoint.js"],e["Series/Scatter3D/Scatter3DSeriesDefaults.js"],e["Series/Scatter/ScatterSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{pointCameraDistance:a}=t,{extend:n,merge:l}=r;class h extends s{pointAttribs(t){let e=super.pointAttribs.apply(this,arguments);return this.chart.is3d()&&t&&(e.zIndex=a(t,this.chart)),e}}return h.defaultOptions=l(s.defaultOptions,i),n(h.prototype,{axisTypes:["xAxis","yAxis","zAxis"],directTouch:!0,parallelArrays:["x","y","z"],pointArrayMap:["x","y","z"],pointClass:e}),o.registerSeriesType("scatter3d",h),h}),i(e,"masters/highcharts-3d.src.js",[e["Core/Globals.js"],e["Core/Chart/Chart3D.js"],e["Series/Area3D/Area3DSeries.js"],e["Core/Axis/Axis3DComposition.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series3D.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Renderer/SVG/SVGRenderer3D.js"],e["Core/Axis/ZAxis.js"],e["Series/Column3D/Column3DComposition.js"],e["Series/Pie3D/Pie3DSeries.js"]],function(t,e,i,s,o,r,a,n,l,h,p){i.compose(t.seriesTypes.area),s.compose(t.Axis,t.Tick),e.compose(t.Chart,t.Fx),h.compose(t.Series,a),p.compose(t.Series),r.compose(t.Series),n.compose(o.getRendererType()),l.compose(t.Chart)})});
|
|
7
|
+
*/function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Core/Math3D.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:i}=t,{pick:s}=e;function o(t,e,o,a){let n=e.options.chart.options3d,l=s(a,!!o&&e.inverted),h={x:e.plotWidth/2,y:e.plotHeight/2,z:n.depth/2,vd:s(n.depth,1)*s(n.viewDistance,0)},p=e.scale3d||1,c=i*n.beta*(l?-1:1),d=i*n.alpha*(l?-1:1),x={cosA:Math.cos(d),cosB:Math.cos(-c),sinA:Math.sin(d),sinB:Math.sin(-c)};return o||(h.x+=e.plotLeft,h.y+=e.plotTop),t.map(function(t){var e,i,s;let o=(e=(l?t.y:t.x)-h.x,i=(l?t.x:t.y)-h.y,s=(t.z||0)-h.z,{x:x.cosB*e-x.sinB*s,y:-x.sinA*x.sinB*e+x.cosA*i-x.cosB*x.sinA*s,z:x.cosA*x.sinB*e+x.sinA*i+x.cosA*x.cosB*s}),a=r(o,h,h.vd);return a.x=a.x*p+h.x,a.y=a.y*p+h.y,a.z=o.z*p+h.z,{x:l?a.y:a.x,y:l?a.x:a.y,z:a.z}})}function r(t,e,i){let s=i>0&&i<Number.POSITIVE_INFINITY?i/(t.z+e.z+i):1;return{x:t.x*s,y:t.y*s}}function a(t){let e=0,i,s;for(i=0;i<t.length;i++)s=(i+1)%t.length,e+=t[i].x*t[s].y-t[s].x*t[i].y;return e/2}return{perspective:o,perspective3D:r,pointCameraDistance:function(t,e){let i=e.options.chart.options3d,o={x:e.plotWidth/2,y:e.plotHeight/2,z:s(i.depth,1)*s(i.viewDistance,0)+i.depth};return Math.sqrt(Math.pow(o.x-s(t.plotX,t.x),2)+Math.pow(o.y-s(t.plotY,t.y),2)+Math.pow(o.z-s(t.plotZ,t.z),2))},shapeArea:a,shapeArea3D:function(t,e,i){return a(o(t,e,i))}}}),i(e,"Core/Chart/Chart3D.js",[e["Core/Color/Color.js"],e["Core/Defaults.js"],e["Core/Math3D.js"],e["Core/Utilities.js"]],function(t,e,i,s){var o;let{parse:r}=t,{defaultOptions:a}=e,{perspective:n,shapeArea3D:l}=i,{addEvent:h,isArray:p,merge:c,pick:d,wrap:x}=s;return function(t){function e(t){this.is3d()&&"scatter"===t.options.type&&(t.options.type="scatter3d")}function i(){if(this.chart3d&&this.is3d()){let t=this.renderer,e=this.options.chart.options3d,i=this.chart3d.get3dFrame(),s=this.plotLeft,o=this.plotLeft+this.plotWidth,a=this.plotTop,n=this.plotTop+this.plotHeight,l=e.depth,h=s-(i.left.visible?i.left.size:0),p=o+(i.right.visible?i.right.size:0),c=a-(i.top.visible?i.top.size:0),d=n+(i.bottom.visible?i.bottom.size:0),x=0-(i.front.visible?i.front.size:0),y=l+(i.back.visible?i.back.size:0),f=this.hasRendered?"animate":"attr";this.chart3d.frame3d=i,this.frameShapes||(this.frameShapes={bottom:t.polyhedron().add(),top:t.polyhedron().add(),left:t.polyhedron().add(),right:t.polyhedron().add(),back:t.polyhedron().add(),front:t.polyhedron().add()}),this.frameShapes.bottom[f]({class:"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:i.bottom.frontFacing?-1e3:1e3,faces:[{fill:r(i.bottom.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:x},{x:p,y:d,z:x},{x:p,y:d,z:y},{x:h,y:d,z:y}],enabled:i.bottom.visible},{fill:r(i.bottom.color).brighten(.1).get(),vertexes:[{x:s,y:n,z:l},{x:o,y:n,z:l},{x:o,y:n,z:0},{x:s,y:n,z:0}],enabled:i.bottom.visible},{fill:r(i.bottom.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:x},{x:h,y:d,z:y},{x:s,y:n,z:l},{x:s,y:n,z:0}],enabled:i.bottom.visible&&!i.left.visible},{fill:r(i.bottom.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:y},{x:p,y:d,z:x},{x:o,y:n,z:0},{x:o,y:n,z:l}],enabled:i.bottom.visible&&!i.right.visible},{fill:r(i.bottom.color).get(),vertexes:[{x:p,y:d,z:x},{x:h,y:d,z:x},{x:s,y:n,z:0},{x:o,y:n,z:0}],enabled:i.bottom.visible&&!i.front.visible},{fill:r(i.bottom.color).get(),vertexes:[{x:h,y:d,z:y},{x:p,y:d,z:y},{x:o,y:n,z:l},{x:s,y:n,z:l}],enabled:i.bottom.visible&&!i.back.visible}]}),this.frameShapes.top[f]({class:"highcharts-3d-frame highcharts-3d-frame-top",zIndex:i.top.frontFacing?-1e3:1e3,faces:[{fill:r(i.top.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:y},{x:p,y:c,z:y},{x:p,y:c,z:x},{x:h,y:c,z:x}],enabled:i.top.visible},{fill:r(i.top.color).brighten(.1).get(),vertexes:[{x:s,y:a,z:0},{x:o,y:a,z:0},{x:o,y:a,z:l},{x:s,y:a,z:l}],enabled:i.top.visible},{fill:r(i.top.color).brighten(-.1).get(),vertexes:[{x:h,y:c,z:y},{x:h,y:c,z:x},{x:s,y:a,z:0},{x:s,y:a,z:l}],enabled:i.top.visible&&!i.left.visible},{fill:r(i.top.color).brighten(-.1).get(),vertexes:[{x:p,y:c,z:x},{x:p,y:c,z:y},{x:o,y:a,z:l},{x:o,y:a,z:0}],enabled:i.top.visible&&!i.right.visible},{fill:r(i.top.color).get(),vertexes:[{x:h,y:c,z:x},{x:p,y:c,z:x},{x:o,y:a,z:0},{x:s,y:a,z:0}],enabled:i.top.visible&&!i.front.visible},{fill:r(i.top.color).get(),vertexes:[{x:p,y:c,z:y},{x:h,y:c,z:y},{x:s,y:a,z:l},{x:o,y:a,z:l}],enabled:i.top.visible&&!i.back.visible}]}),this.frameShapes.left[f]({class:"highcharts-3d-frame highcharts-3d-frame-left",zIndex:i.left.frontFacing?-1e3:1e3,faces:[{fill:r(i.left.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:x},{x:s,y:n,z:0},{x:s,y:n,z:l},{x:h,y:d,z:y}],enabled:i.left.visible&&!i.bottom.visible},{fill:r(i.left.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:y},{x:s,y:a,z:l},{x:s,y:a,z:0},{x:h,y:c,z:x}],enabled:i.left.visible&&!i.top.visible},{fill:r(i.left.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:y},{x:h,y:c,z:y},{x:h,y:c,z:x},{x:h,y:d,z:x}],enabled:i.left.visible},{fill:r(i.left.color).brighten(-.1).get(),vertexes:[{x:s,y:a,z:l},{x:s,y:n,z:l},{x:s,y:n,z:0},{x:s,y:a,z:0}],enabled:i.left.visible},{fill:r(i.left.color).get(),vertexes:[{x:h,y:d,z:x},{x:h,y:c,z:x},{x:s,y:a,z:0},{x:s,y:n,z:0}],enabled:i.left.visible&&!i.front.visible},{fill:r(i.left.color).get(),vertexes:[{x:h,y:c,z:y},{x:h,y:d,z:y},{x:s,y:n,z:l},{x:s,y:a,z:l}],enabled:i.left.visible&&!i.back.visible}]}),this.frameShapes.right[f]({class:"highcharts-3d-frame highcharts-3d-frame-right",zIndex:i.right.frontFacing?-1e3:1e3,faces:[{fill:r(i.right.color).brighten(.1).get(),vertexes:[{x:p,y:d,z:y},{x:o,y:n,z:l},{x:o,y:n,z:0},{x:p,y:d,z:x}],enabled:i.right.visible&&!i.bottom.visible},{fill:r(i.right.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:x},{x:o,y:a,z:0},{x:o,y:a,z:l},{x:p,y:c,z:y}],enabled:i.right.visible&&!i.top.visible},{fill:r(i.right.color).brighten(-.1).get(),vertexes:[{x:o,y:a,z:0},{x:o,y:n,z:0},{x:o,y:n,z:l},{x:o,y:a,z:l}],enabled:i.right.visible},{fill:r(i.right.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:x},{x:p,y:c,z:x},{x:p,y:c,z:y},{x:p,y:d,z:y}],enabled:i.right.visible},{fill:r(i.right.color).get(),vertexes:[{x:p,y:c,z:x},{x:p,y:d,z:x},{x:o,y:n,z:0},{x:o,y:a,z:0}],enabled:i.right.visible&&!i.front.visible},{fill:r(i.right.color).get(),vertexes:[{x:p,y:d,z:y},{x:p,y:c,z:y},{x:o,y:a,z:l},{x:o,y:n,z:l}],enabled:i.right.visible&&!i.back.visible}]}),this.frameShapes.back[f]({class:"highcharts-3d-frame highcharts-3d-frame-back",zIndex:i.back.frontFacing?-1e3:1e3,faces:[{fill:r(i.back.color).brighten(.1).get(),vertexes:[{x:p,y:d,z:y},{x:h,y:d,z:y},{x:s,y:n,z:l},{x:o,y:n,z:l}],enabled:i.back.visible&&!i.bottom.visible},{fill:r(i.back.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:y},{x:p,y:c,z:y},{x:o,y:a,z:l},{x:s,y:a,z:l}],enabled:i.back.visible&&!i.top.visible},{fill:r(i.back.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:y},{x:h,y:c,z:y},{x:s,y:a,z:l},{x:s,y:n,z:l}],enabled:i.back.visible&&!i.left.visible},{fill:r(i.back.color).brighten(-.1).get(),vertexes:[{x:p,y:c,z:y},{x:p,y:d,z:y},{x:o,y:n,z:l},{x:o,y:a,z:l}],enabled:i.back.visible&&!i.right.visible},{fill:r(i.back.color).get(),vertexes:[{x:s,y:a,z:l},{x:o,y:a,z:l},{x:o,y:n,z:l},{x:s,y:n,z:l}],enabled:i.back.visible},{fill:r(i.back.color).get(),vertexes:[{x:h,y:d,z:y},{x:p,y:d,z:y},{x:p,y:c,z:y},{x:h,y:c,z:y}],enabled:i.back.visible}]}),this.frameShapes.front[f]({class:"highcharts-3d-frame highcharts-3d-frame-front",zIndex:i.front.frontFacing?-1e3:1e3,faces:[{fill:r(i.front.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:x},{x:p,y:d,z:x},{x:o,y:n,z:0},{x:s,y:n,z:0}],enabled:i.front.visible&&!i.bottom.visible},{fill:r(i.front.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:x},{x:h,y:c,z:x},{x:s,y:a,z:0},{x:o,y:a,z:0}],enabled:i.front.visible&&!i.top.visible},{fill:r(i.front.color).brighten(-.1).get(),vertexes:[{x:h,y:c,z:x},{x:h,y:d,z:x},{x:s,y:n,z:0},{x:s,y:a,z:0}],enabled:i.front.visible&&!i.left.visible},{fill:r(i.front.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:x},{x:p,y:c,z:x},{x:o,y:a,z:0},{x:o,y:n,z:0}],enabled:i.front.visible&&!i.right.visible},{fill:r(i.front.color).get(),vertexes:[{x:o,y:a,z:0},{x:s,y:a,z:0},{x:s,y:n,z:0},{x:o,y:n,z:0}],enabled:i.front.visible},{fill:r(i.front.color).get(),vertexes:[{x:p,y:d,z:x},{x:h,y:d,z:x},{x:h,y:c,z:x},{x:p,y:c,z:x}],enabled:i.front.visible}]})}}function s(){this.styledMode&&[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(t){this.renderer.definition({tagName:"filter",attributes:{id:"highcharts-"+t.name},children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",attributes:{type:"linear",slope:t.slope}},{tagName:"feFuncG",attributes:{type:"linear",slope:t.slope}},{tagName:"feFuncB",attributes:{type:"linear",slope:t.slope}}]}]})},this)}function o(){let t=this.options;this.is3d()&&(t.series||[]).forEach(function(e){"scatter"===(e.type||t.chart.type||t.chart.defaultSeriesType)&&(e.type="scatter3d")})}function y(){let t=this.options.chart.options3d;if(this.chart3d&&this.is3d()){t&&(t.alpha=t.alpha%360+(t.alpha>=0?0:360),t.beta=t.beta%360+(t.beta>=0?0:360));let e=this.inverted,i=this.clipBox,s=this.margin;i[e?"y":"x"]=-(s[3]||0),i[e?"x":"y"]=-(s[0]||0),i[e?"height":"width"]=this.chartWidth+(s[3]||0)+(s[1]||0),i[e?"width":"height"]=this.chartHeight+(s[0]||0)+(s[2]||0),this.scale3d=1,!0===t.fitToPlot&&(this.scale3d=this.chart3d.getScale(t.depth)),this.chart3d.frame3d=this.chart3d.get3dFrame()}}function f(){this.is3d()&&(this.isDirtyBox=!0)}function u(){this.chart3d&&this.is3d()&&(this.chart3d.frame3d=this.chart3d.get3dFrame())}function z(){this.chart3d||(this.chart3d=new v(this))}function b(t){return this.is3d()||t.apply(this,[].slice.call(arguments,1))}function g(t){let e,i=this.series.length;if(this.is3d())for(;i--;)(e=this.series[i]).translate(),e.render();else t.call(this)}function m(t){t.apply(this,[].slice.call(arguments,1)),this.is3d()&&(this.container.className+=" highcharts-3d-chart")}t.defaultOptions={chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:null,frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}},t.compose=function(r,n){let l=r.prototype,d=n.prototype;l.is3d=function(){return!!this.options.chart.options3d?.enabled},l.propsRequireDirtyBox.push("chart.options3d"),l.propsRequireUpdateSeries.push("chart.options3d"),d.matrixSetter=function(){let t;if(this.pos<1&&(p(this.start)||p(this.end))){let e=this.start||[1,0,0,1,0,0],i=this.end||[1,0,0,1,0,0];t=[];for(let s=0;s<6;s++)t.push(this.pos*i[s]+(1-this.pos)*e[s])}else t=this.end;this.elem.attr(this.prop,t,null,!0)},c(!0,a,t.defaultOptions),h(r,"init",z),h(r,"addSeries",e),h(r,"afterDrawChartBox",i),h(r,"afterGetContainer",s),h(r,"afterInit",o),h(r,"afterSetChartSize",y),h(r,"beforeRedraw",f),h(r,"beforeRender",u),x(l,"isInsidePlot",b),x(l,"renderSeries",g),x(l,"setClassName",m)};class v{constructor(t){this.chart=t}get3dFrame(){let t=this.chart,e=t.options.chart.options3d,i=e.frame,s=t.plotLeft,o=t.plotLeft+t.plotWidth,r=t.plotTop,a=t.plotTop+t.plotHeight,h=e.depth,p=function(e){let i=l(e,t);return i>.5?1:i<-.5?-1:0},c=p([{x:s,y:a,z:h},{x:o,y:a,z:h},{x:o,y:a,z:0},{x:s,y:a,z:0}]),x=p([{x:s,y:r,z:0},{x:o,y:r,z:0},{x:o,y:r,z:h},{x:s,y:r,z:h}]),y=p([{x:s,y:r,z:0},{x:s,y:r,z:h},{x:s,y:a,z:h},{x:s,y:a,z:0}]),f=p([{x:o,y:r,z:h},{x:o,y:r,z:0},{x:o,y:a,z:0},{x:o,y:a,z:h}]),u=p([{x:s,y:a,z:0},{x:o,y:a,z:0},{x:o,y:r,z:0},{x:s,y:r,z:0}]),z=p([{x:s,y:r,z:h},{x:o,y:r,z:h},{x:o,y:a,z:h},{x:s,y:a,z:h}]),b=!1,g=!1,m=!1,v=!1;[].concat(t.xAxis,t.yAxis,t.zAxis).forEach(function(t){t&&(t.horiz?t.opposite?g=!0:b=!0:t.opposite?v=!0:m=!0)});let M=function(t,e,i){let s=["size","color","visible"],o={};for(let e=0;e<s.length;e++){let i=s[e];for(let e=0;e<t.length;e++)if("object"==typeof t[e]){let s=t[e][i];if(null!=s){o[i]=s;break}}}let r=i;return!0===o.visible||!1===o.visible?r=o.visible:"auto"===o.visible&&(r=e>0),{size:d(o.size,1),color:d(o.color,"none"),frontFacing:e>0,visible:r}},S={axes:{},bottom:M([i.bottom,i.top,i],c,b),top:M([i.top,i.bottom,i],x,g),left:M([i.left,i.right,i.side,i],y,m),right:M([i.right,i.left,i.side,i],f,v),back:M([i.back,i.front,i],z,!0),front:M([i.front,i.back,i],u,!1)};if("auto"===e.axisLabelPosition){let e=function(t,e){return t.visible!==e.visible||t.visible&&e.visible&&t.frontFacing!==e.frontFacing},i=[];e(S.left,S.front)&&i.push({y:(r+a)/2,x:s,z:0,xDir:{x:1,y:0,z:0}}),e(S.left,S.back)&&i.push({y:(r+a)/2,x:s,z:h,xDir:{x:0,y:0,z:-1}}),e(S.right,S.front)&&i.push({y:(r+a)/2,x:o,z:0,xDir:{x:0,y:0,z:1}}),e(S.right,S.back)&&i.push({y:(r+a)/2,x:o,z:h,xDir:{x:-1,y:0,z:0}});let l=[];e(S.bottom,S.front)&&l.push({x:(s+o)/2,y:a,z:0,xDir:{x:1,y:0,z:0}}),e(S.bottom,S.back)&&l.push({x:(s+o)/2,y:a,z:h,xDir:{x:-1,y:0,z:0}});let p=[];e(S.top,S.front)&&p.push({x:(s+o)/2,y:r,z:0,xDir:{x:1,y:0,z:0}}),e(S.top,S.back)&&p.push({x:(s+o)/2,y:r,z:h,xDir:{x:-1,y:0,z:0}});let c=[];e(S.bottom,S.left)&&c.push({z:(0+h)/2,y:a,x:s,xDir:{x:0,y:0,z:-1}}),e(S.bottom,S.right)&&c.push({z:(0+h)/2,y:a,x:o,xDir:{x:0,y:0,z:1}});let d=[];e(S.top,S.left)&&d.push({z:(0+h)/2,y:r,x:s,xDir:{x:0,y:0,z:-1}}),e(S.top,S.right)&&d.push({z:(0+h)/2,y:r,x:o,xDir:{x:0,y:0,z:1}});let x=function(e,i,s){if(0===e.length)return null;if(1===e.length)return e[0];let o=n(e,t,!1),r=0;for(let t=1;t<o.length;t++)s*o[t][i]>s*o[r][i]?r=t:s*o[t][i]==s*o[r][i]&&o[t].z<o[r].z&&(r=t);return e[r]};S.axes={y:{left:x(i,"x",-1),right:x(i,"x",1)},x:{top:x(p,"y",-1),bottom:x(l,"y",1)},z:{top:x(d,"y",-1),bottom:x(c,"y",1)}}}else S.axes={y:{left:{x:s,z:0,xDir:{x:1,y:0,z:0}},right:{x:o,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:r,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:a,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:m?o:s,y:r,xDir:m?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:m?o:s,y:a,xDir:m?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return S}getScale(t){let e=this.chart,i=e.plotLeft,s=e.plotWidth+i,o=e.plotTop,r=e.plotHeight+o,a=i+e.plotWidth/2,l=o+e.plotHeight/2,h={minX:Number.MAX_VALUE,maxX:-Number.MAX_VALUE,minY:Number.MAX_VALUE,maxY:-Number.MAX_VALUE},p,c=1;return p=[{x:i,y:o,z:0},{x:i,y:o,z:t}],[0,1].forEach(function(t){p.push({x:s,y:p[t].y,z:p[t].z})}),[0,1,2,3].forEach(function(t){p.push({x:p[t].x,y:r,z:p[t].z})}),(p=n(p,e,!1)).forEach(function(t){h.minX=Math.min(h.minX,t.x),h.maxX=Math.max(h.maxX,t.x),h.minY=Math.min(h.minY,t.y),h.maxY=Math.max(h.maxY,t.y)}),i>h.minX&&(c=Math.min(c,1-Math.abs((i+a)/(h.minX+a))%1)),s<h.maxX&&(c=Math.min(c,(s-a)/(h.maxX-a))),o>h.minY&&(c=h.minY<0?Math.min(c,(o+l)/(-h.minY+o+l)):Math.min(c,1-(o+l)/(h.minY+l)%1)),r<h.maxY&&(c=Math.min(c,Math.abs((r-l)/(h.maxY-l)))),c}}t.Additions=v}(o||(o={})),o}),i(e,"Series/Area3D/Area3DSeries.js",[e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:o}=t,{perspective:r}=e,{line:{prototype:a}}=i.seriesTypes,{pushUnique:n,wrap:l}=s;function h(t){let e=t.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d())return e;let i=a.getGraphPath,s=this.options,o=Math.round(this.yAxis.getThreshold(s.threshold)),n=[];if(this.rawPointsX)for(let t=0;t<this.points.length;t++)n.push({x:this.rawPointsX[t],y:s.stacking?this.points[t].yBottom:o,z:this.zPadding});let l=this.chart.options.chart.options3d;n=r(n,this.chart,!0).map(t=>({plotX:t.x,plotY:t.y,plotZ:t.z})),this.group&&l&&l.depth&&l.beta&&(this.markerGroup&&(this.markerGroup.add(this.group),this.markerGroup.attr({translateX:0,translateY:0})),this.group.attr({zIndex:Math.max(1,l.beta>270||l.beta<90?l.depth-Math.round(this.zPadding||0):Math.round(this.zPadding||0))})),n.reversed=!0;let h=i.call(this,n,!0,!0);if(h[0]&&"M"===h[0][0]&&(h[0]=["L",h[0][1],h[0][2]]),this.areaPath){let t=this.areaPath.splice(0,this.areaPath.length/2).concat(h);t.xMap=this.areaPath.xMap,this.areaPath=t}return this.graphPath=e,e}return{compose:function(t){n(o,"Area3DSeries")&&l(t.prototype,"getGraphPath",h)}}}),i(e,"Core/Axis/Axis3DDefaults.js",[],function(){return{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}}}),i(e,"Core/Axis/Tick3DComposition.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{composed:i}=t,{addEvent:s,extend:o,pushUnique:r,wrap:a}=e;function n(t){let e=this.axis.axis3D;e&&o(t.pos,e.fix3dPosition(t.pos))}function l(t){let e=this.axis.axis3D,i=t.apply(this,[].slice.call(arguments,1));if(e){let t=i[0],s=i[1];if("M"===t[0]&&"L"===s[0]){let i=[e.fix3dPosition({x:t[1],y:t[2],z:0}),e.fix3dPosition({x:s[1],y:s[2],z:0})];return this.axis.chart.renderer.toLineSegments(i)}}return i}return{compose:function(t){r(i,"Axis.Tick3D")&&(s(t,"afterGetLabelPosition",n),a(t.prototype,"getMarkPath",l))}}}),i(e,"Core/Axis/Axis3DComposition.js",[e["Core/Axis/Axis3DDefaults.js"],e["Core/Defaults.js"],e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Axis/Tick3DComposition.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{defaultOptions:a}=e,{deg2rad:n}=i,{perspective:l,perspective3D:h,shapeArea:p}=s,{addEvent:c,merge:d,pick:x,wrap:y}=r;function f(){let t=this.chart,e=this.options;t.is3d&&t.is3d()&&"colorAxis"!==this.coll&&(e.tickWidth=x(e.tickWidth,0),e.gridLineWidth=x(e.gridLineWidth,1))}function u(t){this.chart.is3d()&&"colorAxis"!==this.coll&&t.point&&(t.point.crosshairPos=this.isXAxis?t.point.axisXpos:this.len-t.point.axisYpos)}function z(){this.axis3D||(this.axis3D=new S(this))}function b(t){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:t.apply(this,[].slice.call(arguments,1))}function g(t){if(!this.chart.is3d()||"colorAxis"===this.coll)return t.apply(this,[].slice.call(arguments,1));let e=arguments,i=e[1],s=e[2],o=[],r=this.getPlotLinePath({value:i}),a=this.getPlotLinePath({value:s});if(r&&a)for(let t=0;t<r.length;t+=2){let e=r[t],i=r[t+1],s=a[t],n=a[t+1];"M"===e[0]&&"L"===i[0]&&"M"===s[0]&&"L"===n[0]&&o.push(e,i,n,["L",s[1],s[2]],["Z"])}return o}function m(t){let e=this.axis3D,i=this.chart,s=t.apply(this,[].slice.call(arguments,1));if("colorAxis"===this.coll||!i.chart3d||!i.is3d()||null===s)return s;let o=i.options.chart.options3d,r=this.isZAxis?i.plotWidth:o.depth,a=i.chart3d.frame3d,n=s[0],h=s[1],p,c=[];return"M"===n[0]&&"L"===h[0]&&(p=[e.swapZ({x:n[1],y:n[2],z:0}),e.swapZ({x:n[1],y:n[2],z:r}),e.swapZ({x:h[1],y:h[2],z:0}),e.swapZ({x:h[1],y:h[2],z:r})],this.horiz?(this.isZAxis?(a.left.visible&&c.push(p[0],p[2]),a.right.visible&&c.push(p[1],p[3])):(a.front.visible&&c.push(p[0],p[2]),a.back.visible&&c.push(p[1],p[3])),a.top.visible&&c.push(p[0],p[1]),a.bottom.visible&&c.push(p[2],p[3])):(a.front.visible&&c.push(p[0],p[2]),a.back.visible&&c.push(p[1],p[3]),a.left.visible&&c.push(p[0],p[1]),a.right.visible&&c.push(p[2],p[3])),c=l(c,this.chart,!1)),i.renderer.toLineSegments(c)}function v(t,e){let{chart:i,gridGroup:s,tickPositions:o,ticks:r}=this;if(this.categories&&i.frameShapes&&i.is3d()&&s&&e&&e.label){let t,a,n;let l=s.element.childNodes[0].getBBox(),p=i.frameShapes.left.getBBox(),c=i.options.chart.options3d,d={x:i.plotWidth/2,y:i.plotHeight/2,z:c.depth/2,vd:x(c.depth,1)*x(c.viewDistance,0)},y=o.indexOf(e.pos),f=r[o[y-1]],u=r[o[y+1]];return f?.label?.xy&&(a=h({x:f.label.xy.x,y:f.label.xy.y,z:null},d,d.vd)),u&&u.label&&u.label.xy&&(n=h({x:u.label.xy.x,y:u.label.xy.y,z:null},d,d.vd)),t=h(t={x:e.label.xy.x,y:e.label.xy.y,z:null},d,d.vd),Math.abs(a?t.x-a.x:n?n.x-t.x:l.x-p.x)}return t.apply(this,[].slice.call(arguments,1))}function M(t){let e=t.apply(this,[].slice.call(arguments,1));return this.axis3D?this.axis3D.fix3dPosition(e,!0):e}class S{static compose(e,i){if(o.compose(i),!e.keepProps.includes("axis3D")){d(!0,a.xAxis,t),e.keepProps.push("axis3D"),c(e,"init",z),c(e,"afterSetOptions",f),c(e,"drawCrosshair",u);let i=e.prototype;y(i,"getLinePath",b),y(i,"getPlotBandPath",g),y(i,"getPlotLinePath",m),y(i,"getSlotWidth",v),y(i,"getTitlePosition",M)}}constructor(t){this.axis=t}fix3dPosition(t,e){let i=this.axis,s=i.chart;if("colorAxis"===i.coll||!s.chart3d||!s.is3d())return t;let o=n*s.options.chart.options3d.alpha,r=n*s.options.chart.options3d.beta,a=x(e&&i.options.title.position3d,i.options.labels.position3d),h=x(e&&i.options.title.skew3d,i.options.labels.skew3d),c=s.chart3d.frame3d,d=s.plotLeft,y=s.plotWidth+d,f=s.plotTop,u=s.plotHeight+f,z=0,b=0,g,m={x:0,y:1,z:0},v=!1;if(t=i.axis3D.swapZ({x:t.x,y:t.y,z:0}),i.isZAxis){if(i.opposite){if(null===c.axes.z.top)return{};b=t.y-f,t.x=c.axes.z.top.x,t.y=c.axes.z.top.y,g=c.axes.z.top.xDir,v=!c.top.frontFacing}else{if(null===c.axes.z.bottom)return{};b=t.y-u,t.x=c.axes.z.bottom.x,t.y=c.axes.z.bottom.y,g=c.axes.z.bottom.xDir,v=!c.bottom.frontFacing}}else if(i.horiz){if(i.opposite){if(null===c.axes.x.top)return{};b=t.y-f,t.y=c.axes.x.top.y,t.z=c.axes.x.top.z,g=c.axes.x.top.xDir,v=!c.top.frontFacing}else{if(null===c.axes.x.bottom)return{};b=t.y-u,t.y=c.axes.x.bottom.y,t.z=c.axes.x.bottom.z,g=c.axes.x.bottom.xDir,v=!c.bottom.frontFacing}}else if(i.opposite){if(null===c.axes.y.right)return{};z=t.x-y,t.x=c.axes.y.right.x,t.z=c.axes.y.right.z,g={x:(g=c.axes.y.right.xDir).z,y:g.y,z:-g.x}}else{if(null===c.axes.y.left)return{};z=t.x-d,t.x=c.axes.y.left.x,t.z=c.axes.y.left.z,g=c.axes.y.left.xDir}if("chart"===a);else if("flap"===a){if(i.horiz){let t=Math.sin(o);i.opposite&&(t=-t),v&&(t=-t),m={x:g.z*t,y:Math.cos(o),z:-g.x*t}}else g={x:Math.cos(r),y:0,z:Math.sin(r)}}else if("ortho"===a){if(i.horiz){let t=Math.cos(o),e={x:Math.sin(r)*t,y:-Math.sin(o),z:-t*Math.cos(r)},i=1/Math.sqrt((m={x:g.y*e.z-g.z*e.y,y:g.z*e.x-g.x*e.z,z:g.x*e.y-g.y*e.x}).x*m.x+m.y*m.y+m.z*m.z);v&&(i=-i),m={x:i*m.x,y:i*m.y,z:i*m.z}}else g={x:Math.cos(r),y:0,z:Math.sin(r)}}else i.horiz?m={x:Math.sin(r)*Math.sin(o),y:Math.cos(o),z:-Math.cos(r)*Math.sin(o)}:g={x:Math.cos(r),y:0,z:Math.sin(r)};t.x+=z*g.x+b*m.x,t.y+=z*g.y+b*m.y,t.z+=z*g.z+b*m.z;let M=l([t],i.chart)[0];if(h){0>p(l([t,{x:t.x+g.x,y:t.y+g.y,z:t.z+g.z},{x:t.x+m.x,y:t.y+m.y,z:t.z+m.z}],i.chart))&&(g={x:-g.x,y:-g.y,z:-g.z});let e=l([{x:t.x,y:t.y,z:t.z},{x:t.x+g.x,y:t.y+g.y,z:t.z+g.z},{x:t.x+m.x,y:t.y+m.y,z:t.z+m.z}],i.chart);M.matrix=[e[1].x-e[0].x,e[1].y-e[0].y,e[2].x-e[0].x,e[2].y-e[0].y,M.x,M.y],M.matrix[4]-=M.x*M.matrix[0]+M.y*M.matrix[2],M.matrix[5]-=M.x*M.matrix[1]+M.y*M.matrix[3]}return M}swapZ(t,e){let i=this.axis;if(i.isZAxis){let s=e?0:i.chart.plotLeft;return{x:s+t.z,y:t.y,z:t.x-s}}return t}}return S}),i(e,"Core/Series/Series3D.js",[e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Series/Series.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:o}=t,{perspective:r}=e,{addEvent:a,extend:n,isNumber:l,merge:h,pick:p,pushUnique:c}=s;class d extends i{static compose(t){c(o,"Core.Series3D")&&(a(t,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()}),n(t.prototype,{translate3dPoints:d.prototype.translate3dPoints}))}translate3dPoints(){let t,e;let i=this,s=i.options,o=i.chart,a=p(i.zAxis,o.options.zAxis[0]),n=[],h=[],c=s.stacking?l(s.stack)?s.stack:0:i.index||0;i.zPadding=c*(s.depth||0+(s.groupZPadding||1)),i.data.forEach(t=>{a&&a.translate?(e=a.logarithmic&&a.val2lin?a.val2lin(t.z):t.z,t.plotZ=a.translate(e),t.isInside=!!t.isInside&&e>=a.min&&e<=a.max):t.plotZ=i.zPadding,t.axisXpos=t.plotX,t.axisYpos=t.plotY,t.axisZpos=t.plotZ,n.push({x:t.plotX,y:t.plotY,z:t.plotZ}),h.push(t.plotX||0)}),i.rawPointsX=h;let d=r(n,o,!0);i.data.forEach((e,i)=>{t=d[i],e.plotX=t.x,e.plotY=t.y,e.plotZ=t.z})}}return d.defaultOptions=h(i.defaultOptions),d}),i(e,"Core/Renderer/SVG/SVGElement3D.js",[e["Core/Color/Color.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{parse:s}=t,{Element:o}=e.getRendererType().prototype,{defined:r,pick:a}=i;class n extends o{constructor(){super(...arguments),this.parts=["front","top","side"],this.pathType="cuboid"}initArgs(t){let e=this.renderer,i=e[this.pathType+"Path"](t),s=i.zIndexes;for(let t of this.parts){let o={class:"highcharts-3d-"+t,zIndex:s[t]||0};e.styledMode&&("top"===t?o.filter="url(#highcharts-brighter)":"side"===t&&(o.filter="url(#highcharts-darker)")),this[t]=e.path(i[t]).attr(o).add(this)}this.attr({"stroke-linejoin":"round",zIndex:s.group}),this.forcedSides=i.forcedSides}singleSetterForParts(t,e,i,s,o,r){let a={},n=[null,null,s||"attr",o,r],l=i&&i.zIndexes;if(i){for(let e of(l&&l.group&&this.attr({zIndex:l.group}),Object.keys(i)))a[e]={},a[e][t]=i[e],l&&(a[e].zIndex=i.zIndexes[e]||0);n[1]=a}else a[t]=e,n[0]=a;return this.processParts.apply(this,n)}processParts(t,e,i,s,o){for(let r of this.parts)e&&(t=a(e[r],!1)),!1!==t&&this[r][i](t,s,o);return this}destroy(){return this.processParts(null,null,"destroy"),super.destroy()}attr(t,e,i,s){if("string"==typeof t&&void 0!==e){let i=t;(t={})[i]=e}return t.shapeArgs||r(t.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](t.shapeArgs||t)):super.attr(t,void 0,i,s)}animate(t,e,i){if(r(t.x)&&r(t.y)){let s=this.renderer[this.pathType+"Path"](t),o=s.forcedSides;this.singleSetterForParts("d",null,s,"animate",e,i),this.attr({zIndex:s.zIndexes.group}),o===this.forcedSides||(this.forcedSides=o,this.renderer.styledMode||this.fillSetter(this.fill))}else super.animate(t,e,i);return this}fillSetter(t){return this.forcedSides=this.forcedSides||[],this.singleSetterForParts("fill",null,{front:t,top:s(t).brighten(this.forcedSides.indexOf("top")>=0?0:.1).get(),side:s(t).brighten(this.forcedSides.indexOf("side")>=0?0:-.1).get()}),this.color=this.fill=t,this}}return n.types={base:n,cuboid:n},n}),i(e,"Core/Renderer/SVG/SVGRenderer3D.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Color/Color.js"],e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Renderer/SVG/SVGElement3D.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){var a;let{animObject:n}=t,{parse:l}=e,{charts:h,deg2rad:p}=i,{perspective:c,shapeArea:d}=s,{defined:x,extend:y,merge:f,pick:u}=r,z=Math.cos,b=Math.sin,g=Math.PI,m=4*(Math.sqrt(2)-1)/3/(g/2);function v(t,e,i,s,o,r,a,n){let l=r-o,h=[];return r>o&&r-o>Math.PI/2+1e-4?h=(h=h.concat(v(t,e,i,s,o,o+Math.PI/2,a,n))).concat(v(t,e,i,s,o+Math.PI/2,r,a,n)):r<o&&o-r>Math.PI/2+1e-4?h=(h=h.concat(v(t,e,i,s,o,o-Math.PI/2,a,n))).concat(v(t,e,i,s,o-Math.PI/2,r,a,n)):[["C",t+i*Math.cos(o)-i*m*l*Math.sin(o)+a,e+s*Math.sin(o)+s*m*l*Math.cos(o)+n,t+i*Math.cos(r)+i*m*l*Math.sin(r)+a,e+s*Math.sin(r)-s*m*l*Math.cos(r)+n,t+i*Math.cos(r)+a,e+s*Math.sin(r)+n]]}return function(t){function e(t,e){let i=[];for(let e of t)i.push(["L",e.x,e.y]);return t.length&&(i[0][0]="M",e&&i.push(["Z"])),i}function s(t){let e=[],i=!0;for(let s of t)e.push(i?["M",s.x,s.y]:["L",s.x,s.y]),i=!i;return e}function r(t){let e=this,i=e.Element.prototype,s=e.createElement("path");return s.vertexes=[],s.insidePlotArea=!1,s.enabled=!0,s.attr=function(t){if("object"==typeof t&&(x(t.enabled)||x(t.vertexes)||x(t.insidePlotArea))){this.enabled=u(t.enabled,this.enabled),this.vertexes=u(t.vertexes,this.vertexes),this.insidePlotArea=u(t.insidePlotArea,this.insidePlotArea),delete t.enabled,delete t.vertexes,delete t.insidePlotArea;let i=h[e.chartIndex],s=c(this.vertexes,i,this.insidePlotArea),o=e.toLinePath(s,!0),r=d(s);t.d=o,t.visibility=this.enabled&&r>0?"inherit":"hidden"}return i.attr.apply(this,arguments)},s.animate=function(t){if("object"==typeof t&&(x(t.enabled)||x(t.vertexes)||x(t.insidePlotArea))){this.enabled=u(t.enabled,this.enabled),this.vertexes=u(t.vertexes,this.vertexes),this.insidePlotArea=u(t.insidePlotArea,this.insidePlotArea),delete t.enabled,delete t.vertexes,delete t.insidePlotArea;let i=h[e.chartIndex],s=c(this.vertexes,i,this.insidePlotArea),o=e.toLinePath(s,!0),r=d(s),a=this.enabled&&r>0?"visible":"hidden";t.d=o,this.attr("visibility",a)}return i.animate.apply(this,arguments)},s.attr(t)}function a(t){let e=this,i=e.Element.prototype,s=e.g(),o=s.destroy;return this.styledMode||s.attr({"stroke-linejoin":"round"}),s.faces=[],s.destroy=function(){for(let t=0;t<s.faces.length;t++)s.faces[t].destroy();return o.call(this)},s.attr=function(t,o,r,a){if("object"==typeof t&&x(t.faces)){for(;s.faces.length>t.faces.length;)s.faces.pop().destroy();for(;s.faces.length<t.faces.length;)s.faces.push(e.face3d().add(s));for(let i=0;i<t.faces.length;i++)e.styledMode&&delete t.faces[i].fill,s.faces[i].attr(t.faces[i],null,r,a);delete t.faces}return i.attr.apply(this,arguments)},s.animate=function(t,o,r){if(t&&t.faces){for(;s.faces.length>t.faces.length;)s.faces.pop().destroy();for(;s.faces.length<t.faces.length;)s.faces.push(e.face3d().add(s));for(let e=0;e<t.faces.length;e++)s.faces[e].animate(t.faces[e],o,r);delete t.faces}return i.animate.apply(this,arguments)},s.attr(t)}function m(t,e){let i=new o.types[t](this,"g");return i.initArgs(e),i}function M(t){return this.element3d("cuboid",t)}function S(t){let e=t.x||0,i=t.y||0,s=t.z||0,o=t.height||0,r=t.width||0,a=t.depth||0,n=h[this.chartIndex],l=n.options.chart.options3d.alpha,p=[],x,y=0,f=[{x:e,y:i,z:s},{x:e+r,y:i,z:s},{x:e+r,y:i+o,z:s},{x:e,y:i+o,z:s},{x:e,y:i+o,z:s+a},{x:e+r,y:i+o,z:s+a},{x:e+r,y:i,z:s+a},{x:e,y:i,z:s+a}];f=c(f,n,t.insidePlotArea);let u=t=>0===o&&t>1&&t<6?{x:f[t].x,y:f[t].y+10,z:f[t].z}:f[0].x===f[7].x&&t>=4?{x:f[t].x+10,y:f[t].y,z:f[t].z}:0===a&&t<2||t>5?{x:f[t].x,y:f[t].y,z:f[t].z+10}:f[t],z=t=>f[t],b=(t,e,i)=>{let s=t.map(z),o=e.map(z),r=t.map(u),a=e.map(u),n=[[],-1];return 0>d(s)?n=[s,0]:0>d(o)?n=[o,1]:i&&(p.push(i),n=0>d(r)?[s,0]:0>d(a)?[o,1]:[s,0]),n},g=(x=b([3,2,1,0],[7,6,5,4],"front"))[0],m=x[1],v=(x=b([1,6,7,0],[4,5,2,3],"top"))[0],M=x[1],S=(x=b([1,2,5,6],[0,7,4,3],"side"))[0],A=x[1];return 1===A?y+=1e6*(n.plotWidth-e):A||(y+=1e6*e),y+=10*(!M||l>=0&&l<=180||l<360&&l>357.5?n.plotHeight-i:10+i),1===m?y+=100*s:m||(y+=100*(1e3-s)),{front:this.toLinePath(g,!0),top:this.toLinePath(v,!0),side:this.toLinePath(S,!0),zIndexes:{group:Math.round(y)},forcedSides:p,isFront:m,isTop:M}}function A(t){let e=this.g(),s=this.Element.prototype,o=["x","y","r","innerR","start","end","depth"];function r(t){let e={},i=!1,s;for(s in t=f(t))-1!==o.indexOf(s)&&(e[s]=t[s],delete t[s],i=!0);return!!i&&[e,t]}for(let i of((t=f(t)).alpha=(t.alpha||0)*p,t.beta=(t.beta||0)*p,e.top=this.path(),e.side1=this.path(),e.side2=this.path(),e.inn=this.path(),e.out=this.path(),e.onAdd=function(){let t=e.parentGroup,i=e.attr("class");for(let s of(e.top.add(e),["out","inn","side1","side2"]))e[s].attr({class:i+" highcharts-3d-side"}).add(t)},["addClass","removeClass"]))e[i]=function(){let t=arguments;for(let s of["top","out","inn","side1","side2"])e[s][i].apply(e[s],t)};for(let i of(e.setPaths=function(t){let i=e.renderer.arc3dPath(t),s=100*i.zTop;e.attribs=t,e.top.attr({d:i.top,zIndex:i.zTop}),e.inn.attr({d:i.inn,zIndex:i.zInn}),e.out.attr({d:i.out,zIndex:i.zOut}),e.side1.attr({d:i.side1,zIndex:i.zSide1}),e.side2.attr({d:i.side2,zIndex:i.zSide2}),e.zIndex=s,e.attr({zIndex:s}),t.center&&(e.top.setRadialReference(t.center),delete t.center)},e.setPaths(t),e.fillSetter=function(t){let e=l(t).brighten(-.1).get();return this.fill=t,this.side1.attr({fill:e}),this.side2.attr({fill:e}),this.inn.attr({fill:e}),this.out.attr({fill:e}),this.top.attr({fill:t}),this},["opacity","translateX","translateY","visibility"]))e[i+"Setter"]=function(t,i){for(let s of(e[i]=t,["out","inn","side1","side2","top"]))e[s].attr(i,t)};return e.attr=function(t){let i,o;return"object"==typeof t&&(o=r(t))&&(i=o[0],arguments[0]=o[1],y(e.attribs,i),e.setPaths(e.attribs)),s.attr.apply(e,arguments)},e.animate=function(t,o,a){let l,h;let p=this.attribs,c="data-"+Math.random().toString(26).substring(2,9);delete t.center,delete t.z,delete t.alpha,delete t.beta;let d=n(u(o,this.renderer.globalAnimation));return d.duration&&(l=r(t),e[c]=0,t[c]=1,e[c+"Setter"]=i.noop,l&&(h=l[0],d.step=function(t,e){let i=t=>p[t]+(u(h[t],p[t])-p[t])*e.pos;e.prop===c&&e.elem.setPaths(f(p,{x:i("x"),y:i("y"),r:i("r"),innerR:i("innerR"),start:i("start"),end:i("end"),depth:i("depth")}))}),o=d),s.animate.call(this,t,o,a)},e.destroy=function(){return this.top.destroy(),this.out.destroy(),this.inn.destroy(),this.side1.destroy(),this.side2.destroy(),s.destroy.call(this)},e.hide=function(){this.top.hide(),this.out.hide(),this.inn.hide(),this.side1.hide(),this.side2.hide()},e.show=function(t){this.top.show(t),this.out.show(t),this.inn.show(t),this.side1.show(t),this.side2.show(t)},e}function P(t){let e=t.x||0,i=t.y||0,s=t.start||0,o=(t.end||0)-1e-5,r=t.r||0,a=t.innerR||0,n=t.depth||0,l=t.alpha||0,h=t.beta||0,p=Math.cos(s),c=Math.sin(s),d=Math.cos(o),x=Math.sin(o),y=r*Math.cos(h),f=r*Math.cos(l),u=a*Math.cos(h),m=a*Math.cos(l),M=n*Math.sin(h),S=n*Math.sin(l),A=[["M",e+y*p,i+f*c]];(A=A.concat(v(e,i,y,f,s,o,0,0))).push(["L",e+u*d,i+m*x]),(A=A.concat(v(e,i,u,m,o,s,0,0))).push(["Z"]);let P=h>0?Math.PI/2:0,D=l>0?0:Math.PI/2,C=s>-P?s:o>-P?-P:s,j=o<g-D?o:s<g-D?g-D:o,k=2*g-D,L=[["M",e+y*z(C),i+f*b(C)]];L=L.concat(v(e,i,y,f,C,j,0,0)),o>k&&s<k?(L.push(["L",e+y*z(j)+M,i+f*b(j)+S]),(L=L.concat(v(e,i,y,f,j,k,M,S))).push(["L",e+y*z(k),i+f*b(k)]),(L=L.concat(v(e,i,y,f,k,o,0,0))).push(["L",e+y*z(o)+M,i+f*b(o)+S]),(L=L.concat(v(e,i,y,f,o,k,M,S))).push(["L",e+y*z(k),i+f*b(k)]),L=L.concat(v(e,i,y,f,k,j,0,0))):o>g-D&&s<g-D&&(L.push(["L",e+y*Math.cos(j)+M,i+f*Math.sin(j)+S]),(L=L.concat(v(e,i,y,f,j,o,M,S))).push(["L",e+y*Math.cos(o),i+f*Math.sin(o)]),L=L.concat(v(e,i,y,f,o,j,0,0))),L.push(["L",e+y*Math.cos(j)+M,i+f*Math.sin(j)+S]),(L=L.concat(v(e,i,y,f,j,C,M,S))).push(["Z"]);let w=[["M",e+u*p,i+m*c]];(w=w.concat(v(e,i,u,m,s,o,0,0))).push(["L",e+u*Math.cos(o)+M,i+m*Math.sin(o)+S]),(w=w.concat(v(e,i,u,m,o,s,M,S))).push(["Z"]);let I=[["M",e+y*p,i+f*c],["L",e+y*p+M,i+f*c+S],["L",e+u*p+M,i+m*c+S],["L",e+u*p,i+m*c],["Z"]],T=[["M",e+y*d,i+f*x],["L",e+y*d+M,i+f*x+S],["L",e+u*d+M,i+m*x+S],["L",e+u*d,i+m*x],["Z"]],X=Math.atan2(S,-M),G=Math.abs(o+X),Z=Math.abs(s+X),Y=Math.abs((s+o)/2+X);function R(t){return(t%=2*Math.PI)>Math.PI&&(t=2*Math.PI-t),t}G=R(G),Z=R(Z);let E=1e5*(Y=R(Y)),F=1e5*Z,O=1e5*G;return{top:A,zTop:1e5*Math.PI+1,out:L,zOut:Math.max(E,F,O),inn:w,zInn:Math.max(E,F,O),side1:I,zSide1:.99*O,side2:T,zSide2:.99*F}}t.compose=function(t){let i=t.prototype;i.element3d||y(i,{Element3D:o,arc3d:A,arc3dPath:P,cuboid:M,cuboidPath:S,element3d:m,face3d:r,polyhedron:a,toLinePath:e,toLineSegments:s})}}(a||(a={})),a}),i(e,"Core/Axis/ZAxis.js",[e["Core/Axis/Axis.js"],e["Core/Defaults.js"],e["Core/Utilities.js"]],function(t,e,i){let{defaultOptions:s}=e,{addEvent:o,merge:r,pick:a,splat:n}=i;function l(t){return new p(this,t)}function h(){let t=this.options.zAxis=n(this.options.zAxis||{});this.is3d()&&(this.zAxis=[],t.forEach(t=>{this.addZAxis(t).setScale()}))}class p extends t{constructor(){super(...arguments),this.isZAxis=!0}static compose(t){let e=t.prototype;e.addZAxis||(s.zAxis=r(s.xAxis,{offset:0,lineWidth:0}),e.addZAxis=l,e.collectionsWithInit.zAxis=[e.addZAxis],e.collectionsWithUpdate.push("zAxis"),o(t,"afterGetAxes",h))}init(t,e){this.isZAxis=!0,super.init(t,e,"zAxis")}getSeriesExtremes(){this.hasVisibleSeries=!1,this.dataMin=this.dataMax=this.ignoreMinPadding=this.ignoreMaxPadding=void 0,this.stacking&&this.stacking.buildStacks(),this.series.forEach(t=>{if(t.reserveSpace()){let e=t.options.threshold;this.hasVisibleSeries=!0,this.positiveValuesOnly&&e<=0&&(e=void 0);let i=t.zData;i.length&&(this.dataMin=Math.min(a(this.dataMin,i[0]),Math.min.apply(null,i)),this.dataMax=Math.max(a(this.dataMax,i[0]),Math.max.apply(null,i)))}})}setAxisSize(){let t=this.chart;super.setAxisSize(),this.width=this.len=t.options.chart.options3d&&t.options.chart.options3d.depth||0,this.right=t.chartWidth-this.width-this.left}}return p}),i(e,"Series/Column3D/Column3DComposition.js",[e["Core/Globals.js"],e["Core/Math3D.js"],e["Core/Utilities.js"]],function(t,e,i){let{composed:s}=t,{perspective:o}=e,{addEvent:r,extend:a,pick:n,pushUnique:l,wrap:h}=i;function p(){let t=this.chart,e=this.options,i=e.depth,s=(e.stacking?e.stack||0:this.index)*(i+(e.groupZPadding||1)),r=this.borderWidth%2?.5:0,n;for(let l of(t.inverted&&!this.yAxis.reversed&&(r*=-1),!1!==e.grouping&&(s=0),s+=e.groupZPadding||1,this.points))if(l.outside3dPlot=null,null!==l.y){let e;let h=a({x:0,y:0,width:0,height:0},l.shapeArgs||{}),p=[["x","width"],["y","height"]],c=l.tooltipPos;for(let t of p)if((e=h[t[0]]-r)<0&&(h[t[1]]+=h[t[0]]+r,h[t[0]]=-r,e=0),e+h[t[1]]>this[t[0]+"Axis"].len&&0!==h[t[1]]&&(h[t[1]]=this[t[0]+"Axis"].len-h[t[0]]),0!==h[t[1]]&&(h[t[0]]>=this[t[0]+"Axis"].len||h[t[0]]+h[t[1]]<=r)){for(let t in h)h[t]="y"===t?-9999:0;l.outside3dPlot=!0}if("roundedRect"===l.shapeType&&(l.shapeType="cuboid"),l.shapeArgs=a(h,{z:s,depth:i,insidePlotArea:!0}),n={x:h.x+h.width/2,y:h.y,z:s+i/2},t.inverted&&(n.x=h.height,n.y=l.clientX||0),l.axisXpos=n.x,l.axisYpos=n.y,l.axisZpos=n.z,l.plot3d=o([n],t,!0,!1)[0],c){let e=o([{x:c[0],y:c[1],z:s+i/2}],t,!0,!1)[0];l.tooltipPos=[e.x,e.y]}}this.z=s}function c(){if(this.chart.is3d()){let t=this.options,e=t.grouping,i=t.stacking,s=this.yAxis.options.reversedStacks,o=0;if(!(void 0!==e&&!e)){let e;let r=function(t,e){let i=t.series,s={totalStacks:0},o,r=1;return i.forEach(function(t){s[o=n(t.options.stack,e?0:i.length-1-t.index)]?s[o].series.push(t):(s[o]={series:[t],position:r},r++)}),s.totalStacks=r+1,s}(this.chart,i),a=t.stack||0;for(e=0;e<r[a].series.length&&r[a].series[e]!==this;e++);o=10*(r.totalStacks-r[a].position)+(s?e:-e),this.xAxis.reversed||(o=10*r.totalStacks-o)}t.depth=t.depth||25,this.z=this.z||0,t.zIndex=o}}function d(t,...e){return this.series.chart.is3d()?this.graphic&&"g"!==this.graphic.element.nodeName:t.apply(this,e)}function x(t){if(this.chart.is3d()){let t=arguments,e=t[1],i=this.yAxis,s=this.yAxis.reversed;if(e)for(let t of this.points)null===t.y||(t.height=t.shapeArgs.height,t.shapey=t.shapeArgs.y,t.shapeArgs.height=1,s||(t.stackY?t.shapeArgs.y=t.plotY+i.translate(t.stackY):t.shapeArgs.y=t.plotY+(t.negative?-t.height:t.height)));else{for(let t of this.points)null!==t.y&&(t.shapeArgs.height=t.height,t.shapeArgs.y=t.shapey,t.graphic&&t.graphic[t.outside3dPlot?"attr":"animate"](t.shapeArgs,this.options.animation));this.drawDataLabels()}}else t.apply(this,[].slice.call(arguments,1))}function y(t,e,i,s,o,r){return"dataLabelsGroup"!==e&&"markerGroup"!==e&&this.chart.is3d()&&(this[e]&&delete this[e],r&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(r)),this[e]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[e].survive=!0,"group"===e&&(arguments[3]="visible"))),t.apply(this,Array.prototype.slice.call(arguments,1))}function f(t){let e=t.apply(this,[].slice.call(arguments,1));return this.chart.is3d&&this.chart.is3d()&&(e.stroke=this.options.edgeColor||e.fill,e["stroke-width"]=n(this.options.edgeWidth,1)),e}function u(t,e,i){let s=this.chart.is3d&&this.chart.is3d();s&&(this.options.inactiveOtherPoints=!0),t.call(this,e,i),s&&(this.options.inactiveOtherPoints=!1)}function z(t,e){if(this.chart.is3d())for(let t of this.points)t.visible=t.options.visible=e=void 0===e?!n(this.visible,t.visible):e,this.options.data[this.data.indexOf(t)]=t.options,t.graphic&&t.graphic.attr({visibility:e?"visible":"hidden"});t.apply(this,Array.prototype.slice.call(arguments,1))}function b(t){t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()&&this.translate3dShapes()}function g(t,e,i,s,r){let a=this.chart;if(s.outside3dPlot=e.outside3dPlot,a.is3d()&&this.is("column")){let t=this.options,i=n(s.inside,!!this.options.stacking),l=a.options.chart.options3d,h=e.pointWidth/2||0,p={x:r.x+h,y:r.y,z:this.z+t.depth/2};a.inverted&&(i&&(r.width=0,p.x+=e.shapeArgs.height/2),l.alpha>=90&&l.alpha<=270&&(p.y+=e.shapeArgs.width)),p=o([p],a,!0,!1)[0],r.x=p.x-h,r.y=e.outside3dPlot?-9e9:p.y}t.apply(this,[].slice.call(arguments,1))}function m(t){return!arguments[2].outside3dPlot&&t.apply(this,[].slice.call(arguments,1))}function v(t,e){let i=t.apply(this,[].slice.call(arguments,1)),s=this.axis.chart,{width:r}=e;if(s.is3d()&&this.base){let t=+this.base.split(",")[0],e=s.series[t],a=s.options.chart.options3d;if(e&&"column"===e.type){let t={x:i.x+(s.inverted?i.height:r/2),y:i.y,z:e.options.depth/2};s.inverted&&(i.width=0,a.alpha>=90&&a.alpha<=270&&(t.y+=r)),t=o([t],s,!0,!1)[0],i.x=t.x-r/2,i.y=t.y}}return i}return{compose:function(t,e){if(l(s,"Column3D")){let i=t.prototype,s=e.prototype,{column:o,columnRange:a}=t.types;if(h(i,"alignDataLabel",g),h(i,"justifyDataLabel",m),h(s,"getStackBox",v),o){let t=o.prototype,e=t.pointClass.prototype;t.translate3dPoints=()=>void 0,t.translate3dShapes=p,r(t,"afterInit",c),h(e,"hasNewShapeType",d),h(t,"animate",x),h(t,"plotGroup",y),h(t,"pointAttribs",f),h(t,"setState",u),h(t,"setVisible",z),h(t,"translate",b)}if(a){let t=a.prototype;h(t.pointClass.prototype,"hasNewShapeType",d),h(t,"plotGroup",y),h(t,"pointAttribs",f),h(t,"setState",u),h(t,"setVisible",z)}}}}}),i(e,"Series/Pie3D/Pie3DPoint.js",[e["Core/Series/SeriesRegistry.js"]],function(t){let{pie:{prototype:{pointClass:e}}}=t.seriesTypes;return class extends e{haloPath(){return this.series?.chart.is3d()?[]:super.haloPath.apply(this,arguments)}}}),i(e,"Series/Pie3D/Pie3DSeries.js",[e["Core/Globals.js"],e["Series/Pie3D/Pie3DPoint.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{composed:o,deg2rad:r}=t,{pie:a}=i.seriesTypes,{extend:n,pick:l,pushUnique:h}=s;class p extends a{static compose(t){h(o,"Pie3D")&&(t.types.pie=p)}addPoint(){super.addPoint.apply(this,arguments),this.chart.is3d()&&this.update(this.userOptions,!0)}animate(t){if(this.chart.is3d()){let e=this.center,i=this.group,s=this.markerGroup,o=this.options.animation,r;!0===o&&(o={}),t?(i.oldtranslateX=l(i.oldtranslateX,i.translateX),i.oldtranslateY=l(i.oldtranslateY,i.translateY),r={translateX:e[0],translateY:e[1],scaleX:.001,scaleY:.001},i.attr(r),s&&(s.attrSetters=i.attrSetters,s.attr(r))):(r={translateX:i.oldtranslateX,translateY:i.oldtranslateY,scaleX:1,scaleY:1},i.animate(r,o),s&&s.animate(r,o))}else super.animate.apply(this,arguments)}getDataLabelPosition(t,e){let i=super.getDataLabelPosition(t,e);if(this.chart.is3d()){let e=this.chart.options.chart.options3d,s=t.shapeArgs,o=s.r,a=(s.alpha||e?.alpha)*r,n=(s.beta||e?.beta)*r,l=(s.start+s.end)/2,h=i.connectorPosition,p=-o*(1-Math.cos(a))*Math.sin(l),c=o*(Math.cos(n)-1)*Math.cos(l);for(let t of[i?.natural,h.breakAt,h.touchingSliceAt])t.x+=c,t.y+=p}return i}pointAttribs(t){let e=super.pointAttribs.apply(this,arguments),i=this.options;return this.chart.is3d()&&!this.chart.styledMode&&(e.stroke=i.edgeColor||t.color||this.color,e["stroke-width"]=l(i.edgeWidth,1)),e}translate(){if(super.translate.apply(this,arguments),!this.chart.is3d())return;let t=this.options,e=t.depth||0,i=this.chart.options.chart.options3d,s=i.alpha,o=i.beta,a=t.stacking?(t.stack||0)*e:this._i*e;for(let i of(a+=e/2,!1!==t.grouping&&(a=0),this.points)){let n=i.shapeArgs;i.shapeType="arc3d",n.z=a,n.depth=.75*e,n.alpha=s,n.beta=o,n.center=this.center;let l=(n.end+n.start)/2;i.slicedTranslation={translateX:Math.round(Math.cos(l)*t.slicedOffset*Math.cos(s*r)),translateY:Math.round(Math.sin(l)*t.slicedOffset*Math.cos(s*r))}}}drawTracker(){if(super.drawTracker.apply(this,arguments),this.chart.is3d()){for(let t of this.points)if(t.graphic)for(let e of["out","inn","side1","side2"])t.graphic&&(t.graphic[e].element.point=t)}}}return n(p.prototype,{pointClass:e}),p}),i(e,"Series/Scatter3D/Scatter3DPoint.js",[e["Series/Scatter/ScatterSeries.js"],e["Core/Utilities.js"]],function(t,e){let{pointClass:i}=t.prototype,{defined:s}=e;return class extends i{applyOptions(){return super.applyOptions.apply(this,arguments),s(this.z)||(this.z=0),this}}}),i(e,"Series/Scatter3D/Scatter3DSeriesDefaults.js",[],function(){return{tooltip:{pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>"}}}),i(e,"Series/Scatter3D/Scatter3DSeries.js",[e["Core/Math3D.js"],e["Series/Scatter3D/Scatter3DPoint.js"],e["Series/Scatter3D/Scatter3DSeriesDefaults.js"],e["Series/Scatter/ScatterSeries.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i,s,o,r){let{pointCameraDistance:a}=t,{extend:n,merge:l}=r;class h extends s{pointAttribs(t){let e=super.pointAttribs.apply(this,arguments);return this.chart.is3d()&&t&&(e.zIndex=a(t,this.chart)),e}}return h.defaultOptions=l(s.defaultOptions,i),n(h.prototype,{axisTypes:["xAxis","yAxis","zAxis"],directTouch:!0,parallelArrays:["x","y","z"],pointArrayMap:["x","y","z"],pointClass:e}),o.registerSeriesType("scatter3d",h),h}),i(e,"masters/highcharts-3d.src.js",[e["Core/Globals.js"],e["Core/Chart/Chart3D.js"],e["Series/Area3D/Area3DSeries.js"],e["Core/Axis/Axis3DComposition.js"],e["Core/Renderer/RendererRegistry.js"],e["Core/Series/Series3D.js"],e["Core/Axis/Stacking/StackItem.js"],e["Core/Renderer/SVG/SVGRenderer3D.js"],e["Core/Axis/ZAxis.js"],e["Series/Column3D/Column3DComposition.js"],e["Series/Pie3D/Pie3DSeries.js"]],function(t,e,i,s,o,r,a,n,l,h,p){return i.compose(t.seriesTypes.area),s.compose(t.Axis,t.Tick),e.compose(t.Chart,t.Fx),h.compose(t.Series,a),p.compose(t.Series),r.compose(t.Series),n.compose(o.getRendererType()),l.compose(t.Chart),t})});
|
package/highcharts-3d.src.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Highcharts JS v11.
|
|
2
|
+
* @license Highcharts JS v11.4.0 (2024-03-05)
|
|
3
3
|
*
|
|
4
4
|
* 3D features for Highcharts JS
|
|
5
5
|
*
|
|
@@ -1645,7 +1645,7 @@
|
|
|
1645
1645
|
};
|
|
1646
1646
|
// Decide the bast place to put axis title/labels based on the
|
|
1647
1647
|
// visible faces. Ideally, The labels can only be on the edge
|
|
1648
|
-
// between a visible face and an
|
|
1648
|
+
// between a visible face and an invisible one. Also, the Y label
|
|
1649
1649
|
// should be one the left-most edge (right-most if opposite).
|
|
1650
1650
|
if (options3d.axisLabelPosition === 'auto') {
|
|
1651
1651
|
const isValidEdge = function (face1, face2) {
|
|
@@ -1987,7 +1987,7 @@
|
|
|
1987
1987
|
*
|
|
1988
1988
|
* */
|
|
1989
1989
|
function compose(AreaSeriesClass) {
|
|
1990
|
-
if (pushUnique(composed,
|
|
1990
|
+
if (pushUnique(composed, 'Area3DSeries')) {
|
|
1991
1991
|
wrap(AreaSeriesClass.prototype, 'getGraphPath', wrapAreaSeriesGetGraphPath);
|
|
1992
1992
|
}
|
|
1993
1993
|
}
|
|
@@ -2058,7 +2058,7 @@
|
|
|
2058
2058
|
*
|
|
2059
2059
|
* (c) 2010-2024 Torstein Honsi
|
|
2060
2060
|
*
|
|
2061
|
-
*
|
|
2061
|
+
* Extension for 3d axes
|
|
2062
2062
|
*
|
|
2063
2063
|
* License: www.highcharts.com/license
|
|
2064
2064
|
*
|
|
@@ -2190,7 +2190,7 @@
|
|
|
2190
2190
|
*
|
|
2191
2191
|
* (c) 2010-2024 Torstein Honsi
|
|
2192
2192
|
*
|
|
2193
|
-
*
|
|
2193
|
+
* Extension for 3d axes
|
|
2194
2194
|
*
|
|
2195
2195
|
* License: www.highcharts.com/license
|
|
2196
2196
|
*
|
|
@@ -2208,7 +2208,7 @@
|
|
|
2208
2208
|
* @private
|
|
2209
2209
|
*/
|
|
2210
2210
|
function compose(TickClass) {
|
|
2211
|
-
if (pushUnique(composed,
|
|
2211
|
+
if (pushUnique(composed, 'Axis.Tick3D')) {
|
|
2212
2212
|
addEvent(TickClass, 'afterGetLabelPosition', onTickAfterGetLabelPosition);
|
|
2213
2213
|
wrap(TickClass.prototype, 'getMarkPath', wrapTickGetMarkPath);
|
|
2214
2214
|
}
|
|
@@ -2256,7 +2256,7 @@
|
|
|
2256
2256
|
*
|
|
2257
2257
|
* (c) 2010-2024 Torstein Honsi
|
|
2258
2258
|
*
|
|
2259
|
-
*
|
|
2259
|
+
* Extension for 3d axes
|
|
2260
2260
|
*
|
|
2261
2261
|
* License: www.highcharts.com/license
|
|
2262
2262
|
*
|
|
@@ -2264,9 +2264,9 @@
|
|
|
2264
2264
|
*
|
|
2265
2265
|
* */
|
|
2266
2266
|
const { defaultOptions } = D;
|
|
2267
|
-
const {
|
|
2267
|
+
const { deg2rad } = H;
|
|
2268
2268
|
const { perspective, perspective3D, shapeArea } = Math3D;
|
|
2269
|
-
const { addEvent, merge, pick,
|
|
2269
|
+
const { addEvent, merge, pick, wrap } = U;
|
|
2270
2270
|
/* *
|
|
2271
2271
|
*
|
|
2272
2272
|
* Functions
|
|
@@ -2498,7 +2498,7 @@
|
|
|
2498
2498
|
*/
|
|
2499
2499
|
static compose(AxisClass, TickClass) {
|
|
2500
2500
|
Tick3D.compose(TickClass);
|
|
2501
|
-
if (
|
|
2501
|
+
if (!AxisClass.keepProps.includes('axis3D')) {
|
|
2502
2502
|
merge(true, defaultOptions.xAxis, Axis3DDefaults);
|
|
2503
2503
|
AxisClass.keepProps.push('axis3D');
|
|
2504
2504
|
addEvent(AxisClass, 'init', onAxisInit);
|
|
@@ -2643,7 +2643,7 @@
|
|
|
2643
2643
|
}
|
|
2644
2644
|
}
|
|
2645
2645
|
else if (positionMode === 'ortho') {
|
|
2646
|
-
// Labels will be rotated to be
|
|
2646
|
+
// Labels will be rotated to be orthogonal to the axis
|
|
2647
2647
|
if (!axis.horiz) { // Y Axis
|
|
2648
2648
|
vecX = { x: Math.cos(beta), y: 0, z: Math.sin(beta) };
|
|
2649
2649
|
}
|
|
@@ -2766,7 +2766,7 @@
|
|
|
2766
2766
|
*
|
|
2767
2767
|
* */
|
|
2768
2768
|
static compose(SeriesClass) {
|
|
2769
|
-
if (pushUnique(composed,
|
|
2769
|
+
if (pushUnique(composed, 'Core.Series3D')) {
|
|
2770
2770
|
addEvent(SeriesClass, 'afterTranslate', function () {
|
|
2771
2771
|
if (this.chart.is3d()) {
|
|
2772
2772
|
this.translate3dPoints();
|
|
@@ -2790,7 +2790,7 @@
|
|
|
2790
2790
|
const series = this, seriesOptions = series.options, chart = series.chart, zAxis = pick(series.zAxis, chart.options.zAxis[0]), rawPoints = [], rawPointsX = [], stack = seriesOptions.stacking ?
|
|
2791
2791
|
(isNumber(seriesOptions.stack) ? seriesOptions.stack : 0) :
|
|
2792
2792
|
series.index || 0;
|
|
2793
|
-
let
|
|
2793
|
+
let projectedPoint, zValue;
|
|
2794
2794
|
series.zPadding = stack *
|
|
2795
2795
|
(seriesOptions.depth || 0 + (seriesOptions.groupZPadding || 1));
|
|
2796
2796
|
series.data.forEach((rawPoint) => {
|
|
@@ -3042,9 +3042,9 @@
|
|
|
3042
3042
|
* */
|
|
3043
3043
|
const { animObject } = A;
|
|
3044
3044
|
const { parse: color } = Color;
|
|
3045
|
-
const { charts,
|
|
3045
|
+
const { charts, deg2rad } = H;
|
|
3046
3046
|
const { perspective, shapeArea } = Math3D;
|
|
3047
|
-
const { defined, extend, merge, pick
|
|
3047
|
+
const { defined, extend, merge, pick } = U;
|
|
3048
3048
|
/* *
|
|
3049
3049
|
*
|
|
3050
3050
|
* Constants
|
|
@@ -3107,8 +3107,9 @@
|
|
|
3107
3107
|
* */
|
|
3108
3108
|
/** @private */
|
|
3109
3109
|
function compose(SVGRendererClass) {
|
|
3110
|
-
|
|
3111
|
-
|
|
3110
|
+
const rendererProto = SVGRendererClass.prototype;
|
|
3111
|
+
if (!rendererProto.element3d) {
|
|
3112
|
+
extend(rendererProto, {
|
|
3112
3113
|
Element3D: SVGElement3D,
|
|
3113
3114
|
arc3d,
|
|
3114
3115
|
arc3dPath,
|
|
@@ -3273,7 +3274,7 @@
|
|
|
3273
3274
|
return elem3d;
|
|
3274
3275
|
}
|
|
3275
3276
|
/**
|
|
3276
|
-
*
|
|
3277
|
+
* generalized, so now use simply
|
|
3277
3278
|
* @private
|
|
3278
3279
|
*/
|
|
3279
3280
|
function cuboid(shapeArgs) {
|
|
@@ -3384,7 +3385,7 @@
|
|
|
3384
3385
|
mapPath = (i) => (pArr[i]),
|
|
3385
3386
|
/**
|
|
3386
3387
|
* First value - path with specific face
|
|
3387
|
-
* Second
|
|
3388
|
+
* Second value - added info about side for later calculations.
|
|
3388
3389
|
* Possible second values are 0 for path1, 1 for
|
|
3389
3390
|
* path2 and -1 for no path chosen.
|
|
3390
3391
|
* Third value - string containing information about current side of
|
|
@@ -3761,7 +3762,7 @@
|
|
|
3761
3762
|
out.push([
|
|
3762
3763
|
'L', cx + (rx * Math.cos(end)), cy + (ry * Math.sin(end))
|
|
3763
3764
|
]);
|
|
3764
|
-
// Go back to the
|
|
3765
|
+
// Go back to the artificial end2
|
|
3765
3766
|
out = out.concat(curveTo(cx, cy, rx, ry, end, end2, 0, 0));
|
|
3766
3767
|
}
|
|
3767
3768
|
out.push([
|
|
@@ -3842,7 +3843,7 @@
|
|
|
3842
3843
|
|
|
3843
3844
|
return SVGRenderer3D;
|
|
3844
3845
|
});
|
|
3845
|
-
_registerModule(_modules, 'Core/Axis/ZAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Core/
|
|
3846
|
+
_registerModule(_modules, 'Core/Axis/ZAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Defaults.js'], _modules['Core/Utilities.js']], function (Axis, D, U) {
|
|
3846
3847
|
/* *
|
|
3847
3848
|
*
|
|
3848
3849
|
* (c) 2010-2024 Torstein Honsi
|
|
@@ -3852,10 +3853,8 @@
|
|
|
3852
3853
|
* !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
|
|
3853
3854
|
*
|
|
3854
3855
|
* */
|
|
3855
|
-
const { xAxis } = AxisDefaults;
|
|
3856
3856
|
const { defaultOptions } = D;
|
|
3857
|
-
const {
|
|
3858
|
-
const { addEvent, merge, pick, pushUnique, splat } = U;
|
|
3857
|
+
const { addEvent, merge, pick, splat } = U;
|
|
3859
3858
|
/* *
|
|
3860
3859
|
*
|
|
3861
3860
|
* Functions
|
|
@@ -3877,7 +3876,7 @@
|
|
|
3877
3876
|
return;
|
|
3878
3877
|
}
|
|
3879
3878
|
this.zAxis = [];
|
|
3880
|
-
zAxisOptions.forEach((axisOptions
|
|
3879
|
+
zAxisOptions.forEach((axisOptions) => {
|
|
3881
3880
|
this.addZAxis(axisOptions).setScale();
|
|
3882
3881
|
});
|
|
3883
3882
|
}
|
|
@@ -3900,16 +3899,16 @@
|
|
|
3900
3899
|
this.isZAxis = true;
|
|
3901
3900
|
}
|
|
3902
3901
|
static compose(ChartClass) {
|
|
3903
|
-
|
|
3904
|
-
|
|
3905
|
-
defaultOptions.zAxis = merge(xAxis, {
|
|
3902
|
+
const chartProto = ChartClass.prototype;
|
|
3903
|
+
if (!chartProto.addZAxis) {
|
|
3904
|
+
defaultOptions.zAxis = merge(defaultOptions.xAxis, {
|
|
3906
3905
|
offset: 0,
|
|
3907
3906
|
lineWidth: 0
|
|
3908
3907
|
});
|
|
3909
|
-
addEvent(ChartClass, 'afterGetAxes', onChartAfterGetAxes);
|
|
3910
3908
|
chartProto.addZAxis = chartAddZAxis;
|
|
3911
3909
|
chartProto.collectionsWithInit.zAxis = [chartProto.addZAxis];
|
|
3912
3910
|
chartProto.collectionsWithUpdate.push('zAxis');
|
|
3911
|
+
addEvent(ChartClass, 'afterGetAxes', onChartAfterGetAxes);
|
|
3913
3912
|
}
|
|
3914
3913
|
}
|
|
3915
3914
|
/* *
|
|
@@ -3928,7 +3927,6 @@
|
|
|
3928
3927
|
*
|
|
3929
3928
|
* */
|
|
3930
3929
|
getSeriesExtremes() {
|
|
3931
|
-
const chart = this.chart;
|
|
3932
3930
|
this.hasVisibleSeries = false;
|
|
3933
3931
|
// Reset properties in case we're redrawing (#3353)
|
|
3934
3932
|
this.dataMin = this.dataMax = this.ignoreMinPadding = (this.ignoreMaxPadding = void 0);
|
|
@@ -4088,7 +4086,7 @@
|
|
|
4088
4086
|
}
|
|
4089
4087
|
/** @private */
|
|
4090
4088
|
function compose(SeriesClass, StackItemClass) {
|
|
4091
|
-
if (pushUnique(composed,
|
|
4089
|
+
if (pushUnique(composed, 'Column3D')) {
|
|
4092
4090
|
const seriesProto = SeriesClass.prototype, stackItemProto = StackItemClass.prototype, { column: ColumnSeriesClass, columnRange: ColumnRangeSeriesClass } = SeriesClass.types;
|
|
4093
4091
|
wrap(seriesProto, 'alignDataLabel', wrapSeriesAlignDataLabel);
|
|
4094
4092
|
wrap(seriesProto, 'justifyDataLabel', wrapSeriesJustifyDataLabel);
|
|
@@ -4519,7 +4517,7 @@
|
|
|
4519
4517
|
*
|
|
4520
4518
|
* */
|
|
4521
4519
|
static compose(SeriesClass) {
|
|
4522
|
-
if (pushUnique(composed,
|
|
4520
|
+
if (pushUnique(composed, 'Pie3D')) {
|
|
4523
4521
|
SeriesClass.types.pie = Pie3DSeries;
|
|
4524
4522
|
}
|
|
4525
4523
|
}
|
|
@@ -4696,7 +4694,7 @@
|
|
|
4696
4694
|
* @requires highcharts-3d
|
|
4697
4695
|
* @apioption plotOptions.pie.depth
|
|
4698
4696
|
*/
|
|
4699
|
-
''; // keeps doclets above after
|
|
4697
|
+
''; // keeps doclets above after transpiledion
|
|
4700
4698
|
|
|
4701
4699
|
return Pie3DSeries;
|
|
4702
4700
|
});
|
|
@@ -4939,5 +4937,6 @@
|
|
|
4939
4937
|
SVGRenderer3D.compose(RendererRegistry.getRendererType());
|
|
4940
4938
|
ZAxis.compose(G.Chart);
|
|
4941
4939
|
|
|
4940
|
+
return G;
|
|
4942
4941
|
});
|
|
4943
4942
|
}));
|