highcharts 10.2.1 → 10.3.1

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.
Files changed (732) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +1 -1
  3. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +9 -6
  4. package/es-modules/Accessibility/Components/LegendComponent.js +36 -32
  5. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -1
  6. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +16 -16
  7. package/es-modules/Accessibility/Options/LangDefaults.js +4 -0
  8. package/es-modules/Core/Axis/Axis.js +42 -32
  9. package/es-modules/Core/Axis/Axis3DComposition.js +501 -0
  10. package/es-modules/Core/Axis/Axis3DDefaults.js +130 -0
  11. package/es-modules/Core/Axis/AxisDefaults.js +20 -7
  12. package/es-modules/Core/Axis/Color/ColorAxis.js +46 -52
  13. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +4 -2
  14. package/es-modules/Core/Axis/NavigatorAxisComposition.js +161 -0
  15. package/es-modules/Core/Axis/OrdinalAxis.js +2 -1
  16. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +1 -1
  17. package/es-modules/Core/Axis/RadialAxis.js +19 -5
  18. package/es-modules/Core/Axis/Tick.js +1 -1
  19. package/es-modules/Core/Axis/Tick3DComposition.js +71 -0
  20. package/es-modules/Core/Chart/Chart.js +16 -20
  21. package/es-modules/Core/Chart/Chart3D.js +4 -4
  22. package/es-modules/Core/Chart/ChartDefaults.js +33 -43
  23. package/es-modules/Core/Chart/GanttChart.js +1 -1
  24. package/es-modules/Core/Chart/MapChart.js +1 -1
  25. package/es-modules/Core/Chart/StockChart.js +11 -28
  26. package/es-modules/Core/{DefaultOptions.js → Defaults.js} +21 -37
  27. package/es-modules/Core/FormatUtilities.js +1 -1
  28. package/es-modules/Core/Globals.js +1 -1
  29. package/es-modules/Core/Legend/Legend.js +114 -110
  30. package/es-modules/Core/Legend/LegendSymbol.js +9 -6
  31. package/es-modules/Core/MSPointer.js +4 -2
  32. package/es-modules/Core/Pointer.js +125 -75
  33. package/es-modules/Core/Renderer/SVG/SVGElement.js +0 -3
  34. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +28 -14
  35. package/es-modules/Core/Series/DataLabel.js +8 -5
  36. package/es-modules/Core/Series/Point.js +38 -22
  37. package/es-modules/Core/Series/Series.js +12 -9
  38. package/es-modules/Core/Series/SeriesDefaults.js +36 -24
  39. package/es-modules/Core/Series/SeriesRegistry.js +2 -2
  40. package/es-modules/Core/Time.js +6 -5
  41. package/es-modules/Core/Tooltip.js +6 -28
  42. package/es-modules/Core/Utilities.js +6 -8
  43. package/es-modules/Extensions/Annotations/Annotation.js +1 -1
  44. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +13 -8
  45. package/es-modules/Extensions/Annotations/MockPoint.js +2 -1
  46. package/es-modules/Extensions/Annotations/NavigationBindings.js +4 -5
  47. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
  48. package/es-modules/Extensions/Annotations/Popup/Popup.js +2 -2
  49. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +4 -4
  50. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
  51. package/es-modules/Extensions/Boost/BoostSeries.js +11 -8
  52. package/es-modules/Extensions/Breadcrumbs.js +2 -2
  53. package/es-modules/Extensions/Data.js +2 -2
  54. package/es-modules/Extensions/DataGrouping/ApproximationDefaults.js +157 -0
  55. package/es-modules/Extensions/DataGrouping/ApproximationRegistry.js +35 -0
  56. package/es-modules/Extensions/DataGrouping/DataGrouping.js +469 -0
  57. package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +174 -0
  58. package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +143 -0
  59. package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +479 -0
  60. package/es-modules/Extensions/Debugger/Debugger.js +1 -1
  61. package/es-modules/Extensions/DraggablePoints.js +6 -2
  62. package/es-modules/Extensions/Drilldown.js +3 -5
  63. package/es-modules/Extensions/ExportData/ExportData.js +31 -5
  64. package/es-modules/Extensions/Exporting/Exporting.js +47 -60
  65. package/es-modules/Extensions/Exporting/ExportingDefaults.js +22 -24
  66. package/es-modules/Extensions/GeoJSON.js +3 -1
  67. package/es-modules/Extensions/MarkerClusters.js +1 -1
  68. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  69. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -5
  70. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  71. package/es-modules/Extensions/Oldie/Oldie.js +3 -3
  72. package/es-modules/Extensions/Oldie/VMLRenderer3D.js +1 -1
  73. package/es-modules/Extensions/OldiePolyfills.js +3 -1
  74. package/es-modules/Extensions/Pane.js +42 -5
  75. package/es-modules/Extensions/ParallelCoordinates.js +5 -1
  76. package/es-modules/Extensions/PatternFill.js +10 -10
  77. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  78. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +4 -0
  79. package/es-modules/Extensions/Sonification/Sonification.js +1 -1
  80. package/es-modules/Extensions/Themes/Avocado.js +1 -1
  81. package/es-modules/Extensions/Themes/BrandDark.js +1 -1
  82. package/es-modules/Extensions/Themes/BrandLight.js +1 -1
  83. package/es-modules/Extensions/Themes/DarkBlue.js +1 -1
  84. package/es-modules/Extensions/Themes/DarkGreen.js +1 -1
  85. package/es-modules/Extensions/Themes/DarkUnica.js +1 -1
  86. package/es-modules/Extensions/Themes/Gray.js +1 -1
  87. package/es-modules/Extensions/Themes/Grid.js +1 -1
  88. package/es-modules/Extensions/Themes/GridLight.js +1 -1
  89. package/es-modules/Extensions/Themes/HighContrastDark.js +1 -1
  90. package/es-modules/Extensions/Themes/HighContrastLight.js +1 -1
  91. package/es-modules/Extensions/Themes/SandSignika.js +1 -1
  92. package/es-modules/Extensions/Themes/Skies.js +1 -1
  93. package/es-modules/Extensions/Themes/Sunset.js +1 -1
  94. package/es-modules/Gantt/Connection.js +5 -5
  95. package/es-modules/Gantt/Pathfinder.js +6 -6
  96. package/es-modules/Maps/MapNavigation.js +1 -1
  97. package/es-modules/Maps/{MapNavigationOptionsDefault.js → MapNavigationDefaults.js} +4 -4
  98. package/es-modules/Maps/MapViewOptionsDefault.js +4 -4
  99. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -5
  100. package/es-modules/Series/AreaRange/AreaRangePoint.js +6 -10
  101. package/es-modules/Series/AreaRange/AreaRangeSeries.js +59 -48
  102. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -1
  103. package/es-modules/Series/Bubble/BubbleLegendComposition.js +22 -16
  104. package/es-modules/Series/Bubble/BubbleLegendItem.js +17 -21
  105. package/es-modules/Series/Candlestick/CandlestickSeries.js +15 -175
  106. package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +179 -0
  107. package/es-modules/Series/Column/ColumnSeries.js +25 -506
  108. package/es-modules/Series/Column/ColumnSeriesDefaults.js +487 -0
  109. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +40 -36
  110. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +2 -106
  111. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +183 -0
  112. package/es-modules/Series/DotPlot/DotPlotSeries.js +11 -12
  113. package/es-modules/Series/DrawPointUtilities.js +2 -14
  114. package/es-modules/Series/Dumbbell/DumbbellPoint.js +5 -4
  115. package/es-modules/Series/Dumbbell/DumbbellSeries.js +11 -7
  116. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +19 -136
  117. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +147 -0
  118. package/es-modules/Series/Flags/FlagsPoint.js +2 -3
  119. package/es-modules/Series/Flags/FlagsSeries.js +31 -298
  120. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +295 -0
  121. package/es-modules/Series/Flags/FlagsSymbols.js +96 -71
  122. package/es-modules/Series/HLC/HLCPoint.js +2 -2
  123. package/es-modules/Series/HLC/HLCSeries.js +7 -172
  124. package/es-modules/Series/HLC/HLCSeriesDefaults.js +184 -0
  125. package/es-modules/Series/Heatmap/HeatmapSeries.js +3 -0
  126. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -20
  127. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +78 -139
  128. package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +102 -0
  129. package/es-modules/Series/Item/ItemPoint.js +0 -1
  130. package/es-modules/Series/Item/ItemSeries.js +13 -8
  131. package/es-modules/Series/Line/LineSeries.js +8 -4
  132. package/es-modules/Series/Map/MapPoint.js +19 -1
  133. package/es-modules/Series/Map/MapSeries.js +7 -3
  134. package/es-modules/Series/MapBubble/MapBubbleSeries.js +4 -0
  135. package/es-modules/Series/MapPoint/MapPointPoint.js +0 -5
  136. package/es-modules/Series/MapPoint/MapPointSeries.js +24 -9
  137. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +2 -5
  138. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +2 -0
  139. package/es-modules/Series/OHLC/OHLCPoint.js +0 -2
  140. package/es-modules/Series/OHLC/OHLCSeries.js +64 -160
  141. package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +151 -0
  142. package/es-modules/Series/Organization/OrganizationPoint.js +0 -2
  143. package/es-modules/Series/Organization/OrganizationSeries.js +96 -469
  144. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +415 -0
  145. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -10
  146. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +2 -0
  147. package/es-modules/Series/PathUtilities.js +74 -0
  148. package/es-modules/Series/Pie/PieSeries.js +2 -644
  149. package/es-modules/Series/Pie/PieSeriesDefaults.js +660 -0
  150. package/es-modules/Series/PolarComposition.js +233 -15
  151. package/es-modules/Series/Sankey/SankeySeries.js +27 -530
  152. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +522 -0
  153. package/es-modules/Series/Scatter/ScatterSeries.js +2 -172
  154. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +188 -0
  155. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +12 -182
  156. package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +199 -0
  157. package/es-modules/Series/Sunburst/SunburstNode.js +34 -0
  158. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -1
  159. package/es-modules/Series/Sunburst/SunburstSeries.js +3 -1
  160. package/es-modules/Series/Timeline/TimelineSeries.js +2 -231
  161. package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +248 -0
  162. package/es-modules/Series/TreeUtilities.js +1 -2
  163. package/es-modules/Series/Treegraph/TreegraphLayout.js +338 -0
  164. package/es-modules/Series/Treegraph/TreegraphLink.js +92 -0
  165. package/es-modules/Series/Treegraph/TreegraphNode.js +206 -0
  166. package/es-modules/Series/Treegraph/TreegraphPoint.js +175 -0
  167. package/es-modules/Series/Treegraph/TreegraphSeries.js +510 -0
  168. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +231 -0
  169. package/es-modules/Series/Treemap/TreemapNode.js +48 -0
  170. package/es-modules/Series/Treemap/TreemapPoint.js +2 -1
  171. package/es-modules/Series/Treemap/TreemapSeries.js +29 -27
  172. package/es-modules/Series/Variwide/VariwideComposition.js +70 -26
  173. package/es-modules/Series/Variwide/VariwidePoint.js +8 -7
  174. package/es-modules/Series/Variwide/VariwideSeries.js +19 -14
  175. package/es-modules/Series/Vector/VectorSeries.js +2 -2
  176. package/es-modules/Series/Venn/VennSeries.js +14 -0
  177. package/es-modules/Series/Waterfall/WaterfallSeries.js +0 -1
  178. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -2
  179. package/es-modules/Series/Wordcloud/WordcloudSeries.js +3 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +1 -2
  181. package/es-modules/Stock/Indicators/BB/BBIndicator.js +15 -4
  182. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +21 -18
  183. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -2
  184. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
  185. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +1 -1
  186. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +0 -1
  187. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -4
  188. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +1 -2
  189. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +6 -7
  190. package/es-modules/{Core → Stock/Navigator}/Navigator.js +112 -686
  191. package/es-modules/Stock/Navigator/NavigatorComposition.js +218 -0
  192. package/es-modules/Stock/Navigator/NavigatorDefaults.js +490 -0
  193. package/es-modules/Stock/Navigator/NavigatorSymbols.js +44 -0
  194. package/es-modules/{Extensions → Stock/RangeSelector}/RangeSelector.js +154 -818
  195. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +286 -0
  196. package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +521 -0
  197. package/es-modules/{Core → Stock/Scrollbar}/Scrollbar.js +4 -4
  198. package/es-modules/{Core → Stock/Scrollbar}/ScrollbarDefaults.js +1 -1
  199. package/es-modules/Stock/{StockToolbar.js → StockTools/StockToolbar.js} +2 -2
  200. package/es-modules/Stock/{StockTools.js → StockTools/StockTools.js} +3 -3
  201. package/es-modules/Stock/{StockToolsBindings.js → StockTools/StockToolsBindings.js} +3 -3
  202. package/es-modules/Stock/{StockToolsDefaults.js → StockTools/StockToolsDefaults.js} +4 -4
  203. package/es-modules/Stock/{StockToolsGui.js → StockTools/StockToolsGui.js} +4 -4
  204. package/es-modules/Stock/{StockToolsUtilities.js → StockTools/StockToolsUtilities.js} +4 -4
  205. package/es-modules/masters/highcharts-3d.src.js +3 -5
  206. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  207. package/es-modules/masters/highcharts-more.src.js +1 -1
  208. package/es-modules/masters/highcharts.src.js +6 -6
  209. package/es-modules/masters/highmaps.src.js +1 -1
  210. package/es-modules/masters/highstock.src.js +1 -1
  211. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  212. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  213. package/es-modules/masters/indicators/ao.src.js +1 -1
  214. package/es-modules/masters/indicators/apo.src.js +1 -1
  215. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  216. package/es-modules/masters/indicators/aroon.src.js +1 -1
  217. package/es-modules/masters/indicators/atr.src.js +1 -1
  218. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  219. package/es-modules/masters/indicators/cci.src.js +1 -1
  220. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  221. package/es-modules/masters/indicators/cmf.src.js +1 -1
  222. package/es-modules/masters/indicators/cmo.src.js +1 -1
  223. package/es-modules/masters/indicators/dema.src.js +1 -1
  224. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  225. package/es-modules/masters/indicators/dmi.src.js +1 -1
  226. package/es-modules/masters/indicators/dpo.src.js +1 -1
  227. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  228. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  229. package/es-modules/masters/indicators/indicators.src.js +1 -1
  230. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  231. package/es-modules/masters/indicators/klinger.src.js +1 -1
  232. package/es-modules/masters/indicators/macd.src.js +1 -1
  233. package/es-modules/masters/indicators/mfi.src.js +1 -1
  234. package/es-modules/masters/indicators/momentum.src.js +1 -1
  235. package/es-modules/masters/indicators/natr.src.js +1 -1
  236. package/es-modules/masters/indicators/obv.src.js +1 -1
  237. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  238. package/es-modules/masters/indicators/ppo.src.js +1 -1
  239. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  240. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  241. package/es-modules/masters/indicators/psar.src.js +1 -1
  242. package/es-modules/masters/indicators/regressions.src.js +1 -1
  243. package/es-modules/masters/indicators/roc.src.js +1 -1
  244. package/es-modules/masters/indicators/rsi.src.js +1 -1
  245. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  246. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  247. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  248. package/es-modules/masters/indicators/tema.src.js +1 -1
  249. package/es-modules/masters/indicators/trendline.src.js +1 -1
  250. package/es-modules/masters/indicators/trix.src.js +1 -1
  251. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  252. package/es-modules/masters/indicators/vwap.src.js +1 -1
  253. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  254. package/es-modules/masters/indicators/wma.src.js +1 -1
  255. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  256. package/es-modules/masters/modules/accessibility.src.js +1 -1
  257. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  258. package/es-modules/masters/modules/annotations.src.js +1 -1
  259. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  260. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  261. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  262. package/es-modules/masters/modules/boost.src.js +1 -1
  263. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  264. package/es-modules/masters/modules/bullet.src.js +1 -1
  265. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  266. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  267. package/es-modules/masters/modules/cylinder.src.js +1 -1
  268. package/es-modules/masters/modules/data.src.js +1 -1
  269. package/es-modules/masters/modules/datagrouping.src.js +11 -3
  270. package/es-modules/masters/modules/debugger.src.js +1 -1
  271. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  272. package/es-modules/masters/modules/dotplot.src.js +1 -1
  273. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  274. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  275. package/es-modules/masters/modules/drilldown.src.js +1 -1
  276. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  277. package/es-modules/masters/modules/export-data.src.js +1 -1
  278. package/es-modules/masters/modules/exporting.src.js +1 -1
  279. package/es-modules/masters/modules/full-screen.src.js +1 -1
  280. package/es-modules/masters/modules/funnel.src.js +1 -1
  281. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  282. package/es-modules/masters/modules/gantt.src.js +9 -5
  283. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  284. package/es-modules/masters/modules/heatmap.src.js +1 -1
  285. package/es-modules/masters/modules/heikinashi.src.js +5 -2
  286. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  287. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  288. package/es-modules/masters/modules/item-series.src.js +1 -1
  289. package/es-modules/masters/modules/lollipop.src.js +1 -1
  290. package/es-modules/masters/modules/map.src.js +1 -1
  291. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  292. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  293. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  294. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  295. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  296. package/es-modules/masters/modules/oldie.src.js +1 -1
  297. package/es-modules/masters/modules/organization.src.js +1 -1
  298. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  299. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  300. package/es-modules/masters/modules/pareto.src.js +1 -1
  301. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  302. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  303. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  304. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  305. package/es-modules/masters/modules/sankey.src.js +1 -1
  306. package/es-modules/masters/modules/series-label.src.js +1 -1
  307. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  308. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  309. package/es-modules/masters/modules/sonification.src.js +1 -1
  310. package/es-modules/masters/modules/static-scale.src.js +1 -1
  311. package/es-modules/masters/modules/stock-tools.src.js +4 -4
  312. package/es-modules/masters/modules/stock.src.js +17 -11
  313. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  314. package/es-modules/masters/modules/sunburst.src.js +1 -1
  315. package/es-modules/masters/modules/tilemap.src.js +1 -1
  316. package/es-modules/masters/modules/timeline.src.js +1 -1
  317. package/es-modules/masters/modules/treegraph.src.js +13 -0
  318. package/es-modules/masters/modules/treegrid.src.js +1 -1
  319. package/es-modules/masters/modules/treemap.src.js +1 -1
  320. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  321. package/es-modules/masters/modules/variwide.src.js +5 -2
  322. package/es-modules/masters/modules/vector.src.js +1 -1
  323. package/es-modules/masters/modules/venn.src.js +1 -1
  324. package/es-modules/masters/modules/windbarb.src.js +1 -1
  325. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  326. package/es-modules/masters/modules/xrange.src.js +1 -1
  327. package/es-modules/masters/themes/avocado.src.js +1 -1
  328. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  329. package/es-modules/masters/themes/brand-light.src.js +1 -1
  330. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  331. package/es-modules/masters/themes/dark-green.src.js +1 -1
  332. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  333. package/es-modules/masters/themes/gray.src.js +1 -1
  334. package/es-modules/masters/themes/grid-light.src.js +1 -1
  335. package/es-modules/masters/themes/grid.src.js +1 -1
  336. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  337. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  338. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  339. package/es-modules/masters/themes/skies.src.js +1 -1
  340. package/es-modules/masters/themes/sunset.src.js +1 -1
  341. package/highcharts-3d.js +97 -98
  342. package/highcharts-3d.js.map +1 -1
  343. package/highcharts-3d.src.js +476 -449
  344. package/highcharts-gantt.js +811 -808
  345. package/highcharts-gantt.js.map +1 -1
  346. package/highcharts-gantt.src.js +14619 -14112
  347. package/highcharts-more.d.ts +0 -8
  348. package/highcharts-more.js +208 -201
  349. package/highcharts-more.js.map +1 -1
  350. package/highcharts-more.src.d.ts +0 -8
  351. package/highcharts-more.src.js +679 -289
  352. package/highcharts.d.ts +30739 -6156
  353. package/highcharts.js +590 -589
  354. package/highcharts.js.map +1 -1
  355. package/highcharts.src.d.ts +30739 -6156
  356. package/highcharts.src.js +1988 -1799
  357. package/highmaps.js +759 -757
  358. package/highmaps.js.map +1 -1
  359. package/highmaps.src.js +2339 -2077
  360. package/highstock.js +802 -794
  361. package/highstock.js.map +1 -1
  362. package/highstock.src.js +12349 -11416
  363. package/indicators/acceleration-bands.js +1 -1
  364. package/indicators/acceleration-bands.src.js +1 -1
  365. package/indicators/accumulation-distribution.js +1 -1
  366. package/indicators/accumulation-distribution.src.js +1 -1
  367. package/indicators/ao.js +6 -6
  368. package/indicators/ao.js.map +1 -1
  369. package/indicators/ao.src.js +4 -3
  370. package/indicators/apo.js +1 -1
  371. package/indicators/apo.src.js +1 -1
  372. package/indicators/aroon-oscillator.js +1 -1
  373. package/indicators/aroon-oscillator.src.js +1 -1
  374. package/indicators/aroon.js +1 -1
  375. package/indicators/aroon.src.js +1 -1
  376. package/indicators/atr.js +1 -1
  377. package/indicators/atr.src.js +1 -1
  378. package/indicators/bollinger-bands.js +1 -1
  379. package/indicators/bollinger-bands.js.map +1 -1
  380. package/indicators/bollinger-bands.src.js +16 -5
  381. package/indicators/cci.js +1 -1
  382. package/indicators/cci.src.js +1 -1
  383. package/indicators/chaikin.js +1 -1
  384. package/indicators/chaikin.src.js +1 -1
  385. package/indicators/cmf.js +1 -1
  386. package/indicators/cmf.src.js +1 -1
  387. package/indicators/cmo.d.ts +17 -0
  388. package/indicators/cmo.js +1 -1
  389. package/indicators/cmo.src.d.ts +17 -0
  390. package/indicators/cmo.src.js +1 -1
  391. package/indicators/dema.js +1 -1
  392. package/indicators/dema.src.js +1 -1
  393. package/indicators/disparity-index.d.ts +17 -0
  394. package/indicators/disparity-index.js +1 -1
  395. package/indicators/disparity-index.src.d.ts +17 -0
  396. package/indicators/disparity-index.src.js +1 -1
  397. package/indicators/dmi.d.ts +17 -0
  398. package/indicators/dmi.js +1 -1
  399. package/indicators/dmi.src.d.ts +17 -0
  400. package/indicators/dmi.src.js +1 -1
  401. package/indicators/dpo.js +1 -1
  402. package/indicators/dpo.src.js +1 -1
  403. package/indicators/ichimoku-kinko-hyo.js +14 -14
  404. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  405. package/indicators/ichimoku-kinko-hyo.src.js +22 -19
  406. package/indicators/indicators-all.js +198 -199
  407. package/indicators/indicators-all.js.map +1 -1
  408. package/indicators/indicators-all.src.js +63 -57
  409. package/indicators/indicators.js +13 -13
  410. package/indicators/indicators.js.map +1 -1
  411. package/indicators/indicators.src.js +1 -15
  412. package/indicators/keltner-channels.js +1 -1
  413. package/indicators/keltner-channels.src.js +1 -1
  414. package/indicators/klinger.d.ts +17 -0
  415. package/indicators/klinger.js +12 -12
  416. package/indicators/klinger.js.map +1 -1
  417. package/indicators/klinger.src.d.ts +17 -0
  418. package/indicators/klinger.src.js +4 -3
  419. package/indicators/macd.js +1 -1
  420. package/indicators/macd.js.map +1 -1
  421. package/indicators/macd.src.js +4 -3
  422. package/indicators/mfi.js +1 -1
  423. package/indicators/mfi.src.js +1 -1
  424. package/indicators/momentum.js +1 -1
  425. package/indicators/momentum.src.js +1 -1
  426. package/indicators/natr.js +1 -1
  427. package/indicators/natr.src.js +1 -1
  428. package/indicators/obv.d.ts +17 -0
  429. package/indicators/obv.js +1 -1
  430. package/indicators/obv.src.d.ts +17 -0
  431. package/indicators/obv.src.js +1 -1
  432. package/indicators/pivot-points.js +2 -2
  433. package/indicators/pivot-points.js.map +1 -1
  434. package/indicators/pivot-points.src.js +2 -2
  435. package/indicators/ppo.js +1 -1
  436. package/indicators/ppo.src.js +1 -1
  437. package/indicators/price-channel.js +1 -1
  438. package/indicators/price-channel.src.js +1 -1
  439. package/indicators/price-envelopes.js +1 -1
  440. package/indicators/price-envelopes.src.js +1 -1
  441. package/indicators/psar.js +1 -1
  442. package/indicators/psar.src.js +1 -1
  443. package/indicators/regressions.js +1 -1
  444. package/indicators/regressions.src.js +1 -1
  445. package/indicators/roc.js +1 -1
  446. package/indicators/roc.src.js +1 -1
  447. package/indicators/rsi.js +1 -1
  448. package/indicators/rsi.src.js +1 -1
  449. package/indicators/slow-stochastic.js +5 -5
  450. package/indicators/slow-stochastic.js.map +1 -1
  451. package/indicators/slow-stochastic.src.js +6 -5
  452. package/indicators/stochastic.js +1 -1
  453. package/indicators/stochastic.src.js +1 -1
  454. package/indicators/supertrend.js +7 -7
  455. package/indicators/supertrend.js.map +1 -1
  456. package/indicators/supertrend.src.js +4 -3
  457. package/indicators/tema.js +1 -1
  458. package/indicators/tema.src.js +1 -1
  459. package/indicators/trendline.js +1 -1
  460. package/indicators/trendline.src.js +1 -1
  461. package/indicators/trix.js +1 -1
  462. package/indicators/trix.src.js +1 -1
  463. package/indicators/volume-by-price.js +17 -17
  464. package/indicators/volume-by-price.js.map +1 -1
  465. package/indicators/volume-by-price.src.js +9 -8
  466. package/indicators/vwap.js +1 -1
  467. package/indicators/vwap.src.js +1 -1
  468. package/indicators/williams-r.js +1 -1
  469. package/indicators/williams-r.src.js +1 -1
  470. package/indicators/wma.js +1 -1
  471. package/indicators/wma.src.js +1 -1
  472. package/indicators/zigzag.js +1 -1
  473. package/indicators/zigzag.src.js +1 -1
  474. package/modules/accessibility.js +214 -213
  475. package/modules/accessibility.js.map +1 -1
  476. package/modules/accessibility.src.js +991 -835
  477. package/modules/annotations-advanced.js +16 -16
  478. package/modules/annotations-advanced.js.map +1 -1
  479. package/modules/annotations-advanced.src.js +29 -24
  480. package/modules/annotations.js +91 -91
  481. package/modules/annotations.js.map +1 -1
  482. package/modules/annotations.src.js +29 -24
  483. package/modules/arc-diagram.d.ts +17 -0
  484. package/modules/arc-diagram.js +15 -15
  485. package/modules/arc-diagram.js.map +1 -1
  486. package/modules/arc-diagram.src.d.ts +17 -0
  487. package/modules/arc-diagram.src.js +6 -6
  488. package/modules/arrow-symbols.js +1 -1
  489. package/modules/arrow-symbols.src.js +1 -1
  490. package/modules/boost-canvas.js +19 -19
  491. package/modules/boost-canvas.js.map +1 -1
  492. package/modules/boost-canvas.src.js +13 -8
  493. package/modules/boost.js +37 -37
  494. package/modules/boost.js.map +1 -1
  495. package/modules/boost.src.js +13 -8
  496. package/modules/broken-axis.js +1 -1
  497. package/modules/broken-axis.src.js +1 -1
  498. package/modules/bullet.js +1 -1
  499. package/modules/bullet.src.js +1 -1
  500. package/modules/coloraxis.js +25 -24
  501. package/modules/coloraxis.js.map +1 -1
  502. package/modules/coloraxis.src.js +77 -58
  503. package/modules/current-date-indicator.js +1 -1
  504. package/modules/current-date-indicator.src.js +1 -1
  505. package/modules/cylinder.js +1 -1
  506. package/modules/cylinder.src.js +1 -1
  507. package/modules/data.js +27 -27
  508. package/modules/data.js.map +1 -1
  509. package/modules/data.src.js +3 -3
  510. package/modules/datagrouping.d.ts +31 -0
  511. package/modules/datagrouping.js +23 -21
  512. package/modules/datagrouping.js.map +1 -1
  513. package/modules/datagrouping.src.d.ts +31 -0
  514. package/modules/datagrouping.src.js +921 -640
  515. package/modules/debugger.js +3 -3
  516. package/modules/debugger.js.map +1 -1
  517. package/modules/debugger.src.js +2 -2
  518. package/modules/dependency-wheel.js +12 -12
  519. package/modules/dependency-wheel.js.map +1 -1
  520. package/modules/dependency-wheel.src.js +191 -108
  521. package/modules/dotplot.js +6 -6
  522. package/modules/dotplot.js.map +1 -1
  523. package/modules/dotplot.src.js +10 -13
  524. package/modules/drag-panes.js +1 -1
  525. package/modules/drag-panes.src.js +1 -1
  526. package/modules/draggable-points.js +5 -5
  527. package/modules/draggable-points.js.map +1 -1
  528. package/modules/draggable-points.src.js +7 -3
  529. package/modules/drilldown.js +37 -37
  530. package/modules/drilldown.js.map +1 -1
  531. package/modules/drilldown.src.js +5 -6
  532. package/modules/dumbbell.js +17 -17
  533. package/modules/dumbbell.js.map +1 -1
  534. package/modules/dumbbell.src.js +27 -22
  535. package/modules/export-data.js +26 -25
  536. package/modules/export-data.js.map +1 -1
  537. package/modules/export-data.src.js +33 -6
  538. package/modules/exporting.js +36 -35
  539. package/modules/exporting.js.map +1 -1
  540. package/modules/exporting.src.js +81 -88
  541. package/modules/full-screen.js +1 -1
  542. package/modules/full-screen.src.js +1 -1
  543. package/modules/funnel.js +1 -1
  544. package/modules/funnel.src.js +1 -1
  545. package/modules/funnel3d.js +1 -1
  546. package/modules/funnel3d.src.js +1 -1
  547. package/modules/gantt.js +221 -219
  548. package/modules/gantt.js.map +1 -1
  549. package/modules/gantt.src.js +12842 -12524
  550. package/modules/grid-axis.js +1 -1
  551. package/modules/grid-axis.src.js +1 -1
  552. package/modules/heatmap.js +40 -40
  553. package/modules/heatmap.js.map +1 -1
  554. package/modules/heatmap.src.js +80 -58
  555. package/modules/heikinashi.d.ts +17 -0
  556. package/modules/heikinashi.js +9 -8
  557. package/modules/heikinashi.js.map +1 -1
  558. package/modules/heikinashi.src.d.ts +17 -0
  559. package/modules/heikinashi.src.js +192 -165
  560. package/modules/histogram-bellcurve.js +1 -1
  561. package/modules/histogram-bellcurve.src.js +1 -1
  562. package/modules/hollowcandlestick.d.ts +17 -0
  563. package/modules/hollowcandlestick.js +1 -1
  564. package/modules/hollowcandlestick.src.d.ts +17 -0
  565. package/modules/hollowcandlestick.src.js +1 -1
  566. package/modules/item-series.js +12 -12
  567. package/modules/item-series.js.map +1 -1
  568. package/modules/item-series.src.js +14 -10
  569. package/modules/lollipop.js +1 -1
  570. package/modules/lollipop.src.js +1 -1
  571. package/modules/map.js +172 -171
  572. package/modules/map.js.map +1 -1
  573. package/modules/map.src.js +194 -121
  574. package/modules/marker-clusters.js +2 -2
  575. package/modules/marker-clusters.js.map +1 -1
  576. package/modules/marker-clusters.src.js +2 -2
  577. package/modules/networkgraph.js +8 -8
  578. package/modules/networkgraph.js.map +1 -1
  579. package/modules/networkgraph.src.js +5 -6
  580. package/modules/no-data-to-display.js +4 -4
  581. package/modules/no-data-to-display.js.map +1 -1
  582. package/modules/no-data-to-display.src.js +2 -2
  583. package/modules/offline-exporting.js +4 -4
  584. package/modules/offline-exporting.js.map +1 -1
  585. package/modules/offline-exporting.src.js +7 -7
  586. package/modules/oldie-polyfills.js +7 -7
  587. package/modules/oldie-polyfills.js.map +1 -1
  588. package/modules/oldie-polyfills.src.js +9 -7
  589. package/modules/oldie.js +30 -30
  590. package/modules/oldie.js.map +1 -1
  591. package/modules/oldie.src.js +5 -5
  592. package/modules/organization.js +18 -16
  593. package/modules/organization.js.map +1 -1
  594. package/modules/organization.src.js +659 -495
  595. package/modules/overlapping-datalabels.js +1 -1
  596. package/modules/overlapping-datalabels.src.js +1 -1
  597. package/modules/parallel-coordinates.js +10 -10
  598. package/modules/parallel-coordinates.js.map +1 -1
  599. package/modules/parallel-coordinates.src.js +6 -2
  600. package/modules/pareto.js +1 -1
  601. package/modules/pareto.src.js +1 -1
  602. package/modules/pathfinder.js +31 -31
  603. package/modules/pathfinder.js.map +1 -1
  604. package/modules/pathfinder.src.js +19 -23
  605. package/modules/pattern-fill.js +2 -2
  606. package/modules/pattern-fill.js.map +1 -1
  607. package/modules/pattern-fill.src.js +11 -11
  608. package/modules/price-indicator.js +1 -1
  609. package/modules/price-indicator.src.js +1 -1
  610. package/modules/pyramid3d.js +1 -1
  611. package/modules/pyramid3d.src.js +1 -1
  612. package/modules/sankey.js +33 -32
  613. package/modules/sankey.js.map +1 -1
  614. package/modules/sankey.src.js +571 -550
  615. package/modules/series-label.js +17 -17
  616. package/modules/series-label.js.map +1 -1
  617. package/modules/series-label.src.js +7 -3
  618. package/modules/series-on-point.d.ts +17 -0
  619. package/modules/series-on-point.js +1 -1
  620. package/modules/series-on-point.src.d.ts +17 -0
  621. package/modules/series-on-point.src.js +1 -1
  622. package/modules/solid-gauge.js +11 -10
  623. package/modules/solid-gauge.js.map +1 -1
  624. package/modules/solid-gauge.src.js +220 -192
  625. package/modules/sonification.js +2 -2
  626. package/modules/sonification.js.map +1 -1
  627. package/modules/sonification.src.js +2 -2
  628. package/modules/static-scale.js +1 -1
  629. package/modules/static-scale.src.js +1 -1
  630. package/modules/stock-tools.js +59 -59
  631. package/modules/stock-tools.js.map +1 -1
  632. package/modules/stock-tools.src.js +19 -21
  633. package/modules/stock.d.ts +26 -6
  634. package/modules/stock.js +212 -205
  635. package/modules/stock.js.map +1 -1
  636. package/modules/stock.src.d.ts +26 -6
  637. package/modules/stock.src.js +11361 -10617
  638. package/modules/streamgraph.js +1 -1
  639. package/modules/streamgraph.src.js +1 -1
  640. package/modules/sunburst.js +75 -73
  641. package/modules/sunburst.js.map +1 -1
  642. package/modules/sunburst.src.js +133 -57
  643. package/modules/tilemap.js +1 -1
  644. package/modules/tilemap.src.js +1 -1
  645. package/modules/timeline.js +18 -18
  646. package/modules/timeline.js.map +1 -1
  647. package/modules/timeline.src.js +257 -233
  648. package/modules/treegraph.d.ts +17 -0
  649. package/modules/treegraph.js +44 -0
  650. package/modules/treegraph.js.map +1 -0
  651. package/modules/treegraph.src.d.ts +17 -0
  652. package/modules/treegraph.src.js +1829 -0
  653. package/modules/treegrid.js +2 -2
  654. package/modules/treegrid.js.map +1 -1
  655. package/modules/treegrid.src.js +2 -3
  656. package/modules/treemap.js +54 -53
  657. package/modules/treemap.js.map +1 -1
  658. package/modules/treemap.src.js +90 -52
  659. package/modules/variable-pie.js +1 -1
  660. package/modules/variable-pie.src.js +1 -1
  661. package/modules/variwide.js +12 -12
  662. package/modules/variwide.js.map +1 -1
  663. package/modules/variwide.src.js +158 -106
  664. package/modules/vector.js +1 -1
  665. package/modules/vector.src.js +3 -3
  666. package/modules/venn.js +31 -31
  667. package/modules/venn.js.map +1 -1
  668. package/modules/venn.src.js +17 -16
  669. package/modules/windbarb.js +15 -15
  670. package/modules/windbarb.js.map +1 -1
  671. package/modules/windbarb.src.js +41 -4
  672. package/modules/wordcloud.js +23 -23
  673. package/modules/wordcloud.js.map +1 -1
  674. package/modules/wordcloud.src.js +6 -15
  675. package/modules/xrange.js +1 -1
  676. package/modules/xrange.src.js +1 -1
  677. package/package.json +1 -1
  678. package/themes/avocado.js +2 -3
  679. package/themes/avocado.js.map +1 -1
  680. package/themes/avocado.src.js +2 -2
  681. package/themes/brand-dark.d.ts +22 -0
  682. package/themes/brand-dark.js +3 -3
  683. package/themes/brand-dark.js.map +1 -1
  684. package/themes/brand-dark.src.d.ts +22 -0
  685. package/themes/brand-dark.src.js +2 -2
  686. package/themes/brand-light.d.ts +22 -0
  687. package/themes/brand-light.js +2 -2
  688. package/themes/brand-light.js.map +1 -1
  689. package/themes/brand-light.src.d.ts +22 -0
  690. package/themes/brand-light.src.js +2 -2
  691. package/themes/dark-blue.js +2 -2
  692. package/themes/dark-blue.js.map +1 -1
  693. package/themes/dark-blue.src.js +2 -2
  694. package/themes/dark-green.js +2 -2
  695. package/themes/dark-green.js.map +1 -1
  696. package/themes/dark-green.src.js +2 -2
  697. package/themes/dark-unica.js +2 -2
  698. package/themes/dark-unica.js.map +1 -1
  699. package/themes/dark-unica.src.js +2 -2
  700. package/themes/gray.js +2 -2
  701. package/themes/gray.js.map +1 -1
  702. package/themes/gray.src.js +2 -2
  703. package/themes/grid-light.js +2 -2
  704. package/themes/grid-light.js.map +1 -1
  705. package/themes/grid-light.src.js +2 -2
  706. package/themes/grid.js +2 -2
  707. package/themes/grid.js.map +1 -1
  708. package/themes/grid.src.js +2 -2
  709. package/themes/high-contrast-dark.d.ts +22 -0
  710. package/themes/high-contrast-dark.js +2 -2
  711. package/themes/high-contrast-dark.js.map +1 -1
  712. package/themes/high-contrast-dark.src.d.ts +22 -0
  713. package/themes/high-contrast-dark.src.js +2 -2
  714. package/themes/high-contrast-light.d.ts +22 -0
  715. package/themes/high-contrast-light.js +2 -2
  716. package/themes/high-contrast-light.js.map +1 -1
  717. package/themes/high-contrast-light.src.d.ts +22 -0
  718. package/themes/high-contrast-light.src.js +2 -2
  719. package/themes/sand-signika.js +2 -2
  720. package/themes/sand-signika.js.map +1 -1
  721. package/themes/sand-signika.src.js +2 -2
  722. package/themes/skies.js +2 -2
  723. package/themes/skies.js.map +1 -1
  724. package/themes/skies.src.js +2 -2
  725. package/themes/sunset.js +2 -2
  726. package/themes/sunset.js.map +1 -1
  727. package/themes/sunset.src.js +2 -2
  728. package/es-modules/Core/Axis/Axis3D.js +0 -612
  729. package/es-modules/Core/Axis/NavigatorAxis.js +0 -159
  730. package/es-modules/Core/Axis/Tick3D.js +0 -68
  731. package/es-modules/Extensions/DataGrouping.js +0 -1177
  732. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -12
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v10.2.1 (2022-08-29)
2
+ * @license Highcharts JS v10.3.1 (2022-10-31)
3
3
  *
4
4
  * 3D features for Highcharts JS
5
5
  *
@@ -1417,7 +1417,7 @@
1417
1417
 
1418
1418
  return SVGRenderer3D;
1419
1419
  });
1420
- _registerModule(_modules, 'Core/Chart/Chart3D.js', [_modules['Core/Color/Color.js'], _modules['Core/Math3D.js'], _modules['Core/DefaultOptions.js'], _modules['Core/Utilities.js']], function (Color, Math3D, D, U) {
1420
+ _registerModule(_modules, 'Core/Chart/Chart3D.js', [_modules['Core/Color/Color.js'], _modules['Core/Defaults.js'], _modules['Core/Math3D.js'], _modules['Core/Utilities.js']], function (Color, D, Math3D, U) {
1421
1421
  /* *
1422
1422
  *
1423
1423
  * (c) 2010-2021 Torstein Honsi
@@ -1430,9 +1430,9 @@
1430
1430
  *
1431
1431
  * */
1432
1432
  var color = Color.parse;
1433
+ var genericDefaultOptions = D.defaultOptions;
1433
1434
  var perspective = Math3D.perspective,
1434
1435
  shapeArea3D = Math3D.shapeArea3D;
1435
- var genericDefaultOptions = D.defaultOptions;
1436
1436
  var addEvent = U.addEvent,
1437
1437
  isArray = U.isArray,
1438
1438
  merge = U.merge,
@@ -2139,8 +2139,8 @@
2139
2139
  addEvent(ChartClass, 'beforeRedraw', onBeforeRedraw);
2140
2140
  addEvent(ChartClass, 'beforeRender', onBeforeRender);
2141
2141
  wrap(chartProto, 'isInsidePlot', wrapIsInsidePlot);
2142
- wrap(ChartClass, 'renderSeries', wrapRenderSeries);
2143
- wrap(ChartClass, 'setClassName', wrapSetClassName);
2142
+ wrap(chartProto, 'renderSeries', wrapRenderSeries);
2143
+ wrap(chartProto, 'setClassName', wrapSetClassName);
2144
2144
  }
2145
2145
  Chart3D.compose = compose;
2146
2146
  /**
@@ -3337,7 +3337,139 @@
3337
3337
 
3338
3338
  return ZAxis;
3339
3339
  });
3340
- _registerModule(_modules, 'Core/Axis/Tick3D.js', [_modules['Core/Utilities.js']], function (U) {
3340
+ _registerModule(_modules, 'Core/Axis/Axis3DDefaults.js', [], function () {
3341
+ /* *
3342
+ *
3343
+ * (c) 2010-2021 Torstein Honsi
3344
+ *
3345
+ * Extenstion for 3d axes
3346
+ *
3347
+ * License: www.highcharts.com/license
3348
+ *
3349
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
3350
+ *
3351
+ * */
3352
+ /* *
3353
+ *
3354
+ * Constants
3355
+ *
3356
+ * */
3357
+ /**
3358
+ * @optionparent xAxis
3359
+ */
3360
+ var Axis3DDefaults = {
3361
+ labels: {
3362
+ /**
3363
+ * Defines how the labels are be repositioned according to the 3D
3364
+ * chart orientation.
3365
+ *
3366
+ * - `'offset'`: Maintain a fixed horizontal/vertical distance from
3367
+ * the tick marks, despite the chart orientation. This is the
3368
+ * backwards compatible behavior, and causes skewing of X and Z
3369
+ * axes.
3370
+ *
3371
+ * - `'chart'`: Preserve 3D position relative to the chart. This
3372
+ * looks nice, but hard to read if the text isn't forward-facing.
3373
+ *
3374
+ * - `'flap'`: Rotated text along the axis to compensate for the
3375
+ * chart orientation. This tries to maintain text as legible as
3376
+ * possible on all orientations.
3377
+ *
3378
+ * - `'ortho'`: Rotated text along the axis direction so that the
3379
+ * labels are orthogonal to the axis. This is very similar to
3380
+ * `'flap'`, but prevents skewing the labels (X and Y scaling are
3381
+ * still present).
3382
+ *
3383
+ * @sample highcharts/3d/skewed-labels/
3384
+ * Skewed labels
3385
+ *
3386
+ * @since 5.0.15
3387
+ * @validvalue ['offset', 'chart', 'flap', 'ortho']
3388
+ * @product highcharts
3389
+ * @requires highcharts-3d
3390
+ */
3391
+ position3d: 'offset',
3392
+ /**
3393
+ * If enabled, the axis labels will skewed to follow the
3394
+ * perspective.
3395
+ *
3396
+ * This will fix overlapping labels and titles, but texts become
3397
+ * less legible due to the distortion.
3398
+ *
3399
+ * The final appearance depends heavily on `labels.position3d`.
3400
+ *
3401
+ * @sample highcharts/3d/skewed-labels/
3402
+ * Skewed labels
3403
+ *
3404
+ * @since 5.0.15
3405
+ * @product highcharts
3406
+ * @requires highcharts-3d
3407
+ */
3408
+ skew3d: false
3409
+ },
3410
+ title: {
3411
+ /**
3412
+ * Defines how the title is repositioned according to the 3D chart
3413
+ * orientation.
3414
+ *
3415
+ * - `'offset'`: Maintain a fixed horizontal/vertical distance from
3416
+ * the tick marks, despite the chart orientation. This is the
3417
+ * backwards compatible behavior, and causes skewing of X and Z
3418
+ * axes.
3419
+ *
3420
+ * - `'chart'`: Preserve 3D position relative to the chart. This
3421
+ * looks nice, but hard to read if the text isn't forward-facing.
3422
+ *
3423
+ * - `'flap'`: Rotated text along the axis to compensate for the
3424
+ * chart orientation. This tries to maintain text as legible as
3425
+ * possible on all orientations.
3426
+ *
3427
+ * - `'ortho'`: Rotated text along the axis direction so that the
3428
+ * labels are orthogonal to the axis. This is very similar to
3429
+ * `'flap'`, but prevents skewing the labels (X and Y scaling are
3430
+ * still present).
3431
+ *
3432
+ * - `undefined`: Will use the config from `labels.position3d`
3433
+ *
3434
+ * @sample highcharts/3d/skewed-labels/
3435
+ * Skewed labels
3436
+ *
3437
+ * @type {"offset"|"chart"|"flap"|"ortho"|null}
3438
+ * @since 5.0.15
3439
+ * @product highcharts
3440
+ * @requires highcharts-3d
3441
+ */
3442
+ position3d: null,
3443
+ /**
3444
+ * If enabled, the axis title will skewed to follow the perspective.
3445
+ *
3446
+ * This will fix overlapping labels and titles, but texts become
3447
+ * less legible due to the distortion.
3448
+ *
3449
+ * The final appearance depends heavily on `title.position3d`.
3450
+ *
3451
+ * A `null` value will use the config from `labels.skew3d`.
3452
+ *
3453
+ * @sample highcharts/3d/skewed-labels/
3454
+ * Skewed labels
3455
+ *
3456
+ * @type {boolean|null}
3457
+ * @since 5.0.15
3458
+ * @product highcharts
3459
+ * @requires highcharts-3d
3460
+ */
3461
+ skew3d: null
3462
+ }
3463
+ };
3464
+ /* *
3465
+ *
3466
+ * Default Export
3467
+ *
3468
+ * */
3469
+
3470
+ return Axis3DDefaults;
3471
+ });
3472
+ _registerModule(_modules, 'Core/Axis/Tick3DComposition.js', [_modules['Core/Utilities.js']], function (U) {
3341
3473
  /* *
3342
3474
  *
3343
3475
  * (c) 2010-2021 Torstein Honsi
@@ -3352,68 +3484,72 @@
3352
3484
  var addEvent = U.addEvent,
3353
3485
  extend = U.extend,
3354
3486
  wrap = U.wrap;
3355
- /* eslint-disable valid-jsdoc */
3487
+ /* *
3488
+ *
3489
+ * Constants
3490
+ *
3491
+ * */
3492
+ var composedClasses = [];
3493
+ /* *
3494
+ *
3495
+ * Functions
3496
+ *
3497
+ * */
3356
3498
  /**
3357
- * Tick with 3D support
3358
3499
  * @private
3359
- * @class
3360
3500
  */
3361
- var Tick3D = /** @class */ (function () {
3362
- function Tick3D() {
3363
- }
3364
- /* *
3365
- *
3366
- * Static Functions
3367
- *
3368
- * */
3369
- /**
3370
- * @private
3371
- */
3372
- Tick3D.compose = function (TickClass) {
3373
- addEvent(TickClass, 'afterGetLabelPosition', Tick3D.onAfterGetLabelPosition);
3374
- var tickProto = TickClass.prototype;
3375
- wrap(tickProto, 'getMarkPath', Tick3D.wrapGetMarkPath);
3376
- };
3377
- /**
3378
- * @private
3379
- */
3380
- Tick3D.onAfterGetLabelPosition = function (e) {
3381
- var axis3D = this.axis.axis3D;
3382
- if (axis3D) {
3383
- extend(e.pos, axis3D.fix3dPosition(e.pos));
3384
- }
3385
- };
3386
- /**
3387
- * @private
3388
- */
3389
- Tick3D.wrapGetMarkPath = function (proceed) {
3390
- var chart = this.axis.chart;
3391
- var axis3D = this.axis.axis3D;
3392
- var path = proceed.apply(this,
3393
- [].slice.call(arguments, 1));
3394
- if (axis3D) {
3395
- var start = path[0];
3396
- var end = path[1];
3397
- if (start[0] === 'M' && end[0] === 'L') {
3398
- var pArr = [
3399
- axis3D.fix3dPosition({ x: start[1],
3400
- y: start[2],
3401
- z: 0 }),
3402
- axis3D.fix3dPosition({ x: end[1],
3403
- y: end[2],
3404
- z: 0 })
3405
- ];
3406
- return this.axis.chart.renderer.toLineSegments(pArr);
3407
- }
3501
+ function compose(TickClass) {
3502
+ if (composedClasses.indexOf(TickClass) === -1) {
3503
+ composedClasses.push(TickClass);
3504
+ addEvent(TickClass, 'afterGetLabelPosition', onTickAfterGetLabelPosition);
3505
+ wrap(TickClass.prototype, 'getMarkPath', wrapTickGetMarkPath);
3506
+ }
3507
+ }
3508
+ /**
3509
+ * @private
3510
+ */
3511
+ function onTickAfterGetLabelPosition(e) {
3512
+ var axis3D = this.axis.axis3D;
3513
+ if (axis3D) {
3514
+ extend(e.pos, axis3D.fix3dPosition(e.pos));
3515
+ }
3516
+ }
3517
+ /**
3518
+ * @private
3519
+ */
3520
+ function wrapTickGetMarkPath(proceed) {
3521
+ var axis3D = this.axis.axis3D,
3522
+ path = proceed.apply(this,
3523
+ [].slice.call(arguments, 1));
3524
+ if (axis3D) {
3525
+ var start = path[0];
3526
+ var end = path[1];
3527
+ if (start[0] === 'M' && end[0] === 'L') {
3528
+ var pArr = [
3529
+ axis3D.fix3dPosition({ x: start[1],
3530
+ y: start[2],
3531
+ z: 0 }),
3532
+ axis3D.fix3dPosition({ x: end[1],
3533
+ y: end[2],
3534
+ z: 0 })
3535
+ ];
3536
+ return this.axis.chart.renderer.toLineSegments(pArr);
3408
3537
  }
3409
- return path;
3538
+ }
3539
+ return path;
3540
+ }
3541
+ /* *
3542
+ *
3543
+ * Default Export
3544
+ *
3545
+ * */
3546
+ var Tick3DAdditions = {
3547
+ compose: compose
3410
3548
  };
3411
- return Tick3D;
3412
- }());
3413
3549
 
3414
- return Tick3D;
3550
+ return Tick3DAdditions;
3415
3551
  });
3416
- _registerModule(_modules, 'Core/Axis/Axis3D.js', [_modules['Core/Globals.js'], _modules['Core/Math3D.js'], _modules['Core/Axis/Tick.js'], _modules['Core/Axis/Tick3D.js'], _modules['Core/Utilities.js']], function (H, Math3D, Tick, Tick3D, U) {
3552
+ _registerModule(_modules, 'Core/Axis/Axis3DComposition.js', [_modules['Core/Axis/Axis3DDefaults.js'], _modules['Core/Globals.js'], _modules['Core/Math3D.js'], _modules['Core/Axis/Tick3DComposition.js'], _modules['Core/Utilities.js']], function (Axis3DDefaults, H, Math3D, Tick3D, U) {
3417
3553
  /* *
3418
3554
  *
3419
3555
  * (c) 2010-2021 Torstein Honsi
@@ -3435,10 +3571,258 @@
3435
3571
  wrap = U.wrap;
3436
3572
  /* *
3437
3573
  *
3438
- * Classes
3574
+ * Constants
3575
+ *
3576
+ * */
3577
+ var composedClasses = [];
3578
+ /* *
3579
+ *
3580
+ * Functions
3581
+ *
3582
+ * */
3583
+ /**
3584
+ * @private
3585
+ */
3586
+ function onAxisAfterSetOptions() {
3587
+ var axis = this,
3588
+ chart = axis.chart,
3589
+ options = axis.options;
3590
+ if (chart.is3d && chart.is3d() && axis.coll !== 'colorAxis') {
3591
+ options.tickWidth = pick(options.tickWidth, 0);
3592
+ options.gridLineWidth = pick(options.gridLineWidth, 1);
3593
+ }
3594
+ }
3595
+ /**
3596
+ * @private
3597
+ */
3598
+ function onAxisDrawCrosshair(e) {
3599
+ var axis = this;
3600
+ if (axis.chart.is3d() &&
3601
+ axis.coll !== 'colorAxis') {
3602
+ if (e.point) {
3603
+ e.point.crosshairPos = axis.isXAxis ?
3604
+ e.point.axisXpos :
3605
+ axis.len - e.point.axisYpos;
3606
+ }
3607
+ }
3608
+ }
3609
+ /**
3610
+ * @private
3611
+ */
3612
+ function onAxisInit() {
3613
+ var axis = this;
3614
+ if (!axis.axis3D) {
3615
+ axis.axis3D = new Axis3DAdditions(axis);
3616
+ }
3617
+ }
3618
+ /**
3619
+ * Do not draw axislines in 3D.
3620
+ * @private
3621
+ */
3622
+ function wrapAxisGetLinePath(proceed) {
3623
+ var axis = this;
3624
+ // Do not do this if the chart is not 3D
3625
+ if (!axis.chart.is3d() || axis.coll === 'colorAxis') {
3626
+ return proceed.apply(axis, [].slice.call(arguments, 1));
3627
+ }
3628
+ return [];
3629
+ }
3630
+ /**
3631
+ * @private
3632
+ */
3633
+ function wrapAxisGetPlotBandPath(proceed) {
3634
+ // Do not do this if the chart is not 3D
3635
+ if (!this.chart.is3d() || this.coll === 'colorAxis') {
3636
+ return proceed.apply(this, [].slice.call(arguments, 1));
3637
+ }
3638
+ var args = arguments,
3639
+ from = args[1],
3640
+ to = args[2],
3641
+ path = [],
3642
+ fromPath = this.getPlotLinePath({ value: from }),
3643
+ toPath = this.getPlotLinePath({ value: to });
3644
+ if (fromPath && toPath) {
3645
+ for (var i = 0; i < fromPath.length; i += 2) {
3646
+ var fromStartSeg = fromPath[i],
3647
+ fromEndSeg = fromPath[i + 1],
3648
+ toStartSeg = toPath[i],
3649
+ toEndSeg = toPath[i + 1];
3650
+ if (fromStartSeg[0] === 'M' &&
3651
+ fromEndSeg[0] === 'L' &&
3652
+ toStartSeg[0] === 'M' &&
3653
+ toEndSeg[0] === 'L') {
3654
+ path.push(fromStartSeg, fromEndSeg, toEndSeg,
3655
+ // lineTo instead of moveTo
3656
+ ['L', toStartSeg[1], toStartSeg[2]], ['Z']);
3657
+ }
3658
+ }
3659
+ }
3660
+ return path;
3661
+ }
3662
+ /**
3663
+ * @private
3664
+ */
3665
+ function wrapAxisGetPlotLinePath(proceed) {
3666
+ var axis = this,
3667
+ axis3D = axis.axis3D,
3668
+ chart = axis.chart,
3669
+ path = proceed.apply(axis,
3670
+ [].slice.call(arguments, 1));
3671
+ // Do not do this if the chart is not 3D
3672
+ if (axis.coll === 'colorAxis' ||
3673
+ !chart.chart3d ||
3674
+ !chart.is3d()) {
3675
+ return path;
3676
+ }
3677
+ if (path === null) {
3678
+ return path;
3679
+ }
3680
+ var options3d = chart.options.chart.options3d,
3681
+ d = axis.isZAxis ? chart.plotWidth : options3d.depth,
3682
+ frame = chart.chart3d.frame3d,
3683
+ startSegment = path[0],
3684
+ endSegment = path[1];
3685
+ var pArr,
3686
+ pathSegments = [];
3687
+ if (startSegment[0] === 'M' && endSegment[0] === 'L') {
3688
+ pArr = [
3689
+ axis3D.swapZ({ x: startSegment[1], y: startSegment[2], z: 0 }),
3690
+ axis3D.swapZ({ x: startSegment[1], y: startSegment[2], z: d }),
3691
+ axis3D.swapZ({ x: endSegment[1], y: endSegment[2], z: 0 }),
3692
+ axis3D.swapZ({ x: endSegment[1], y: endSegment[2], z: d })
3693
+ ];
3694
+ if (!this.horiz) { // Y-Axis
3695
+ if (frame.front.visible) {
3696
+ pathSegments.push(pArr[0], pArr[2]);
3697
+ }
3698
+ if (frame.back.visible) {
3699
+ pathSegments.push(pArr[1], pArr[3]);
3700
+ }
3701
+ if (frame.left.visible) {
3702
+ pathSegments.push(pArr[0], pArr[1]);
3703
+ }
3704
+ if (frame.right.visible) {
3705
+ pathSegments.push(pArr[2], pArr[3]);
3706
+ }
3707
+ }
3708
+ else if (this.isZAxis) { // Z-Axis
3709
+ if (frame.left.visible) {
3710
+ pathSegments.push(pArr[0], pArr[2]);
3711
+ }
3712
+ if (frame.right.visible) {
3713
+ pathSegments.push(pArr[1], pArr[3]);
3714
+ }
3715
+ if (frame.top.visible) {
3716
+ pathSegments.push(pArr[0], pArr[1]);
3717
+ }
3718
+ if (frame.bottom.visible) {
3719
+ pathSegments.push(pArr[2], pArr[3]);
3720
+ }
3721
+ }
3722
+ else { // X-Axis
3723
+ if (frame.front.visible) {
3724
+ pathSegments.push(pArr[0], pArr[2]);
3725
+ }
3726
+ if (frame.back.visible) {
3727
+ pathSegments.push(pArr[1], pArr[3]);
3728
+ }
3729
+ if (frame.top.visible) {
3730
+ pathSegments.push(pArr[0], pArr[1]);
3731
+ }
3732
+ if (frame.bottom.visible) {
3733
+ pathSegments.push(pArr[2], pArr[3]);
3734
+ }
3735
+ }
3736
+ pathSegments = perspective(pathSegments, this.chart, false);
3737
+ }
3738
+ return chart.renderer.toLineSegments(pathSegments);
3739
+ }
3740
+ /**
3741
+ * Wrap getSlotWidth function to calculate individual width value for each
3742
+ * slot (#8042).
3743
+ * @private
3744
+ */
3745
+ function wrapAxisGetSlotWidth(proceed, tick) {
3746
+ var axis = this,
3747
+ chart = axis.chart,
3748
+ ticks = axis.ticks,
3749
+ gridGroup = axis.gridGroup;
3750
+ if (axis.categories &&
3751
+ chart.frameShapes &&
3752
+ chart.is3d() &&
3753
+ gridGroup &&
3754
+ tick &&
3755
+ tick.label) {
3756
+ var firstGridLine = (gridGroup.element.childNodes[0].getBBox()),
3757
+ frame3DLeft = chart.frameShapes.left.getBBox(),
3758
+ options3d = chart.options.chart.options3d,
3759
+ origin_1 = {
3760
+ x: chart.plotWidth / 2,
3761
+ y: chart.plotHeight / 2,
3762
+ z: options3d.depth / 2,
3763
+ vd: (pick(options3d.depth, 1) *
3764
+ pick(options3d.viewDistance, 0))
3765
+ },
3766
+ tickId = tick.pos,
3767
+ prevTick = ticks[tickId - 1],
3768
+ nextTick = ticks[tickId + 1];
3769
+ var labelPos = void 0,
3770
+ prevLabelPos = void 0,
3771
+ nextLabelPos = void 0;
3772
+ // Check whether the tick is not the first one and previous tick
3773
+ // exists, then calculate position of previous label.
3774
+ if (tickId !== 0 &&
3775
+ prevTick &&
3776
+ prevTick.label &&
3777
+ prevTick.label.xy) {
3778
+ prevLabelPos = perspective3D({
3779
+ x: prevTick.label.xy.x,
3780
+ y: prevTick.label.xy.y,
3781
+ z: null
3782
+ }, origin_1, origin_1.vd);
3783
+ }
3784
+ // If next label position is defined, then recalculate its position
3785
+ // basing on the perspective.
3786
+ if (nextTick && nextTick.label && nextTick.label.xy) {
3787
+ nextLabelPos = perspective3D({
3788
+ x: nextTick.label.xy.x,
3789
+ y: nextTick.label.xy.y,
3790
+ z: null
3791
+ }, origin_1, origin_1.vd);
3792
+ }
3793
+ labelPos = {
3794
+ x: tick.label.xy.x,
3795
+ y: tick.label.xy.y,
3796
+ z: null
3797
+ };
3798
+ labelPos = perspective3D(labelPos, origin_1, origin_1.vd);
3799
+ // If tick is first one, check whether next label position is
3800
+ // already calculated, then return difference between the first and
3801
+ // the second label. If there is no next label position calculated,
3802
+ // return the difference between the first grid line and left 3d
3803
+ // frame.
3804
+ return Math.abs(prevLabelPos ?
3805
+ labelPos.x - prevLabelPos.x : nextLabelPos ?
3806
+ nextLabelPos.x - labelPos.x :
3807
+ firstGridLine.x - frame3DLeft.x);
3808
+ }
3809
+ return proceed.apply(axis, [].slice.call(arguments, 1));
3810
+ }
3811
+ /**
3812
+ * @private
3813
+ */
3814
+ function wrapAxisGetTitlePosition(proceed) {
3815
+ var pos = proceed.apply(this,
3816
+ [].slice.call(arguments, 1));
3817
+ return this.axis3D ?
3818
+ this.axis3D.fix3dPosition(pos, true) :
3819
+ pos;
3820
+ }
3821
+ /* *
3822
+ *
3823
+ * Class
3439
3824
  *
3440
3825
  * */
3441
- /* eslint-disable valid-jsdoc */
3442
3826
  /**
3443
3827
  * Adds 3D support to axes.
3444
3828
  * @private
@@ -3456,6 +3840,32 @@
3456
3840
  function Axis3DAdditions(axis) {
3457
3841
  this.axis = axis;
3458
3842
  }
3843
+ /* *
3844
+ *
3845
+ * Functions
3846
+ *
3847
+ * */
3848
+ /**
3849
+ * Extends axis class with 3D support.
3850
+ * @private
3851
+ */
3852
+ Axis3DAdditions.compose = function (AxisClass, TickClass) {
3853
+ Tick3D.compose(TickClass);
3854
+ if (composedClasses.indexOf(AxisClass) === -1) {
3855
+ composedClasses.push(AxisClass);
3856
+ merge(true, AxisClass.defaultOptions, Axis3DDefaults);
3857
+ AxisClass.keepProps.push('axis3D');
3858
+ addEvent(AxisClass, 'init', onAxisInit);
3859
+ addEvent(AxisClass, 'afterSetOptions', onAxisAfterSetOptions);
3860
+ addEvent(AxisClass, 'drawCrosshair', onAxisDrawCrosshair);
3861
+ var axisProto = AxisClass.prototype;
3862
+ wrap(axisProto, 'getLinePath', wrapAxisGetLinePath);
3863
+ wrap(axisProto, 'getPlotBandPath', wrapAxisGetPlotBandPath);
3864
+ wrap(axisProto, 'getPlotLinePath', wrapAxisGetPlotLinePath);
3865
+ wrap(axisProto, 'getSlotWidth', wrapAxisGetSlotWidth);
3866
+ wrap(axisProto, 'getTitlePosition', wrapAxisGetTitlePosition);
3867
+ }
3868
+ };
3459
3869
  /* *
3460
3870
  *
3461
3871
  * Functions
@@ -3695,396 +4105,13 @@
3695
4105
  };
3696
4106
  return Axis3DAdditions;
3697
4107
  }());
3698
- /**
3699
- * Axis with 3D support.
3700
- * @private
3701
- * @class
3702
- */
3703
- var Axis3D = /** @class */ (function () {
3704
- function Axis3D() {
3705
- }
3706
- /* *
3707
- *
3708
- * Static Functions
3709
- *
3710
- * */
3711
- /**
3712
- * Extends axis class with 3D support.
3713
- * @private
3714
- */
3715
- Axis3D.compose = function (AxisClass) {
3716
- merge(true, AxisClass.defaultOptions, Axis3D.defaultOptions);
3717
- AxisClass.keepProps.push('axis3D');
3718
- addEvent(AxisClass, 'init', Axis3D.onInit);
3719
- addEvent(AxisClass, 'afterSetOptions', Axis3D.onAfterSetOptions);
3720
- addEvent(AxisClass, 'drawCrosshair', Axis3D.onDrawCrosshair);
3721
- var axisProto = AxisClass.prototype;
3722
- wrap(axisProto, 'getLinePath', Axis3D.wrapGetLinePath);
3723
- wrap(axisProto, 'getPlotBandPath', Axis3D.wrapGetPlotBandPath);
3724
- wrap(axisProto, 'getPlotLinePath', Axis3D.wrapGetPlotLinePath);
3725
- wrap(axisProto, 'getSlotWidth', Axis3D.wrapGetSlotWidth);
3726
- wrap(axisProto, 'getTitlePosition', Axis3D.wrapGetTitlePosition);
3727
- Tick3D.compose(Tick);
3728
- };
3729
- /**
3730
- * @private
3731
- */
3732
- Axis3D.onAfterSetOptions = function () {
3733
- var axis = this;
3734
- var chart = axis.chart;
3735
- var options = axis.options;
3736
- if (chart.is3d && chart.is3d() && axis.coll !== 'colorAxis') {
3737
- options.tickWidth = pick(options.tickWidth, 0);
3738
- options.gridLineWidth = pick(options.gridLineWidth, 1);
3739
- }
3740
- };
3741
- /**
3742
- * @private
3743
- */
3744
- Axis3D.onDrawCrosshair = function (e) {
3745
- var axis = this;
3746
- if (axis.chart.is3d() &&
3747
- axis.coll !== 'colorAxis') {
3748
- if (e.point) {
3749
- e.point.crosshairPos = axis.isXAxis ?
3750
- e.point.axisXpos :
3751
- axis.len - e.point.axisYpos;
3752
- }
3753
- }
3754
- };
3755
- /**
3756
- * @private
3757
- */
3758
- Axis3D.onInit = function () {
3759
- var axis = this;
3760
- if (!axis.axis3D) {
3761
- axis.axis3D = new Axis3DAdditions(axis);
3762
- }
3763
- };
3764
- /**
3765
- * Do not draw axislines in 3D.
3766
- * @private
3767
- */
3768
- Axis3D.wrapGetLinePath = function (proceed) {
3769
- var axis = this;
3770
- // Do not do this if the chart is not 3D
3771
- if (!axis.chart.is3d() || axis.coll === 'colorAxis') {
3772
- return proceed.apply(axis, [].slice.call(arguments, 1));
3773
- }
3774
- return [];
3775
- };
3776
- /**
3777
- * @private
3778
- */
3779
- Axis3D.wrapGetPlotBandPath = function (proceed) {
3780
- // Do not do this if the chart is not 3D
3781
- if (!this.chart.is3d() || this.coll === 'colorAxis') {
3782
- return proceed.apply(this, [].slice.call(arguments, 1));
3783
- }
3784
- var args = arguments,
3785
- from = args[1],
3786
- to = args[2],
3787
- path = [],
3788
- fromPath = this.getPlotLinePath({ value: from }),
3789
- toPath = this.getPlotLinePath({ value: to });
3790
- if (fromPath && toPath) {
3791
- for (var i = 0; i < fromPath.length; i += 2) {
3792
- var fromStartSeg = fromPath[i],
3793
- fromEndSeg = fromPath[i + 1],
3794
- toStartSeg = toPath[i],
3795
- toEndSeg = toPath[i + 1];
3796
- if (fromStartSeg[0] === 'M' &&
3797
- fromEndSeg[0] === 'L' &&
3798
- toStartSeg[0] === 'M' &&
3799
- toEndSeg[0] === 'L') {
3800
- path.push(fromStartSeg, fromEndSeg, toEndSeg,
3801
- // lineTo instead of moveTo
3802
- ['L', toStartSeg[1], toStartSeg[2]], ['Z']);
3803
- }
3804
- }
3805
- }
3806
- return path;
3807
- };
3808
- /**
3809
- * @private
3810
- */
3811
- Axis3D.wrapGetPlotLinePath = function (proceed) {
3812
- var axis = this,
3813
- axis3D = axis.axis3D,
3814
- chart = axis.chart,
3815
- path = proceed.apply(axis,
3816
- [].slice.call(arguments, 1));
3817
- // Do not do this if the chart is not 3D
3818
- if (axis.coll === 'colorAxis' ||
3819
- !chart.chart3d ||
3820
- !chart.is3d()) {
3821
- return path;
3822
- }
3823
- if (path === null) {
3824
- return path;
3825
- }
3826
- var options3d = chart.options.chart.options3d,
3827
- d = axis.isZAxis ? chart.plotWidth : options3d.depth,
3828
- frame = chart.chart3d.frame3d,
3829
- startSegment = path[0],
3830
- endSegment = path[1];
3831
- var pArr,
3832
- pathSegments = [];
3833
- if (startSegment[0] === 'M' && endSegment[0] === 'L') {
3834
- pArr = [
3835
- axis3D.swapZ({ x: startSegment[1], y: startSegment[2], z: 0 }),
3836
- axis3D.swapZ({ x: startSegment[1], y: startSegment[2], z: d }),
3837
- axis3D.swapZ({ x: endSegment[1], y: endSegment[2], z: 0 }),
3838
- axis3D.swapZ({ x: endSegment[1], y: endSegment[2], z: d })
3839
- ];
3840
- if (!this.horiz) { // Y-Axis
3841
- if (frame.front.visible) {
3842
- pathSegments.push(pArr[0], pArr[2]);
3843
- }
3844
- if (frame.back.visible) {
3845
- pathSegments.push(pArr[1], pArr[3]);
3846
- }
3847
- if (frame.left.visible) {
3848
- pathSegments.push(pArr[0], pArr[1]);
3849
- }
3850
- if (frame.right.visible) {
3851
- pathSegments.push(pArr[2], pArr[3]);
3852
- }
3853
- }
3854
- else if (this.isZAxis) { // Z-Axis
3855
- if (frame.left.visible) {
3856
- pathSegments.push(pArr[0], pArr[2]);
3857
- }
3858
- if (frame.right.visible) {
3859
- pathSegments.push(pArr[1], pArr[3]);
3860
- }
3861
- if (frame.top.visible) {
3862
- pathSegments.push(pArr[0], pArr[1]);
3863
- }
3864
- if (frame.bottom.visible) {
3865
- pathSegments.push(pArr[2], pArr[3]);
3866
- }
3867
- }
3868
- else { // X-Axis
3869
- if (frame.front.visible) {
3870
- pathSegments.push(pArr[0], pArr[2]);
3871
- }
3872
- if (frame.back.visible) {
3873
- pathSegments.push(pArr[1], pArr[3]);
3874
- }
3875
- if (frame.top.visible) {
3876
- pathSegments.push(pArr[0], pArr[1]);
3877
- }
3878
- if (frame.bottom.visible) {
3879
- pathSegments.push(pArr[2], pArr[3]);
3880
- }
3881
- }
3882
- pathSegments = perspective(pathSegments, this.chart, false);
3883
- }
3884
- return chart.renderer.toLineSegments(pathSegments);
3885
- };
3886
- /**
3887
- * Wrap getSlotWidth function to calculate individual width value for each
3888
- * slot (#8042).
3889
- * @private
3890
- */
3891
- Axis3D.wrapGetSlotWidth = function (proceed, tick) {
3892
- var axis = this,
3893
- chart = axis.chart,
3894
- ticks = axis.ticks,
3895
- gridGroup = axis.gridGroup;
3896
- if (axis.categories &&
3897
- chart.frameShapes &&
3898
- chart.is3d() &&
3899
- gridGroup &&
3900
- tick &&
3901
- tick.label) {
3902
- var firstGridLine = (gridGroup.element.childNodes[0].getBBox()),
3903
- frame3DLeft = chart.frameShapes.left.getBBox(),
3904
- options3d = chart.options.chart.options3d,
3905
- origin_1 = {
3906
- x: chart.plotWidth / 2,
3907
- y: chart.plotHeight / 2,
3908
- z: options3d.depth / 2,
3909
- vd: (pick(options3d.depth, 1) *
3910
- pick(options3d.viewDistance, 0))
3911
- },
3912
- tickId = tick.pos,
3913
- prevTick = ticks[tickId - 1],
3914
- nextTick = ticks[tickId + 1];
3915
- var labelPos = void 0,
3916
- prevLabelPos = void 0,
3917
- nextLabelPos = void 0;
3918
- // Check whether the tick is not the first one and previous tick
3919
- // exists, then calculate position of previous label.
3920
- if (tickId !== 0 &&
3921
- prevTick &&
3922
- prevTick.label &&
3923
- prevTick.label.xy) {
3924
- prevLabelPos = perspective3D({
3925
- x: prevTick.label.xy.x,
3926
- y: prevTick.label.xy.y,
3927
- z: null
3928
- }, origin_1, origin_1.vd);
3929
- }
3930
- // If next label position is defined, then recalculate its position
3931
- // basing on the perspective.
3932
- if (nextTick && nextTick.label && nextTick.label.xy) {
3933
- nextLabelPos = perspective3D({
3934
- x: nextTick.label.xy.x,
3935
- y: nextTick.label.xy.y,
3936
- z: null
3937
- }, origin_1, origin_1.vd);
3938
- }
3939
- labelPos = {
3940
- x: tick.label.xy.x,
3941
- y: tick.label.xy.y,
3942
- z: null
3943
- };
3944
- labelPos = perspective3D(labelPos, origin_1, origin_1.vd);
3945
- // If tick is first one, check whether next label position is
3946
- // already calculated, then return difference between the first and
3947
- // the second label. If there is no next label position calculated,
3948
- // return the difference between the first grid line and left 3d
3949
- // frame.
3950
- return Math.abs(prevLabelPos ?
3951
- labelPos.x - prevLabelPos.x : nextLabelPos ?
3952
- nextLabelPos.x - labelPos.x :
3953
- firstGridLine.x - frame3DLeft.x);
3954
- }
3955
- return proceed.apply(axis, [].slice.call(arguments, 1));
3956
- };
3957
- /**
3958
- * @private
3959
- */
3960
- Axis3D.wrapGetTitlePosition = function (proceed) {
3961
- var pos = proceed.apply(this,
3962
- [].slice.call(arguments, 1));
3963
- return this.axis3D ?
3964
- this.axis3D.fix3dPosition(pos, true) :
3965
- pos;
3966
- };
3967
- /* *
3968
- *
3969
- * Static Properties
3970
- *
3971
- * */
3972
- /**
3973
- * @optionparent xAxis
3974
- */
3975
- Axis3D.defaultOptions = {
3976
- labels: {
3977
- /**
3978
- * Defines how the labels are be repositioned according to the 3D
3979
- * chart orientation.
3980
- *
3981
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from
3982
- * the tick marks, despite the chart orientation. This is the
3983
- * backwards compatible behavior, and causes skewing of X and Z
3984
- * axes.
3985
- *
3986
- * - `'chart'`: Preserve 3D position relative to the chart. This
3987
- * looks nice, but hard to read if the text isn't forward-facing.
3988
- *
3989
- * - `'flap'`: Rotated text along the axis to compensate for the
3990
- * chart orientation. This tries to maintain text as legible as
3991
- * possible on all orientations.
3992
- *
3993
- * - `'ortho'`: Rotated text along the axis direction so that the
3994
- * labels are orthogonal to the axis. This is very similar to
3995
- * `'flap'`, but prevents skewing the labels (X and Y scaling are
3996
- * still present).
3997
- *
3998
- * @sample highcharts/3d/skewed-labels/
3999
- * Skewed labels
4000
- *
4001
- * @since 5.0.15
4002
- * @validvalue ['offset', 'chart', 'flap', 'ortho']
4003
- * @product highcharts
4004
- * @requires highcharts-3d
4005
- */
4006
- position3d: 'offset',
4007
- /**
4008
- * If enabled, the axis labels will skewed to follow the
4009
- * perspective.
4010
- *
4011
- * This will fix overlapping labels and titles, but texts become
4012
- * less legible due to the distortion.
4013
- *
4014
- * The final appearance depends heavily on `labels.position3d`.
4015
- *
4016
- * @sample highcharts/3d/skewed-labels/
4017
- * Skewed labels
4018
- *
4019
- * @since 5.0.15
4020
- * @product highcharts
4021
- * @requires highcharts-3d
4022
- */
4023
- skew3d: false
4024
- },
4025
- title: {
4026
- /**
4027
- * Defines how the title is repositioned according to the 3D chart
4028
- * orientation.
4029
- *
4030
- * - `'offset'`: Maintain a fixed horizontal/vertical distance from
4031
- * the tick marks, despite the chart orientation. This is the
4032
- * backwards compatible behavior, and causes skewing of X and Z
4033
- * axes.
4034
- *
4035
- * - `'chart'`: Preserve 3D position relative to the chart. This
4036
- * looks nice, but hard to read if the text isn't forward-facing.
4037
- *
4038
- * - `'flap'`: Rotated text along the axis to compensate for the
4039
- * chart orientation. This tries to maintain text as legible as
4040
- * possible on all orientations.
4041
- *
4042
- * - `'ortho'`: Rotated text along the axis direction so that the
4043
- * labels are orthogonal to the axis. This is very similar to
4044
- * `'flap'`, but prevents skewing the labels (X and Y scaling are
4045
- * still present).
4046
- *
4047
- * - `undefined`: Will use the config from `labels.position3d`
4048
- *
4049
- * @sample highcharts/3d/skewed-labels/
4050
- * Skewed labels
4051
- *
4052
- * @type {"offset"|"chart"|"flap"|"ortho"|null}
4053
- * @since 5.0.15
4054
- * @product highcharts
4055
- * @requires highcharts-3d
4056
- */
4057
- position3d: null,
4058
- /**
4059
- * If enabled, the axis title will skewed to follow the perspective.
4060
- *
4061
- * This will fix overlapping labels and titles, but texts become
4062
- * less legible due to the distortion.
4063
- *
4064
- * The final appearance depends heavily on `title.position3d`.
4065
- *
4066
- * A `null` value will use the config from `labels.skew3d`.
4067
- *
4068
- * @sample highcharts/3d/skewed-labels/
4069
- * Skewed labels
4070
- *
4071
- * @type {boolean|null}
4072
- * @since 5.0.15
4073
- * @product highcharts
4074
- * @requires highcharts-3d
4075
- */
4076
- skew3d: null
4077
- }
4078
- };
4079
- return Axis3D;
4080
- }());
4081
4108
  /* *
4082
4109
  *
4083
4110
  * Default Export
4084
4111
  *
4085
4112
  * */
4086
4113
 
4087
- return Axis3D;
4114
+ return Axis3DAdditions;
4088
4115
  });
4089
4116
  _registerModule(_modules, 'Core/Series/Series3D.js', [_modules['Core/Math3D.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Math3D, Series, U) {
4090
4117
  /* *
@@ -5476,14 +5503,14 @@
5476
5503
 
5477
5504
  return Scatter3DSeries;
5478
5505
  });
5479
- _registerModule(_modules, 'masters/highcharts-3d.src.js', [_modules['Core/Globals.js'], _modules['Core/Renderer/SVG/SVGRenderer3D.js'], _modules['Core/Chart/Chart3D.js'], _modules['Core/Axis/ZAxis.js'], _modules['Core/Axis/Axis3D.js'], _modules['Series/Area3D/Area3DSeries.js']], function (Highcharts, SVGRenderer3D, Chart3D, ZAxis, Axis3D, Area3DSeries) {
5506
+ _registerModule(_modules, 'masters/highcharts-3d.src.js', [_modules['Core/Globals.js'], _modules['Core/Renderer/SVG/SVGRenderer3D.js'], _modules['Core/Chart/Chart3D.js'], _modules['Core/Axis/ZAxis.js'], _modules['Core/Axis/Axis3DComposition.js'], _modules['Series/Area3D/Area3DSeries.js']], function (Highcharts, SVGRenderer3D, Chart3D, ZAxis, Axis3DComposition, Area3DSeries) {
5480
5507
 
5481
5508
  var G = Highcharts;
5482
5509
  // Compositions
5483
5510
  SVGRenderer3D.compose(G.SVGRenderer);
5484
5511
  Chart3D.compose(G.Chart, G.Fx);
5485
5512
  ZAxis.compose(G.Chart);
5486
- Axis3D.compose(G.Axis);
5513
+ Axis3DComposition.compose(G.Axis, G.Tick);
5487
5514
  Area3DSeries.compose(G.seriesTypes.area);
5488
5515
 
5489
5516
  });