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
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highstock JS v11.4.3 (2024-05-22)
2
+ * Highstock JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Advanced Highcharts Stock tools
5
5
  *
@@ -7,4 +7,4 @@
7
7
  * Author: Torstein Honsi
8
8
  *
9
9
  * License: www.highcharts.com/license
10
- */function(s){"object"==typeof module&&module.exports?(s.default=s,module.exports=s):"function"==typeof define&&define.amd?define("highcharts/modules/price-indicator",["highcharts","highcharts/modules/stock"],function(i){return s(i),s.Highcharts=i,s}):s("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(s){"use strict";var i=s?s._modules:{};function t(s,i,t,e){s.hasOwnProperty(i)||(s[i]=e.apply(null,t),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:s[i]}})))}t(i,"Extensions/PriceIndication.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(s,i){let{composed:t}=s,{addEvent:e,isArray:o,merge:r,pushUnique:a}=i;function c(){let s=this.options,i=s.lastVisiblePrice,t=s.lastPrice;if((i||t)&&"highcharts-navigator-series"!==s.id){let e;let a=this.xAxis,c=this.yAxis,l=c.crosshair,h=c.cross,n=c.crossLabel,d=this.points,u=this.yData.length,b=d.length,p=this.xData[this.xData.length-1],P=this.yData[u-1];if(t&&t.enabled&&(c.crosshair=c.options.crosshair=s.lastPrice,!this.chart.styledMode&&c.crosshair&&c.options.crosshair&&s.lastPrice&&(c.crosshair.color=c.options.crosshair.color=s.lastPrice.color||this.color),c.cross=this.lastPrice,e=o(P)?P[3]:P,this.lastPriceLabel&&this.lastPriceLabel.destroy(),delete c.crossLabel,c.drawCrosshair(null,{x:p,y:e,plotX:a.toPixels(p,!0),plotY:c.toPixels(e,!0)}),this.yAxis.cross&&(this.lastPrice=this.yAxis.cross,this.lastPrice.addClass("highcharts-color-"+this.colorIndex),this.lastPrice.y=e),this.lastPriceLabel=c.crossLabel),i&&i.enabled&&b>0){c.crosshair=c.options.crosshair=r({color:"transparent"},s.lastVisiblePrice),c.cross=this.lastVisiblePrice;let i=d[b-1].isInside?d[b-1]:d[b-2];this.lastVisiblePriceLabel&&this.lastVisiblePriceLabel.destroy(),delete c.crossLabel,c.drawCrosshair(null,i),c.cross&&(this.lastVisiblePrice=c.cross,i&&"number"==typeof i.y&&(this.lastVisiblePrice.y=i.y)),this.lastVisiblePriceLabel=c.crossLabel}c.crosshair=c.options.crosshair=l,c.cross=h,c.crossLabel=n}}return{compose:function(s){a(t,"PriceIndication")&&e(s,"afterRender",c)}}}),t(i,"masters/modules/price-indicator.src.js",[i["Core/Globals.js"],i["Extensions/PriceIndication.js"]],function(s,i){return i.compose(s.Series),s})});
10
+ */function(s){"object"==typeof module&&module.exports?(s.default=s,module.exports=s):"function"==typeof define&&define.amd?define("highcharts/modules/price-indicator",["highcharts","modules/stock"],function(i){return s(i),s.Highcharts=i,s}):s("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(s){"use strict";var i=s?s._modules:{};function t(i,t,e,o){i.hasOwnProperty(t)||(i[t]=o.apply(null,e),"function"==typeof CustomEvent&&s.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:i[t]}})))}t(i,"Extensions/PriceIndication.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(s,i){let{composed:t}=s,{addEvent:e,isArray:o,merge:r,pushUnique:a}=i;function c(){let s=this.options,i=s.lastVisiblePrice,t=s.lastPrice;if((i||t)&&"highcharts-navigator-series"!==s.id){let e;let a=this.xAxis,c=this.yAxis,l=c.crosshair,n=c.cross,h=c.crossLabel,d=this.points,u=this.yData.length,b=d.length,p=this.xData[this.xData.length-1],P=this.yData[u-1];if(t&&t.enabled&&(c.crosshair=c.options.crosshair=s.lastPrice,!this.chart.styledMode&&c.crosshair&&c.options.crosshair&&s.lastPrice&&(c.crosshair.color=c.options.crosshair.color=s.lastPrice.color||this.color),c.cross=this.lastPrice,e=o(P)?P[3]:P,this.lastPriceLabel&&this.lastPriceLabel.destroy(),delete c.crossLabel,c.drawCrosshair(null,{x:p,y:e,plotX:a.toPixels(p,!0),plotY:c.toPixels(e,!0)}),this.yAxis.cross&&(this.lastPrice=this.yAxis.cross,this.lastPrice.addClass("highcharts-color-"+this.colorIndex),this.lastPrice.y=e),this.lastPriceLabel=c.crossLabel),i&&i.enabled&&b>0){c.crosshair=c.options.crosshair=r({color:"transparent"},s.lastVisiblePrice),c.cross=this.lastVisiblePrice;let i=d[b-1].isInside?d[b-1]:d[b-2];this.lastVisiblePriceLabel&&this.lastVisiblePriceLabel.destroy(),delete c.crossLabel,c.drawCrosshair(null,i),c.cross&&(this.lastVisiblePrice=c.cross,i&&"number"==typeof i.y&&(this.lastVisiblePrice.y=i.y)),this.lastVisiblePriceLabel=c.crossLabel}c.crosshair=c.options.crosshair=l,c.cross=n,c.crossLabel=h}}return{compose:function(s){a(t,"PriceIndication")&&e(s,"afterRender",c)}}}),t(i,"masters/modules/price-indicator.src.js",[i["Core/Globals.js"],i["Extensions/PriceIndication.js"]],function(s,i){return i.compose(s.Series),s})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v11.4.3 (2024-05-22)
2
+ * @license Highstock JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Advanced Highcharts Stock tools
5
5
  *
@@ -13,7 +13,7 @@
13
13
  factory['default'] = factory;
14
14
  module.exports = factory;
15
15
  } else if (typeof define === 'function' && define.amd) {
16
- define('highcharts/modules/price-indicator', ['highcharts', 'highcharts/modules/stock'], function (Highcharts) {
16
+ define('highcharts/modules/price-indicator', ['highcharts', 'modules/stock'], function (Highcharts) {
17
17
  factory(Highcharts);
18
18
  factory.Highcharts = Highcharts;
19
19
  return factory;
@@ -29,7 +29,7 @@
29
29
  obj[path] = fn.apply(null, args);
30
30
 
31
31
  if (typeof CustomEvent === 'function') {
32
- window.dispatchEvent(new CustomEvent(
32
+ Highcharts.win.dispatchEvent(new CustomEvent(
33
33
  'HighchartsModuleLoaded',
34
34
  { detail: { path: path, module: obj[path] } }
35
35
  ));
@@ -368,4 +368,4 @@
368
368
 
369
369
  return Highcharts;
370
370
  });
371
- }));
371
+ }));
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v11.4.3 (2024-05-22)
2
+ * Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Highcharts 3D funnel module
5
5
  *
6
6
  * (c) 2010-2024 Kacper Madej
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/pyramid3d",["highcharts","highcharts/highcharts-3d","highcharts/modules/cylinder","highcharts/modules/funnel3d"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Series/Pyramid3D/Pyramid3DSeriesDefaults.js",[],function(){return{reversed:!0,neckHeight:0,neckWidth:0,dataLabels:{verticalAlign:"top"}}}),i(t,"Series/Pyramid3D/Pyramid3DSeries.js",[t["Series/Pyramid3D/Pyramid3DSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{funnel3d:s}=t.seriesTypes,{merge:r}=i;class d extends s{}return d.defaultOptions=r(s.defaultOptions,e),t.registerSeriesType("pyramid3d",d),d}),i(t,"masters/modules/pyramid3d.src.js",[t["Core/Globals.js"]],function(e){return e})});
9
+ */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/pyramid3d",["highcharts","highcharts-3d","modules/cylinder","modules/funnel3d"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(t,i,s,r){t.hasOwnProperty(i)||(t[i]=r.apply(null,s),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Series/Pyramid3D/Pyramid3DSeriesDefaults.js",[],function(){return{reversed:!0,neckHeight:0,neckWidth:0,dataLabels:{verticalAlign:"top"}}}),i(t,"Series/Pyramid3D/Pyramid3DSeries.js",[t["Series/Pyramid3D/Pyramid3DSeriesDefaults.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{funnel3d:s}=t.seriesTypes,{merge:r}=i;class n extends s{}return n.defaultOptions=r(s.defaultOptions,e),t.registerSeriesType("pyramid3d",n),n}),i(t,"masters/modules/pyramid3d.src.js",[t["Core/Globals.js"]],function(e){return e})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Highcharts 3D funnel module
5
5
  *
@@ -12,7 +12,7 @@
12
12
  factory['default'] = factory;
13
13
  module.exports = factory;
14
14
  } else if (typeof define === 'function' && define.amd) {
15
- define('highcharts/modules/pyramid3d', ['highcharts', 'highcharts/highcharts-3d', 'highcharts/modules/cylinder', 'highcharts/modules/funnel3d'], function (Highcharts) {
15
+ define('highcharts/modules/pyramid3d', ['highcharts', 'highcharts-3d', 'modules/cylinder', 'modules/funnel3d'], function (Highcharts) {
16
16
  factory(Highcharts);
17
17
  factory.Highcharts = Highcharts;
18
18
  return factory;
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
 
30
30
  if (typeof CustomEvent === 'function') {
31
- window.dispatchEvent(new CustomEvent(
31
+ Highcharts.win.dispatchEvent(new CustomEvent(
32
32
  'HighchartsModuleLoaded',
33
33
  { detail: { path: path, module: obj[path] } }
34
34
  ));
@@ -210,4 +210,4 @@
210
210
 
211
211
  return Highcharts;
212
212
  });
213
- }));
213
+ }));
@@ -12,6 +12,47 @@ import * as _Highcharts from "../highcharts";
12
12
  * The imported Highcharts namespace to extend.
13
13
  */
14
14
  export function factory(highcharts: typeof Highcharts): void;
15
- declare module "../highcharts" {}
15
+ declare module "../highcharts" {
16
+ interface SVGElement {
17
+ /**
18
+ * Attach a polygon to a bounding box if the element contains a
19
+ * textPath.
20
+ *
21
+ * @param event
22
+ * An event containing a bounding box object
23
+ *
24
+ * @return Returns the bounding box object.
25
+ */
26
+ setPolygon(event: any): BBoxObject;
27
+ /**
28
+ * Draw text along a textPath for a dataLabel.
29
+ *
30
+ * @param event
31
+ * An event containing label options
32
+ */
33
+ setTextPath(event: any): void;
34
+ /**
35
+ * Set a text path for a `text` or `label` element, allowing the text to
36
+ * flow along a path.
37
+ *
38
+ * In order to unset the path for an existing element, call
39
+ * `setTextPath` with `{ enabled: false }` as the second argument.
40
+ *
41
+ * Text path support is not bundled into `highcharts.js`, and requires
42
+ * the `modules/textpath.js` file. However, it is included in the script
43
+ * files of those series types that use it by default
44
+ *
45
+ * @param path
46
+ * Path to follow. If undefined, it allows changing options for
47
+ * the existing path.
48
+ *
49
+ * @param textPathOptions
50
+ * Options.
51
+ *
52
+ * @return Returns the SVGElement for chaining.
53
+ */
54
+ setTextPath(path: (SVGElement|undefined), textPathOptions: DataLabelsTextPathOptionsObject): SVGElement;
55
+ }
56
+ }
16
57
  export default factory;
17
58
  export let Highcharts: typeof _Highcharts;
package/modules/sankey.js CHANGED
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v11.4.3 (2024-05-22)
2
+ * Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Sankey diagram module
5
5
  *
6
6
  * (c) 2010-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/sankey",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function o(t,e,o,i){t.hasOwnProperty(e)||(t[e]=i.apply(null,o),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}o(e,"Series/NodesComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){var o;let{series:{prototype:i,prototype:{pointClass:{prototype:s}}}}=t,{defined:n,extend:r,find:l,merge:a,pick:d}=e;return function(t){function e(){return this.data=[].concat(this.points||[],this.nodes),i.destroy.apply(this,arguments)}function o(){this.nodes&&(this.nodes.forEach(t=>{t.destroy()}),this.nodes.length=0),i.setData.apply(this,arguments)}function h(t){let e=arguments,o=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==t&&o.forEach(t=>{t&&t.series&&(s.setState.apply(t,e),!t.isNode&&(t.fromNode.graphic&&s.setState.apply(t.fromNode,e),t.toNode&&t.toNode.graphic&&s.setState.apply(t.toNode,e)))}),s.setState.apply(this,e)}function p(t,e,o,i){let n=this.series.options.nodes,r=this.series.options.data,l=r&&r.length||0,h=r&&r[this.index];if(s.update.call(this,t,!this.isNode&&e,o,i),this.isNode){let t=(n||[]).reduce((t,e,o)=>this.id===e.id?o:t,-1),i=a(n&&n[t]||{},r&&r[this.index]||{});r&&(h?r[this.index]=h:r.length=l),n?t>=0?n[t]=i:n.push(i):this.series.options.nodes=[i],d(e,!0)&&this.series.chart.redraw(o)}}t.compose=function(t,i){let s=t.prototype,n=i.prototype;return s.setNodeState=h,s.setState=h,s.update=p,n.destroy=e,n.setData=o,i},t.createNode=function(t){let e=this.pointClass,o=(t,e)=>l(t,t=>t.id===e),i=o(this.nodes,t),s;if(!i){s=this.options.nodes&&o(this.options.nodes,t);let n=new e(this,r({className:"highcharts-node",isNode:!0,id:t,y:1},s));n.linksTo=[],n.linksFrom=[],n.getSum=function(){let t=0,e=0;return n.linksTo.forEach(e=>{t+=e.weight||0}),n.linksFrom.forEach(t=>{e+=t.weight||0}),Math.max(t,e)},n.offset=function(t,e){let o=0;for(let i=0;i<n[e].length;i++){if(n[e][i]===t)return o;o+=n[e][i].weight}},n.hasShape=function(){let t=0;return n.linksTo.forEach(e=>{e.outgoing&&t++}),!n.linksTo.length||t!==n.linksTo.length},n.index=this.nodes.push(n)-1,i=n}return i.formatPrefix="node",i.name=i.name||i.options.id||"",i.mass=d(i.options.mass,i.options.marker&&i.options.marker.radius,this.options.marker&&this.options.marker.radius,4),i},t.destroy=e,t.generatePoints=function(){let t=this.chart,e={};i.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(t=>{t.linksFrom.length=0,t.linksTo.length=0,t.level=t.options.level}),this.points.forEach(o=>{n(o.from)&&(e[o.from]||(e[o.from]=this.createNode(o.from)),e[o.from].linksFrom.push(o),o.fromNode=e[o.from],t.styledMode?o.colorIndex=d(o.options.colorIndex,e[o.from].colorIndex):o.color=o.options.color||e[o.from].color),n(o.to)&&(e[o.to]||(e[o.to]=this.createNode(o.to)),e[o.to].linksTo.push(o),o.toNode=e[o.to]),o.name=o.name||o.id},this),this.nodeLookup=e},t.setNodeState=h,t.updateNode=p}(o||(o={})),o}),o(e,"Series/Sankey/SankeyPoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,o){let{column:i}=e.seriesTypes,{defined:s}=o;class n extends i.prototype.pointClass{applyOptions(e,o){return t.prototype.applyOptions.call(this,e,o),s(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+t.prototype.getClassName.call(this)}getFromNode(){let t=-1,e;for(let o=0;o<this.linksTo.length;o++){let i=this.linksTo[o];i.fromNode.column>t&&i.fromNode!==this&&(t=(e=i.fromNode).column)}return{fromNode:e,fromColumn:t}}setNodeColumn(){s(this.options.column)||(0===this.linksTo.length?this.column=0:this.column=this.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}return n}),o(e,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'<span style="font-size: 0.8em">{series.name}</span><br/>',pointFormat:"{point.fromNode.name} → {point.toNode.name}: <b>{point.weight}</b><br/>",nodeFormat:"{point.name}: <b>{point.sum}</b><br/>"}}}),o(e,"Series/Sankey/SankeyColumnComposition.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:o,relativeLength:i}=t;return function(t){t.compose=function(t,o){return t.sankeyColumn=new e(t,o),t};class e{constructor(t,e){this.points=t,this.series=e}getTranslationFactor(t){let e=this.points,o=e.slice(),i=t.chart,s=t.options.minLinkWidth||0,n,r=0,l,a=(i.plotSizeY||0)-(t.options.borderWidth||0)-(e.length-1)*t.nodePadding;for(;e.length;){for(r=a/e.sankeyColumn.sum(),n=!1,l=e.length;l--;)e[l].getSum()*r<s&&(e.splice(l,1),a=Math.max(0,a-s),n=!0);if(!n)break}for(let t of(e.length=0,o))e.push(t);return r}top(t){let e=this.series,o=e.nodePadding,i=this.points.reduce((i,s)=>(i>0&&(i+=o),i+=Math.max(s.getSum()*t,e.options.minLinkWidth||0)),0);return({top:0,center:.5,bottom:1})[e.options.nodeAlignment||"center"]*((e.chart.plotSizeY||0)-i)}left(t){let e=this.series,o=e.chart,i=e.options.equalNodes,s=o.inverted?o.plotHeight:o.plotWidth,n=e.nodePadding,r=this.points.reduce((o,r)=>(o>0&&(o+=n),o+=i?s/r.series.nodes.length-n:Math.max(r.getSum()*t,e.options.minLinkWidth||0)),0);return((o.plotSizeX||0)-Math.round(r))/2}sum(){return this.points.reduce((t,e)=>t+e.getSum(),0)}offset(t,e){let s=this.points,n=this.series,r=n.nodePadding,l=0,a;if(n.is("organization")&&t.hangsFrom)return{absoluteTop:t.hangsFrom.nodeY};for(let d=0;d<s.length;d++){let h=s[d].getSum(),p=Math.max(h*e,n.options.minLinkWidth||0),c=t.options[n.chart.inverted?"offsetHorizontal":"offsetVertical"],u=t.options.offset||0;if(a=h?p+r:0,s[d]===t)return{relativeTop:l+(o(c)?i(c,p):i(u,a))};l+=a}}}t.SankeyColumnAdditions=e}(e||(e={})),e}),o(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){let{extend:o,isArray:i,isNumber:s,isObject:n,merge:r,pick:l,relativeLength:a}=e;return{getColor:function(e,o){let i,s,n,r,a,d;let h=o.index,p=o.mapOptionsToLevel,c=o.parentColor,u=o.parentColorIndex,f=o.series,m=o.colors,g=o.siblings,y=f.points,k=f.chart.options.chart;return e&&(i=y[e.i],s=p[e.level]||{},i&&s.colorByPoint&&(r=i.index%(m?m.length:k.colorCount),n=m&&m[r]),f.chart.styledMode||(a=l(i&&i.options.color,s&&s.color,n,c&&(e=>{let o=s&&s.colorVariation;return o&&"brightness"===o.key&&h&&g?t.parse(e).brighten(o.to*(h/g)).get():e})(c),f.color)),d=l(i&&i.options.colorIndex,s&&s.colorIndex,r,u,o.colorIndex)),{color:a,colorIndex:d}},getLevelOptions:function(t){let e,o,a,d,h,p;let c={};if(n(t))for(d=s(t.from)?t.from:1,p=t.levels,o={},e=n(t.defaults)?t.defaults:{},i(p)&&(o=p.reduce((t,o)=>{let i,a,h;return n(o)&&s(o.level)&&(a=l((h=r({},o)).levelIsConstant,e.levelIsConstant),delete h.levelIsConstant,delete h.level,n(t[i=o.level+(a?0:d-1)])?r(!0,t[i],h):t[i]=h),t},{})),h=s(t.to)?t.to:1,a=0;a<=h;a++)c[a]=r({},e,n(o[a])?o[a]:{});return c},getNodeWidth:function(t,e){let{chart:o,options:i}=t,{nodeDistance:s=0,nodeWidth:n=0}=i,{plotSizeX:r=1}=o;if("auto"===n){if("string"==typeof s&&/%$/.test(s))return r/(e+parseFloat(s)/100*(e-1));let t=Number(s);return(r+t)/(e||1)-t}return a(n,r)},setTreeValues:function t(e,i){let s=i.before,n=i.idRoot,r=i.mapIdToNode[n],a=!1!==i.levelIsConstant,d=i.points[e.i],h=d&&d.options||{},p=[],c=0;e.levelDynamic=e.level-(a?0:r.level),e.name=l(d&&d.name,""),e.visible=n===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,n)=>{let r=o({},i);o(r,{index:n,siblings:e.children.length,visible:e.visible}),s=t(s,r),p.push(s),s.visible&&(c+=s.val)});let u=l(h.value,c);return e.visible=u>=0&&(c>0||e.visible),e.children=p,e.childrenTotal=c,e.isLeaf=e.visible&&!c,e.val=u,e},updateRootId:function(t){let e,o;return n(t)&&(o=n(t.options)?t.options:{},e=l(t.rootNode,o.rootId,""),n(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),o(e,"Series/Sankey/SankeySeries.js",[e["Core/Globals.js"],e["Series/NodesComposition.js"],e["Series/Sankey/SankeyPoint.js"],e["Series/Sankey/SankeySeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Sankey/SankeyColumnComposition.js"],e["Core/Color/Color.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"]],function(t,e,o,i,s,n,r,l,a){let{column:d,line:h}=s.seriesTypes,{parse:p}=r,{getLevelOptions:c,getNodeWidth:u}=l,{clamp:f,crisp:m,extend:g,isObject:y,merge:k,pick:C,relativeLength:v,stableSort:S}=a;class N extends d{static getDLOptions(t){let e=y(t.optionsPoint)?t.optionsPoint.dataLabels:{};return k({style:{}},y(t.level)?t.level.dataLabels:{},e)}createNodeColumns(){let t=[];for(let e of this.nodes)e.setNodeColumn(),t[e.column]||(t[e.column]=n.compose([],this)),t[e.column].push(e);for(let e=0;e<t.length;e++)void 0===t[e]&&(t[e]=n.compose([],this));return t}order(t,e){if(void 0===t.level)for(let o of(t.level=e,t.linksFrom))o.toNode&&this.order(o.toNode,e+1)}generatePoints(){if(e.generatePoints.apply(this,arguments),this.orderNodes){for(let t of this.nodes)0===t.linksTo.length&&this.order(t,0);S(this.nodes,(t,e)=>t.level-e.level)}}getNodePadding(){let t=this.options.nodePadding||0;if(this.nodeColumns){let e=this.nodeColumns.reduce((t,e)=>Math.max(t,e.length),0);e*t>this.chart.plotSizeY&&(t=this.chart.plotSizeY/e)}return t}hasData(){return!!this.processedXData.length}pointAttribs(t,e){if(!t)return{};let o=this,i=t.isNode?t.level:t.fromNode.level,s=o.mapOptionsToLevel[i||0]||{},n=t.options,l=s.states&&s.states[e||""]||{},a=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((t,e)=>(t[e]=C(l[e],n[e],s[e],o.options[e]),t),{}),d=C(l.color,n.color,a.colorByPoint?t.color:s.color);return t.isNode?{fill:d,stroke:a.borderColor,"stroke-width":a.borderWidth,opacity:a.opacity}:{fill:r.parse(d).setOpacity(a.linkOpacity).get()}}drawTracker(){d.prototype.drawTracker.call(this,this.points),d.prototype.drawTracker.call(this,this.nodes)}drawPoints(){d.prototype.drawPoints.call(this,this.points),d.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){d.prototype.drawDataLabels.call(this,this.points),d.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let t=this,e=this.chart,o=this.options,i=this.nodeColumns,s=i.length;for(let n of(this.nodeWidth=u(this,s),this.nodePadding=this.getNodePadding(),this.translationFactor=i.reduce((e,o)=>Math.min(e,o.sankeyColumn.getTranslationFactor(t)),1/0),this.colDistance=(e.plotSizeX-this.nodeWidth-o.borderWidth)/Math.max(1,i.length-1),t.mapOptionsToLevel=c({from:1,levels:o.levels,to:i.length-1,defaults:{borderColor:o.borderColor,borderRadius:o.borderRadius,borderWidth:o.borderWidth,color:t.color,colorByPoint:o.colorByPoint,levelIsConstant:!0,linkColor:o.linkColor,linkLineWidth:o.linkLineWidth,linkOpacity:o.linkOpacity,states:o.states}}),i))for(let e of n)t.translateNode(e,n);for(let e of this.nodes)for(let o of e.linksFrom)(o.weight||o.isNull)&&o.to&&(t.translateLink(o),o.allowShadow=!1)}translateLink(t){let e=(e,o)=>{let i=e.offset(t,o)*r;return Math.min(e.nodeY+i,e.nodeY+(e.shapeArgs&&e.shapeArgs.height||0)-f)},o=t.fromNode,i=t.toNode,s=this.chart,{inverted:n}=s,r=this.translationFactor,l=this.options,a=C(t.linkColorMode,l.linkColorMode),d=(s.inverted?-this.colDistance:this.colDistance)*l.curveFactor,h=o.nodeX,c=i.nodeX,u=t.outgoing,f=Math.max(t.weight*r,this.options.minLinkWidth),m=e(o,"linksFrom"),g=e(i,"linksTo"),y=this.nodeWidth,k=c>h+y;if(s.inverted&&(m=s.plotSizeY-m,g=(s.plotSizeY||0)-g,y=-y,f=-f,k=h>c),t.shapeType="path",t.linkBase=[m,m+f,g,g+f],k&&"number"==typeof g)t.shapeArgs={d:[["M",h+y,m],["C",h+y+d,m,c-d,g,c,g],["L",c+(u?y:0),g+f/2],["L",c,g+f],["C",c-d,g+f,h+y+d,m+f,h+y,m+f],["Z"]]};else if("number"==typeof g){let e=s.plotHeight-m-f,o=c-20-f,i=c-20,n=h+y,r=n+20,l=r+f,a=m,d=m+f,p=d+20,u=p+e,k=u+20,C=k+f,v=g,S=v+f,N=S+20,b=d-.7*f,x=k+.7*f,L=S-.7*f,T=c-.7*f,P=n+.7*f;t.shapeArgs={d:[["M",n,a],["C",P,a,l,b,l,p],["L",l,u],["C",l,x,P,C,n,C],["L",c,C],["C",T,C,o,x,o,u],["L",o,N],["C",o,L,T,v,c,v],["L",c,S],["C",i,S,i,S,i,N],["L",i,u],["C",i,k,i,k,c,k],["L",n,k],["C",r,k,r,k,r,u],["L",r,p],["C",r,d,r,d,n,d],["Z"]]}}if(t.dlBox={x:h+(c-h+y)/2,y:m+(g-m)/2,height:f,width:0},t.tooltipPos=s.inverted?[s.plotSizeY-t.dlBox.y-f/2,s.plotSizeX-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+f/2],t.y=t.plotY=1,t.x=t.plotX=1,!t.options.color){if("from"===a)t.color=o.color;else if("to"===a)t.color=i.color;else if("gradient"===a){let e=p(o.color).get(),s=p(i.color).get();t.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,n?e:s],[1,n?s:e]]}}}}translateNode(t,e){let o=this.translationFactor,i=this.chart,s=this.options,{borderRadius:n,borderWidth:r=0}=s,l=t.getSum(),a=Math.max(Math.round(l*o),this.options.minLinkWidth),d=Math.round(this.nodeWidth),h=e.sankeyColumn.offset(t,o),p=m(C(h.absoluteTop,e.sankeyColumn.top(o)+h.relativeTop),r),c=m(this.colDistance*t.column+r/2,r)+v(t.options[i.inverted?"offsetVertical":"offsetHorizontal"]||0,d),u=i.inverted?i.plotSizeX-c:c;if(t.sum=l,l){t.shapeType="roundedRect",t.nodeX=u,t.nodeY=p;let e=u,o=p,r=t.options.width||s.width||d,l=t.options.height||s.height||a,h=f(v("object"==typeof n?n.radius:n||0,r),0,a/2);i.inverted&&(e=u-d,o=i.plotSizeY-p-a,r=t.options.height||s.height||d,l=t.options.width||s.width||a),t.dlOptions=N.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options}),t.plotX=1,t.plotY=1,t.tooltipPos=i.inverted?[i.plotSizeY-o-l/2,i.plotSizeX-e-r/2]:[e+r/2,o+l/2],t.shapeArgs={x:e,y:o,width:r,height:l,r:h,display:t.hasShape()?"":"none"}}else t.dlOptions={enabled:!1}}}return N.defaultOptions=k(d.defaultOptions,i),e.compose(o,N),g(N.prototype,{animate:h.prototype.animate,createNode:e.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:o,searchPoint:t.noop}),s.registerSeriesType("sankey",N),N}),o(e,"masters/modules/sankey.src.js",[e["Core/Globals.js"]],function(t){return t})});
9
+ */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/sankey",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function o(e,o,i,s){e.hasOwnProperty(o)||(e[o]=s.apply(null,i),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:o,module:e[o]}})))}o(e,"Series/NodesComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){var o;let{series:{prototype:i,prototype:{pointClass:{prototype:s}}}}=t,{defined:n,extend:r,find:l,merge:a,pick:h}=e;return function(t){function e(){return this.data=[].concat(this.points||[],this.nodes),i.destroy.apply(this,arguments)}function o(){this.nodes&&(this.nodes.forEach(t=>{t.destroy()}),this.nodes.length=0),i.setData.apply(this,arguments)}function d(t){let e=arguments,o=this.isNode?this.linksTo.concat(this.linksFrom):[this.fromNode,this.toNode];"select"!==t&&o.forEach(t=>{t&&t.series&&(s.setState.apply(t,e),!t.isNode&&(t.fromNode.graphic&&s.setState.apply(t.fromNode,e),t.toNode&&t.toNode.graphic&&s.setState.apply(t.toNode,e)))}),s.setState.apply(this,e)}function p(t,e,o,i){let n=this.series.options.nodes,r=this.series.options.data,l=r&&r.length||0,d=r&&r[this.index];if(s.update.call(this,t,!this.isNode&&e,o,i),this.isNode){let t=(n||[]).reduce((t,e,o)=>this.id===e.id?o:t,-1),i=a(n&&n[t]||{},r&&r[this.index]||{});r&&(d?r[this.index]=d:r.length=l),n?t>=0?n[t]=i:n.push(i):this.series.options.nodes=[i],h(e,!0)&&this.series.chart.redraw(o)}}t.compose=function(t,i){let s=t.prototype,n=i.prototype;return s.setNodeState=d,s.setState=d,s.update=p,n.destroy=e,n.setData=o,i},t.createNode=function(t){let e=this.pointClass,o=(t,e)=>l(t,t=>t.id===e),i=o(this.nodes,t),s;if(!i){s=this.options.nodes&&o(this.options.nodes,t);let n=new e(this,r({className:"highcharts-node",isNode:!0,id:t,y:1},s));n.linksTo=[],n.linksFrom=[],n.getSum=function(){let t=0,e=0;return n.linksTo.forEach(e=>{t+=e.weight||0}),n.linksFrom.forEach(t=>{e+=t.weight||0}),Math.max(t,e)},n.offset=function(t,e){let o=0;for(let i=0;i<n[e].length;i++){if(n[e][i]===t)return o;o+=n[e][i].weight}},n.hasShape=function(){let t=0;return n.linksTo.forEach(e=>{e.outgoing&&t++}),!n.linksTo.length||t!==n.linksTo.length},n.index=this.nodes.push(n)-1,i=n}return i.formatPrefix="node",i.name=i.name||i.options.id||"",i.mass=h(i.options.mass,i.options.marker&&i.options.marker.radius,this.options.marker&&this.options.marker.radius,4),i},t.destroy=e,t.generatePoints=function(){let t=this.chart,e={};i.generatePoints.call(this),this.nodes||(this.nodes=[]),this.colorCounter=0,this.nodes.forEach(t=>{t.linksFrom.length=0,t.linksTo.length=0,t.level=t.options.level}),this.points.forEach(o=>{n(o.from)&&(e[o.from]||(e[o.from]=this.createNode(o.from)),e[o.from].linksFrom.push(o),o.fromNode=e[o.from],t.styledMode?o.colorIndex=h(o.options.colorIndex,e[o.from].colorIndex):o.color=o.options.color||e[o.from].color),n(o.to)&&(e[o.to]||(e[o.to]=this.createNode(o.to)),e[o.to].linksTo.push(o),o.toNode=e[o.to]),o.name=o.name||o.id},this),this.nodeLookup=e},t.setNodeState=d,t.updateNode=p}(o||(o={})),o}),o(e,"Series/Sankey/SankeyPoint.js",[e["Core/Series/Point.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,o){let{column:i}=e.seriesTypes,{defined:s}=o;class n extends i.prototype.pointClass{applyOptions(e,o){return t.prototype.applyOptions.call(this,e,o),s(this.options.level)&&(this.options.column=this.column=this.options.level),this}getClassName(){return(this.isNode?"highcharts-node ":"highcharts-link ")+t.prototype.getClassName.call(this)}getFromNode(){let t=-1,e;for(let o=0;o<this.linksTo.length;o++){let i=this.linksTo[o];i.fromNode.column>t&&i.fromNode!==this&&(t=(e=i.fromNode).column)}return{fromNode:e,fromColumn:t}}setNodeColumn(){s(this.options.column)||(0===this.linksTo.length?this.column=0:this.column=this.getFromNode().fromColumn+1)}isValid(){return this.isNode||"number"==typeof this.weight}}return n}),o(e,"Series/Sankey/SankeySeriesDefaults.js",[],function(){return{borderWidth:0,colorByPoint:!0,curveFactor:.33,dataLabels:{enabled:!0,backgroundColor:"none",crop:!1,nodeFormat:void 0,nodeFormatter:function(){return this.point.name},format:void 0,formatter:function(){},inside:!0},inactiveOtherPoints:!0,linkColorMode:"from",linkOpacity:.5,opacity:1,minLinkWidth:0,nodeAlignment:"center",nodeWidth:20,nodePadding:10,nodeDistance:30,showInLegend:!1,states:{hover:{linkOpacity:1,opacity:1},inactive:{linkOpacity:.1,opacity:.1,animation:{duration:50}}},tooltip:{followPointer:!0,headerFormat:'<span style="font-size: 0.8em">{series.name}</span><br/>',pointFormat:"{point.fromNode.name} → {point.toNode.name}: <b>{point.weight}</b><br/>",nodeFormat:"{point.name}: <b>{point.sum}</b><br/>"}}}),o(e,"Series/Sankey/SankeyColumnComposition.js",[e["Core/Utilities.js"]],function(t){var e;let{defined:o,relativeLength:i}=t;return function(t){t.compose=function(t,o){return t.sankeyColumn=new e(t,o),t};class e{constructor(t,e){this.points=t,this.series=e}getTranslationFactor(t){let e=this.points,o=e.slice(),i=t.chart,s=t.options.minLinkWidth||0,n,r=0,l,a=(i.plotSizeY||0)-(t.options.borderWidth||0)-(e.length-1)*t.nodePadding;for(;e.length;){for(r=a/e.sankeyColumn.sum(),n=!1,l=e.length;l--;)e[l].getSum()*r<s&&(e.splice(l,1),a=Math.max(0,a-s),n=!0);if(!n)break}for(let t of(e.length=0,o))e.push(t);return r}top(t){let e=this.series,o=e.nodePadding,i=this.points.reduce((i,s)=>(i>0&&(i+=o),i+=Math.max(s.getSum()*t,e.options.minLinkWidth||0)),0);return({top:0,center:.5,bottom:1})[e.options.nodeAlignment||"center"]*((e.chart.plotSizeY||0)-i)}left(t){let e=this.series,o=e.chart,i=e.options.equalNodes,s=o.inverted?o.plotHeight:o.plotWidth,n=e.nodePadding,r=this.points.reduce((o,r)=>(o>0&&(o+=n),o+=i?s/r.series.nodes.length-n:Math.max(r.getSum()*t,e.options.minLinkWidth||0)),0);return((o.plotSizeX||0)-Math.round(r))/2}sum(){return this.points.reduce((t,e)=>t+e.getSum(),0)}offset(t,e){let s=this.points,n=this.series,r=n.nodePadding,l=0,a;if(n.is("organization")&&t.hangsFrom)return{absoluteTop:t.hangsFrom.nodeY};for(let h=0;h<s.length;h++){let d=s[h].getSum(),p=Math.max(d*e,n.options.minLinkWidth||0),c=t.options[n.chart.inverted?"offsetHorizontal":"offsetVertical"],u=t.options.offset||0;if(a=d?p+r:0,s[h]===t)return{relativeTop:l+(o(c)?i(c,p):i(u,a))};l+=a}}}t.SankeyColumnAdditions=e}(e||(e={})),e}),o(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){let{extend:o,isArray:i,isNumber:s,isObject:n,merge:r,pick:l,relativeLength:a}=e;return{getColor:function(e,o){let i,s,n,r,a,h;let d=o.index,p=o.mapOptionsToLevel,c=o.parentColor,u=o.parentColorIndex,f=o.series,m=o.colors,g=o.siblings,y=f.points,k=f.chart.options.chart;return e&&(i=y[e.i],s=p[e.level]||{},i&&s.colorByPoint&&(r=i.index%(m?m.length:k.colorCount),n=m&&m[r]),f.chart.styledMode||(a=l(i&&i.options.color,s&&s.color,n,c&&(e=>{let o=s&&s.colorVariation;return o&&"brightness"===o.key&&d&&g?t.parse(e).brighten(o.to*(d/g)).get():e})(c),f.color)),h=l(i&&i.options.colorIndex,s&&s.colorIndex,r,u,o.colorIndex)),{color:a,colorIndex:h}},getLevelOptions:function(t){let e,o,a,h,d,p;let c={};if(n(t))for(h=s(t.from)?t.from:1,p=t.levels,o={},e=n(t.defaults)?t.defaults:{},i(p)&&(o=p.reduce((t,o)=>{let i,a,d;return n(o)&&s(o.level)&&(a=l((d=r({},o)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,n(t[i=o.level+(a?0:h-1)])?r(!0,t[i],d):t[i]=d),t},{})),d=s(t.to)?t.to:1,a=0;a<=d;a++)c[a]=r({},e,n(o[a])?o[a]:{});return c},getNodeWidth:function(t,e){let{chart:o,options:i}=t,{nodeDistance:s=0,nodeWidth:n=0}=i,{plotSizeX:r=1}=o;if("auto"===n){if("string"==typeof s&&/%$/.test(s))return r/(e+parseFloat(s)/100*(e-1));let t=Number(s);return(r+t)/(e||1)-t}return a(n,r)},setTreeValues:function t(e,i){let s=i.before,n=i.idRoot,r=i.mapIdToNode[n],a=!1!==i.levelIsConstant,h=i.points[e.i],d=h&&h.options||{},p=[],c=0;e.levelDynamic=e.level-(a?0:r.level),e.name=l(h&&h.name,""),e.visible=n===e.id||!0===i.visible,"function"==typeof s&&(e=s(e,i)),e.children.forEach((s,n)=>{let r=o({},i);o(r,{index:n,siblings:e.children.length,visible:e.visible}),s=t(s,r),p.push(s),s.visible&&(c+=s.val)});let u=l(d.value,c);return e.visible=u>=0&&(c>0||e.visible),e.children=p,e.childrenTotal=c,e.isLeaf=e.visible&&!c,e.val=u,e},updateRootId:function(t){let e,o;return n(t)&&(o=n(t.options)?t.options:{},e=l(t.rootNode,o.rootId,""),n(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),o(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:o}=t,{addEvent:i,merge:s,uniqueKey:n,defined:r,extend:l}=e;function a(t,e){e=s(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let o=this.renderer.url,a=this.text||this,h=a.textPath,{attributes:d,enabled:p}=e;if(t=t||h&&h.path,h&&h.undo(),t&&p){let e=i(a,"afterModifyTree",e=>{if(t&&p){let i=t.attr("id");i||t.attr("id",i=n());let s={x:0,y:0};r(d.dx)&&(s.dx=d.dx,delete d.dx),r(d.dy)&&(s.dy=d.dy,delete d.dy),a.attr(s),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=e.nodes.slice(0);e.nodes.length=0,e.nodes[0]={tagName:"textPath",attributes:l(d,{"text-anchor":d.textAnchor,href:`${o}#${i}`}),children:h}}});a.textPath={path:t,undo:e}}else a.attr({dx:0,dy:0}),delete a.textPath;return this.added&&(a.textCache="",this.renderer.buildText(a)),this}function h(t){let e=t.bBox,i=this.element?.querySelector("textPath");if(i){let t=[],{b:s,h:n}=this.renderer.fontMetrics(this.element),r=n-s,l=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),a=i.innerHTML.replace(l,"").split(/<tspan class="highcharts-br"[^>]*>/),h=a.length,d=(t,e)=>{let{x:n,y:l}=e,a=(i.getRotationOfChar(t)-90)*o,h=Math.cos(a),d=Math.sin(a);return[[n-r*h,l-r*d],[n+s*h,l+s*d]]};for(let e=0,o=0;o<h;o++){let s=a[o].length;for(let n=0;n<s;n+=5)try{let s=e+n+o,[r,l]=d(s,i.getStartPositionOfChar(s));0===n?(t.push(l),t.push(r)):(0===o&&t.unshift(l),o===h-1&&t.push(r))}catch(t){break}e+=s-1;try{let s=e+o,n=i.getEndPositionOfChar(s),[r,l]=d(s,n);t.unshift(l),t.unshift(r)}catch(t){break}}t.push(t[0].slice()),e.polygon=t}return e}function d(t){let e=t.labelOptions,o=t.point,i=e[o.formatPrefix+"TextPath"]||e.textPath;i&&!e.useHTML&&(this.setTextPath(o.getDataLabelPath?.(this)||o.graphic,i),o.dataLabelPath&&!i.enabled&&(o.dataLabelPath=o.dataLabelPath.destroy()))}return{compose:function(t){i(t,"afterGetBBox",h),i(t,"beforeAddingDataLabel",d);let e=t.prototype;e.setTextPath||(e.setTextPath=a)}}}),o(e,"Series/Sankey/SankeySeries.js",[e["Core/Globals.js"],e["Series/NodesComposition.js"],e["Series/Sankey/SankeyPoint.js"],e["Series/Sankey/SankeySeriesDefaults.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Sankey/SankeyColumnComposition.js"],e["Core/Color/Color.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(t,e,o,i,s,n,r,l,a,h,d){let{column:p,line:c}=s.seriesTypes,{parse:u}=r,{getLevelOptions:f,getNodeWidth:m}=l,{clamp:g,crisp:y,extend:k,isObject:C,merge:b,pick:v,relativeLength:x,stableSort:S}=a;d.compose(h);class N extends p{static getDLOptions(t){let e=C(t.optionsPoint)?t.optionsPoint.dataLabels:{};return b({style:{}},C(t.level)?t.level.dataLabels:{},e)}createNodeColumns(){let t=[];for(let e of this.nodes)e.setNodeColumn(),t[e.column]||(t[e.column]=n.compose([],this)),t[e.column].push(e);for(let e=0;e<t.length;e++)void 0===t[e]&&(t[e]=n.compose([],this));return t}order(t,e){if(void 0===t.level)for(let o of(t.level=e,t.linksFrom))o.toNode&&this.order(o.toNode,e+1)}generatePoints(){if(e.generatePoints.apply(this,arguments),this.orderNodes){for(let t of this.nodes)0===t.linksTo.length&&this.order(t,0);S(this.nodes,(t,e)=>t.level-e.level)}}getNodePadding(){let t=this.options.nodePadding||0;if(this.nodeColumns){let e=this.nodeColumns.reduce((t,e)=>Math.max(t,e.length),0);e*t>this.chart.plotSizeY&&(t=this.chart.plotSizeY/e)}return t}hasData(){return!!this.processedXData.length}pointAttribs(t,e){if(!t)return{};let o=this,i=t.isNode?t.level:t.fromNode.level,s=o.mapOptionsToLevel[i||0]||{},n=t.options,l=s.states&&s.states[e||""]||{},a=["colorByPoint","borderColor","borderWidth","linkOpacity","opacity"].reduce((t,e)=>(t[e]=v(l[e],n[e],s[e],o.options[e]),t),{}),h=v(l.color,n.color,a.colorByPoint?t.color:s.color);return t.isNode?{fill:h,stroke:a.borderColor,"stroke-width":a.borderWidth,opacity:a.opacity}:{fill:r.parse(h).setOpacity(a.linkOpacity).get()}}drawTracker(){p.prototype.drawTracker.call(this,this.points),p.prototype.drawTracker.call(this,this.nodes)}drawPoints(){p.prototype.drawPoints.call(this,this.points),p.prototype.drawPoints.call(this,this.nodes)}drawDataLabels(){p.prototype.drawDataLabels.call(this,this.points),p.prototype.drawDataLabels.call(this,this.nodes)}translate(){this.processedXData||this.processData(),this.generatePoints(),this.nodeColumns=this.createNodeColumns();let t=this,e=this.chart,o=this.options,i=this.nodeColumns,s=i.length;for(let n of(this.nodeWidth=m(this,s),this.nodePadding=this.getNodePadding(),this.translationFactor=i.reduce((e,o)=>Math.min(e,o.sankeyColumn.getTranslationFactor(t)),1/0),this.colDistance=(e.plotSizeX-this.nodeWidth-o.borderWidth)/Math.max(1,i.length-1),t.mapOptionsToLevel=f({from:1,levels:o.levels,to:i.length-1,defaults:{borderColor:o.borderColor,borderRadius:o.borderRadius,borderWidth:o.borderWidth,color:t.color,colorByPoint:o.colorByPoint,levelIsConstant:!0,linkColor:o.linkColor,linkLineWidth:o.linkLineWidth,linkOpacity:o.linkOpacity,states:o.states}}),i))for(let e of n)t.translateNode(e,n);for(let e of this.nodes)for(let o of e.linksFrom)(o.weight||o.isNull)&&o.to&&(t.translateLink(o),o.allowShadow=!1)}translateLink(t){let e=(e,o)=>{let i=e.offset(t,o)*r;return Math.min(e.nodeY+i,e.nodeY+(e.shapeArgs&&e.shapeArgs.height||0)-f)},o=t.fromNode,i=t.toNode,s=this.chart,{inverted:n}=s,r=this.translationFactor,l=this.options,a=v(t.linkColorMode,l.linkColorMode),h=(s.inverted?-this.colDistance:this.colDistance)*l.curveFactor,d=o.nodeX,p=i.nodeX,c=t.outgoing,f=Math.max(t.weight*r,this.options.minLinkWidth),m=e(o,"linksFrom"),g=e(i,"linksTo"),y=this.nodeWidth,k=p>d+y;if(s.inverted&&(m=s.plotSizeY-m,g=(s.plotSizeY||0)-g,y=-y,f=-f,k=d>p),t.shapeType="path",t.linkBase=[m,m+f,g,g+f],k&&"number"==typeof g)t.shapeArgs={d:[["M",d+y,m],["C",d+y+h,m,p-h,g,p,g],["L",p+(c?y:0),g+f/2],["L",p,g+f],["C",p-h,g+f,d+y+h,m+f,d+y,m+f],["Z"]]};else if("number"==typeof g){let e=s.plotHeight-m-f,o=p-20-f,i=p-20,n=d+y,r=n+20,l=r+f,a=m,h=m+f,c=h+20,u=c+e,k=u+20,C=k+f,b=g,v=b+f,x=v+20,S=h-.7*f,N=k+.7*f,P=v-.7*f,T=p-.7*f,L=n+.7*f;t.shapeArgs={d:[["M",n,a],["C",L,a,l,S,l,c],["L",l,u],["C",l,N,L,C,n,C],["L",p,C],["C",T,C,o,N,o,u],["L",o,x],["C",o,P,T,b,p,b],["L",p,v],["C",i,v,i,v,i,x],["L",i,u],["C",i,k,i,k,p,k],["L",n,k],["C",r,k,r,k,r,u],["L",r,c],["C",r,h,r,h,n,h],["Z"]]}}if(t.dlBox={x:d+(p-d+y)/2,y:m+(g-m)/2,height:f,width:0},t.tooltipPos=s.inverted?[s.plotSizeY-t.dlBox.y-f/2,s.plotSizeX-t.dlBox.x]:[t.dlBox.x,t.dlBox.y+f/2],t.y=t.plotY=1,t.x=t.plotX=1,!t.options.color){if("from"===a)t.color=o.color;else if("to"===a)t.color=i.color;else if("gradient"===a){let e=u(o.color).get(),s=u(i.color).get();t.color={linearGradient:{x1:1,x2:0,y1:0,y2:0},stops:[[0,n?e:s],[1,n?s:e]]}}}}translateNode(t,e){let o=this.translationFactor,i=this.chart,s=this.options,{borderRadius:n,borderWidth:r=0}=s,l=t.getSum(),a=Math.max(Math.round(l*o),this.options.minLinkWidth),h=Math.round(this.nodeWidth),d=e.sankeyColumn.offset(t,o),p=y(v(d.absoluteTop,e.sankeyColumn.top(o)+d.relativeTop),r),c=y(this.colDistance*t.column+r/2,r)+x(t.options[i.inverted?"offsetVertical":"offsetHorizontal"]||0,h),u=i.inverted?i.plotSizeX-c:c;if(t.sum=l,l){t.shapeType="roundedRect",t.nodeX=u,t.nodeY=p;let e=u,o=p,r=t.options.width||s.width||h,l=t.options.height||s.height||a,d=g(x("object"==typeof n?n.radius:n||0,r),0,a/2);i.inverted&&(e=u-h,o=i.plotSizeY-p-a,r=t.options.height||s.height||h,l=t.options.width||s.width||a),t.dlOptions=N.getDLOptions({level:this.mapOptionsToLevel[t.level],optionsPoint:t.options}),t.plotX=1,t.plotY=1,t.tooltipPos=i.inverted?[i.plotSizeY-o-l/2,i.plotSizeX-e-r/2]:[e+r/2,o+l/2],t.shapeArgs={x:e,y:o,width:r,height:l,r:d,display:t.hasShape()?"":"none"}}else t.dlOptions={enabled:!1}}}return N.defaultOptions=b(p.defaultOptions,i),e.compose(o,N),k(N.prototype,{animate:c.prototype.animate,createNode:e.createNode,forceDL:!0,invertible:!0,isCartesian:!1,orderNodes:!0,noSharedTooltip:!0,pointArrayMap:["from","to","weight"],pointClass:o,searchPoint:t.noop}),s.registerSeriesType("sankey",N),N}),o(e,"masters/modules/sankey.src.js",[e["Core/Globals.js"]],function(t){return t})});
@@ -12,6 +12,47 @@ import * as _Highcharts from "../highcharts.src";
12
12
  * The imported Highcharts namespace to extend.
13
13
  */
14
14
  export function factory(highcharts: typeof Highcharts): void;
15
- declare module "../highcharts.src" {}
15
+ declare module "../highcharts.src" {
16
+ interface SVGElement {
17
+ /**
18
+ * Attach a polygon to a bounding box if the element contains a
19
+ * textPath.
20
+ *
21
+ * @param event
22
+ * An event containing a bounding box object
23
+ *
24
+ * @return Returns the bounding box object.
25
+ */
26
+ setPolygon(event: any): BBoxObject;
27
+ /**
28
+ * Draw text along a textPath for a dataLabel.
29
+ *
30
+ * @param event
31
+ * An event containing label options
32
+ */
33
+ setTextPath(event: any): void;
34
+ /**
35
+ * Set a text path for a `text` or `label` element, allowing the text to
36
+ * flow along a path.
37
+ *
38
+ * In order to unset the path for an existing element, call
39
+ * `setTextPath` with `{ enabled: false }` as the second argument.
40
+ *
41
+ * Text path support is not bundled into `highcharts.js`, and requires
42
+ * the `modules/textpath.js` file. However, it is included in the script
43
+ * files of those series types that use it by default
44
+ *
45
+ * @param path
46
+ * Path to follow. If undefined, it allows changing options for
47
+ * the existing path.
48
+ *
49
+ * @param textPathOptions
50
+ * Options.
51
+ *
52
+ * @return Returns the SVGElement for chaining.
53
+ */
54
+ setTextPath(path: (SVGElement|undefined), textPathOptions: DataLabelsTextPathOptionsObject): SVGElement;
55
+ }
56
+ }
16
57
  export default factory;
17
58
  export let Highcharts: typeof _Highcharts;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Sankey diagram module
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
 
30
30
  if (typeof CustomEvent === 'function') {
31
- window.dispatchEvent(new CustomEvent(
31
+ Highcharts.win.dispatchEvent(new CustomEvent(
32
32
  'HighchartsModuleLoaded',
33
33
  { detail: { path: path, module: obj[path] } }
34
34
  ));
@@ -461,7 +461,7 @@
461
461
  */
462
462
  dataLabels: {
463
463
  enabled: true,
464
- backgroundColor: 'none',
464
+ backgroundColor: 'none', // Enable padding
465
465
  crop: false,
466
466
  /**
467
467
  * The
@@ -1434,7 +1434,232 @@
1434
1434
 
1435
1435
  return TreeUtilities;
1436
1436
  });
1437
- _registerModule(_modules, 'Series/Sankey/SankeySeries.js', [_modules['Core/Globals.js'], _modules['Series/NodesComposition.js'], _modules['Series/Sankey/SankeyPoint.js'], _modules['Series/Sankey/SankeySeriesDefaults.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Series/Sankey/SankeyColumnComposition.js'], _modules['Core/Color/Color.js'], _modules['Series/TreeUtilities.js'], _modules['Core/Utilities.js']], function (H, NodesComposition, SankeyPoint, SankeySeriesDefaults, SeriesRegistry, SankeyColumnComposition, Color, TU, U) {
1437
+ _registerModule(_modules, 'Extensions/TextPath.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
1438
+ /* *
1439
+ *
1440
+ * Highcharts module with textPath functionality.
1441
+ *
1442
+ * (c) 2009-2024 Torstein Honsi
1443
+ *
1444
+ * License: www.highcharts.com/license
1445
+ *
1446
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
1447
+ *
1448
+ * */
1449
+ const { deg2rad } = H;
1450
+ const { addEvent, merge, uniqueKey, defined, extend } = U;
1451
+ /**
1452
+ * Set a text path for a `text` or `label` element, allowing the text to
1453
+ * flow along a path.
1454
+ *
1455
+ * In order to unset the path for an existing element, call `setTextPath`
1456
+ * with `{ enabled: false }` as the second argument.
1457
+ *
1458
+ * Text path support is not bundled into `highcharts.js`, and requires the
1459
+ * `modules/textpath.js` file. However, it is included in the script files of
1460
+ * those series types that use it by default
1461
+ *
1462
+ * @sample highcharts/members/renderer-textpath/ Text path demonstrated
1463
+ *
1464
+ * @function Highcharts.SVGElement#setTextPath
1465
+ *
1466
+ * @param {Highcharts.SVGElement|undefined} path
1467
+ * Path to follow. If undefined, it allows changing options for the
1468
+ * existing path.
1469
+ *
1470
+ * @param {Highcharts.DataLabelsTextPathOptionsObject} textPathOptions
1471
+ * Options.
1472
+ *
1473
+ * @return {Highcharts.SVGElement} Returns the SVGElement for chaining.
1474
+ */
1475
+ function setTextPath(path, textPathOptions) {
1476
+ // Defaults
1477
+ textPathOptions = merge(true, {
1478
+ enabled: true,
1479
+ attributes: {
1480
+ dy: -5,
1481
+ startOffset: '50%',
1482
+ textAnchor: 'middle'
1483
+ }
1484
+ }, textPathOptions);
1485
+ const url = this.renderer.url, textWrapper = this.text || this, textPath = textWrapper.textPath, { attributes, enabled } = textPathOptions;
1486
+ path = path || (textPath && textPath.path);
1487
+ // Remove previously added event
1488
+ if (textPath) {
1489
+ textPath.undo();
1490
+ }
1491
+ if (path && enabled) {
1492
+ const undo = addEvent(textWrapper, 'afterModifyTree', (e) => {
1493
+ if (path && enabled) {
1494
+ // Set ID for the path
1495
+ let textPathId = path.attr('id');
1496
+ if (!textPathId) {
1497
+ path.attr('id', textPathId = uniqueKey());
1498
+ }
1499
+ // Set attributes for the <text>
1500
+ const textAttribs = {
1501
+ // `dx`/`dy` options must by set on <text> (parent), the
1502
+ // rest should be set on <textPath>
1503
+ x: 0,
1504
+ y: 0
1505
+ };
1506
+ if (defined(attributes.dx)) {
1507
+ textAttribs.dx = attributes.dx;
1508
+ delete attributes.dx;
1509
+ }
1510
+ if (defined(attributes.dy)) {
1511
+ textAttribs.dy = attributes.dy;
1512
+ delete attributes.dy;
1513
+ }
1514
+ textWrapper.attr(textAttribs);
1515
+ // Handle label properties
1516
+ this.attr({ transform: '' });
1517
+ if (this.box) {
1518
+ this.box = this.box.destroy();
1519
+ }
1520
+ // Wrap the nodes in a textPath
1521
+ const children = e.nodes.slice(0);
1522
+ e.nodes.length = 0;
1523
+ e.nodes[0] = {
1524
+ tagName: 'textPath',
1525
+ attributes: extend(attributes, {
1526
+ 'text-anchor': attributes.textAnchor,
1527
+ href: `${url}#${textPathId}`
1528
+ }),
1529
+ children
1530
+ };
1531
+ }
1532
+ });
1533
+ // Set the reference
1534
+ textWrapper.textPath = { path, undo };
1535
+ }
1536
+ else {
1537
+ textWrapper.attr({ dx: 0, dy: 0 });
1538
+ delete textWrapper.textPath;
1539
+ }
1540
+ if (this.added) {
1541
+ // Rebuild text after added
1542
+ textWrapper.textCache = '';
1543
+ this.renderer.buildText(textWrapper);
1544
+ }
1545
+ return this;
1546
+ }
1547
+ /**
1548
+ * Attach a polygon to a bounding box if the element contains a textPath.
1549
+ *
1550
+ * @function Highcharts.SVGElement#setPolygon
1551
+ *
1552
+ * @param {any} event
1553
+ * An event containing a bounding box object
1554
+ *
1555
+ * @return {Highcharts.BBoxObject} Returns the bounding box object.
1556
+ */
1557
+ function setPolygon(event) {
1558
+ const bBox = event.bBox, tp = this.element?.querySelector('textPath');
1559
+ if (tp) {
1560
+ const polygon = [], { b, h } = this.renderer.fontMetrics(this.element), descender = h - b, lineCleanerRegex = new RegExp('(<tspan>|' +
1561
+ '<tspan(?!\\sclass="highcharts-br")[^>]*>|' +
1562
+ '<\\/tspan>)', 'g'), lines = tp
1563
+ .innerHTML
1564
+ .replace(lineCleanerRegex, '')
1565
+ .split(/<tspan class="highcharts-br"[^>]*>/), numOfLines = lines.length;
1566
+ // Calculate top and bottom coordinates for
1567
+ // either the start or the end of a single
1568
+ // character, and append it to the polygon.
1569
+ const appendTopAndBottom = (charIndex, positionOfChar) => {
1570
+ const { x, y } = positionOfChar, rotation = (tp.getRotationOfChar(charIndex) - 90) * deg2rad, cosRot = Math.cos(rotation), sinRot = Math.sin(rotation);
1571
+ return [
1572
+ [
1573
+ x - descender * cosRot,
1574
+ y - descender * sinRot
1575
+ ],
1576
+ [
1577
+ x + b * cosRot,
1578
+ y + b * sinRot
1579
+ ]
1580
+ ];
1581
+ };
1582
+ for (let i = 0, lineIndex = 0; lineIndex < numOfLines; lineIndex++) {
1583
+ const line = lines[lineIndex], lineLen = line.length;
1584
+ for (let lineCharIndex = 0; lineCharIndex < lineLen; lineCharIndex += 5) {
1585
+ try {
1586
+ const srcCharIndex = (i +
1587
+ lineCharIndex +
1588
+ lineIndex), [lower, upper] = appendTopAndBottom(srcCharIndex, tp.getStartPositionOfChar(srcCharIndex));
1589
+ if (lineCharIndex === 0) {
1590
+ polygon.push(upper);
1591
+ polygon.push(lower);
1592
+ }
1593
+ else {
1594
+ if (lineIndex === 0) {
1595
+ polygon.unshift(upper);
1596
+ }
1597
+ if (lineIndex === numOfLines - 1) {
1598
+ polygon.push(lower);
1599
+ }
1600
+ }
1601
+ }
1602
+ catch (e) {
1603
+ // Safari fails on getStartPositionOfChar even if the
1604
+ // character is within the `textContent.length`
1605
+ break;
1606
+ }
1607
+ }
1608
+ i += lineLen - 1;
1609
+ try {
1610
+ const srcCharIndex = i + lineIndex, charPos = tp.getEndPositionOfChar(srcCharIndex), [lower, upper] = appendTopAndBottom(srcCharIndex, charPos);
1611
+ polygon.unshift(upper);
1612
+ polygon.unshift(lower);
1613
+ }
1614
+ catch (e) {
1615
+ // Safari fails on getStartPositionOfChar even if the character
1616
+ // is within the `textContent.length`
1617
+ break;
1618
+ }
1619
+ }
1620
+ // Close it
1621
+ polygon.push(polygon[0].slice());
1622
+ bBox.polygon = polygon;
1623
+ }
1624
+ return bBox;
1625
+ }
1626
+ /**
1627
+ * Draw text along a textPath for a dataLabel.
1628
+ *
1629
+ * @function Highcharts.SVGElement#setTextPath
1630
+ *
1631
+ * @param {any} event
1632
+ * An event containing label options
1633
+ *
1634
+ * @return {void}
1635
+ */
1636
+ function drawTextPath(event) {
1637
+ const labelOptions = event.labelOptions, point = event.point, textPathOptions = (labelOptions[point.formatPrefix + 'TextPath'] ||
1638
+ labelOptions.textPath);
1639
+ if (textPathOptions && !labelOptions.useHTML) {
1640
+ this.setTextPath(point.getDataLabelPath?.(this) || point.graphic, textPathOptions);
1641
+ if (point.dataLabelPath &&
1642
+ !textPathOptions.enabled) {
1643
+ // Clean the DOM
1644
+ point.dataLabelPath = (point.dataLabelPath.destroy());
1645
+ }
1646
+ }
1647
+ }
1648
+ function compose(SVGElementClass) {
1649
+ addEvent(SVGElementClass, 'afterGetBBox', setPolygon);
1650
+ addEvent(SVGElementClass, 'beforeAddingDataLabel', drawTextPath);
1651
+ const svgElementProto = SVGElementClass.prototype;
1652
+ if (!svgElementProto.setTextPath) {
1653
+ svgElementProto.setTextPath = setTextPath;
1654
+ }
1655
+ }
1656
+ const TextPath = {
1657
+ compose
1658
+ };
1659
+
1660
+ return TextPath;
1661
+ });
1662
+ _registerModule(_modules, 'Series/Sankey/SankeySeries.js', [_modules['Core/Globals.js'], _modules['Series/NodesComposition.js'], _modules['Series/Sankey/SankeyPoint.js'], _modules['Series/Sankey/SankeySeriesDefaults.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Series/Sankey/SankeyColumnComposition.js'], _modules['Core/Color/Color.js'], _modules['Series/TreeUtilities.js'], _modules['Core/Utilities.js'], _modules['Core/Renderer/SVG/SVGElement.js'], _modules['Extensions/TextPath.js']], function (H, NodesComposition, SankeyPoint, SankeySeriesDefaults, SeriesRegistry, SankeyColumnComposition, Color, TU, U, SVGElement, TextPath) {
1438
1663
  /* *
1439
1664
  *
1440
1665
  * Sankey diagram module
@@ -1450,6 +1675,7 @@
1450
1675
  const { parse: color } = Color;
1451
1676
  const { getLevelOptions, getNodeWidth } = TU;
1452
1677
  const { clamp, crisp, extend, isObject, merge, pick, relativeLength, stableSort } = U;
1678
+ TextPath.compose(SVGElement);
1453
1679
  /* *
1454
1680
  *
1455
1681
  * Class
@@ -1641,18 +1867,18 @@
1641
1867
  // should be the level of the root node.
1642
1868
  from: 1,
1643
1869
  levels: options.levels,
1644
- to: nodeColumns.length - 1,
1870
+ to: nodeColumns.length - 1, // Height of the tree
1645
1871
  defaults: {
1646
1872
  borderColor: options.borderColor,
1647
- borderRadius: options.borderRadius,
1873
+ borderRadius: options.borderRadius, // Organization series
1648
1874
  borderWidth: options.borderWidth,
1649
1875
  color: series.color,
1650
1876
  colorByPoint: options.colorByPoint,
1651
1877
  // NOTE: if support for allowTraversingTree is added, then
1652
1878
  // levelIsConstant should be optional.
1653
1879
  levelIsConstant: true,
1654
- linkColor: options.linkColor,
1655
- linkLineWidth: options.linkLineWidth,
1880
+ linkColor: options.linkColor, // Organization series
1881
+ linkLineWidth: options.linkLineWidth, // Organization series
1656
1882
  linkOpacity: options.linkOpacity,
1657
1883
  states: options.states
1658
1884
  }
@@ -2024,4 +2250,4 @@
2024
2250
 
2025
2251
  return Highcharts;
2026
2252
  });
2027
- }));
2253
+ }));