highcharts 11.4.3 → 11.4.4

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 (625) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +1 -1
  3. package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
  4. package/es-modules/Accessibility/Components/NavigatorComponent.js +2 -2
  5. package/es-modules/Accessibility/KeyboardNavigation.js +1 -1
  6. package/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
  7. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  8. package/es-modules/Accessibility/Options/LangDefaults.js +3 -3
  9. package/es-modules/Accessibility/Utils/EventProvider.js +1 -1
  10. package/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -1
  11. package/es-modules/Core/Animation/Fx.js +4 -2
  12. package/es-modules/Core/Axis/Axis.js +3 -3
  13. package/es-modules/Core/Axis/AxisDefaults.js +1 -0
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
  15. package/es-modules/Core/Axis/GridAxis.js +1 -1
  16. package/es-modules/Core/Axis/OrdinalAxis.js +5 -2
  17. package/es-modules/Core/Axis/RadialAxisDefaults.js +3 -3
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +1 -1
  19. package/es-modules/Core/Chart/Chart.js +16 -7
  20. package/es-modules/Core/Chart/MapChart.js +3 -3
  21. package/es-modules/Core/Chart/StockChart.js +1 -1
  22. package/es-modules/Core/Color/Color.js +2 -2
  23. package/es-modules/Core/Defaults.js +27 -1
  24. package/es-modules/Core/Geometry/GeometryUtilities.js +22 -0
  25. package/es-modules/Core/Globals.js +1 -1
  26. package/es-modules/Core/Legend/Legend.js +82 -14
  27. package/es-modules/Core/MSPointer.js +42 -1
  28. package/es-modules/Core/Pointer.js +10 -6
  29. package/es-modules/Core/Renderer/HTML/AST.js +6 -0
  30. package/es-modules/Core/Renderer/HTML/HTMLElement.js +2 -2
  31. package/es-modules/Core/Renderer/SVG/SVGElement.js +31 -98
  32. package/es-modules/Core/Renderer/SVG/SVGLabel.js +20 -0
  33. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +29 -14
  34. package/es-modules/Core/Renderer/SVG/Symbols.js +18 -18
  35. package/es-modules/Core/Responsive.js +6 -1
  36. package/es-modules/Core/Series/DataLabel.js +1 -10
  37. package/es-modules/Core/Series/DataSeriesComposition.js +0 -2
  38. package/es-modules/Core/Series/Point.js +7 -10
  39. package/es-modules/Core/Series/Series.js +40 -24
  40. package/es-modules/Core/Series/SeriesDefaults.js +18 -12
  41. package/es-modules/Core/Templating.js +2 -2
  42. package/es-modules/Core/Tooltip.js +6 -3
  43. package/es-modules/Data/Connectors/JSONConnector.js +1 -0
  44. package/es-modules/Data/Converters/CSVConverter.js +1 -1
  45. package/es-modules/Data/Converters/DataConverter.js +7 -7
  46. package/es-modules/Data/DataTable.js +106 -5
  47. package/es-modules/Data/Formula/FormulaParser.js +2 -2
  48. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +1 -1
  49. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +1 -1
  50. package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -2
  51. package/es-modules/Extensions/Boost/Boost.js +1 -1
  52. package/es-modules/Extensions/Boost/BoostChart.js +8 -2
  53. package/es-modules/Extensions/Boost/BoostSeries.js +41 -10
  54. package/es-modules/Extensions/Boost/WGLShader.js +1 -1
  55. package/es-modules/Extensions/BorderRadius.js +3 -3
  56. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +0 -38
  57. package/es-modules/Extensions/Data.js +11 -11
  58. package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -2
  59. package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
  60. package/es-modules/Extensions/DownloadURL.js +1 -1
  61. package/es-modules/Extensions/Drilldown/Drilldown.js +0 -2
  62. package/es-modules/Extensions/Exporting/Exporting.js +14 -14
  63. package/es-modules/Extensions/OverlappingDataLabels.js +36 -5
  64. package/es-modules/Extensions/Pane/PaneDefaults.js +3 -2
  65. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +1 -1
  66. package/es-modules/Extensions/Sonification/MIDI.js +7 -7
  67. package/es-modules/Extensions/Sonification/SonificationInstrument.js +0 -1
  68. package/es-modules/Extensions/Sonification/TimelineFromChart.js +1 -3
  69. package/es-modules/Extensions/TextPath.js +225 -0
  70. package/es-modules/Maps/MapUtilities.js +1 -20
  71. package/es-modules/Maps/MapView.js +3 -1
  72. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -0
  73. package/es-modules/Series/Area/AreaSeries.js +5 -0
  74. package/es-modules/Series/Area/AreaSeriesDefaults.js +1 -1
  75. package/es-modules/Series/Bar/BarSeries.js +1 -1
  76. package/es-modules/Series/Bellcurve/BellcurveSeriesDefaults.js +2 -2
  77. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +2 -1
  78. package/es-modules/Series/Bubble/BubbleLegendComposition.js +4 -7
  79. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +3 -3
  80. package/es-modules/Series/Bubble/BubbleSeries.js +4 -4
  81. package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
  82. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -2
  83. package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +2 -2
  84. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +2 -2
  85. package/es-modules/Series/Flags/FlagsSeries.js +2 -2
  86. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +1 -1
  87. package/es-modules/Series/Gantt/GanttSeriesDefaults.js +1 -1
  88. package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
  89. package/es-modules/Series/HLC/HLCSeries.js +1 -1
  90. package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +2 -2
  91. package/es-modules/Series/Item/ItemSeries.js +1 -1
  92. package/es-modules/Series/Map/MapSeries.js +1 -1
  93. package/es-modules/Series/Map/MapSeriesDefaults.js +2 -2
  94. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -1
  95. package/es-modules/Series/Organization/OrganizationSeries.js +3 -0
  96. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  97. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +8 -5
  98. package/es-modules/Series/Pie/PieDataLabel.js +7 -6
  99. package/es-modules/Series/Pie/PiePoint.js +6 -6
  100. package/es-modules/Series/Pie/PieSeriesDefaults.js +11 -10
  101. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  102. package/es-modules/Series/Sankey/SankeySeries.js +7 -4
  103. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
  104. package/es-modules/Series/Sunburst/SunburstSeries.js +8 -5
  105. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +2 -2
  106. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -2
  107. package/es-modules/Series/Treegraph/TreegraphSeries.js +23 -2
  108. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +2 -2
  109. package/es-modules/Series/Treemap/TreemapPoint.js +2 -1
  110. package/es-modules/Series/Treemap/TreemapSeries.js +15 -7
  111. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +15 -1
  112. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +2 -2
  113. package/es-modules/Series/Variwide/VariwideComposition.js +1 -1
  114. package/es-modules/Series/Vector/VectorSeries.js +1 -1
  115. package/es-modules/Series/Windbarb/WindbarbSeries.js +2 -2
  116. package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
  117. package/es-modules/Series/Wordcloud/WordcloudSeriesDefaults.js +1 -1
  118. package/es-modules/Stock/Indicators/AD/ADIndicator.js +1 -1
  119. package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
  120. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
  121. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
  122. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
  123. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -3
  124. package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +1 -1
  125. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +1 -1
  126. package/es-modules/Stock/Indicators/PC/PCIndicator.js +1 -1
  127. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
  128. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +1 -1
  129. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -3
  130. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  131. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +2 -2
  132. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +3 -3
  133. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +1 -1
  134. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +1 -1
  135. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
  136. package/es-modules/Stock/Navigator/Navigator.js +141 -55
  137. package/es-modules/Stock/Navigator/NavigatorDefaults.js +1 -1
  138. package/es-modules/Stock/RangeSelector/RangeSelector.js +1 -1
  139. package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +1 -1
  140. package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -1
  141. package/es-modules/Stock/StockTools/StockToolbar.js +115 -37
  142. package/es-modules/Stock/StockTools/StockToolsDefaults.js +7 -1
  143. package/es-modules/Stock/StockTools/StockToolsGui.js +24 -23
  144. package/es-modules/Stock/StockTools/StockToolsUtilities.js +26 -0
  145. package/es-modules/masters/highcharts-more.src.js +2 -2
  146. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  147. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  148. package/es-modules/masters/indicators/ao.src.js +1 -1
  149. package/es-modules/masters/indicators/apo.src.js +1 -1
  150. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  151. package/es-modules/masters/indicators/aroon.src.js +1 -1
  152. package/es-modules/masters/indicators/atr.src.js +1 -1
  153. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  154. package/es-modules/masters/indicators/cci.src.js +1 -1
  155. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  156. package/es-modules/masters/indicators/cmf.src.js +1 -1
  157. package/es-modules/masters/indicators/cmo.src.js +1 -1
  158. package/es-modules/masters/indicators/dema.src.js +1 -1
  159. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  160. package/es-modules/masters/indicators/dmi.src.js +1 -1
  161. package/es-modules/masters/indicators/dpo.src.js +1 -1
  162. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  163. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  164. package/es-modules/masters/indicators/indicators.src.js +1 -1
  165. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  166. package/es-modules/masters/indicators/klinger.src.js +1 -1
  167. package/es-modules/masters/indicators/macd.src.js +1 -1
  168. package/es-modules/masters/indicators/mfi.src.js +1 -1
  169. package/es-modules/masters/indicators/momentum.src.js +1 -1
  170. package/es-modules/masters/indicators/natr.src.js +1 -1
  171. package/es-modules/masters/indicators/obv.src.js +1 -1
  172. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  173. package/es-modules/masters/indicators/ppo.src.js +1 -1
  174. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  175. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  176. package/es-modules/masters/indicators/psar.src.js +1 -1
  177. package/es-modules/masters/indicators/regressions.src.js +1 -1
  178. package/es-modules/masters/indicators/roc.src.js +1 -1
  179. package/es-modules/masters/indicators/rsi.src.js +1 -1
  180. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  181. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  182. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  183. package/es-modules/masters/indicators/tema.src.js +1 -1
  184. package/es-modules/masters/indicators/trendline.src.js +1 -1
  185. package/es-modules/masters/indicators/trix.src.js +1 -1
  186. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  187. package/es-modules/masters/indicators/vwap.src.js +1 -1
  188. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  189. package/es-modules/masters/indicators/wma.src.js +1 -1
  190. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  191. package/es-modules/masters/modules/arc-diagram.src.js +2 -3
  192. package/es-modules/masters/modules/cylinder.src.js +1 -1
  193. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  194. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  195. package/es-modules/masters/modules/export-data.src.js +1 -1
  196. package/es-modules/masters/modules/funnel3d.src.js +2 -2
  197. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  198. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  199. package/es-modules/masters/modules/map.src.js +1 -1
  200. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  201. package/es-modules/masters/modules/organization.src.js +1 -1
  202. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  203. package/es-modules/masters/modules/pyramid3d.src.js +3 -3
  204. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  205. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  206. package/es-modules/masters/modules/textpath.src.d.ts +1 -0
  207. package/es-modules/masters/modules/textpath.src.js +16 -0
  208. package/es-modules/masters/modules/tilemap.src.js +1 -1
  209. package/es-modules/masters/modules/treegraph.src.js +1 -1
  210. package/es-modules/tsconfig.tsbuildinfo +1 -1
  211. package/highcharts-3d.js +2 -2
  212. package/highcharts-3d.src.js +4 -4
  213. package/highcharts-gantt.js +3 -3
  214. package/highcharts-gantt.src.js +3374 -3042
  215. package/highcharts-more.d.ts +42 -2
  216. package/highcharts-more.js +2 -2
  217. package/highcharts-more.src.d.ts +42 -2
  218. package/highcharts-more.src.js +260 -35
  219. package/highcharts.d.ts +828 -428
  220. package/highcharts.js +3 -3
  221. package/highcharts.src.d.ts +828 -428
  222. package/highcharts.src.js +5844 -5600
  223. package/highmaps.js +3 -3
  224. package/highmaps.src.js +3270 -3043
  225. package/highstock.js +3 -3
  226. package/highstock.src.js +3379 -3048
  227. package/indicators/acceleration-bands.js +2 -2
  228. package/indicators/acceleration-bands.src.js +4 -4
  229. package/indicators/accumulation-distribution.js +2 -2
  230. package/indicators/accumulation-distribution.src.js +5 -5
  231. package/indicators/ao.js +2 -2
  232. package/indicators/ao.src.js +4 -4
  233. package/indicators/apo.js +2 -2
  234. package/indicators/apo.src.js +5 -5
  235. package/indicators/aroon-oscillator.js +2 -2
  236. package/indicators/aroon-oscillator.src.js +4 -4
  237. package/indicators/aroon.js +2 -2
  238. package/indicators/aroon.src.js +5 -5
  239. package/indicators/atr.js +2 -2
  240. package/indicators/atr.src.js +4 -4
  241. package/indicators/bollinger-bands.js +2 -2
  242. package/indicators/bollinger-bands.src.js +4 -4
  243. package/indicators/cci.js +2 -2
  244. package/indicators/cci.src.js +4 -4
  245. package/indicators/chaikin.js +2 -2
  246. package/indicators/chaikin.src.js +6 -6
  247. package/indicators/cmf.js +2 -2
  248. package/indicators/cmf.src.js +5 -5
  249. package/indicators/cmo.js +2 -2
  250. package/indicators/cmo.src.js +4 -4
  251. package/indicators/dema.js +2 -2
  252. package/indicators/dema.src.js +4 -4
  253. package/indicators/disparity-index.js +2 -2
  254. package/indicators/disparity-index.src.js +4 -4
  255. package/indicators/dmi.js +2 -2
  256. package/indicators/dmi.src.js +4 -4
  257. package/indicators/dpo.js +2 -2
  258. package/indicators/dpo.src.js +4 -4
  259. package/indicators/ema.js +1 -1
  260. package/indicators/ema.src.js +2 -2
  261. package/indicators/ichimoku-kinko-hyo.js +2 -2
  262. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  263. package/indicators/indicators-all.js +2 -2
  264. package/indicators/indicators-all.src.js +29 -29
  265. package/indicators/indicators.js +2 -2
  266. package/indicators/indicators.src.js +5 -5
  267. package/indicators/keltner-channels.js +2 -2
  268. package/indicators/keltner-channels.src.js +4 -4
  269. package/indicators/klinger.js +2 -2
  270. package/indicators/klinger.src.js +4 -4
  271. package/indicators/macd.js +2 -2
  272. package/indicators/macd.src.js +4 -4
  273. package/indicators/mfi.js +2 -2
  274. package/indicators/mfi.src.js +5 -5
  275. package/indicators/momentum.js +2 -2
  276. package/indicators/momentum.src.js +4 -4
  277. package/indicators/natr.js +2 -2
  278. package/indicators/natr.src.js +4 -4
  279. package/indicators/obv.js +2 -2
  280. package/indicators/obv.src.js +4 -4
  281. package/indicators/pivot-points.js +2 -2
  282. package/indicators/pivot-points.src.js +7 -7
  283. package/indicators/ppo.js +2 -2
  284. package/indicators/ppo.src.js +5 -5
  285. package/indicators/price-channel.js +2 -2
  286. package/indicators/price-channel.src.js +5 -5
  287. package/indicators/price-envelopes.js +2 -2
  288. package/indicators/price-envelopes.src.js +4 -4
  289. package/indicators/psar.js +2 -2
  290. package/indicators/psar.src.js +5 -5
  291. package/indicators/regressions.js +2 -2
  292. package/indicators/regressions.src.js +5 -5
  293. package/indicators/roc.js +2 -2
  294. package/indicators/roc.src.js +4 -4
  295. package/indicators/rsi.js +2 -2
  296. package/indicators/rsi.src.js +4 -4
  297. package/indicators/slow-stochastic.js +2 -2
  298. package/indicators/slow-stochastic.src.js +6 -6
  299. package/indicators/stochastic.js +2 -2
  300. package/indicators/stochastic.src.js +4 -4
  301. package/indicators/supertrend.js +2 -2
  302. package/indicators/supertrend.src.js +7 -7
  303. package/indicators/tema.js +2 -2
  304. package/indicators/tema.src.js +4 -4
  305. package/indicators/trendline.js +2 -2
  306. package/indicators/trendline.src.js +5 -5
  307. package/indicators/trix.js +2 -2
  308. package/indicators/trix.src.js +4 -4
  309. package/indicators/volume-by-price.js +2 -2
  310. package/indicators/volume-by-price.src.js +4 -4
  311. package/indicators/vwap.js +2 -2
  312. package/indicators/vwap.src.js +5 -5
  313. package/indicators/williams-r.js +2 -2
  314. package/indicators/williams-r.src.js +5 -5
  315. package/indicators/wma.js +2 -2
  316. package/indicators/wma.src.js +4 -4
  317. package/indicators/zigzag.js +2 -2
  318. package/indicators/zigzag.src.js +4 -4
  319. package/modules/accessibility.js +2 -2
  320. package/modules/accessibility.src.js +162 -77
  321. package/modules/annotations-advanced.js +2 -2
  322. package/modules/annotations-advanced.src.js +8 -9
  323. package/modules/annotations.js +2 -2
  324. package/modules/annotations.src.js +8 -9
  325. package/modules/arc-diagram.d.ts +120 -1
  326. package/modules/arc-diagram.js +2 -2
  327. package/modules/arc-diagram.src.d.ts +120 -1
  328. package/modules/arc-diagram.src.js +9363 -5
  329. package/modules/arrow-symbols.js +2 -2
  330. package/modules/arrow-symbols.src.js +3 -3
  331. package/modules/boost-canvas.js +2 -2
  332. package/modules/boost-canvas.src.js +53 -16
  333. package/modules/boost.js +2 -2
  334. package/modules/boost.src.js +54 -17
  335. package/modules/broken-axis.js +2 -2
  336. package/modules/broken-axis.src.js +3 -3
  337. package/modules/bullet.js +2 -2
  338. package/modules/bullet.src.js +3 -3
  339. package/modules/coloraxis.js +2 -2
  340. package/modules/coloraxis.src.js +10 -6
  341. package/modules/current-date-indicator.js +2 -2
  342. package/modules/current-date-indicator.src.js +3 -3
  343. package/modules/cylinder.js +2 -2
  344. package/modules/cylinder.src.js +4 -4
  345. package/modules/data-tools.js +2 -2
  346. package/modules/data-tools.src.js +120 -18
  347. package/modules/data.js +2 -2
  348. package/modules/data.src.js +14 -14
  349. package/modules/datagrouping.js +2 -2
  350. package/modules/datagrouping.src.js +5 -6
  351. package/modules/debugger.js +2 -2
  352. package/modules/debugger.src.js +3 -3
  353. package/modules/dependency-wheel.js +2 -2
  354. package/modules/dependency-wheel.src.js +8 -7
  355. package/modules/dotplot.js +2 -2
  356. package/modules/dotplot.src.js +3 -3
  357. package/modules/drag-panes.js +2 -2
  358. package/modules/drag-panes.src.js +4 -4
  359. package/modules/draggable-points.js +2 -2
  360. package/modules/draggable-points.src.js +3 -3
  361. package/modules/drilldown.js +2 -2
  362. package/modules/drilldown.src.js +3 -43
  363. package/modules/dumbbell.js +2 -2
  364. package/modules/dumbbell.src.js +5 -5
  365. package/modules/export-data.js +2 -2
  366. package/modules/export-data.src.js +5 -5
  367. package/modules/exporting.js +2 -2
  368. package/modules/exporting.src.js +17 -17
  369. package/modules/flowmap.js +2 -2
  370. package/modules/flowmap.src.js +3 -3
  371. package/modules/full-screen.js +2 -2
  372. package/modules/full-screen.src.js +3 -3
  373. package/modules/funnel.js +2 -2
  374. package/modules/funnel.src.js +3 -3
  375. package/modules/funnel3d.js +2 -2
  376. package/modules/funnel3d.src.js +4 -4
  377. package/modules/gantt.js +2 -2
  378. package/modules/gantt.src.js +155 -67
  379. package/modules/geoheatmap.js +2 -2
  380. package/modules/geoheatmap.src.js +3 -3
  381. package/modules/grid-axis.js +2 -2
  382. package/modules/grid-axis.src.js +4 -4
  383. package/modules/heatmap.js +2 -2
  384. package/modules/heatmap.src.js +12 -8
  385. package/modules/heikinashi.js +2 -2
  386. package/modules/heikinashi.src.js +4 -4
  387. package/modules/histogram-bellcurve.js +2 -2
  388. package/modules/histogram-bellcurve.src.js +5 -5
  389. package/modules/hollowcandlestick.js +2 -2
  390. package/modules/hollowcandlestick.src.js +4 -4
  391. package/modules/item-series.js +2 -2
  392. package/modules/item-series.src.js +4 -4
  393. package/modules/lollipop.js +2 -2
  394. package/modules/lollipop.src.js +3 -3
  395. package/modules/map.d.ts +1 -1
  396. package/modules/map.js +2 -2
  397. package/modules/map.src.d.ts +1 -1
  398. package/modules/map.src.js +34 -51
  399. package/modules/marker-clusters.js +2 -2
  400. package/modules/marker-clusters.src.js +3 -3
  401. package/modules/mouse-wheel-zoom.js +2 -2
  402. package/modules/mouse-wheel-zoom.src.js +3 -3
  403. package/modules/navigator.js +2 -2
  404. package/modules/navigator.src.js +146 -61
  405. package/modules/networkgraph.d.ts +40 -0
  406. package/modules/networkgraph.js +2 -2
  407. package/modules/networkgraph.src.d.ts +40 -0
  408. package/modules/networkgraph.src.js +231 -5
  409. package/modules/no-data-to-display.js +2 -2
  410. package/modules/no-data-to-display.src.js +3 -3
  411. package/modules/offline-exporting.js +2 -2
  412. package/modules/offline-exporting.src.js +6 -6
  413. package/modules/organization.js +2 -2
  414. package/modules/organization.src.js +6 -5
  415. package/modules/overlapping-datalabels.js +2 -2
  416. package/modules/overlapping-datalabels.src.js +3 -3
  417. package/modules/parallel-coordinates.js +2 -2
  418. package/modules/parallel-coordinates.src.js +4 -4
  419. package/modules/pareto.js +2 -2
  420. package/modules/pareto.src.js +3 -3
  421. package/modules/pathfinder.js +2 -2
  422. package/modules/pathfinder.src.js +3 -3
  423. package/modules/pattern-fill.js +2 -2
  424. package/modules/pattern-fill.src.js +3 -3
  425. package/modules/pictorial.js +2 -2
  426. package/modules/pictorial.src.js +3 -3
  427. package/modules/price-indicator.js +2 -2
  428. package/modules/price-indicator.src.js +4 -4
  429. package/modules/pyramid3d.js +2 -2
  430. package/modules/pyramid3d.src.js +4 -4
  431. package/modules/sankey.d.ts +42 -1
  432. package/modules/sankey.js +2 -2
  433. package/modules/sankey.src.d.ts +42 -1
  434. package/modules/sankey.src.js +235 -9
  435. package/modules/series-label.js +2 -2
  436. package/modules/series-label.src.js +3 -3
  437. package/modules/series-on-point.js +2 -2
  438. package/modules/series-on-point.src.js +3 -3
  439. package/modules/solid-gauge.js +2 -2
  440. package/modules/solid-gauge.src.js +4 -4
  441. package/modules/sonification.js +2 -2
  442. package/modules/sonification.src.js +12 -15
  443. package/modules/static-scale.js +2 -2
  444. package/modules/static-scale.src.js +3 -3
  445. package/modules/stock-tools.d.ts +15 -1
  446. package/modules/stock-tools.js +2 -2
  447. package/modules/stock-tools.src.d.ts +15 -1
  448. package/modules/stock-tools.src.js +178 -70
  449. package/modules/stock.js +2 -2
  450. package/modules/stock.src.js +160 -73
  451. package/modules/streamgraph.js +2 -2
  452. package/modules/streamgraph.src.js +3 -3
  453. package/modules/sunburst.d.ts +40 -0
  454. package/modules/sunburst.js +2 -2
  455. package/modules/sunburst.src.d.ts +40 -0
  456. package/modules/sunburst.src.js +269 -58
  457. package/modules/textpath.d.ts +58 -0
  458. package/modules/textpath.js +7 -0
  459. package/modules/textpath.src.d.ts +58 -0
  460. package/modules/textpath.src.js +269 -0
  461. package/modules/tiledwebmap.js +3 -3
  462. package/modules/tiledwebmap.src.js +3 -3
  463. package/modules/tilemap.js +2 -2
  464. package/modules/tilemap.src.js +6 -6
  465. package/modules/timeline.js +2 -2
  466. package/modules/timeline.src.js +3 -3
  467. package/modules/treegraph.d.ts +40 -0
  468. package/modules/treegraph.js +2 -2
  469. package/modules/treegraph.src.d.ts +40 -0
  470. package/modules/treegraph.src.js +253 -9
  471. package/modules/treegrid.js +2 -2
  472. package/modules/treegrid.src.js +4 -4
  473. package/modules/treemap.js +2 -2
  474. package/modules/treemap.src.js +35 -50
  475. package/modules/variable-pie.js +2 -2
  476. package/modules/variable-pie.src.js +5 -5
  477. package/modules/variwide.js +2 -2
  478. package/modules/variwide.src.js +4 -4
  479. package/modules/vector.js +2 -2
  480. package/modules/vector.src.js +4 -4
  481. package/modules/venn.js +2 -2
  482. package/modules/venn.src.js +3 -88
  483. package/modules/windbarb.js +2 -2
  484. package/modules/windbarb.src.js +5 -5
  485. package/modules/wordcloud.js +2 -2
  486. package/modules/wordcloud.src.js +6 -6
  487. package/modules/xrange.js +2 -2
  488. package/modules/xrange.src.js +3 -3
  489. package/options/ad.d.ts +17 -9
  490. package/options/ad.src.d.ts +17 -9
  491. package/options/apo.d.ts +17 -9
  492. package/options/apo.src.d.ts +17 -9
  493. package/options/arearange.d.ts +17 -9
  494. package/options/arearange.src.d.ts +17 -9
  495. package/options/areaspline.d.ts +17 -9
  496. package/options/areaspline.src.d.ts +17 -9
  497. package/options/bar.d.ts +17 -9
  498. package/options/bar.src.d.ts +17 -9
  499. package/options/bb.d.ts +17 -9
  500. package/options/bb.src.d.ts +17 -9
  501. package/options/bubble.d.ts +17 -9
  502. package/options/bubble.src.d.ts +17 -9
  503. package/options/candlestick.d.ts +17 -9
  504. package/options/candlestick.src.d.ts +17 -9
  505. package/options/cci.d.ts +17 -9
  506. package/options/cci.src.d.ts +17 -9
  507. package/options/cmf.d.ts +17 -9
  508. package/options/cmf.src.d.ts +17 -9
  509. package/options/column.d.ts +17 -9
  510. package/options/column.src.d.ts +17 -9
  511. package/options/columnpyramid.d.ts +17 -9
  512. package/options/columnpyramid.src.d.ts +17 -9
  513. package/options/columnrange.d.ts +17 -9
  514. package/options/columnrange.src.d.ts +17 -9
  515. package/options/cylinder.d.ts +17 -9
  516. package/options/cylinder.src.d.ts +17 -9
  517. package/options/dema.d.ts +17 -9
  518. package/options/dema.src.d.ts +17 -9
  519. package/options/dependencywheel.d.ts +17 -9
  520. package/options/dependencywheel.src.d.ts +17 -9
  521. package/options/disparityindex.d.ts +17 -9
  522. package/options/disparityindex.src.d.ts +17 -9
  523. package/options/dpo.d.ts +17 -9
  524. package/options/dpo.src.d.ts +17 -9
  525. package/options/dumbbell.d.ts +17 -9
  526. package/options/dumbbell.src.d.ts +17 -9
  527. package/options/ema.d.ts +17 -9
  528. package/options/ema.src.d.ts +17 -9
  529. package/options/funnel.d.ts +17 -9
  530. package/options/funnel.src.d.ts +17 -9
  531. package/options/gantt.d.ts +16 -8
  532. package/options/gantt.src.d.ts +16 -8
  533. package/options/klinger.d.ts +17 -9
  534. package/options/klinger.src.d.ts +17 -9
  535. package/options/linearregression.d.ts +17 -9
  536. package/options/linearregression.src.d.ts +17 -9
  537. package/options/lollipop.d.ts +17 -9
  538. package/options/lollipop.src.d.ts +17 -9
  539. package/options/macd.d.ts +17 -9
  540. package/options/macd.src.d.ts +17 -9
  541. package/options/momentum.d.ts +17 -9
  542. package/options/momentum.src.d.ts +17 -9
  543. package/options/ohlc.d.ts +17 -9
  544. package/options/ohlc.src.d.ts +17 -9
  545. package/options/organization.d.ts +17 -9
  546. package/options/organization.src.d.ts +17 -9
  547. package/options/pareto.d.ts +16 -8
  548. package/options/pareto.src.d.ts +16 -8
  549. package/options/pc.d.ts +17 -9
  550. package/options/pc.src.d.ts +17 -9
  551. package/options/polygon.d.ts +17 -9
  552. package/options/polygon.src.d.ts +17 -9
  553. package/options/ppo.d.ts +17 -9
  554. package/options/ppo.src.d.ts +17 -9
  555. package/options/psar.d.ts +17 -9
  556. package/options/psar.src.d.ts +17 -9
  557. package/options/pyramid.d.ts +17 -9
  558. package/options/pyramid.src.d.ts +17 -9
  559. package/options/roc.d.ts +17 -9
  560. package/options/roc.src.d.ts +17 -9
  561. package/options/sankey.d.ts +17 -9
  562. package/options/sankey.src.d.ts +17 -9
  563. package/options/scatter.d.ts +17 -9
  564. package/options/scatter.src.d.ts +17 -9
  565. package/options/series.d.ts +17 -9
  566. package/options/series.src.d.ts +17 -9
  567. package/options/sma.d.ts +17 -9
  568. package/options/sma.src.d.ts +17 -9
  569. package/options/spline.d.ts +17 -9
  570. package/options/spline.src.d.ts +17 -9
  571. package/options/stochastic.d.ts +17 -9
  572. package/options/stochastic.src.d.ts +17 -9
  573. package/options/supertrend.d.ts +17 -9
  574. package/options/supertrend.src.d.ts +17 -9
  575. package/options/tilemap.d.ts +17 -9
  576. package/options/tilemap.src.d.ts +17 -9
  577. package/options/treegraph.d.ts +24 -9
  578. package/options/treegraph.src.d.ts +24 -9
  579. package/options/treemap.d.ts +23 -8
  580. package/options/treemap.src.d.ts +23 -8
  581. package/options/trendline.d.ts +17 -9
  582. package/options/trendline.src.d.ts +17 -9
  583. package/options/variwide.d.ts +17 -9
  584. package/options/variwide.src.d.ts +17 -9
  585. package/options/vbp.d.ts +17 -9
  586. package/options/vbp.src.d.ts +17 -9
  587. package/options/vector.d.ts +17 -9
  588. package/options/vector.src.d.ts +17 -9
  589. package/options/waterfall.d.ts +17 -9
  590. package/options/waterfall.src.d.ts +17 -9
  591. package/options/williamsr.d.ts +17 -9
  592. package/options/williamsr.src.d.ts +17 -9
  593. package/options/xrange.d.ts +17 -9
  594. package/options/xrange.src.d.ts +17 -9
  595. package/package.json +1 -1
  596. package/standalone-navigator.js +2 -2
  597. package/standalone-navigator.src.js +3363 -3034
  598. package/themes/avocado.js +2 -2
  599. package/themes/avocado.src.js +3 -3
  600. package/themes/brand-dark.js +2 -2
  601. package/themes/brand-dark.src.js +3 -3
  602. package/themes/brand-light.js +2 -2
  603. package/themes/brand-light.src.js +3 -3
  604. package/themes/dark-blue.js +2 -2
  605. package/themes/dark-blue.src.js +3 -3
  606. package/themes/dark-green.js +2 -2
  607. package/themes/dark-green.src.js +3 -3
  608. package/themes/dark-unica.js +2 -2
  609. package/themes/dark-unica.src.js +3 -3
  610. package/themes/gray.js +2 -2
  611. package/themes/gray.src.js +3 -3
  612. package/themes/grid-light.js +2 -2
  613. package/themes/grid-light.src.js +3 -3
  614. package/themes/grid.js +2 -2
  615. package/themes/grid.src.js +3 -3
  616. package/themes/high-contrast-dark.js +2 -2
  617. package/themes/high-contrast-dark.src.js +3 -3
  618. package/themes/high-contrast-light.js +2 -2
  619. package/themes/high-contrast-light.src.js +3 -3
  620. package/themes/sand-signika.js +2 -2
  621. package/themes/sand-signika.src.js +3 -3
  622. package/themes/skies.js +2 -2
  623. package/themes/skies.src.js +3 -3
  624. package/themes/sunset.js +2 -2
  625. package/themes/sunset.src.js +3 -3
@@ -23,6 +23,9 @@ import D from '../SimulationSeriesUtilities.js';
23
23
  const { initDataLabels, initDataLabelsDefer } = D;
24
24
  import U from '../../Core/Utilities.js';
25
25
  const { addEvent, clamp, defined, extend, fireEvent, isArray, isNumber, merge, pick } = U;
26
+ import SVGElement from '../../Core/Renderer/SVG/SVGElement.js';
27
+ import TextPath from '../../Extensions/TextPath.js';
28
+ TextPath.compose(SVGElement);
26
29
  /* *
27
30
  *
28
31
  * Class
@@ -52,8 +55,8 @@ class PackedBubbleSeries extends BubbleSeries {
52
55
  * Static Functions
53
56
  *
54
57
  * */
55
- static compose(AxisClass, ChartClass, LegendClass, SeriesClass) {
56
- BubbleSeries.compose(AxisClass, ChartClass, LegendClass, SeriesClass);
58
+ static compose(AxisClass, ChartClass, LegendClass) {
59
+ BubbleSeries.compose(AxisClass, ChartClass, LegendClass);
57
60
  DragNodesComposition.compose(ChartClass);
58
61
  PackedBubbleLayout.compose(ChartClass);
59
62
  }
@@ -480,10 +483,10 @@ class PackedBubbleSeries extends BubbleSeries {
480
483
  // Create first bubble in the middle of the chart
481
484
  bubblePos.push([
482
485
  [
486
+ 0, // Starting in 0,0 coordinates
483
487
  0,
484
- 0,
485
- sortedArr[0][2],
486
- sortedArr[0][3],
488
+ sortedArr[0][2], // Radius
489
+ sortedArr[0][3], // Series index
487
490
  sortedArr[0][4]
488
491
  ] // Point index
489
492
  ]); // 0 level bubble
@@ -131,7 +131,7 @@ var ColumnDataLabel;
131
131
  */
132
132
  function drawDataLabels() {
133
133
  const series = this, points = series.points, chart = series.chart, plotWidth = chart.plotWidth, plotHeight = chart.plotHeight, plotLeft = chart.plotLeft, maxWidth = Math.round(chart.chartWidth / 3), seriesCenter = series.center, radius = seriesCenter[2] / 2, centerY = seriesCenter[1], halves = [
134
- [],
134
+ [], // Right
135
135
  [] // Left
136
136
  ], overflow = [0, 0, 0, 0], // Top, right, bottom, left
137
137
  dataLabelPositioners = series.dataLabelPositioners;
@@ -207,11 +207,12 @@ var ColumnDataLabel;
207
207
  labelPosition.top = Math.max(0, centerY - radius - labelPosition.distance);
208
208
  labelPosition.bottom = Math.min(centerY + radius + labelPosition.distance, chart.plotHeight);
209
209
  size = dataLabel.getBBox().height || 21;
210
+ dataLabel.lineHeight = chart.renderer.fontMetrics(dataLabel.text || dataLabel).h + 2 * dataLabel.padding;
210
211
  point.distributeBox = {
211
212
  target: ((dataLabel.dataLabelPosition
212
213
  ?.natural.y || 0) -
213
214
  labelPosition.top +
214
- size / 2),
215
+ dataLabel.lineHeight / 2),
215
216
  size,
216
217
  rank: point.y
217
218
  };
@@ -226,7 +227,7 @@ var ColumnDataLabel;
226
227
  points.forEach((point) => {
227
228
  (point.dataLabels || []).forEach((dataLabel) => {
228
229
  const dataLabelOptions = (dataLabel.options || {}), distributeBox = point.distributeBox, labelPosition = dataLabel.dataLabelPosition, naturalY = labelPosition?.natural.y || 0, connectorPadding = dataLabelOptions
229
- .connectorPadding || 0;
230
+ .connectorPadding || 0, lineHeight = dataLabel.lineHeight || 21, bBox = dataLabel.getBBox(), topOffset = (lineHeight - bBox.height) / 2;
230
231
  let x = 0, y = naturalY, visibility = 'inherit';
231
232
  if (labelPosition) {
232
233
  if (positions &&
@@ -256,7 +257,7 @@ var ColumnDataLabel;
256
257
  x = dataLabelPositioners.alignToPlotEdges(dataLabel, halfIdx, plotWidth, plotLeft);
257
258
  break;
258
259
  default:
259
- x = dataLabelPositioners.radialDistributionX(series, point, y, naturalY, dataLabel);
260
+ x = dataLabelPositioners.radialDistributionX(series, point, y - topOffset, naturalY, dataLabel);
260
261
  }
261
262
  }
262
263
  // Record the placement and visibility
@@ -274,10 +275,10 @@ var ColumnDataLabel;
274
275
  y: y +
275
276
  (dataLabelOptions.y || 0) - // (#12985)
276
277
  // Vertically center
277
- dataLabel.getBBox().height / 2
278
+ lineHeight / 2
278
279
  };
279
280
  labelPosition.computed.x = x;
280
- labelPosition.computed.y = y;
281
+ labelPosition.computed.y = y - topOffset;
281
282
  // Detect overflowing data labels
282
283
  if (pick(dataLabelOptions.crop, true)) {
283
284
  dataLabelWidth = dataLabel.getBBox().width;
@@ -148,18 +148,18 @@ extend(PiePoint.prototype, {
148
148
  // Only one available before v7.0.0
149
149
  fixedOffset: function (labelPosition, connectorPosition, options) {
150
150
  const breakAt = connectorPosition.breakAt, touchingSliceAt = connectorPosition.touchingSliceAt, lineSegment = options.softConnector ? [
151
- 'C',
151
+ 'C', // Soft break
152
152
  // 1st control point (of the curve)
153
153
  labelPosition.x +
154
154
  // 5 gives the connector a little horizontal bend
155
155
  (labelPosition.alignment === 'left' ? -5 : 5),
156
- labelPosition.y,
157
- 2 * breakAt.x - touchingSliceAt.x,
158
- 2 * breakAt.y - touchingSliceAt.y,
159
- breakAt.x,
156
+ labelPosition.y, //
157
+ 2 * breakAt.x - touchingSliceAt.x, // 2nd control point
158
+ 2 * breakAt.y - touchingSliceAt.y, //
159
+ breakAt.x, // End of the curve
160
160
  breakAt.y //
161
161
  ] : [
162
- 'L',
162
+ 'L', // Pointy break
163
163
  breakAt.x,
164
164
  breakAt.y
165
165
  ];
@@ -74,13 +74,14 @@ const PieSeriesDefaults = {
74
74
  * event information. The default action is to toggle the visibility of
75
75
  * the point. This can be prevented by calling `event.preventDefault()`.
76
76
  *
77
- * @sample {highcharts} highcharts/plotoptions/pie-point-events-legenditemclick/
78
- * Confirm toggle visibility
79
- *
80
- * @type {Highcharts.PointLegendItemClickCallbackFunction}
81
- * @since 1.2.0
82
- * @product highcharts highmaps
83
- * @apioption plotOptions.pie.point.events.legendItemClick
77
+ * **Note:** This option is deprecated in favor of
78
+ * [legend.events.itemClick](#legend.events.itemClick).
79
+ *
80
+ * @deprecated
81
+ * @type {Highcharts.PointLegendItemClickCallbackFunction}
82
+ * @since 1.2.0
83
+ * @product highcharts highmaps
84
+ * @apioption plotOptions.pie.point.events.legendItemClick
84
85
  */
85
86
  /**
86
87
  * The center of the pie chart relative to the plot area. Can be
@@ -130,7 +131,7 @@ const PieSeriesDefaults = {
130
131
  *
131
132
  * @private
132
133
  */
133
- colorByPoint: true,
134
+ colorByPoint: true, // Always true for pies
134
135
  /**
135
136
  * A series specific or series type specific color set to use instead
136
137
  * of the global [colors](#colors).
@@ -426,7 +427,7 @@ const PieSeriesDefaults = {
426
427
  *
427
428
  * @private
428
429
  */
429
- marker: null,
430
+ marker: null, // Point options are specified in the base options
430
431
  /**
431
432
  * The minimum size for a pie in response to auto margins. The pie will
432
433
  * try to shrink to make room for data labels in side the plot area,
@@ -553,7 +554,7 @@ const PieSeriesDefaults = {
553
554
  * @ignore-option
554
555
  * @private
555
556
  */
556
- lineWidth: void 0,
557
+ lineWidth: void 0, // #12222
557
558
  states: {
558
559
  /**
559
560
  * @extends plotOptions.series.states.hover
@@ -69,7 +69,7 @@ class Pie3DSeries extends PieSeries {
69
69
  attribs = {
70
70
  translateX: center[0],
71
71
  translateY: center[1],
72
- scaleX: 0.001,
72
+ scaleX: 0.001, // #1499
73
73
  scaleY: 0.001
74
74
  };
75
75
  group.attr(attribs);
@@ -23,6 +23,9 @@ import TU from '../TreeUtilities.js';
23
23
  const { getLevelOptions, getNodeWidth } = TU;
24
24
  import U from '../../Core/Utilities.js';
25
25
  const { clamp, crisp, extend, isObject, merge, pick, relativeLength, stableSort } = U;
26
+ import SVGElement from '../../Core/Renderer/SVG/SVGElement.js';
27
+ import TextPath from '../../Extensions/TextPath.js';
28
+ TextPath.compose(SVGElement);
26
29
  /* *
27
30
  *
28
31
  * Class
@@ -214,18 +217,18 @@ class SankeySeries extends ColumnSeries {
214
217
  // should be the level of the root node.
215
218
  from: 1,
216
219
  levels: options.levels,
217
- to: nodeColumns.length - 1,
220
+ to: nodeColumns.length - 1, // Height of the tree
218
221
  defaults: {
219
222
  borderColor: options.borderColor,
220
- borderRadius: options.borderRadius,
223
+ borderRadius: options.borderRadius, // Organization series
221
224
  borderWidth: options.borderWidth,
222
225
  color: series.color,
223
226
  colorByPoint: options.colorByPoint,
224
227
  // NOTE: if support for allowTraversingTree is added, then
225
228
  // levelIsConstant should be optional.
226
229
  levelIsConstant: true,
227
- linkColor: options.linkColor,
228
- linkLineWidth: options.linkLineWidth,
230
+ linkColor: options.linkColor, // Organization series
231
+ linkLineWidth: options.linkLineWidth, // Organization series
229
232
  linkOpacity: options.linkOpacity,
230
233
  states: options.states
231
234
  }
@@ -66,7 +66,7 @@ const SankeySeriesDefaults = {
66
66
  */
67
67
  dataLabels: {
68
68
  enabled: true,
69
- backgroundColor: 'none',
69
+ backgroundColor: 'none', // Enable padding
70
70
  crop: false,
71
71
  /**
72
72
  * The
@@ -26,6 +26,9 @@ import U from '../../Core/Utilities.js';
26
26
  import SunburstNode from './SunburstNode.js';
27
27
  import SunburstSeriesDefaults from './SunburstSeriesDefaults.js';
28
28
  const { defined, error, extend, fireEvent, isNumber, isObject, isString, merge, splat } = U;
29
+ import SVGElement from '../../Core/Renderer/SVG/SVGElement.js';
30
+ import TextPath from '../../Extensions/TextPath.js';
31
+ TextPath.compose(SVGElement);
29
32
  /* *
30
33
  *
31
34
  * Constants
@@ -333,7 +336,7 @@ class SunburstSeries extends TreemapSeries {
333
336
  attribs = {
334
337
  translateX: center[0] + plotLeft,
335
338
  translateY: center[1] + plotTop,
336
- scaleX: 0.001,
339
+ scaleX: 0.001, // #1499
337
340
  scaleY: 0.001,
338
341
  rotation: 10,
339
342
  opacity: 0.01
@@ -408,12 +411,12 @@ class SunburstSeries extends TreemapSeries {
408
411
  };
409
412
  }
410
413
  extend(point, {
411
- shapeExisting: shape,
414
+ shapeExisting: shape, // Store for use in animation
412
415
  tooltipPos: [shape.plotX, shape.plotY],
413
416
  drillId: getDrillId(point, idRoot, nodeMap),
414
417
  name: '' + (point.name || point.id || point.index),
415
- plotX: shape.plotX,
416
- plotY: shape.plotY,
418
+ plotX: shape.plotX, // Used for data label position
419
+ plotY: shape.plotY, // Used for data label position
417
420
  value: node.val,
418
421
  isInside: visible,
419
422
  isNull: !visible // Used for dataLabels & point.draw
@@ -615,7 +618,7 @@ class SunburstSeries extends TreemapSeries {
615
618
  SunburstSeries.defaultOptions = merge(TreemapSeries.defaultOptions, SunburstSeriesDefaults);
616
619
  extend(SunburstSeries.prototype, {
617
620
  axisTypes: [],
618
- drawDataLabels: noop,
621
+ drawDataLabels: noop, // `drawDataLabels` is called in `drawPoints`
619
622
  getCenter: getCenter,
620
623
  isCartesian: false,
621
624
  // Mark that the sunburst is supported by the series on point feature.
@@ -31,7 +31,7 @@
31
31
  * ignoreHiddenPoint, innerSize, joinBy, legendType, linecap,
32
32
  * minSize, navigatorOptions, pointRange
33
33
  * @product highcharts
34
- * @requires modules/sunburst.js
34
+ * @requires modules/sunburst
35
35
  * @optionparent plotOptions.sunburst
36
36
  *
37
37
  * @private
@@ -299,7 +299,7 @@ const SunburstSeriesDefaults = {
299
299
  * @excluding dataParser, dataURL, stack, dataSorting, boostThreshold,
300
300
  * boostBlending
301
301
  * @product highcharts
302
- * @requires modules/sunburst.js
302
+ * @requires modules/sunburst
303
303
  * @apioption series.sunburst
304
304
  */
305
305
  /**
@@ -38,7 +38,7 @@
38
38
  * @excluding jitter, joinBy, shadow, allAreas, mapData, marker, data,
39
39
  * dataSorting, boostThreshold, boostBlending
40
40
  * @product highcharts highmaps
41
- * @requires modules/tilemap.js
41
+ * @requires modules/tilemap
42
42
  * @optionparent plotOptions.tilemap
43
43
  */
44
44
  const TilemapSeriesDefaults = {
@@ -114,7 +114,7 @@ const TilemapSeriesDefaults = {
114
114
  * pointRange, shadow, stack, dataSorting, boostThreshold,
115
115
  * boostBlending
116
116
  * @product highcharts highmaps
117
- * @requires modules/tilemap.js
117
+ * @requires modules/tilemap
118
118
  * @apioption series.tilemap
119
119
  */
120
120
  /**
@@ -23,6 +23,9 @@ const { arrayMax, crisp, extend, merge, pick, relativeLength, splat } = U;
23
23
  import TreegraphLink from './TreegraphLink.js';
24
24
  import TreegraphLayout from './TreegraphLayout.js';
25
25
  import TreegraphSeriesDefaults from './TreegraphSeriesDefaults.js';
26
+ import SVGElement from '../../Core/Renderer/SVG/SVGElement.js';
27
+ import TextPath from '../../Extensions/TextPath.js';
28
+ TextPath.compose(SVGElement);
26
29
  /* *
27
30
  *
28
31
  * Class
@@ -56,6 +59,24 @@ class TreegraphSeries extends TreemapSeries {
56
59
  init() {
57
60
  super.init.apply(this, arguments);
58
61
  this.layoutAlgorythm = new TreegraphLayout();
62
+ // Register the link data labels in the label collector for overlap
63
+ // detection.
64
+ const series = this, collectors = this.chart.labelCollectors, collectorFunc = function () {
65
+ const linkLabels = [];
66
+ // Check links for overlap
67
+ if (!splat(series.options.dataLabels)[0].allowOverlap) {
68
+ for (const link of series.links) {
69
+ if (link.dataLabel) {
70
+ linkLabels.push(link.dataLabel);
71
+ }
72
+ }
73
+ }
74
+ return linkLabels;
75
+ };
76
+ // Only add the collector function if it is not present
77
+ if (!collectors.some((f) => f.name === 'collectorFunc')) {
78
+ collectors.push(collectorFunc);
79
+ }
59
80
  }
60
81
  /**
61
82
  * Calculate `a` and `b` parameters of linear transformation, where
@@ -445,8 +466,8 @@ export default TreegraphSeries;
445
466
  * relativeXValue, softThreshold, stack, stacking, step,
446
467
  * traverseUpButton, xAxis, yAxis, zoneAxis, zones
447
468
  * @product highcharts
448
- * @requires modules/treemap.js
449
- * @requires modules/treegraph.js
469
+ * @requires modules/treemap
470
+ * @requires modules/treegraph
450
471
  * @apioption series.treegraph
451
472
  */
452
473
  /**
@@ -36,8 +36,8 @@
36
36
  *
37
37
  * @product highcharts
38
38
  * @since 10.3.0
39
- * @requires modules/treemap.js
40
- * @requires modules/treegraph.js
39
+ * @requires modules/treemap
40
+ * @requires modules/treegraph
41
41
  * @optionparent plotOptions.treegraph
42
42
  */
43
43
  const TreegraphSeriesDefaults = {
@@ -42,7 +42,8 @@ class TreemapPoint extends ScatterPoint {
42
42
  const series = this.series, options = series.options;
43
43
  let className = super.getClassName();
44
44
  // Above the current level
45
- if (this.node.level <= series.nodeMap[series.rootNode].level) {
45
+ if (this.node.level <= series.nodeMap[series.rootNode].level &&
46
+ this.node.children.length) {
46
47
  className += ' highcharts-above-level';
47
48
  }
48
49
  else if (!this.node.isLeaf &&
@@ -447,14 +447,22 @@ class TreemapSeries extends ScatterSeries {
447
447
  * @private
448
448
  */
449
449
  drillToByLeaf(point) {
450
+ const { traverseToLeaf } = point.series.options;
450
451
  let drillId = false, nodeParent;
451
452
  if ((point.node.parent !== this.rootNode) &&
452
453
  point.node.isLeaf) {
453
- nodeParent = point.node;
454
- while (!drillId) {
455
- nodeParent = this.nodeMap[nodeParent.parent];
456
- if (nodeParent.parent === this.rootNode) {
457
- drillId = nodeParent.id;
454
+ if (traverseToLeaf) {
455
+ drillId = point.id;
456
+ }
457
+ else {
458
+ nodeParent = point.node;
459
+ while (!drillId) {
460
+ if (typeof nodeParent.parent !== 'undefined') {
461
+ nodeParent = this.nodeMap[nodeParent.parent];
462
+ }
463
+ if (nodeParent.parent === this.rootNode) {
464
+ drillId = nodeParent.id;
465
+ }
458
466
  }
459
467
  }
460
468
  }
@@ -874,7 +882,7 @@ class TreemapSeries extends ScatterSeries {
874
882
  const tree = series.tree = series.getTree();
875
883
  rootNode = series.nodeMap[rootId];
876
884
  if (rootId !== '' &&
877
- (!rootNode || !rootNode.children.length)) {
885
+ (!rootNode)) {
878
886
  series.setRootNode('', false);
879
887
  rootId = series.rootNode;
880
888
  rootNode = series.nodeMap[rootId];
@@ -950,7 +958,7 @@ TreemapSeries.defaultOptions = merge(ScatterSeries.defaultOptions, TreemapSeries
950
958
  extend(TreemapSeries.prototype, {
951
959
  buildKDTree: noop,
952
960
  colorAttribs: ColorMapComposition.seriesMembers.colorAttribs,
953
- colorKey: 'colorValue',
961
+ colorKey: 'colorValue', // Point color option key
954
962
  directTouch: true,
955
963
  getExtremesFromAll: true,
956
964
  getSymbol: noop,
@@ -459,7 +459,21 @@ const TreemapSeriesDefaults = {
459
459
  shadow: false
460
460
  }
461
461
  },
462
- legendSymbol: 'rectangle'
462
+ legendSymbol: 'rectangle',
463
+ /**
464
+ * This option enables automatic traversing to the last child level upon
465
+ * node interaction. This feature simplifies navigation by immediately
466
+ * focusing on the deepest layer of the data structure without intermediate
467
+ * steps.
468
+ *
469
+ * @sample {highcharts} highcharts/plotoptions/treemap-traverse-to-leaf/
470
+ * Traverse to leaf enabled
471
+ *
472
+ * @since @next
473
+ *
474
+ * @product highcharts
475
+ */
476
+ traverseToLeaf: false
463
477
  };
464
478
  /**
465
479
  * A `treemap` series. If the [type](#series.treemap.type) option is
@@ -28,7 +28,7 @@
28
28
  * @excluding dragDrop
29
29
  * @since 6.0.0
30
30
  * @product highcharts
31
- * @requires modules/variable-pie.js
31
+ * @requires modules/variable-pie
32
32
  * @optionparent plotOptions.variablepie
33
33
  */
34
34
  const VariablePieSeriesDefaults = {
@@ -107,7 +107,7 @@ const VariablePieSeriesDefaults = {
107
107
  * @excluding dataParser, dataURL, stack, xAxis, yAxis, dataSorting,
108
108
  * boostThreshold, boostBlending
109
109
  * @product highcharts
110
- * @requires modules/variable-pie.js
110
+ * @requires modules/variable-pie
111
111
  * @apioption series.variablepie
112
112
  */
113
113
  /**
@@ -47,7 +47,7 @@ function onAxisAfterDrawCrosshair(e) {
47
47
  */
48
48
  function onAxisAfterRender() {
49
49
  const axis = this;
50
- if (!this.horiz && this.variwide) {
50
+ if (this.variwide) {
51
51
  this.chart.labelCollectors.push(function () {
52
52
  return axis.tickPositions
53
53
  .filter((pos) => !!axis.ticks[pos].label)
@@ -68,7 +68,7 @@ class VectorSeries extends ScatterSeries {
68
68
  // The stem and the arrow head. Draw the arrow first with rotation
69
69
  // 0, which is the arrow pointing down (vector from north to south).
70
70
  path = [
71
- ['M', 0, 7 * u + o],
71
+ ['M', 0, 7 * u + o], // Base of arrow
72
72
  ['L', -1.5 * u, 7 * u + o],
73
73
  ['L', 0, 10 * u + o],
74
74
  ['L', 1.5 * u, 7 * u + o],
@@ -99,7 +99,7 @@ class WindbarbSeries extends ColumnSeries {
99
99
  }
100
100
  // The stem and the arrow head
101
101
  const path = [
102
- ['M', 0, 7 * u],
102
+ ['M', 0, 7 * u], // Base of arrow
103
103
  ['L', -1.5 * u, 7 * u],
104
104
  ['L', 0, 10 * u],
105
105
  ['L', 1.5 * u, 7 * u],
@@ -216,7 +216,7 @@ extend(WindbarbSeries.prototype, {
216
216
  beaufortFloor: [
217
217
  0, 0.3, 1.6, 3.4, 5.5, 8.0, 10.8, 13.9, 17.2, 20.8,
218
218
  24.5, 28.5, 32.7
219
- ],
219
+ ], // @todo dictionary with names?
220
220
  beaufortName: [
221
221
  'Calm', 'Light air', 'Light breeze',
222
222
  'Gentle breeze', 'Moderate breeze', 'Fresh breeze',
@@ -120,7 +120,7 @@ class WordcloudSeries extends ColumnSeries {
120
120
  }), attr = extend(series.pointAttribs(point, (point.selected && 'select')), {
121
121
  align: 'center',
122
122
  'alignment-baseline': 'middle',
123
- 'dominant-baseline': 'middle',
123
+ 'dominant-baseline': 'middle', // #15973: Firefox
124
124
  x: placement.x,
125
125
  y: placement.y,
126
126
  text: point.name,
@@ -217,7 +217,7 @@ class WordcloudSeries extends ColumnSeries {
217
217
  return {
218
218
  translateX: x + (width / 2),
219
219
  translateY: y + (height / 2),
220
- scaleX: 1,
220
+ scaleX: 1, // #1623
221
221
  scaleY: 1
222
222
  };
223
223
  }
@@ -57,7 +57,7 @@ const WordcloudSeriesDefaults = {
57
57
  /**
58
58
  * @ignore-option
59
59
  */
60
- clip: false,
60
+ clip: false, // Something goes wrong with clip. // @todo fix this
61
61
  colorByPoint: true,
62
62
  cropThreshold: Infinity,
63
63
  /**
@@ -99,7 +99,7 @@ ADIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
99
99
  * @excluding index
100
100
  */
101
101
  params: {
102
- index: void 0,
102
+ index: void 0, // Unused index, do not inherit (#15362)
103
103
  /**
104
104
  * The id of volume series which is mandatory.
105
105
  * For example using OHLC data, volumeSeriesID='volume' means
@@ -100,7 +100,7 @@ APOIndicator.defaultOptions = merge(EMAIndicator.defaultOptions, {
100
100
  * @excluding period
101
101
  */
102
102
  params: {
103
- period: void 0,
103
+ period: void 0, // Unchangeable period, do not inherit (#15362)
104
104
  /**
105
105
  * Periods for Absolute Price Oscillator calculations.
106
106
  *
@@ -113,7 +113,7 @@ AroonIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
113
113
  * @excluding index
114
114
  */
115
115
  params: {
116
- index: void 0,
116
+ index: void 0, // Unchangeable index, do not inherit (#15362)
117
117
  period: 25
118
118
  },
119
119
  marker: {
@@ -202,7 +202,7 @@ CMFIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
202
202
  * @excluding index
203
203
  */
204
204
  params: {
205
- index: void 0,
205
+ index: void 0, // Unused index, do not inherit (#15362)
206
206
  /**
207
207
  * The id of another series to use its data as volume data for the
208
208
  * indicator calculation.
@@ -108,7 +108,7 @@ ChaikinIndicator.defaultOptions = merge(EMAIndicator.defaultOptions, {
108
108
  * @excluding index
109
109
  */
110
110
  params: {
111
- index: void 0,
111
+ index: void 0, // Unused index, do not inherit (#15362)
112
112
  /**
113
113
  * The id of volume series which is mandatory.
114
114
  * For example using OHLC data, volumeSeriesID='volume' means
@@ -226,13 +226,13 @@ class IKHIndicator extends SMAIndicator {
226
226
  senkouSpanOptions.styles.fill, negativeColor = senkouSpanOptions.negativeColor,
227
227
  // Points to create color and negativeColor senkouSpan
228
228
  points = [
229
- [],
229
+ [], // Points color
230
230
  [] // Points negative color
231
231
  ],
232
232
  // For span, we need an access to the next points, used in
233
233
  // getGraphPath()
234
234
  nextPoints = [
235
- [],
235
+ [], // Next points color
236
236
  [] // Next points negative color
237
237
  ];
238
238
  let pointsLength = mainLinePoints.length, lineIndex = 0, position, point, i, startIntersect, endIntersect, sectionPoints, sectionNextPoints, pointsPlotYSum, nextPointsPlotYSum, senkouSpanTempColor, concatArrIndex, j, k;
@@ -497,7 +497,7 @@ IKHIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
497
497
  * @excluding index
498
498
  */
499
499
  params: {
500
- index: void 0,
500
+ index: void 0, // Unused index, do not inherit (#15362)
501
501
  period: 26,
502
502
  /**
503
503
  * The base period for Tenkan calculations.
@@ -132,7 +132,7 @@ class LinearRegressionIndicator extends SMAIndicator {
132
132
  const xData = baseSeries.xData, yData = baseSeries.yData, period = regressionSeriesParams.period,
133
133
  // Format required to be returned
134
134
  indicatorData = {
135
- xData: [],
135
+ xData: [], // By getValues() method
136
136
  yData: [],
137
137
  values: []
138
138
  }, xAxisUnit = this.options.params.xAxisUnit ||
@@ -154,7 +154,7 @@ MFIIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
154
154
  * @excluding index
155
155
  */
156
156
  params: {
157
- index: void 0,
157
+ index: void 0, // Unchangeable index, do not inherit (#15362)
158
158
  /**
159
159
  * The id of volume series which is mandatory.
160
160
  * For example using OHLC data, volumeSeriesID='volume' means
@@ -99,7 +99,7 @@ PCIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
99
99
  * @excluding index
100
100
  */
101
101
  params: {
102
- index: void 0,
102
+ index: void 0, // Unchangeable index, do not inherit (#15362)
103
103
  period: 20
104
104
  },
105
105
  lineWidth: 1,
@@ -103,7 +103,7 @@ PPOIndicator.defaultOptions = merge(EMAIndicator.defaultOptions, {
103
103
  * @excluding period
104
104
  */
105
105
  params: {
106
- period: void 0,
106
+ period: void 0, // Unchangeable period, do not inherit (#15362)
107
107
  /**
108
108
  * Periods for Percentage Price Oscillator calculations.
109
109
  *