highcharts 11.4.7 → 11.4.9

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 (493) hide show
  1. package/SECURITY.md +41 -0
  2. package/bower.json +14 -2
  3. package/css/annotations/popup.css +224 -46
  4. package/css/highcharts-palette.css +99 -0
  5. package/css/highcharts.css +130 -72
  6. package/css/stocktools/gui.css +28 -11
  7. package/css/themes/dark-unica.css +4 -69
  8. package/css/themes/grid-light.css +14 -4
  9. package/css/themes/sand-signika.css +16 -29
  10. package/es-modules/Accessibility/Accessibility.js +15 -3
  11. package/es-modules/Accessibility/AccessibilityComponent.js +38 -30
  12. package/es-modules/Core/Axis/Axis.js +15 -12
  13. package/es-modules/Core/Axis/AxisDefaults.js +4 -2
  14. package/es-modules/Core/Axis/DateTimeAxis.js +3 -3
  15. package/es-modules/Core/Axis/GridAxis.js +2 -2
  16. package/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
  17. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
  18. package/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
  19. package/es-modules/Core/Axis/Tick.js +1 -1
  20. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
  21. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
  22. package/es-modules/Core/Chart/Chart.js +38 -10
  23. package/es-modules/Core/Color/Color.js +1 -0
  24. package/es-modules/Core/Defaults.js +13 -7
  25. package/es-modules/Core/Globals.js +1 -1
  26. package/es-modules/Core/Legend/LegendSymbol.js +1 -1
  27. package/es-modules/Core/Renderer/HTML/AST.js +6 -5
  28. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -1
  29. package/es-modules/Core/Series/DataLabel.js +9 -0
  30. package/es-modules/Core/Series/Point.js +8 -1
  31. package/es-modules/Core/Series/Series.js +1 -1
  32. package/es-modules/Core/Tooltip.js +9 -0
  33. package/es-modules/Extensions/Annotations/Annotation.js +4 -0
  34. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +1 -1
  35. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +1 -1
  36. package/es-modules/Extensions/Boost/BoostSeries.js +2 -0
  37. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -4
  38. package/es-modules/Extensions/Breadcrumbs/BreadcrumbsDefaults.js +1 -1
  39. package/es-modules/Extensions/Data.js +125 -98
  40. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  41. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
  42. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  43. package/es-modules/Maps/GeoJSONComposition.js +0 -5
  44. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
  45. package/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
  46. package/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
  47. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
  48. package/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
  49. package/es-modules/Stock/Navigator/Navigator.js +7 -2
  50. package/es-modules/Stock/StockTools/StockToolbar.js +1 -1
  51. package/es-modules/masters/highcharts-3d.src.js +1 -1
  52. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  53. package/es-modules/masters/highcharts-more.src.js +1 -1
  54. package/es-modules/masters/highcharts.src.js +2 -2
  55. package/es-modules/masters/highmaps.src.js +1 -1
  56. package/es-modules/masters/highstock.src.js +1 -1
  57. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  58. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  59. package/es-modules/masters/indicators/ao.src.js +1 -1
  60. package/es-modules/masters/indicators/apo.src.js +1 -1
  61. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  62. package/es-modules/masters/indicators/aroon.src.js +1 -1
  63. package/es-modules/masters/indicators/atr.src.js +1 -1
  64. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  65. package/es-modules/masters/indicators/cci.src.js +1 -1
  66. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  67. package/es-modules/masters/indicators/cmf.src.js +1 -1
  68. package/es-modules/masters/indicators/cmo.src.js +1 -1
  69. package/es-modules/masters/indicators/dema.src.js +1 -1
  70. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  71. package/es-modules/masters/indicators/dmi.src.js +1 -1
  72. package/es-modules/masters/indicators/dpo.src.js +1 -1
  73. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  74. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  75. package/es-modules/masters/indicators/indicators.src.js +1 -1
  76. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  77. package/es-modules/masters/indicators/klinger.src.js +1 -1
  78. package/es-modules/masters/indicators/macd.src.js +1 -1
  79. package/es-modules/masters/indicators/mfi.src.js +1 -1
  80. package/es-modules/masters/indicators/momentum.src.js +1 -1
  81. package/es-modules/masters/indicators/natr.src.js +1 -1
  82. package/es-modules/masters/indicators/obv.src.js +1 -1
  83. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  84. package/es-modules/masters/indicators/ppo.src.js +1 -1
  85. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  86. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  87. package/es-modules/masters/indicators/psar.src.js +1 -1
  88. package/es-modules/masters/indicators/regressions.src.js +1 -1
  89. package/es-modules/masters/indicators/roc.src.js +1 -1
  90. package/es-modules/masters/indicators/rsi.src.js +1 -1
  91. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  92. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  93. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  94. package/es-modules/masters/indicators/tema.src.js +1 -1
  95. package/es-modules/masters/indicators/trendline.src.js +1 -1
  96. package/es-modules/masters/indicators/trix.src.js +1 -1
  97. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  98. package/es-modules/masters/indicators/vwap.src.js +1 -1
  99. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  100. package/es-modules/masters/indicators/wma.src.js +1 -1
  101. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  102. package/es-modules/masters/modules/accessibility.src.js +1 -1
  103. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  104. package/es-modules/masters/modules/annotations.src.js +1 -1
  105. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  106. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  107. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  108. package/es-modules/masters/modules/boost.src.js +1 -1
  109. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  110. package/es-modules/masters/modules/bullet.src.js +1 -1
  111. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  112. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  113. package/es-modules/masters/modules/cylinder.src.js +1 -1
  114. package/es-modules/masters/modules/data-tools.src.js +1 -1
  115. package/es-modules/masters/modules/data.src.js +1 -1
  116. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  117. package/es-modules/masters/modules/debugger.src.js +1 -1
  118. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  119. package/es-modules/masters/modules/dotplot.src.js +1 -1
  120. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  121. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  122. package/es-modules/masters/modules/drilldown.src.js +1 -1
  123. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  124. package/es-modules/masters/modules/export-data.src.js +1 -1
  125. package/es-modules/masters/modules/exporting.src.js +1 -1
  126. package/es-modules/masters/modules/flowmap.src.js +1 -1
  127. package/es-modules/masters/modules/full-screen.src.js +1 -1
  128. package/es-modules/masters/modules/funnel.src.js +1 -1
  129. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  130. package/es-modules/masters/modules/gantt.src.js +1 -1
  131. package/es-modules/masters/modules/geoheatmap.src.js +1 -1
  132. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  133. package/es-modules/masters/modules/heatmap.src.js +1 -1
  134. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  135. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  136. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  137. package/es-modules/masters/modules/item-series.src.js +1 -1
  138. package/es-modules/masters/modules/lollipop.src.js +1 -1
  139. package/es-modules/masters/modules/map.src.js +1 -1
  140. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  141. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  142. package/es-modules/masters/modules/navigator.src.js +1 -1
  143. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  144. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  145. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  146. package/es-modules/masters/modules/organization.src.js +1 -1
  147. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  148. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  149. package/es-modules/masters/modules/pareto.src.js +1 -1
  150. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  151. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  152. package/es-modules/masters/modules/pictorial.src.js +1 -1
  153. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  154. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  155. package/es-modules/masters/modules/sankey.src.js +1 -1
  156. package/es-modules/masters/modules/series-label.src.js +1 -1
  157. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  158. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  159. package/es-modules/masters/modules/sonification.src.js +1 -1
  160. package/es-modules/masters/modules/static-scale.src.js +1 -1
  161. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  162. package/es-modules/masters/modules/stock.src.js +1 -1
  163. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  164. package/es-modules/masters/modules/sunburst.src.js +1 -1
  165. package/es-modules/masters/modules/textpath.src.js +1 -1
  166. package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  167. package/es-modules/masters/modules/tilemap.src.js +1 -1
  168. package/es-modules/masters/modules/timeline.src.js +1 -1
  169. package/es-modules/masters/modules/treegraph.src.js +1 -1
  170. package/es-modules/masters/modules/treegrid.src.js +1 -1
  171. package/es-modules/masters/modules/treemap.src.js +1 -1
  172. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  173. package/es-modules/masters/modules/variwide.src.js +1 -1
  174. package/es-modules/masters/modules/vector.src.js +1 -1
  175. package/es-modules/masters/modules/venn.src.js +1 -1
  176. package/es-modules/masters/modules/windbarb.src.js +1 -1
  177. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  178. package/es-modules/masters/modules/xrange.src.js +1 -1
  179. package/es-modules/masters/themes/avocado.src.js +1 -1
  180. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  181. package/es-modules/masters/themes/brand-light.src.js +1 -1
  182. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  183. package/es-modules/masters/themes/dark-green.src.js +1 -1
  184. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  185. package/es-modules/masters/themes/gray.src.js +1 -1
  186. package/es-modules/masters/themes/grid-light.src.js +1 -1
  187. package/es-modules/masters/themes/grid.src.js +1 -1
  188. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  189. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  190. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  191. package/es-modules/masters/themes/skies.src.js +1 -1
  192. package/es-modules/masters/themes/sunset.src.js +1 -1
  193. package/es-modules/tsconfig.tsbuildinfo +1 -1
  194. package/highcharts-3d.js +1 -1
  195. package/highcharts-3d.src.js +1 -1
  196. package/highcharts-gantt.js +3 -3
  197. package/highcharts-gantt.src.js +202 -87
  198. package/highcharts-more.js +1 -1
  199. package/highcharts-more.src.js +1 -1
  200. package/highcharts.d.ts +64 -79
  201. package/highcharts.js +3 -3
  202. package/highcharts.src.d.ts +64 -79
  203. package/highcharts.src.js +173 -70
  204. package/highmaps.js +3 -3
  205. package/highmaps.src.js +176 -78
  206. package/highstock.js +3 -3
  207. package/highstock.src.js +192 -74
  208. package/indicators/acceleration-bands.js +1 -1
  209. package/indicators/acceleration-bands.src.js +1 -1
  210. package/indicators/accumulation-distribution.js +1 -1
  211. package/indicators/accumulation-distribution.src.js +1 -1
  212. package/indicators/ao.js +1 -1
  213. package/indicators/ao.src.js +1 -1
  214. package/indicators/apo.js +1 -1
  215. package/indicators/apo.src.js +1 -1
  216. package/indicators/aroon-oscillator.js +1 -1
  217. package/indicators/aroon-oscillator.src.js +1 -1
  218. package/indicators/aroon.js +1 -1
  219. package/indicators/aroon.src.js +1 -1
  220. package/indicators/atr.js +1 -1
  221. package/indicators/atr.src.js +1 -1
  222. package/indicators/bollinger-bands.js +1 -1
  223. package/indicators/bollinger-bands.src.js +1 -1
  224. package/indicators/cci.js +1 -1
  225. package/indicators/cci.src.js +1 -1
  226. package/indicators/chaikin.js +1 -1
  227. package/indicators/chaikin.src.js +1 -1
  228. package/indicators/cmf.js +1 -1
  229. package/indicators/cmf.src.js +1 -1
  230. package/indicators/cmo.js +1 -1
  231. package/indicators/cmo.src.js +1 -1
  232. package/indicators/dema.js +1 -1
  233. package/indicators/dema.src.js +1 -1
  234. package/indicators/disparity-index.js +1 -1
  235. package/indicators/disparity-index.src.js +1 -1
  236. package/indicators/dmi.js +1 -1
  237. package/indicators/dmi.src.js +1 -1
  238. package/indicators/dpo.js +1 -1
  239. package/indicators/dpo.src.js +1 -1
  240. package/indicators/ichimoku-kinko-hyo.js +1 -1
  241. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  242. package/indicators/indicators-all.js +1 -1
  243. package/indicators/indicators-all.src.js +1 -1
  244. package/indicators/indicators.js +1 -1
  245. package/indicators/indicators.src.js +1 -1
  246. package/indicators/keltner-channels.js +1 -1
  247. package/indicators/keltner-channels.src.js +1 -1
  248. package/indicators/klinger.js +1 -1
  249. package/indicators/klinger.src.js +1 -1
  250. package/indicators/macd.js +1 -1
  251. package/indicators/macd.src.js +1 -1
  252. package/indicators/mfi.js +1 -1
  253. package/indicators/mfi.src.js +1 -1
  254. package/indicators/momentum.js +1 -1
  255. package/indicators/momentum.src.js +1 -1
  256. package/indicators/natr.js +1 -1
  257. package/indicators/natr.src.js +1 -1
  258. package/indicators/obv.js +1 -1
  259. package/indicators/obv.src.js +1 -1
  260. package/indicators/pivot-points.js +1 -1
  261. package/indicators/pivot-points.src.js +1 -1
  262. package/indicators/ppo.js +1 -1
  263. package/indicators/ppo.src.js +1 -1
  264. package/indicators/price-channel.js +1 -1
  265. package/indicators/price-channel.src.js +1 -1
  266. package/indicators/price-envelopes.js +1 -1
  267. package/indicators/price-envelopes.src.js +1 -1
  268. package/indicators/psar.js +1 -1
  269. package/indicators/psar.src.js +1 -1
  270. package/indicators/regressions.js +1 -1
  271. package/indicators/regressions.src.js +1 -1
  272. package/indicators/roc.js +1 -1
  273. package/indicators/roc.src.js +1 -1
  274. package/indicators/rsi.js +1 -1
  275. package/indicators/rsi.src.js +1 -1
  276. package/indicators/slow-stochastic.js +1 -1
  277. package/indicators/slow-stochastic.src.js +1 -1
  278. package/indicators/stochastic.js +1 -1
  279. package/indicators/stochastic.src.js +1 -1
  280. package/indicators/supertrend.js +1 -1
  281. package/indicators/supertrend.src.js +1 -1
  282. package/indicators/tema.js +1 -1
  283. package/indicators/tema.src.js +1 -1
  284. package/indicators/trendline.js +1 -1
  285. package/indicators/trendline.src.js +1 -1
  286. package/indicators/trix.js +1 -1
  287. package/indicators/trix.src.js +1 -1
  288. package/indicators/volume-by-price.js +1 -1
  289. package/indicators/volume-by-price.src.js +1 -1
  290. package/indicators/vwap.js +1 -1
  291. package/indicators/vwap.src.js +1 -1
  292. package/indicators/williams-r.js +1 -1
  293. package/indicators/williams-r.src.js +1 -1
  294. package/indicators/wma.js +1 -1
  295. package/indicators/wma.src.js +1 -1
  296. package/indicators/zigzag.js +1 -1
  297. package/indicators/zigzag.src.js +1 -1
  298. package/modules/accessibility.d.ts +11 -5
  299. package/modules/accessibility.js +2 -2
  300. package/modules/accessibility.src.d.ts +11 -5
  301. package/modules/accessibility.src.js +74 -38
  302. package/modules/annotations-advanced.js +2 -2
  303. package/modules/annotations-advanced.src.js +7 -3
  304. package/modules/annotations.js +2 -2
  305. package/modules/annotations.src.js +7 -3
  306. package/modules/arc-diagram.js +2 -2
  307. package/modules/arc-diagram.src.js +5 -4
  308. package/modules/arrow-symbols.js +1 -1
  309. package/modules/arrow-symbols.src.js +1 -1
  310. package/modules/boost-canvas.js +2 -2
  311. package/modules/boost-canvas.src.js +7 -2
  312. package/modules/boost.js +2 -2
  313. package/modules/boost.src.js +7 -2
  314. package/modules/broken-axis.js +1 -1
  315. package/modules/broken-axis.src.js +1 -1
  316. package/modules/bullet.js +1 -1
  317. package/modules/bullet.src.js +1 -1
  318. package/modules/coloraxis.js +1 -1
  319. package/modules/coloraxis.src.js +1 -1
  320. package/modules/current-date-indicator.js +1 -1
  321. package/modules/current-date-indicator.src.js +1 -1
  322. package/modules/cylinder.js +1 -1
  323. package/modules/cylinder.src.js +1 -1
  324. package/modules/data-tools.js +1 -1
  325. package/modules/data-tools.src.js +1 -1
  326. package/modules/data.d.ts +10 -1
  327. package/modules/data.js +2 -2
  328. package/modules/data.src.d.ts +10 -1
  329. package/modules/data.src.js +126 -100
  330. package/modules/datagrouping.js +1 -1
  331. package/modules/datagrouping.src.js +1 -1
  332. package/modules/debugger.js +1 -1
  333. package/modules/debugger.src.js +1 -1
  334. package/modules/dependency-wheel.js +1 -1
  335. package/modules/dependency-wheel.src.js +1 -1
  336. package/modules/dotplot.js +1 -1
  337. package/modules/dotplot.src.js +1 -1
  338. package/modules/drag-panes.js +1 -1
  339. package/modules/drag-panes.src.js +1 -1
  340. package/modules/draggable-points.js +1 -1
  341. package/modules/draggable-points.src.js +1 -1
  342. package/modules/drilldown.js +2 -2
  343. package/modules/drilldown.src.js +8 -6
  344. package/modules/dumbbell.js +1 -1
  345. package/modules/dumbbell.src.js +1 -1
  346. package/modules/export-data.js +1 -1
  347. package/modules/export-data.src.js +1 -1
  348. package/modules/exporting.js +2 -2
  349. package/modules/exporting.src.js +6 -2
  350. package/modules/flowmap.js +1 -1
  351. package/modules/flowmap.src.js +1 -1
  352. package/modules/full-screen.js +1 -1
  353. package/modules/full-screen.src.js +1 -1
  354. package/modules/funnel.js +1 -1
  355. package/modules/funnel.src.js +1 -1
  356. package/modules/funnel3d.js +1 -1
  357. package/modules/funnel3d.src.js +2 -1
  358. package/modules/gantt.js +2 -2
  359. package/modules/gantt.src.js +30 -18
  360. package/modules/geoheatmap.js +1 -1
  361. package/modules/geoheatmap.src.js +1 -1
  362. package/modules/grid-axis.js +2 -2
  363. package/modules/grid-axis.src.js +3 -3
  364. package/modules/heatmap.js +1 -1
  365. package/modules/heatmap.src.js +1 -1
  366. package/modules/heikinashi.js +1 -1
  367. package/modules/heikinashi.src.js +1 -1
  368. package/modules/histogram-bellcurve.js +1 -1
  369. package/modules/histogram-bellcurve.src.js +1 -1
  370. package/modules/hollowcandlestick.js +1 -1
  371. package/modules/hollowcandlestick.src.js +1 -1
  372. package/modules/item-series.js +1 -1
  373. package/modules/item-series.src.js +1 -1
  374. package/modules/lollipop.js +1 -1
  375. package/modules/lollipop.src.js +1 -1
  376. package/modules/map.js +2 -2
  377. package/modules/map.src.js +4 -9
  378. package/modules/marker-clusters.js +1 -1
  379. package/modules/marker-clusters.src.js +1 -1
  380. package/modules/mouse-wheel-zoom.js +1 -1
  381. package/modules/mouse-wheel-zoom.src.js +1 -1
  382. package/modules/navigator.js +2 -2
  383. package/modules/navigator.src.js +20 -5
  384. package/modules/networkgraph.js +1 -1
  385. package/modules/networkgraph.src.js +1 -1
  386. package/modules/no-data-to-display.js +1 -1
  387. package/modules/no-data-to-display.src.js +1 -1
  388. package/modules/offline-exporting.js +2 -2
  389. package/modules/offline-exporting.src.js +6 -3
  390. package/modules/organization.js +1 -1
  391. package/modules/organization.src.js +1 -1
  392. package/modules/overlapping-datalabels.js +1 -1
  393. package/modules/overlapping-datalabels.src.js +1 -1
  394. package/modules/parallel-coordinates.js +1 -1
  395. package/modules/parallel-coordinates.src.js +1 -1
  396. package/modules/pareto.js +1 -1
  397. package/modules/pareto.src.js +1 -1
  398. package/modules/pathfinder.js +1 -1
  399. package/modules/pathfinder.src.js +1 -1
  400. package/modules/pattern-fill.js +1 -1
  401. package/modules/pattern-fill.src.js +1 -1
  402. package/modules/pictorial.js +1 -1
  403. package/modules/pictorial.src.js +3 -2
  404. package/modules/price-indicator.js +1 -1
  405. package/modules/price-indicator.src.js +1 -1
  406. package/modules/pyramid3d.js +1 -1
  407. package/modules/pyramid3d.src.js +2 -1
  408. package/modules/sankey.js +1 -1
  409. package/modules/sankey.src.js +1 -1
  410. package/modules/series-label.js +1 -1
  411. package/modules/series-label.src.js +1 -1
  412. package/modules/series-on-point.js +1 -1
  413. package/modules/series-on-point.src.js +1 -1
  414. package/modules/solid-gauge.js +1 -1
  415. package/modules/solid-gauge.src.js +1 -1
  416. package/modules/sonification.js +1 -1
  417. package/modules/sonification.src.js +1 -1
  418. package/modules/static-scale.js +1 -1
  419. package/modules/static-scale.src.js +1 -1
  420. package/modules/stock-tools.js +2 -2
  421. package/modules/stock-tools.src.js +3 -3
  422. package/modules/stock.js +2 -2
  423. package/modules/stock.src.js +20 -5
  424. package/modules/streamgraph.js +1 -1
  425. package/modules/streamgraph.src.js +1 -1
  426. package/modules/sunburst.js +2 -2
  427. package/modules/sunburst.src.js +8 -6
  428. package/modules/textpath.js +1 -1
  429. package/modules/textpath.src.js +1 -1
  430. package/modules/tiledwebmap.js +1 -1
  431. package/modules/tiledwebmap.src.js +1 -1
  432. package/modules/tilemap.js +1 -1
  433. package/modules/tilemap.src.js +1 -1
  434. package/modules/timeline.js +1 -1
  435. package/modules/timeline.src.js +1 -1
  436. package/modules/treegraph.js +2 -2
  437. package/modules/treegraph.src.js +2 -2
  438. package/modules/treegrid.js +2 -2
  439. package/modules/treegrid.src.js +11 -14
  440. package/modules/treemap.js +2 -2
  441. package/modules/treemap.src.js +8 -6
  442. package/modules/variable-pie.js +1 -1
  443. package/modules/variable-pie.src.js +1 -1
  444. package/modules/variwide.js +1 -1
  445. package/modules/variwide.src.js +1 -1
  446. package/modules/vector.js +1 -1
  447. package/modules/vector.src.js +1 -1
  448. package/modules/venn.js +1 -1
  449. package/modules/venn.src.js +1 -1
  450. package/modules/windbarb.js +1 -1
  451. package/modules/windbarb.src.js +1 -1
  452. package/modules/wordcloud.js +1 -1
  453. package/modules/wordcloud.src.js +1 -1
  454. package/modules/xrange.js +1 -1
  455. package/modules/xrange.src.js +1 -1
  456. package/options/sunburst.d.ts +1 -1
  457. package/options/sunburst.src.d.ts +1 -1
  458. package/package.json +14 -2
  459. package/standalone-navigator.js +2 -2
  460. package/standalone-navigator.src.js +191 -73
  461. package/themes/avocado.js +1 -1
  462. package/themes/avocado.src.js +1 -1
  463. package/themes/brand-dark.js +1 -1
  464. package/themes/brand-dark.src.js +1 -1
  465. package/themes/brand-light.js +1 -1
  466. package/themes/brand-light.src.js +1 -1
  467. package/themes/dark-blue.js +1 -1
  468. package/themes/dark-blue.src.js +1 -1
  469. package/themes/dark-green.js +1 -1
  470. package/themes/dark-green.src.js +1 -1
  471. package/themes/dark-unica.js +1 -1
  472. package/themes/dark-unica.src.js +1 -1
  473. package/themes/gray.js +1 -1
  474. package/themes/gray.src.js +1 -1
  475. package/themes/grid-light.js +1 -1
  476. package/themes/grid-light.src.js +1 -1
  477. package/themes/grid.js +1 -1
  478. package/themes/grid.src.js +1 -1
  479. package/themes/high-contrast-dark.js +1 -1
  480. package/themes/high-contrast-dark.src.js +1 -1
  481. package/themes/high-contrast-light.js +1 -1
  482. package/themes/high-contrast-light.src.js +1 -1
  483. package/themes/sand-signika.js +1 -1
  484. package/themes/sand-signika.src.js +1 -1
  485. package/themes/skies.js +1 -1
  486. package/themes/skies.src.js +1 -1
  487. package/themes/sunset.js +1 -1
  488. package/themes/sunset.src.js +1 -1
  489. package/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
  490. package/lib/jspdf.js +0 -398
  491. package/lib/jspdf.src.js +0 -28833
  492. package/lib/svg2pdf.js +0 -42
  493. package/lib/svg2pdf.src.js +0 -5983
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v11.4.7 (2024-08-14)
2
+ * @license Highstock JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Highcharts Stock as a plugin for Highcharts
5
5
  *
@@ -1757,13 +1757,23 @@
1757
1757
  isNaN(scrollMax) ||
1758
1758
  !defined(axis.min) ||
1759
1759
  !defined(axis.max) ||
1760
- axis.min === axis.max // #10733
1760
+ axis.dataMin === axis.dataMax // #10733
1761
1761
  ) {
1762
- // Default action: when extremes are the same or there is
1762
+ // Default action: when data extremes are the same or there is
1763
1763
  // not extremes on the axis, but scrollbar exists, make it
1764
1764
  // full size
1765
1765
  scrollbar.setRange(0, 1);
1766
1766
  }
1767
+ else if (axis.min === axis.max) { // #20359
1768
+ // When the extremes are the same, set the scrollbar to a point
1769
+ // within the extremes range. Utilize pointRange to perform the
1770
+ // calculations. (#20359)
1771
+ const interval = axis.pointRange / (axis.dataMax +
1772
+ 1);
1773
+ from = interval * axis.min;
1774
+ to = interval * (axis.max + 1);
1775
+ scrollbar.setRange(from, to);
1776
+ }
1767
1777
  else {
1768
1778
  from = ((axis.min - scrollMin) /
1769
1779
  (scrollMax - scrollMin));
@@ -2973,7 +2983,10 @@
2973
2983
  const handlesOptions = navigatorOptions.handles, { height, width } = handlesOptions;
2974
2984
  [0, 1].forEach((index) => {
2975
2985
  const symbolName = handlesOptions.symbols[index];
2976
- if (!navigator.handles[index]) {
2986
+ if (!navigator.handles[index] ||
2987
+ navigator.handles[index].symbolUrl !== symbolName) {
2988
+ // Generate symbol from scratch if we're dealing with an URL
2989
+ navigator.handles[index]?.destroy();
2977
2990
  navigator.handles[index] = renderer.symbol(symbolName, -width / 2 - 1, 0, width, height, handlesOptions);
2978
2991
  // Z index is 6 for right handle, 7 for left. Can't be 10,
2979
2992
  // because of the tooltip in inverted chart (#2908).
@@ -2981,9 +2994,11 @@
2981
2994
  .addClass('highcharts-navigator-handle ' +
2982
2995
  'highcharts-navigator-handle-' +
2983
2996
  ['left', 'right'][index]).add(navigatorGroup);
2997
+ navigator.addMouseEvents();
2984
2998
  // If the navigator symbol changed, update its path and name
2985
2999
  }
2986
- else if (symbolName !== navigator.handles[index].symbolName) {
3000
+ else if (!navigator.handles[index].isImg &&
3001
+ navigator.handles[index].symbolName !== symbolName) {
2987
3002
  const symbolFn = symbols[symbolName], path = symbolFn.call(symbols, -width / 2 - 1, 0, width, height);
2988
3003
  navigator.handles[index].attr({
2989
3004
  d: path
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Streamgraph module
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Streamgraph module
5
5
  *
@@ -1,8 +1,8 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * (c) 2016-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard
6
6
  *
7
7
  * License: www.highcharts.com/license
8
- */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/sunburst",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(e,i,s,r){e.hasOwnProperty(i)||(e[i]=r.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Extensions/Breadcrumbs/BreadcrumbsDefaults.js",[],function(){return{lang:{mainBreadcrumb:"Main"},options:{buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"#334eff"}},buttonSpacing:5,floating:!1,format:void 0,relativeTo:"plotBox",rtl:!1,position:{align:"left",verticalAlign:"top",x:0,y:void 0},separator:{text:"/",style:{color:"#666666",fontSize:"0.8em"}},showFullPath:!0,style:{},useHTML:!1,zIndex:7}}}),i(e,"Extensions/Breadcrumbs/Breadcrumbs.js",[e["Extensions/Breadcrumbs/BreadcrumbsDefaults.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{format:r}=e,{composed:o}=i,{addEvent:l,defined:a,extend:n,fireEvent:h,isString:d,merge:p,objectEach:u,pick:c,pushUnique:g}=s;function b(){if(this.breadcrumbs){let t=this.resetZoomButton&&this.resetZoomButton.getBBox(),e=this.breadcrumbs.options;t&&"right"===e.position.align&&"plotBox"===e.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-t.width-e.buttonSpacing)}}function f(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function v(){let t=this.breadcrumbs;if(t&&!t.options.floating&&t.level){let e=t.options,i=e.buttonTheme,s=(i.height||0)+2*(i.padding||0)+e.buttonSpacing,r=e.position.verticalAlign;"bottom"===r?(this.marginBottom=(this.marginBottom||0)+s,t.yOffset=s):"middle"!==r?(this.plotTop+=s,t.yOffset=-s):t.yOffset=void 0}}function m(){this.breadcrumbs&&this.breadcrumbs.redraw()}function y(t){!0===t.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}class x{static compose(e,i){g(o,"Breadcrumbs")&&(l(e,"destroy",f),l(e,"afterShowResetZoom",b),l(e,"getMargins",v),l(e,"redraw",m),l(e,"selection",y),n(i.lang,t.lang))}constructor(t,e){this.elementList={},this.isDirty=!0,this.level=0,this.list=[];let i=p(t.options.drilldown&&t.options.drilldown.drillUpButton,x.defaultOptions,t.options.navigation&&t.options.navigation.breadcrumbs,e);this.chart=t,this.options=i||{}}updateProperties(t){this.setList(t),this.setLevel(),this.isDirty=!0}setList(t){this.list=t}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(t){let e=this.chart,i=this.options,s=e.options.lang,o=c(i.format,i.showFullPath?"{level.name}":"← {level.name}"),l=s&&c(s.drillUpText,s.mainBreadcrumb),n=i.formatter&&i.formatter(t)||r(o,{level:t.levelOptions},e)||"";return(d(n)&&!n.length||"← "===n)&&a(l)&&(n=i.showFullPath?l:"← "+l),n}redraw(){this.isDirty&&this.render(),this.group&&this.group.align(),this.isDirty=!1}render(){let t=this.chart,e=this.options;!this.group&&e&&(this.group=t.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:e.zIndex}).add()),e.showFullPath?this.renderFullPathButtons():this.renderSingleButton(),this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(),this.resetElementListState(),this.updateListElements(),this.destroyListElements()}renderSingleButton(){let t=this.chart,e=this.list,i=this.options.buttonSpacing;this.destroyListElements();let s=this.group?this.group.getBBox().width:i,r=e[e.length-2];!t.drillUpButton&&this.level>0?t.drillUpButton=this.renderButton(r,s,i):t.drillUpButton&&(this.level>0?this.updateSingleButton():this.destroySingleButton())}alignBreadcrumbsGroup(t){if(this.group){let e=this.options,i=e.buttonTheme,s=e.position,r="chart"===e.relativeTo||"spacingBox"===e.relativeTo?void 0:"plotBox",o=this.group.getBBox(),l=2*(i.padding||0)+e.buttonSpacing;s.width=o.width+l,s.height=o.height+l;let a=p(s);t&&(a.x+=t),this.options.rtl&&(a.x+=s.width),a.y=c(a.y,this.yOffset,0),this.group.align(a,!0,r)}}renderButton(t,e,i){let s=this,r=this.chart,o=s.options,l=p(o.buttonTheme),a=r.renderer.button(s.getButtonText(t),e,i,function(e){let i;let r=o.events&&o.events.click;r&&(i=r.call(s,e,t)),!1!==i&&(o.showFullPath?e.newLevel=t.level:e.newLevel=s.level-1,h(s,"up",e))},l).addClass("highcharts-breadcrumbs-button").add(s.group);return r.styledMode||a.attr(o.style),a}renderSeparator(t,e){let i=this.chart,s=this.options.separator,r=i.renderer.label(s.text,t,e,void 0,void 0,void 0,!1).addClass("highcharts-breadcrumbs-separator").add(this.group);return i.styledMode||r.css(s.style),r}update(t){p(!0,this.options,t),this.destroy(),this.isDirty=!0}updateSingleButton(){let t=this.chart,e=this.list[this.level-1];t.drillUpButton&&t.drillUpButton.attr({text:this.getButtonText(e)})}destroy(){this.destroySingleButton(),this.destroyListElements(!0),this.group&&this.group.destroy(),this.group=void 0}destroyListElements(t){let e=this.elementList;u(e,(i,s)=>{(t||!e[s].updated)&&((i=e[s]).button&&i.button.destroy(),i.separator&&i.separator.destroy(),delete i.button,delete i.separator,delete e[s])}),t&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton=void 0)}resetElementListState(){u(this.elementList,t=>{t.updated=!1})}updateListElements(){let t=this.elementList,e=this.options.buttonSpacing,i=this.list,s=this.options.rtl,r=s?-1:1,o=function(t,e){return r*t.getBBox().width+r*e},l=function(t,e,i){t.translate(e-t.getBBox().width,i)},a=this.group?o(this.group,e):e,n,h;for(let d=0,p=i.length;d<p;++d){let u,c;let g=d===p-1;t[(h=i[d]).level]?(u=(n=t[h.level]).button,n.separator||g?n.separator&&g&&(n.separator.destroy(),delete n.separator):(a+=r*e,n.separator=this.renderSeparator(a,e),s&&l(n.separator,a,e),a+=o(n.separator,e)),t[h.level].updated=!0):(u=this.renderButton(h,a,e),s&&l(u,a,e),a+=o(u,e),g||(c=this.renderSeparator(a,e),s&&l(c,a,e),a+=o(c,e)),t[h.level]={button:u,separator:c,updated:!0}),u&&u.setState(g?2:0)}}}return x.defaultOptions=t.options,x}),i(e,"Series/ColorMapComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{column:{prototype:r}}=t.seriesTypes,{addEvent:o,defined:l}=i;return function(t){function i(t){let i=this.series,s=i.chart.renderer;this.moveToTopOnHover&&this.graphic&&(i.stateMarkerGraphic||(i.stateMarkerGraphic=new e(s,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),i.stateMarkerGraphic.attr({href:`${s.url}#${this.id}`,visibility:"visible"})):i.stateMarkerGraphic.attr({href:""}))}t.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return l(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:r.pointAttribs},t.compose=function(t){return o(t.prototype.pointClass,"afterSetState",i),t}}(s||(s={})),s}),i(e,"Series/Treemap/TreemapAlgorithmGroup.js",[],function(){return class{constructor(t,e,i,s){this.height=t,this.width=e,this.plot=s,this.direction=i,this.startDirection=i,this.total=0,this.nW=0,this.lW=0,this.nH=0,this.lH=0,this.elArr=[],this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(t,e){return Math.max(t/e,e/t)}}}addElement(t){this.lP.total=this.elArr[this.elArr.length-1],this.total=this.total+t,0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH)),this.elArr.push(t)}reset(){this.nW=0,this.lW=0,this.elArr=[],this.total=0}}}),i(e,"Series/Treemap/TreemapNode.js",[],function(){return class{constructor(){this.childrenTotal=0,this.visible=!1}init(t,e,i,s,r,o,l){return this.id=t,this.i=e,this.children=i,this.height=s,this.level=r,this.series=o,this.parent=l,this}}}),i(e,"Series/DrawPointUtilities.js",[],function(){return{draw:function(t,e){let{animatableAttribs:i,onComplete:s,css:r,renderer:o}=e,l=t.series&&t.series.chart.hasRendered?void 0:t.series&&t.series.options.animation,a=t.graphic;if(e.attribs={...e.attribs,class:t.getClassName()},t.shouldDraw())a||(a="text"===e.shapeType?o.text():"image"===e.shapeType?o.image(e.imageUrl||"").attr(e.shapeArgs||{}):o[e.shapeType](e.shapeArgs||{}),t.graphic=a,a.add(e.group)),r&&a.css(r),a.attr(e.attribs).animate(i,!e.isNew&&l,s);else if(a){let e=()=>{t.graphic=a=a&&a.destroy(),"function"==typeof s&&s()};Object.keys(i).length?a.animate(i,void 0,()=>e()):e()}}}}),i(e,"Series/Treemap/TreemapPoint.js",[e["Series/DrawPointUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{pie:{prototype:{pointClass:s}},scatter:{prototype:{pointClass:r}}}=e.seriesTypes,{extend:o,isNumber:l,pick:a}=i;class n extends r{constructor(){super(...arguments),this.shapeType="rect"}draw(e){t.draw(this,e)}getClassName(){let t=this.series,e=t.options,i=super.getClassName();return this.node.level<=t.nodeMap[t.rootNode].level&&this.node.children.length?i+=" highcharts-above-level":this.node.isLeaf||a(e.interactByLeaf,!e.allowTraversingTree)?this.node.isLeaf||(i+=" highcharts-internal-node"):i+=" highcharts-internal-node-interactive",i}isValid(){return!!(this.id||l(this.value))}setState(t){super.setState.apply(this,arguments),this.graphic&&this.graphic.attr({zIndex:"hover"===t?1:0})}shouldDraw(){return l(this.plotY)&&null!==this.y}}return o(n.prototype,{setVisible:s.prototype.setVisible}),n}),i(e,"Series/Treemap/TreemapSeriesDefaults.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{isString:i}=e;return{allowTraversingTree:!1,animationLimit:250,borderRadius:0,showInLegend:!1,marker:void 0,colorByPoint:!1,dataLabels:{defer:!1,enabled:!0,formatter:function(){let t=this&&this.point?this.point:{};return i(t.name)?t.name:""},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:"",pointFormat:"<b>{point.name}</b>: {point.value}<br/>"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"#999999",brightness:t.seriesTypes.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}},legendSymbol:"rectangle",traverseToLeaf:!1}}),i(e,"Series/Treemap/TreemapUtilities.js",[],function(){var t;return(t||(t={})).recursive=function t(e,i,s){let r=i.call(s||this,e);!1!==r&&t(r,i,s)},t}),i(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){let{extend:i,isArray:s,isNumber:r,isObject:o,merge:l,pick:a,relativeLength:n}=e;return{getColor:function(e,i){let s,r,o,l,n,h;let d=i.index,p=i.mapOptionsToLevel,u=i.parentColor,c=i.parentColorIndex,g=i.series,b=i.colors,f=i.siblings,v=g.points,m=g.chart.options.chart;return e&&(s=v[e.i],r=p[e.level]||{},s&&r.colorByPoint&&(l=s.index%(b?b.length:m.colorCount),o=b&&b[l]),g.chart.styledMode||(n=a(s&&s.options.color,r&&r.color,o,u&&(e=>{let i=r&&r.colorVariation;return i&&"brightness"===i.key&&d&&f?t.parse(e).brighten(i.to*(d/f)).get():e})(u),g.color)),h=a(s&&s.options.colorIndex,r&&r.colorIndex,l,c,i.colorIndex)),{color:n,colorIndex:h}},getLevelOptions:function(t){let e,i,n,h,d,p;let u={};if(o(t))for(h=r(t.from)?t.from:1,p=t.levels,i={},e=o(t.defaults)?t.defaults:{},s(p)&&(i=p.reduce((t,i)=>{let s,n,d;return o(i)&&r(i.level)&&(n=a((d=l({},i)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,o(t[s=i.level+(n?0:h-1)])?l(!0,t[s],d):t[s]=d),t},{})),d=r(t.to)?t.to:1,n=0;n<=d;n++)u[n]=l({},e,o(i[n])?i[n]:{});return u},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:r=0,nodeWidth:o=0}=s,{plotSizeX:l=1}=i;if("auto"===o){if("string"==typeof r&&/%$/.test(r))return l/(e+parseFloat(r)/100*(e-1));let t=Number(r);return(l+t)/(e||1)-t}return n(o,l)},setTreeValues:function t(e,s){let r=s.before,o=s.idRoot,l=s.mapIdToNode[o],n=!1!==s.levelIsConstant,h=s.points[e.i],d=h&&h.options||{},p=[],u=0;e.levelDynamic=e.level-(n?0:l.level),e.name=a(h&&h.name,""),e.visible=o===e.id||!0===s.visible,"function"==typeof r&&(e=r(e,s)),e.children.forEach((r,o)=>{let l=i({},s);i(l,{index:o,siblings:e.children.length,visible:e.visible}),r=t(r,l),p.push(r),r.visible&&(u+=r.val)});let c=a(d.value,u);return e.visible=c>=0&&(u>0||e.visible),e.children=p,e.childrenTotal=u,e.isLeaf=e.visible&&!u,e.val=c,e},updateRootId:function(t){let e,i;return o(t)&&(i=o(t.options)?t.options:{},e=a(t.rootNode,i.rootId,""),o(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),i(e,"Series/Treemap/TreemapSeries.js",[e["Extensions/Breadcrumbs/Breadcrumbs.js"],e["Core/Color/Color.js"],e["Series/ColorMapComposition.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Treemap/TreemapAlgorithmGroup.js"],e["Series/Treemap/TreemapNode.js"],e["Series/Treemap/TreemapPoint.js"],e["Series/Treemap/TreemapSeriesDefaults.js"],e["Series/Treemap/TreemapUtilities.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,l,a,n,h,d,p){let{parse:u}=e,{composed:c,noop:g}=s,{column:b,scatter:f}=r.seriesTypes,{getColor:v,getLevelOptions:m,updateRootId:y}=d,{addEvent:x,correctFloat:T,crisp:S,defined:P,error:L,extend:w,fireEvent:C,isArray:A,isObject:R,isString:B,merge:M,pick:O,pushUnique:I,stableSort:j}=p,D=!1;function N(){let t;let e=this.xAxis,i=this.yAxis;e&&i&&(this.is("treemap")?(t={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,minPadding:0,max:100,maxPadding:0,startOnTick:!1,title:void 0,tickPositions:[]},w(i.options,t),w(e.options,t),D=!0):D&&(i.setOptions(i.userOptions),e.setOptions(e.userOptions),D=!1))}class U extends f{static compose(t){I(c,"TreemapSeries")&&x(t,"afterBindAxes",N)}algorithmCalcPoints(t,e,i,s){let r=i.plot,o=i.elArr.length-1,l,a,n,h,d=i.lW,p=i.lH,u,c=0;for(let t of(e?(d=i.nW,p=i.nH):u=i.elArr[o],i.elArr))(e||c<o)&&(0===i.direction?(l=r.x,a=r.y,h=t/(n=d)):(l=r.x,a=r.y,n=t/(h=p)),s.push({x:l,y:a,width:n,height:T(h)}),0===i.direction?r.y=r.y+h:r.x=r.x+n),c+=1;i.reset(),0===i.direction?i.width=i.width-d:i.height=i.height-p,r.y=r.parent.y+(r.parent.height-i.height),r.x=r.parent.x+(r.parent.width-i.width),t&&(i.direction=1-i.direction),e||i.addElement(u)}algorithmFill(t,e,i){let s=[],r,o=e.direction,l=e.x,a=e.y,n=e.width,h=e.height,d,p,u,c;for(let g of i)r=e.width*e.height*(g.val/e.val),d=l,p=a,0===o?(n-=u=r/(c=h),l+=u):(h-=c=r/(u=n),a+=c),s.push({x:d,y:p,width:u,height:c}),t&&(o=1-o);return s}algorithmLowAspectRatio(t,e,i){let s=[],r={x:e.x,y:e.y,parent:e},l=e.direction,a=i.length-1,n=new o(e.height,e.width,l,r),h,d=0;for(let o of i)h=e.width*e.height*(o.val/e.val),n.addElement(h),n.lP.nR>n.lP.lR&&this.algorithmCalcPoints(t,!1,n,s,r),d===a&&this.algorithmCalcPoints(t,!0,n,s,r),++d;return s}alignDataLabel(t,e,i){let s=i.style;s&&!P(s.textOverflow)&&e.text&&e.getBBox().width>(e.text.textWidth||0)&&e.css({textOverflow:"ellipsis",width:s.width+="px"}),b.prototype.alignDataLabel.apply(this,arguments),t.dataLabel&&t.dataLabel.attr({zIndex:(t.node.zIndex||0)+1})}calculateChildrenAreas(t,e){let i=this.options,s=this.mapOptionsToLevel[t.level+1],r=O(this[s&&s.layoutAlgorithm]&&s.layoutAlgorithm,i.layoutAlgorithm),o=i.alternateStartingDirection,l=t.children.filter(t=>!t.ignore),a=[];s&&s.layoutStartingDirection&&(e.direction="vertical"===s.layoutStartingDirection?0:1),a=this[r](e,l);let n=-1;for(let t of l){let i=a[++n];t.values=M(i,{val:t.childrenTotal,direction:o?1-e.direction:e.direction}),t.pointValues=M(i,{x:i.x/this.axisRatio,y:100-i.y-i.height,width:i.width/this.axisRatio}),t.children.length&&this.calculateChildrenAreas(t,t.values)}}createList(t){let e=this.chart,i=e.breadcrumbs,s=[];if(i){let i=0;s.push({level:i,levelOptions:e.series[0]});let r=t.target.nodeMap[t.newRootId],o=[];for(;r.parent||""===r.parent;)o.push(r),r=t.target.nodeMap[r.parent];for(let t of o.reverse())s.push({level:++i,levelOptions:t});s.length<=1&&(s.length=0)}return s}drawDataLabels(){let t,e;let i=this.mapOptionsToLevel;for(let s of this.points.filter(function(t){return t.node.visible}))e=i[s.node.level],t={style:{}},s.node.isLeaf||(t.enabled=!1),e&&e.dataLabels&&(t=M(t,e.dataLabels),this.hasDataLabels=()=>!0),s.shapeArgs&&(t.style.width=s.shapeArgs.width,s.dataLabel&&s.dataLabel.css({width:s.shapeArgs.width+"px"})),s.dlOptions=M(t,s.options.dataLabels);super.drawDataLabels()}drawPoints(t=this.points){let e=this.chart,i=e.renderer,s=e.styledMode,r=this.options,o=s?{}:r.shadow,l=r.borderRadius,a=e.pointCount<r.animationLimit,n=r.allowTraversingTree;for(let e of t){let t=e.node.levelDynamic,h={},d={},p={},u="level-group-"+e.node.level,c=!!e.graphic,g=a&&c,b=e.shapeArgs;e.shouldDraw()&&(e.isInside=!0,l&&(d.r=l),M(!0,g?h:d,c?b:{},s?{}:this.pointAttribs(e,e.selected?"select":void 0)),this.colorAttribs&&s&&w(p,this.colorAttribs(e)),this[u]||(this[u]=i.g(u).attr({zIndex:1e3-(t||0)}).add(this.group),this[u].survive=!0)),e.draw({animatableAttribs:h,attribs:d,css:p,group:this[u],imageUrl:e.imageUrl,renderer:i,shadow:o,shapeArgs:b,shapeType:e.shapeType}),n&&e.graphic&&(e.drillId=r.interactByLeaf?this.drillToByLeaf(e):this.drillToByGroup(e))}}drillToByGroup(t){let e=!1;return t.node.isLeaf||t.node.level-this.nodeMap[this.rootNode].level!=1||(e=t.id),e}drillToByLeaf(t){let{traverseToLeaf:e}=t.series.options,i=!1,s;if(t.node.parent!==this.rootNode&&t.node.isLeaf){if(e)i=t.id;else for(s=t.node;!i;)void 0!==s.parent&&(s=this.nodeMap[s.parent]),s.parent===this.rootNode&&(i=s.id)}return i}drillToNode(t,e){L(32,!1,void 0,{"treemap.drillToNode":"use treemap.setRootNode"}),this.setRootNode(t,e)}drillUp(){let t=this.nodeMap[this.rootNode];t&&B(t.parent)&&this.setRootNode(t.parent,!0,{trigger:"traverseUpButton"})}getExtremes(){let{dataMin:t,dataMax:e}=super.getExtremes(this.colorValueData);return this.valueMin=t,this.valueMax=e,super.getExtremes()}getListOfParents(t,e){let i=A(t)?t:[],s=A(e)?e:[],r=i.reduce(function(t,e,i){let s=O(e.parent,"");return void 0===t[s]&&(t[s]=[]),t[s].push(i),t},{"":[]});for(let t of Object.keys(r)){let e=r[t];if(""!==t&&-1===s.indexOf(t)){for(let t of e)r[""].push(t);delete r[t]}}return r}getTree(){let t=this.data.map(function(t){return t.id}),e=this.getListOfParents(this.data,t);return this.nodeMap={},this.nodeList=[],this.buildTree("",-1,0,e)}buildTree(t,e,i,s,r){let o=[],l=this.points[e],a=0,n;for(let e of s[t]||[])a=Math.max((n=this.buildTree(this.points[e].id,e,i+1,s,t)).height+1,a),o.push(n);let h=new this.NodeClass().init(t,e,o,a,i,this,r);for(let t of o)t.parentNode=h;return this.nodeMap[h.id]=h,this.nodeList.push(h),l&&(l.node=h,h.point=l),h}hasData(){return!!this.processedXData.length}init(e,i){let s=this,r=M(i.drillUpButton,i.breadcrumbs),o=x(s,"setOptions",t=>{let e=t.userOptions;P(e.allowDrillToNode)&&!P(e.allowTraversingTree)&&(e.allowTraversingTree=e.allowDrillToNode,delete e.allowDrillToNode),P(e.drillUpButton)&&!P(e.traverseUpButton)&&(e.traverseUpButton=e.drillUpButton,delete e.drillUpButton)});super.init(e,i),delete s.opacity,s.eventsToUnbind.push(o),s.options.allowTraversingTree&&(s.eventsToUnbind.push(x(s,"click",s.onClickDrillToNode)),s.eventsToUnbind.push(x(s,"setRootNode",function(t){let e=s.chart;e.breadcrumbs&&e.breadcrumbs.updateProperties(s.createList(t))})),s.eventsToUnbind.push(x(s,"update",function(t,e){let i=this.chart.breadcrumbs;i&&t.options.breadcrumbs&&i.update(t.options.breadcrumbs)})),s.eventsToUnbind.push(x(s,"destroy",function(t){let e=this.chart;e.breadcrumbs&&!t.keepEventsForUpdate&&(e.breadcrumbs.destroy(),e.breadcrumbs=void 0)}))),e.breadcrumbs||(e.breadcrumbs=new t(e,r)),s.eventsToUnbind.push(x(e.breadcrumbs,"up",function(t){let e=this.level-t.newLevel;for(let t=0;t<e;t++)s.drillUp()}))}onClickDrillToNode(t){let e=t.point,i=e&&e.drillId;B(i)&&(e.setState(""),this.setRootNode(i,!0,{trigger:"click"}))}pointAttribs(t,e){let i;let s=R(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},r=t&&s[t.node.level]||{},o=this.options,l=e&&o.states&&o.states[e]||{},a=t&&t.getClassName()||"",n={stroke:t&&t.borderColor||r.borderColor||l.borderColor||o.borderColor,"stroke-width":O(t&&t.borderWidth,r.borderWidth,l.borderWidth,o.borderWidth),dashstyle:t&&t.borderDashStyle||r.borderDashStyle||l.borderDashStyle||o.borderDashStyle,fill:t&&t.color||this.color};return -1!==a.indexOf("highcharts-above-level")?(n.fill="none",n["stroke-width"]=0):-1!==a.indexOf("highcharts-internal-node-interactive")?(i=O(l.opacity,o.opacity),n.fill=u(n.fill).setOpacity(i).get(),n.cursor="pointer"):-1!==a.indexOf("highcharts-internal-node")?n.fill="none":e&&(n.fill=u(n.fill).brighten(l.brightness).get()),n}setColorRecursive(t,e,i,s,r){let o=this&&this.chart,l=o&&o.options&&o.options.colors;if(t){let o=v(t,{colors:l,index:s,mapOptionsToLevel:this.mapOptionsToLevel,parentColor:e,parentColorIndex:i,series:this,siblings:r}),a=this.points[t.i];a&&(a.color=o.color,a.colorIndex=o.colorIndex);let n=-1;for(let e of t.children||[])this.setColorRecursive(e,o.color,o.colorIndex,++n,t.children.length)}}setPointValues(){let t=this,{points:e,xAxis:i,yAxis:s}=t,r=t.chart.styledMode,o=e=>r?0:t.pointAttribs(e)["stroke-width"]||0;for(let t of e){let{pointValues:e,visible:r}=t.node;if(e&&r){let{height:r,width:l,x:a,y:n}=e,h=o(t),d=S(i.toPixels(a,!0),h,!0),p=S(i.toPixels(a+l,!0),h,!0),u=S(s.toPixels(n,!0),h,!0),c=S(s.toPixels(n+r,!0),h,!0),g={x:Math.min(d,p),y:Math.min(u,c),width:Math.abs(p-d),height:Math.abs(c-u)};t.plotX=g.x+g.width/2,t.plotY=g.y+g.height/2,t.shapeArgs=g}else delete t.plotX,delete t.plotY}}setRootNode(t,e,i){C(this,"setRootNode",w({newRootId:t,previousRootId:this.rootNode,redraw:O(e,!0),series:this},i),function(t){let e=t.series;e.idPreviousRoot=t.previousRootId,e.rootNode=t.newRootId,e.isDirty=!0,t.redraw&&e.chart.redraw()})}setState(t){this.options.inactiveOtherPoints=!0,super.setState(t,!1),this.options.inactiveOtherPoints=!1}setTreeValues(t){let e=this.options,i=this.rootNode,s=this.nodeMap[i],r="boolean"!=typeof e.levelIsConstant||e.levelIsConstant,o=[],l=this.points[t.i],a=0;for(let e of t.children)e=this.setTreeValues(e),o.push(e),e.ignore||(a+=e.val);j(o,(t,e)=>(t.sortIndex||0)-(e.sortIndex||0));let n=O(l&&l.options.value,a);return l&&(l.value=n),w(t,{children:o,childrenTotal:a,ignore:!(O(l&&l.visible,!0)&&n>0),isLeaf:t.visible&&!a,levelDynamic:t.level-(r?0:s.level),name:O(l&&l.name,""),sortIndex:O(l&&l.sortIndex,-n),val:n}),t}sliceAndDice(t,e){return this.algorithmFill(!0,t,e)}squarified(t,e){return this.algorithmLowAspectRatio(!0,t,e)}strip(t,e){return this.algorithmLowAspectRatio(!1,t,e)}stripes(t,e){return this.algorithmFill(!1,t,e)}translate(){let t=this,e=t.options,i=y(t),s,r,o,l;super.translate();let a=t.tree=t.getTree();s=t.nodeMap[i],""===i||s||(t.setRootNode("",!1),i=t.rootNode,s=t.nodeMap[i]),t.mapOptionsToLevel=m({from:s.level+1,levels:e.levels,to:a.height,defaults:{levelIsConstant:t.options.levelIsConstant,colorByPoint:e.colorByPoint}}),h.recursive(t.nodeMap[t.rootNode],e=>{let i=e.parent,s=!1;return e.visible=!0,(i||""===i)&&(s=t.nodeMap[i]),s}),h.recursive(t.nodeMap[t.rootNode].children,t=>{let e=!1;for(let i of t)i.visible=!0,i.children.length&&(e=(e||[]).concat(i.children));return e}),t.setTreeValues(a),t.axisRatio=t.xAxis.len/t.yAxis.len,t.nodeMap[""].pointValues=r={x:0,y:0,width:100,height:100},t.nodeMap[""].values=o=M(r,{width:r.width*t.axisRatio,direction:"vertical"===e.layoutStartingDirection?0:1,val:a.val}),t.calculateChildrenAreas(a,o),t.colorAxis||e.colorByPoint||t.setColorRecursive(t.tree),e.allowTraversingTree&&(l=s.pointValues,t.xAxis.setExtremes(l.x,l.x+l.width,!1),t.yAxis.setExtremes(l.y,l.y+l.height,!1),t.xAxis.setScale(),t.yAxis.setScale()),t.setPointValues()}}return U.defaultOptions=M(f.defaultOptions,n),w(U.prototype,{buildKDTree:g,colorAttribs:i.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,getExtremesFromAll:!0,getSymbol:g,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value"],pointClass:a,NodeClass:l,trackerGroups:["group","dataLabelsGroup"],utils:h}),i.compose(U),r.registerSeriesType("treemap",U),U}),i(e,"Series/Sunburst/SunburstPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{series:{prototype:{pointClass:i}},seriesTypes:{treemap:{prototype:{pointClass:s}}}}=t,{correctFloat:r,extend:o,pInt:l}=e;class a extends s{getDataLabelPath(t){let e=this.series.chart.renderer,i=this.shapeExisting,s=i.r+l(t.options?.distance||0),o=i.start,a=i.end,n=o+(a-o)/2,h=n<0&&n>-Math.PI||n>Math.PI,d;return o===-Math.PI/2&&r(a)===r(1.5*Math.PI)&&(o=-Math.PI+Math.PI/360,a=-Math.PI/360,h=!0),a-o>Math.PI&&(h=!1,d=!0,a-o>2*Math.PI-.01&&(o+=.01,a-=.01)),this.dataLabelPath&&(this.dataLabelPath=this.dataLabelPath.destroy()),this.dataLabelPath=e.arc({open:!0,longArc:d?1:0}).attr({start:h?o:a,end:h?a:o,clockwise:+h,x:i.x,y:i.y,r:(s+i.innerR)/2}).add(e.defs),this.dataLabelPath}isValid(){return!0}}return o(a.prototype,{getClassName:i.prototype.getClassName,haloPath:i.prototype.haloPath,setState:i.prototype.setState}),a}),i(e,"Series/Sunburst/SunburstUtilities.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{seriesTypes:{treemap:i}}=t,{isNumber:s,isObject:r,merge:o}=e;function l(t,e){let i=[];if(s(t)&&s(e)&&t<=e)for(let s=t;s<=e;s++)i.push(s);return i}return{calculateLevelSizes:function(t,e){let i=r(e)?e:{},a,n=0,h,d,p,u;if(r(t)){for(let e of(a=o({},t),d=l(s(i.from)?i.from:0,s(i.to)?i.to:0),p=Object.keys(a).filter(t=>-1===d.indexOf(+t)),h=u=s(i.diffRadius)?i.diffRadius:0,d)){let t=a[e],i=t.levelSize.unit,s=t.levelSize.value;"weight"===i?n+=s:"percentage"===i?(t.levelSize={unit:"pixels",value:s/100*h},u-=t.levelSize.value):"pixels"===i&&(u-=s)}for(let t of d){let e=a[t];if("weight"===e.levelSize.unit){let i=e.levelSize.value;a[t].levelSize={unit:"pixels",value:i/n*u}}}for(let t of p)a[t].levelSize={value:0,unit:"pixels"}}return a},getLevelFromAndTo:function({level:t,height:e}){return{from:t>0?t:1,to:t+e}},range:l,recursive:i.prototype.utils.recursive}}),i(e,"Series/Sunburst/SunburstNode.js",[e["Series/Treemap/TreemapNode.js"]],function(t){return class extends t{}}),i(e,"Series/Sunburst/SunburstSeriesDefaults.js",[],function(){return{center:["50%","50%"],clip:!1,colorByPoint:!1,opacity:1,dataLabels:{allowOverlap:!0,defer:!0,rotationMode:"circular",style:{textOverflow:"ellipsis"}},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10}}),i(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:i}=t,{addEvent:s,merge:r,uniqueKey:o,defined:l,extend:a}=e;function n(t,e){e=r(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,n=this.text||this,h=n.textPath,{attributes:d,enabled:p}=e;if(t=t||h&&h.path,h&&h.undo(),t&&p){let e=s(n,"afterModifyTree",e=>{if(t&&p){let s=t.attr("id");s||t.attr("id",s=o());let r={x:0,y:0};l(d.dx)&&(r.dx=d.dx,delete d.dx),l(d.dy)&&(r.dy=d.dy,delete d.dy),n.attr(r),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:a(d,{"text-anchor":d.textAnchor,href:`${i}#${s}`}),children:h}}});n.textPath={path:t,undo:e}}else n.attr({dx:0,dy:0}),delete n.textPath;return this.added&&(n.textCache="",this.renderer.buildText(n)),this}function h(t){let e=t.bBox,s=this.element?.querySelector("textPath");if(s){let t=[],{b:r,h:o}=this.renderer.fontMetrics(this.element),l=o-r,a=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),n=s.innerHTML.replace(a,"").split(/<tspan class="highcharts-br"[^>]*>/),h=n.length,d=(t,e)=>{let{x:o,y:a}=e,n=(s.getRotationOfChar(t)-90)*i,h=Math.cos(n),d=Math.sin(n);return[[o-l*h,a-l*d],[o+r*h,a+r*d]]};for(let e=0,i=0;i<h;i++){let r=n[i].length;for(let o=0;o<r;o+=5)try{let r=e+o+i,[l,a]=d(r,s.getStartPositionOfChar(r));0===o?(t.push(a),t.push(l)):(0===i&&t.unshift(a),i===h-1&&t.push(l))}catch(t){break}e+=r-1;try{let r=e+i,o=s.getEndPositionOfChar(r),[l,a]=d(r,o);t.unshift(a),t.unshift(l)}catch(t){break}}t.length&&t.push(t[0].slice()),e.polygon=t}return e}function d(t){let e=t.labelOptions,i=t.point,s=e[i.formatPrefix+"TextPath"]||e.textPath;s&&!e.useHTML&&(this.setTextPath(i.getDataLabelPath?.(this)||i.graphic,s),i.dataLabelPath&&!s.enabled&&(i.dataLabelPath=i.dataLabelPath.destroy()))}return{compose:function(t){s(t,"afterGetBBox",h),s(t,"beforeAddingDataLabel",d);let e=t.prototype;e.setTextPath||(e.setTextPath=n)}}}),i(e,"Series/Sunburst/SunburstSeries.js",[e["Series/CenteredUtilities.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Sunburst/SunburstPoint.js"],e["Series/Sunburst/SunburstUtilities.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"],e["Series/Sunburst/SunburstNode.js"],e["Series/Sunburst/SunburstSeriesDefaults.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(t,e,i,s,r,o,l,a,n,h,d){let{getCenter:p,getStartAndEndRadians:u}=t,{noop:c}=e,{column:g,treemap:b}=i.seriesTypes,{getColor:f,getLevelOptions:v,setTreeValues:m,updateRootId:y}=o,{defined:x,error:T,extend:S,fireEvent:P,isNumber:L,isObject:w,isString:C,merge:A,splat:R}=l;d.compose(h);let B=180/Math.PI,M=function(t,e,i,s){return{x:t+Math.cos(i)*s,y:e+Math.sin(i)*s}};function O(t,e){let i=e.mapIdToNode,s=t.parent,r=s?i[s]:void 0,o=e.series,l=o.chart,a=o.points[t.i],n=f(t,{colors:o.options.colors||l&&l.options.colors,colorIndex:o.colorIndex,index:e.index,mapOptionsToLevel:e.mapOptionsToLevel,parentColor:r&&r.color,parentColorIndex:r&&r.colorIndex,series:e.series,siblings:e.siblings});return t.color=n.color,t.colorIndex=n.colorIndex,a&&(a.color=t.color,a.colorIndex=t.colorIndex,t.sliced=t.id!==e.idRoot&&a.sliced),t}class I extends b{alignDataLabel(t,e,i){if(!i.textPath||!i.textPath.enabled)return super.alignDataLabel.apply(this,arguments)}animate(t){let e;let i=this.chart,s=[i.plotWidth/2,i.plotHeight/2],r=i.plotLeft,o=i.plotTop,l=this.group;t?(e={translateX:s[0]+r,translateY:s[1]+o,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},l.attr(e)):(e={translateX:r,translateY:o,scaleX:1,scaleY:1,rotation:0,opacity:1},l.animate(e,this.options.animation))}drawPoints(){let t=this,e=t.mapOptionsToLevel,i=t.shapeRoot,s=t.group,r=t.hasRendered,o=t.rootNode,l=t.idPreviousRoot,a=t.nodeMap,n=a[l],h=n&&n.shapeArgs,d=t.points,p=t.startAndEndRadians,u=t.chart,c=u&&u.options&&u.options.chart||{},b="boolean"!=typeof c.animation||c.animation,f=t.center,v={x:f[0],y:f[1]},m=f[3]/2,y=t.chart.renderer,T=!!(b&&r&&o!==l&&t.dataLabelsGroup),P,C=!1,M=!1;for(let n of(T&&(t.dataLabelsGroup.attr({opacity:0}),P=function(){C=!0,t.dataLabelsGroup&&t.dataLabelsGroup.animate({opacity:1,visibility:"inherit"})}),d)){let d,c;let g=n.node,f=e[g.level],T=n.shapeExisting||{},C=g.shapeArgs||{},O=!!(g.visible&&g.shapeArgs);C.borderRadius=t.options.borderRadius,d=r&&b?function(t,e){let i=e.point,s=e.radians,r=e.innerR,o=e.idRoot,l=e.idPreviousRoot,a=e.shapeExisting,n=e.shapeRoot,h=e.shapePreviousRoot,d=e.visible,p={},u={end:t.end,start:t.start,innerR:t.innerR,r:t.r,x:t.x,y:t.y};return d?!i.graphic&&h&&((p=o===i.id?{start:s.start,end:s.end}:h.end<=t.start?{start:s.end,end:s.end}:{start:s.start,end:s.start}).innerR=p.r=r):i.graphic&&(l===i.id?u={innerR:r,r:r}:n&&(u=n.end<=a.start?{innerR:r,r:r,start:s.end,end:s.end}:{innerR:r,r:r,start:s.start,end:s.start})),{from:p,to:u}}(C,{center:v,point:n,radians:p,innerR:m,idRoot:o,idPreviousRoot:l,shapeExisting:T,shapeRoot:i,shapePreviousRoot:h,visible:O}):{to:C,from:{}},S(n,{shapeExisting:C,tooltipPos:[C.plotX,C.plotY],drillId:function(t,e,i){let s;return t.node.isLeaf||(s=e===t.id?i[e].parent:t.id),s}(n,o,a),name:""+(n.name||n.id||n.index),plotX:C.plotX,plotY:C.plotY,value:g.val,isInside:O,isNull:!O}),n.dlOptions=function(t){let e=t.point,i=w(t.shapeArgs)?t.shapeArgs:{},s=w(t.optionsPoint)?t.optionsPoint.dataLabels:{},r=A({style:{}},R(w(t.level)?t.level.dataLabels:{})[0],s),o,l,a=r.rotationMode;return L(r.rotation)||(("auto"===a||"circular"===a)&&(r.useHTML&&"circular"===a&&(a="auto"),e.innerArcLength<1&&e.outerArcLength>i.radius?(o=0,e.dataLabelPath&&"circular"===a&&(r.textPath={enabled:!0})):e.innerArcLength>1&&e.outerArcLength>1.5*i.radius?"circular"===a?r.textPath={enabled:!0,attributes:{dy:5}}:a="parallel":(e.dataLabel&&e.dataLabel.textPath&&"circular"===a&&(r.textPath={enabled:!1}),a="perpendicular")),"auto"!==a&&"circular"!==a&&(e.dataLabel&&e.dataLabel.textPath&&(r.textPath={enabled:!1}),o=i.end-(i.end-i.start)/2),"parallel"===a?r.style.width=Math.min(2.5*i.radius,(e.outerArcLength+e.innerArcLength)/2):!x(r.style.width)&&i.radius&&(r.style.width=1===e.node.level?2*i.radius:i.radius),"perpendicular"===a&&e.outerArcLength<16&&(r.style.width=1),r.style.width=Math.max(r.style.width-2*(r.padding||0),1),l=o*B%180,"parallel"===a&&(l-=90),l>90?l-=180:l<-90&&(l+=180),r.rotation=l),r.textPath&&(0===e.shapeExisting.innerR&&r.textPath.enabled?(r.rotation=0,r.textPath.enabled=!1,r.style.width=Math.max(2*e.shapeExisting.r-2*(r.padding||0),1)):e.dlOptions&&e.dlOptions.textPath&&!e.dlOptions.textPath.enabled&&"circular"===a&&(r.textPath.enabled=!0),r.textPath.enabled&&(r.rotation=0,r.style.width=Math.max((e.outerArcLength+e.innerArcLength)/2-2*(r.padding||0),1))),r}({point:n,level:f,optionsPoint:n.options,shapeArgs:C}),!M&&O&&(M=!0,c=P),n.draw({animatableAttribs:d.to,attribs:S(d.from,!u.styledMode&&t.pointAttribs(n,n.selected&&"select")),onComplete:c,group:s,renderer:y,shapeType:"arc",shapeArgs:C})}T&&M?(t.hasRendered=!1,t.options.dataLabels.defer=!0,g.prototype.drawDataLabels.call(t),t.hasRendered=!0,C&&P()):g.prototype.drawDataLabels.call(t),t.idPreviousRoot=o}layoutAlgorithm(t,e,i){let s=t.start,r=t.end-s,o=t.val,l=t.x,a=t.y,n=i&&w(i.levelSize)&&L(i.levelSize.value)?i.levelSize.value:0,h=t.r,d=h+n,p=i&&L(i.slicedOffset)?i.slicedOffset:0;return(e||[]).reduce((t,e)=>{let i=1/o*e.val*r,u=M(l,a,s+i/2,p),c={x:e.sliced?u.x:l,y:e.sliced?u.y:a,innerR:h,r:d,radius:n,start:s,end:s+i};return t.push(c),s=c.end,t},[])}setRootNode(t,e,i){if(1===this.nodeMap[t].level&&1===this.nodeList.filter(t=>1===t.level).length){if(""===this.idPreviousRoot)return;t=""}super.setRootNode(t,e,i)}setShapeArgs(t,e,i){let s=i[t.level+1],r=t.children.filter(function(t){return t.visible}),o=[];o=this.layoutAlgorithm(e,r,s);let l=-1;for(let t of r){let e=o[++l],s=e.start+(e.end-e.start)/2,r=e.innerR+(e.r-e.innerR)/2,a=e.end-e.start,n=0===e.innerR&&a>6.28?{x:e.x,y:e.y}:M(e.x,e.y,s,r),h=t.val?t.childrenTotal>t.val?t.childrenTotal:t.val:t.childrenTotal;this.points[t.i]&&(this.points[t.i].innerArcLength=a*e.innerR,this.points[t.i].outerArcLength=a*e.r),t.shapeArgs=A(e,{plotX:n.x,plotY:n.y}),t.values=A(e,{val:h}),t.children.length&&this.setShapeArgs(t,t.values,i)}}translate(){let t=this.options,e=this.center=this.getCenter(),i=this.startAndEndRadians=u(t.startAngle,t.endAngle),s=e[3]/2,o=e[2]/2,l=y(this),a=this.nodeMap,n,h=a&&a[l],d={};this.shapeRoot=h&&h.shapeArgs,this.processedXData||this.processData(),this.generatePoints(),P(this,"afterTranslate");let p=this.tree=this.getTree(),c=C((h=(a=this.nodeMap)[l]).parent)?h.parent:"",g=a[c],{from:b,to:f}=r.getLevelFromAndTo(h);n=v({from:b,levels:this.options.levels,to:f,defaults:{colorByPoint:t.colorByPoint,dataLabels:t.dataLabels,levelIsConstant:t.levelIsConstant,levelSize:t.levelSize,slicedOffset:t.slicedOffset}}),n=r.calculateLevelSizes(n,{diffRadius:o-s,from:b,to:f}),m(p,{before:O,idRoot:l,levelIsConstant:t.levelIsConstant,mapOptionsToLevel:n,mapIdToNode:a,points:this.points,series:this});let x=a[""].shapeArgs={end:i.end,r:s,start:i.start,val:h.val,x:e[0],y:e[1]};for(let t of(this.setShapeArgs(g,x,n),this.mapOptionsToLevel=n,this.points))d[t.id]&&T(31,!1,this.chart),d[t.id]=!0}}return I.defaultOptions=A(b.defaultOptions,n),S(I.prototype,{axisTypes:[],drawDataLabels:c,getCenter:p,isCartesian:!1,onPointSupported:!0,pointAttribs:g.prototype.pointAttribs,pointClass:s,NodeClass:a,utils:r}),i.registerSeriesType("sunburst",I),I}),i(e,"masters/modules/sunburst.src.js",[e["Core/Globals.js"],e["Extensions/Breadcrumbs/Breadcrumbs.js"]],function(t,e){return t.Breadcrumbs=t.Breadcrumbs||e,t.Breadcrumbs.compose(t.Chart,t.defaultOptions),t})});
8
+ */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/sunburst",["highcharts"],function(e){return t(e),t.Highcharts=e,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var e=t?t._modules:{};function i(e,i,s,r){e.hasOwnProperty(i)||(e[i]=r.apply(null,s),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Extensions/Breadcrumbs/BreadcrumbsDefaults.js",[],function(){return{lang:{mainBreadcrumb:"Main"},options:{buttonTheme:{fill:"none",height:18,padding:2,"stroke-width":0,zIndex:7,states:{select:{fill:"none"}},style:{color:"#334eff"}},buttonSpacing:5,floating:!1,format:void 0,relativeTo:"plotBox",rtl:!1,position:{align:"left",verticalAlign:"top",x:0,y:void 0},separator:{text:"/",style:{color:"#666666",fontSize:"0.8em"}},showFullPath:!0,style:{},useHTML:!1,zIndex:7}}}),i(e,"Extensions/Breadcrumbs/Breadcrumbs.js",[e["Extensions/Breadcrumbs/BreadcrumbsDefaults.js"],e["Core/Templating.js"],e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e,i,s){let{format:r}=e,{composed:o}=i,{addEvent:l,defined:a,extend:n,fireEvent:h,isString:d,merge:p,objectEach:u,pick:c,pushUnique:g}=s;function b(){if(this.breadcrumbs){let t=this.resetZoomButton&&this.resetZoomButton.getBBox(),e=this.breadcrumbs.options;t&&"right"===e.position.align&&"plotBox"===e.relativeTo&&this.breadcrumbs.alignBreadcrumbsGroup(-t.width-e.buttonSpacing)}}function f(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function v(){let t=this.breadcrumbs;if(t&&!t.options.floating&&t.level){let e=t.options,i=e.buttonTheme,s=(i.height||0)+2*(i.padding||0)+e.buttonSpacing,r=e.position.verticalAlign;"bottom"===r?(this.marginBottom=(this.marginBottom||0)+s,t.yOffset=s):"middle"!==r?(this.plotTop+=s,t.yOffset=-s):t.yOffset=void 0}}function m(){this.breadcrumbs&&this.breadcrumbs.redraw()}function y(t){!0===t.resetSelection&&this.breadcrumbs&&this.breadcrumbs.alignBreadcrumbsGroup()}class x{static compose(e,i){g(o,"Breadcrumbs")&&(l(e,"destroy",f),l(e,"afterShowResetZoom",b),l(e,"getMargins",v),l(e,"redraw",m),l(e,"selection",y),n(i.lang,t.lang))}constructor(t,e){this.elementList={},this.isDirty=!0,this.level=0,this.list=[];let i=p(t.options.drilldown&&t.options.drilldown.drillUpButton,x.defaultOptions,t.options.navigation&&t.options.navigation.breadcrumbs,e);this.chart=t,this.options=i||{}}updateProperties(t){this.setList(t),this.setLevel(),this.isDirty=!0}setList(t){this.list=t}setLevel(){this.level=this.list.length&&this.list.length-1}getLevel(){return this.level}getButtonText(t){let e=this.chart,i=this.options,s=e.options.lang,o=c(i.format,i.showFullPath?"{level.name}":"← {level.name}"),l=s&&c(s.drillUpText,s.mainBreadcrumb),n=i.formatter&&i.formatter(t)||r(o,{level:t.levelOptions},e)||"";return(d(n)&&!n.length||"← "===n)&&a(l)&&(n=i.showFullPath?l:"← "+l),n}redraw(){this.isDirty&&this.render(),this.group&&this.group.align(),this.isDirty=!1}render(){let t=this.chart,e=this.options;!this.group&&e&&(this.group=t.renderer.g("breadcrumbs-group").addClass("highcharts-no-tooltip highcharts-breadcrumbs").attr({zIndex:e.zIndex}).add()),e.showFullPath?this.renderFullPathButtons():this.renderSingleButton(),this.alignBreadcrumbsGroup()}renderFullPathButtons(){this.destroySingleButton(),this.resetElementListState(),this.updateListElements(),this.destroyListElements()}renderSingleButton(){let t=this.chart,e=this.list,i=this.options.buttonSpacing;this.destroyListElements();let s=this.group?this.group.getBBox().width:i,r=e[e.length-2];!t.drillUpButton&&this.level>0?t.drillUpButton=this.renderButton(r,s,i):t.drillUpButton&&(this.level>0?this.updateSingleButton():this.destroySingleButton())}alignBreadcrumbsGroup(t){if(this.group){let e=this.options,i=e.buttonTheme,s=e.position,r="chart"===e.relativeTo||"spacingBox"===e.relativeTo?void 0:"plotBox",o=this.group.getBBox(),l=2*(i.padding||0)+e.buttonSpacing;s.width=o.width+l,s.height=o.height+l;let a=p(s);t&&(a.x+=t),this.options.rtl&&(a.x+=s.width),a.y=c(a.y,this.yOffset,0),this.group.align(a,!0,r)}}renderButton(t,e,i){let s=this,r=this.chart,o=s.options,l=p(o.buttonTheme,r.styledMode?void 0:{style:o.style});return r.renderer.button(s.getButtonText(t),e,i,function(e){let i;let r=o.events&&o.events.click;r&&(i=r.call(s,e,t)),!1!==i&&(o.showFullPath?e.newLevel=t.level:e.newLevel=s.level-1,h(s,"up",e))},l).addClass("highcharts-breadcrumbs-button").add(s.group)}renderSeparator(t,e){let i=this.chart,s=this.options.separator,r=i.renderer.label(s.text,t,e,void 0,void 0,void 0,!1).addClass("highcharts-breadcrumbs-separator").add(this.group);return i.styledMode||r.css(s.style),r}update(t){p(!0,this.options,t),this.destroy(),this.isDirty=!0}updateSingleButton(){let t=this.chart,e=this.list[this.level-1];t.drillUpButton&&t.drillUpButton.attr({text:this.getButtonText(e)})}destroy(){this.destroySingleButton(),this.destroyListElements(!0),this.group&&this.group.destroy(),this.group=void 0}destroyListElements(t){let e=this.elementList;u(e,(i,s)=>{(t||!e[s].updated)&&((i=e[s]).button&&i.button.destroy(),i.separator&&i.separator.destroy(),delete i.button,delete i.separator,delete e[s])}),t&&(this.elementList={})}destroySingleButton(){this.chart.drillUpButton&&(this.chart.drillUpButton.destroy(),this.chart.drillUpButton=void 0)}resetElementListState(){u(this.elementList,t=>{t.updated=!1})}updateListElements(){let t=this.elementList,e=this.options.buttonSpacing,i=this.list,s=this.options.rtl,r=s?-1:1,o=function(t,e){return r*t.getBBox().width+r*e},l=function(t,e,i){t.translate(e-t.getBBox().width,i)},a=this.group?o(this.group,e):e,n,h;for(let d=0,p=i.length;d<p;++d){let u,c;let g=d===p-1;t[(h=i[d]).level]?(u=(n=t[h.level]).button,n.separator||g?n.separator&&g&&(n.separator.destroy(),delete n.separator):(a+=r*e,n.separator=this.renderSeparator(a,e),s&&l(n.separator,a,e),a+=o(n.separator,e)),t[h.level].updated=!0):(u=this.renderButton(h,a,e),s&&l(u,a,e),a+=o(u,e),g||(c=this.renderSeparator(a,e),s&&l(c,a,e),a+=o(c,e)),t[h.level]={button:u,separator:c,updated:!0}),u&&u.setState(g?2:0)}}}return x.defaultOptions=t.options,x}),i(e,"Series/ColorMapComposition.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Core/Utilities.js"]],function(t,e,i){var s;let{column:{prototype:r}}=t.seriesTypes,{addEvent:o,defined:l}=i;return function(t){function i(t){let i=this.series,s=i.chart.renderer;this.moveToTopOnHover&&this.graphic&&(i.stateMarkerGraphic||(i.stateMarkerGraphic=new e(s,"use").css({pointerEvents:"none"}).add(this.graphic.parentGroup)),t?.state==="hover"?(this.graphic.attr({id:this.id}),i.stateMarkerGraphic.attr({href:`${s.url}#${this.id}`,visibility:"visible"})):i.stateMarkerGraphic.attr({href:""}))}t.pointMembers={dataLabelOnNull:!0,moveToTopOnHover:!0,isValid:function(){return null!==this.value&&this.value!==1/0&&this.value!==-1/0&&(void 0===this.value||!isNaN(this.value))}},t.seriesMembers={colorKey:"value",axisTypes:["xAxis","yAxis","colorAxis"],parallelArrays:["x","y","value"],pointArrayMap:["value"],trackerGroups:["group","markerGroup","dataLabelsGroup"],colorAttribs:function(t){let e={};return l(t.color)&&(!t.state||"normal"===t.state)&&(e[this.colorProp||"fill"]=t.color),e},pointAttribs:r.pointAttribs},t.compose=function(t){return o(t.prototype.pointClass,"afterSetState",i),t}}(s||(s={})),s}),i(e,"Series/Treemap/TreemapAlgorithmGroup.js",[],function(){return class{constructor(t,e,i,s){this.height=t,this.width=e,this.plot=s,this.direction=i,this.startDirection=i,this.total=0,this.nW=0,this.lW=0,this.nH=0,this.lH=0,this.elArr=[],this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(t,e){return Math.max(t/e,e/t)}}}addElement(t){this.lP.total=this.elArr[this.elArr.length-1],this.total=this.total+t,0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH)),this.elArr.push(t)}reset(){this.nW=0,this.lW=0,this.elArr=[],this.total=0}}}),i(e,"Series/Treemap/TreemapNode.js",[],function(){return class{constructor(){this.childrenTotal=0,this.visible=!1}init(t,e,i,s,r,o,l){return this.id=t,this.i=e,this.children=i,this.height=s,this.level=r,this.series=o,this.parent=l,this}}}),i(e,"Series/DrawPointUtilities.js",[],function(){return{draw:function(t,e){let{animatableAttribs:i,onComplete:s,css:r,renderer:o}=e,l=t.series&&t.series.chart.hasRendered?void 0:t.series&&t.series.options.animation,a=t.graphic;if(e.attribs={...e.attribs,class:t.getClassName()},t.shouldDraw())a||(a="text"===e.shapeType?o.text():"image"===e.shapeType?o.image(e.imageUrl||"").attr(e.shapeArgs||{}):o[e.shapeType](e.shapeArgs||{}),t.graphic=a,a.add(e.group)),r&&a.css(r),a.attr(e.attribs).animate(i,!e.isNew&&l,s);else if(a){let e=()=>{t.graphic=a=a&&a.destroy(),"function"==typeof s&&s()};Object.keys(i).length?a.animate(i,void 0,()=>e()):e()}}}}),i(e,"Series/Treemap/TreemapPoint.js",[e["Series/DrawPointUtilities.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e,i){let{pie:{prototype:{pointClass:s}},scatter:{prototype:{pointClass:r}}}=e.seriesTypes,{extend:o,isNumber:l,pick:a}=i;class n extends r{constructor(){super(...arguments),this.shapeType="rect"}draw(e){t.draw(this,e)}getClassName(){let t=this.series,e=t.options,i=super.getClassName();return this.node.level<=t.nodeMap[t.rootNode].level&&this.node.children.length?i+=" highcharts-above-level":this.node.isLeaf||a(e.interactByLeaf,!e.allowTraversingTree)?this.node.isLeaf||(i+=" highcharts-internal-node"):i+=" highcharts-internal-node-interactive",i}isValid(){return!!(this.id||l(this.value))}setState(t){super.setState.apply(this,arguments),this.graphic&&this.graphic.attr({zIndex:"hover"===t?1:0})}shouldDraw(){return l(this.plotY)&&null!==this.y}}return o(n.prototype,{setVisible:s.prototype.setVisible}),n}),i(e,"Series/Treemap/TreemapSeriesDefaults.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{isString:i}=e;return{allowTraversingTree:!1,animationLimit:250,borderRadius:0,showInLegend:!1,marker:void 0,colorByPoint:!1,dataLabels:{defer:!1,enabled:!0,formatter:function(){let t=this&&this.point?this.point:{};return i(t.name)?t.name:""},inside:!0,verticalAlign:"middle"},tooltip:{headerFormat:"",pointFormat:"<b>{point.name}</b>: {point.value}<br/>"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,colorKey:"colorValue",opacity:.15,states:{hover:{borderColor:"#999999",brightness:t.seriesTypes.heatmap?0:.1,halo:!1,opacity:.75,shadow:!1}},legendSymbol:"rectangle",traverseToLeaf:!1}}),i(e,"Series/Treemap/TreemapUtilities.js",[],function(){var t;return(t||(t={})).recursive=function t(e,i,s){let r=i.call(s||this,e);!1!==r&&t(r,i,s)},t}),i(e,"Series/TreeUtilities.js",[e["Core/Color/Color.js"],e["Core/Utilities.js"]],function(t,e){let{extend:i,isArray:s,isNumber:r,isObject:o,merge:l,pick:a,relativeLength:n}=e;return{getColor:function(e,i){let s,r,o,l,n,h;let d=i.index,p=i.mapOptionsToLevel,u=i.parentColor,c=i.parentColorIndex,g=i.series,b=i.colors,f=i.siblings,v=g.points,m=g.chart.options.chart;return e&&(s=v[e.i],r=p[e.level]||{},s&&r.colorByPoint&&(l=s.index%(b?b.length:m.colorCount),o=b&&b[l]),g.chart.styledMode||(n=a(s&&s.options.color,r&&r.color,o,u&&(e=>{let i=r&&r.colorVariation;return i&&"brightness"===i.key&&d&&f?t.parse(e).brighten(i.to*(d/f)).get():e})(u),g.color)),h=a(s&&s.options.colorIndex,r&&r.colorIndex,l,c,i.colorIndex)),{color:n,colorIndex:h}},getLevelOptions:function(t){let e,i,n,h,d,p;let u={};if(o(t))for(h=r(t.from)?t.from:1,p=t.levels,i={},e=o(t.defaults)?t.defaults:{},s(p)&&(i=p.reduce((t,i)=>{let s,n,d;return o(i)&&r(i.level)&&(n=a((d=l({},i)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,o(t[s=i.level+(n?0:h-1)])?l(!0,t[s],d):t[s]=d),t},{})),d=r(t.to)?t.to:1,n=0;n<=d;n++)u[n]=l({},e,o(i[n])?i[n]:{});return u},getNodeWidth:function(t,e){let{chart:i,options:s}=t,{nodeDistance:r=0,nodeWidth:o=0}=s,{plotSizeX:l=1}=i;if("auto"===o){if("string"==typeof r&&/%$/.test(r))return l/(e+parseFloat(r)/100*(e-1));let t=Number(r);return(l+t)/(e||1)-t}return n(o,l)},setTreeValues:function t(e,s){let r=s.before,o=s.idRoot,l=s.mapIdToNode[o],n=!1!==s.levelIsConstant,h=s.points[e.i],d=h&&h.options||{},p=[],u=0;e.levelDynamic=e.level-(n?0:l.level),e.name=a(h&&h.name,""),e.visible=o===e.id||!0===s.visible,"function"==typeof r&&(e=r(e,s)),e.children.forEach((r,o)=>{let l=i({},s);i(l,{index:o,siblings:e.children.length,visible:e.visible}),r=t(r,l),p.push(r),r.visible&&(u+=r.val)});let c=a(d.value,u);return e.visible=c>=0&&(u>0||e.visible),e.children=p,e.childrenTotal=u,e.isLeaf=e.visible&&!u,e.val=c,e},updateRootId:function(t){let e,i;return o(t)&&(i=o(t.options)?t.options:{},e=a(t.rootNode,i.rootId,""),o(t.userOptions)&&(t.userOptions.rootId=e),t.rootNode=e),e}}}),i(e,"Series/Treemap/TreemapSeries.js",[e["Extensions/Breadcrumbs/Breadcrumbs.js"],e["Core/Color/Color.js"],e["Series/ColorMapComposition.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Treemap/TreemapAlgorithmGroup.js"],e["Series/Treemap/TreemapNode.js"],e["Series/Treemap/TreemapPoint.js"],e["Series/Treemap/TreemapSeriesDefaults.js"],e["Series/Treemap/TreemapUtilities.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"]],function(t,e,i,s,r,o,l,a,n,h,d,p){let{parse:u}=e,{composed:c,noop:g}=s,{column:b,scatter:f}=r.seriesTypes,{getColor:v,getLevelOptions:m,updateRootId:y}=d,{addEvent:x,correctFloat:T,crisp:S,defined:P,error:L,extend:w,fireEvent:C,isArray:A,isObject:R,isString:B,merge:M,pick:O,pushUnique:I,stableSort:j}=p,D=!1;function N(){let t;let e=this.xAxis,i=this.yAxis;e&&i&&(this.is("treemap")?(t={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,minPadding:0,max:100,maxPadding:0,startOnTick:!1,title:void 0,tickPositions:[]},w(i.options,t),w(e.options,t),D=!0):D&&(i.setOptions(i.userOptions),e.setOptions(e.userOptions),D=!1))}class U extends f{static compose(t){I(c,"TreemapSeries")&&x(t,"afterBindAxes",N)}algorithmCalcPoints(t,e,i,s){let r=i.plot,o=i.elArr.length-1,l,a,n,h,d=i.lW,p=i.lH,u,c=0;for(let t of(e?(d=i.nW,p=i.nH):u=i.elArr[o],i.elArr))(e||c<o)&&(0===i.direction?(l=r.x,a=r.y,h=t/(n=d)):(l=r.x,a=r.y,n=t/(h=p)),s.push({x:l,y:a,width:n,height:T(h)}),0===i.direction?r.y=r.y+h:r.x=r.x+n),c+=1;i.reset(),0===i.direction?i.width=i.width-d:i.height=i.height-p,r.y=r.parent.y+(r.parent.height-i.height),r.x=r.parent.x+(r.parent.width-i.width),t&&(i.direction=1-i.direction),e||i.addElement(u)}algorithmFill(t,e,i){let s=[],r,o=e.direction,l=e.x,a=e.y,n=e.width,h=e.height,d,p,u,c;for(let g of i)r=e.width*e.height*(g.val/e.val),d=l,p=a,0===o?(n-=u=r/(c=h),l+=u):(h-=c=r/(u=n),a+=c),s.push({x:d,y:p,width:u,height:c}),t&&(o=1-o);return s}algorithmLowAspectRatio(t,e,i){let s=[],r={x:e.x,y:e.y,parent:e},l=e.direction,a=i.length-1,n=new o(e.height,e.width,l,r),h,d=0;for(let o of i)h=e.width*e.height*(o.val/e.val),n.addElement(h),n.lP.nR>n.lP.lR&&this.algorithmCalcPoints(t,!1,n,s,r),d===a&&this.algorithmCalcPoints(t,!0,n,s,r),++d;return s}alignDataLabel(t,e,i){let s=i.style;s&&!P(s.textOverflow)&&e.text&&e.getBBox().width>(e.text.textWidth||0)&&e.css({textOverflow:"ellipsis",width:s.width+="px"}),b.prototype.alignDataLabel.apply(this,arguments),t.dataLabel&&t.dataLabel.attr({zIndex:(t.node.zIndex||0)+1})}calculateChildrenAreas(t,e){let i=this.options,s=this.mapOptionsToLevel[t.level+1],r=O(this[s&&s.layoutAlgorithm]&&s.layoutAlgorithm,i.layoutAlgorithm),o=i.alternateStartingDirection,l=t.children.filter(t=>!t.ignore),a=[];s&&s.layoutStartingDirection&&(e.direction="vertical"===s.layoutStartingDirection?0:1),a=this[r](e,l);let n=-1;for(let t of l){let i=a[++n];t.values=M(i,{val:t.childrenTotal,direction:o?1-e.direction:e.direction}),t.pointValues=M(i,{x:i.x/this.axisRatio,y:100-i.y-i.height,width:i.width/this.axisRatio}),t.children.length&&this.calculateChildrenAreas(t,t.values)}}createList(t){let e=this.chart,i=e.breadcrumbs,s=[];if(i){let i=0;s.push({level:i,levelOptions:e.series[0]});let r=t.target.nodeMap[t.newRootId],o=[];for(;r.parent||""===r.parent;)o.push(r),r=t.target.nodeMap[r.parent];for(let t of o.reverse())s.push({level:++i,levelOptions:t});s.length<=1&&(s.length=0)}return s}drawDataLabels(){let t,e;let i=this.mapOptionsToLevel;for(let s of this.points.filter(function(t){return t.node.visible}))e=i[s.node.level],t={style:{}},s.node.isLeaf||(t.enabled=!1),e&&e.dataLabels&&(t=M(t,e.dataLabels),this.hasDataLabels=()=>!0),s.shapeArgs&&(t.style.width=s.shapeArgs.width,s.dataLabel&&s.dataLabel.css({width:s.shapeArgs.width+"px"})),s.dlOptions=M(t,s.options.dataLabels);super.drawDataLabels()}drawPoints(t=this.points){let e=this.chart,i=e.renderer,s=e.styledMode,r=this.options,o=s?{}:r.shadow,l=r.borderRadius,a=e.pointCount<r.animationLimit,n=r.allowTraversingTree;for(let e of t){let t=e.node.levelDynamic,h={},d={},p={},u="level-group-"+e.node.level,c=!!e.graphic,g=a&&c,b=e.shapeArgs;e.shouldDraw()&&(e.isInside=!0,l&&(d.r=l),M(!0,g?h:d,c?b:{},s?{}:this.pointAttribs(e,e.selected?"select":void 0)),this.colorAttribs&&s&&w(p,this.colorAttribs(e)),this[u]||(this[u]=i.g(u).attr({zIndex:1e3-(t||0)}).add(this.group),this[u].survive=!0)),e.draw({animatableAttribs:h,attribs:d,css:p,group:this[u],imageUrl:e.imageUrl,renderer:i,shadow:o,shapeArgs:b,shapeType:e.shapeType}),n&&e.graphic&&(e.drillId=r.interactByLeaf?this.drillToByLeaf(e):this.drillToByGroup(e))}}drillToByGroup(t){let e=!1;return t.node.isLeaf||t.node.level-this.nodeMap[this.rootNode].level!=1||(e=t.id),e}drillToByLeaf(t){let{traverseToLeaf:e}=t.series.options,i=!1,s;if(t.node.parent!==this.rootNode&&t.node.isLeaf){if(e)i=t.id;else for(s=t.node;!i;)void 0!==s.parent&&(s=this.nodeMap[s.parent]),s.parent===this.rootNode&&(i=s.id)}return i}drillToNode(t,e){L(32,!1,void 0,{"treemap.drillToNode":"use treemap.setRootNode"}),this.setRootNode(t,e)}drillUp(){let t=this.nodeMap[this.rootNode];t&&B(t.parent)&&this.setRootNode(t.parent,!0,{trigger:"traverseUpButton"})}getExtremes(){let{dataMin:t,dataMax:e}=super.getExtremes(this.colorValueData);return this.valueMin=t,this.valueMax=e,super.getExtremes()}getListOfParents(t,e){let i=A(t)?t:[],s=A(e)?e:[],r=i.reduce(function(t,e,i){let s=O(e.parent,"");return void 0===t[s]&&(t[s]=[]),t[s].push(i),t},{"":[]});for(let t of Object.keys(r)){let e=r[t];if(""!==t&&-1===s.indexOf(t)){for(let t of e)r[""].push(t);delete r[t]}}return r}getTree(){let t=this.data.map(function(t){return t.id}),e=this.getListOfParents(this.data,t);return this.nodeMap={},this.nodeList=[],this.buildTree("",-1,0,e)}buildTree(t,e,i,s,r){let o=[],l=this.points[e],a=0,n;for(let e of s[t]||[])a=Math.max((n=this.buildTree(this.points[e].id,e,i+1,s,t)).height+1,a),o.push(n);let h=new this.NodeClass().init(t,e,o,a,i,this,r);for(let t of o)t.parentNode=h;return this.nodeMap[h.id]=h,this.nodeList.push(h),l&&(l.node=h,h.point=l),h}hasData(){return!!this.processedXData.length}init(e,i){let s=this,r=M(i.drillUpButton,i.breadcrumbs),o=x(s,"setOptions",t=>{let e=t.userOptions;P(e.allowDrillToNode)&&!P(e.allowTraversingTree)&&(e.allowTraversingTree=e.allowDrillToNode,delete e.allowDrillToNode),P(e.drillUpButton)&&!P(e.traverseUpButton)&&(e.traverseUpButton=e.drillUpButton,delete e.drillUpButton)});super.init(e,i),delete s.opacity,s.eventsToUnbind.push(o),s.options.allowTraversingTree&&(s.eventsToUnbind.push(x(s,"click",s.onClickDrillToNode)),s.eventsToUnbind.push(x(s,"setRootNode",function(t){let e=s.chart;e.breadcrumbs&&e.breadcrumbs.updateProperties(s.createList(t))})),s.eventsToUnbind.push(x(s,"update",function(t,e){let i=this.chart.breadcrumbs;i&&t.options.breadcrumbs&&i.update(t.options.breadcrumbs)})),s.eventsToUnbind.push(x(s,"destroy",function(t){let e=this.chart;e.breadcrumbs&&!t.keepEventsForUpdate&&(e.breadcrumbs.destroy(),e.breadcrumbs=void 0)}))),e.breadcrumbs||(e.breadcrumbs=new t(e,r)),s.eventsToUnbind.push(x(e.breadcrumbs,"up",function(t){let e=this.level-t.newLevel;for(let t=0;t<e;t++)s.drillUp()}))}onClickDrillToNode(t){let e=t.point,i=e&&e.drillId;B(i)&&(e.setState(""),this.setRootNode(i,!0,{trigger:"click"}))}pointAttribs(t,e){let i;let s=R(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},r=t&&s[t.node.level]||{},o=this.options,l=e&&o.states&&o.states[e]||{},a=t&&t.getClassName()||"",n={stroke:t&&t.borderColor||r.borderColor||l.borderColor||o.borderColor,"stroke-width":O(t&&t.borderWidth,r.borderWidth,l.borderWidth,o.borderWidth),dashstyle:t&&t.borderDashStyle||r.borderDashStyle||l.borderDashStyle||o.borderDashStyle,fill:t&&t.color||this.color};return -1!==a.indexOf("highcharts-above-level")?(n.fill="none",n["stroke-width"]=0):-1!==a.indexOf("highcharts-internal-node-interactive")?(i=O(l.opacity,o.opacity),n.fill=u(n.fill).setOpacity(i).get(),n.cursor="pointer"):-1!==a.indexOf("highcharts-internal-node")?n.fill="none":e&&(n.fill=u(n.fill).brighten(l.brightness).get()),n}setColorRecursive(t,e,i,s,r){let o=this&&this.chart,l=o&&o.options&&o.options.colors;if(t){let o=v(t,{colors:l,index:s,mapOptionsToLevel:this.mapOptionsToLevel,parentColor:e,parentColorIndex:i,series:this,siblings:r}),a=this.points[t.i];a&&(a.color=o.color,a.colorIndex=o.colorIndex);let n=-1;for(let e of t.children||[])this.setColorRecursive(e,o.color,o.colorIndex,++n,t.children.length)}}setPointValues(){let t=this,{points:e,xAxis:i,yAxis:s}=t,r=t.chart.styledMode,o=e=>r?0:t.pointAttribs(e)["stroke-width"]||0;for(let t of e){let{pointValues:e,visible:r}=t.node;if(e&&r){let{height:r,width:l,x:a,y:n}=e,h=o(t),d=S(i.toPixels(a,!0),h,!0),p=S(i.toPixels(a+l,!0),h,!0),u=S(s.toPixels(n,!0),h,!0),c=S(s.toPixels(n+r,!0),h,!0),g={x:Math.min(d,p),y:Math.min(u,c),width:Math.abs(p-d),height:Math.abs(c-u)};t.plotX=g.x+g.width/2,t.plotY=g.y+g.height/2,t.shapeArgs=g}else delete t.plotX,delete t.plotY}}setRootNode(t,e,i){C(this,"setRootNode",w({newRootId:t,previousRootId:this.rootNode,redraw:O(e,!0),series:this},i),function(t){let e=t.series;e.idPreviousRoot=t.previousRootId,e.rootNode=t.newRootId,e.isDirty=!0,t.redraw&&e.chart.redraw()})}setState(t){this.options.inactiveOtherPoints=!0,super.setState(t,!1),this.options.inactiveOtherPoints=!1}setTreeValues(t){let e=this.options,i=this.rootNode,s=this.nodeMap[i],r="boolean"!=typeof e.levelIsConstant||e.levelIsConstant,o=[],l=this.points[t.i],a=0;for(let e of t.children)e=this.setTreeValues(e),o.push(e),e.ignore||(a+=e.val);j(o,(t,e)=>(t.sortIndex||0)-(e.sortIndex||0));let n=O(l&&l.options.value,a);return l&&(l.value=n),w(t,{children:o,childrenTotal:a,ignore:!(O(l&&l.visible,!0)&&n>0),isLeaf:t.visible&&!a,levelDynamic:t.level-(r?0:s.level),name:O(l&&l.name,""),sortIndex:O(l&&l.sortIndex,-n),val:n}),t}sliceAndDice(t,e){return this.algorithmFill(!0,t,e)}squarified(t,e){return this.algorithmLowAspectRatio(!0,t,e)}strip(t,e){return this.algorithmLowAspectRatio(!1,t,e)}stripes(t,e){return this.algorithmFill(!1,t,e)}translate(){let t=this,e=t.options,i=y(t),s,r,o,l;super.translate();let a=t.tree=t.getTree();s=t.nodeMap[i],""===i||s||(t.setRootNode("",!1),i=t.rootNode,s=t.nodeMap[i]),t.mapOptionsToLevel=m({from:s.level+1,levels:e.levels,to:a.height,defaults:{levelIsConstant:t.options.levelIsConstant,colorByPoint:e.colorByPoint}}),h.recursive(t.nodeMap[t.rootNode],e=>{let i=e.parent,s=!1;return e.visible=!0,(i||""===i)&&(s=t.nodeMap[i]),s}),h.recursive(t.nodeMap[t.rootNode].children,t=>{let e=!1;for(let i of t)i.visible=!0,i.children.length&&(e=(e||[]).concat(i.children));return e}),t.setTreeValues(a),t.axisRatio=t.xAxis.len/t.yAxis.len,t.nodeMap[""].pointValues=r={x:0,y:0,width:100,height:100},t.nodeMap[""].values=o=M(r,{width:r.width*t.axisRatio,direction:"vertical"===e.layoutStartingDirection?0:1,val:a.val}),t.calculateChildrenAreas(a,o),t.colorAxis||e.colorByPoint||t.setColorRecursive(t.tree),e.allowTraversingTree&&(l=s.pointValues,t.xAxis.setExtremes(l.x,l.x+l.width,!1),t.yAxis.setExtremes(l.y,l.y+l.height,!1),t.xAxis.setScale(),t.yAxis.setScale()),t.setPointValues()}}return U.defaultOptions=M(f.defaultOptions,n),w(U.prototype,{buildKDTree:g,colorAttribs:i.seriesMembers.colorAttribs,colorKey:"colorValue",directTouch:!0,getExtremesFromAll:!0,getSymbol:g,optionalAxis:"colorAxis",parallelArrays:["x","y","value","colorValue"],pointArrayMap:["value"],pointClass:a,NodeClass:l,trackerGroups:["group","dataLabelsGroup"],utils:h}),i.compose(U),r.registerSeriesType("treemap",U),U}),i(e,"Series/Sunburst/SunburstPoint.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{series:{prototype:{pointClass:i}},seriesTypes:{treemap:{prototype:{pointClass:s}}}}=t,{correctFloat:r,extend:o,pInt:l}=e;class a extends s{getDataLabelPath(t){let e=this.series.chart.renderer,i=this.shapeExisting,s=i.r+l(t.options?.distance||0),o=i.start,a=i.end,n=o+(a-o)/2,h=n<0&&n>-Math.PI||n>Math.PI,d;return o===-Math.PI/2&&r(a)===r(1.5*Math.PI)&&(o=-Math.PI+Math.PI/360,a=-Math.PI/360,h=!0),a-o>Math.PI&&(h=!1,d=!0,a-o>2*Math.PI-.01&&(o+=.01,a-=.01)),this.dataLabelPath&&(this.dataLabelPath=this.dataLabelPath.destroy()),this.dataLabelPath=e.arc({open:!0,longArc:d?1:0}).attr({start:h?o:a,end:h?a:o,clockwise:+h,x:i.x,y:i.y,r:(s+i.innerR)/2}).add(e.defs),this.dataLabelPath}isValid(){return!0}}return o(a.prototype,{getClassName:i.prototype.getClassName,haloPath:i.prototype.haloPath,setState:i.prototype.setState}),a}),i(e,"Series/Sunburst/SunburstUtilities.js",[e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"]],function(t,e){let{seriesTypes:{treemap:i}}=t,{isNumber:s,isObject:r,merge:o}=e;function l(t,e){let i=[];if(s(t)&&s(e)&&t<=e)for(let s=t;s<=e;s++)i.push(s);return i}return{calculateLevelSizes:function(t,e){let i=r(e)?e:{},a,n=0,h,d,p,u;if(r(t)){for(let e of(a=o({},t),d=l(s(i.from)?i.from:0,s(i.to)?i.to:0),p=Object.keys(a).filter(t=>-1===d.indexOf(+t)),h=u=s(i.diffRadius)?i.diffRadius:0,d)){let t=a[e],i=t.levelSize.unit,s=t.levelSize.value;"weight"===i?n+=s:"percentage"===i?(t.levelSize={unit:"pixels",value:s/100*h},u-=t.levelSize.value):"pixels"===i&&(u-=s)}for(let t of d){let e=a[t];if("weight"===e.levelSize.unit){let i=e.levelSize.value;a[t].levelSize={unit:"pixels",value:i/n*u}}}for(let t of p)a[t].levelSize={value:0,unit:"pixels"}}return a},getLevelFromAndTo:function({level:t,height:e}){return{from:t>0?t:1,to:t+e}},range:l,recursive:i.prototype.utils.recursive}}),i(e,"Series/Sunburst/SunburstNode.js",[e["Series/Treemap/TreemapNode.js"]],function(t){return class extends t{}}),i(e,"Series/Sunburst/SunburstSeriesDefaults.js",[],function(){return{center:["50%","50%"],clip:!1,colorByPoint:!1,opacity:1,dataLabels:{allowOverlap:!0,defer:!0,rotationMode:"circular",style:{textOverflow:"ellipsis"}},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10}}),i(e,"Extensions/TextPath.js",[e["Core/Globals.js"],e["Core/Utilities.js"]],function(t,e){let{deg2rad:i}=t,{addEvent:s,merge:r,uniqueKey:o,defined:l,extend:a}=e;function n(t,e){e=r(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},e);let i=this.renderer.url,n=this.text||this,h=n.textPath,{attributes:d,enabled:p}=e;if(t=t||h&&h.path,h&&h.undo(),t&&p){let e=s(n,"afterModifyTree",e=>{if(t&&p){let s=t.attr("id");s||t.attr("id",s=o());let r={x:0,y:0};l(d.dx)&&(r.dx=d.dx,delete d.dx),l(d.dy)&&(r.dy=d.dy,delete d.dy),n.attr(r),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:a(d,{"text-anchor":d.textAnchor,href:`${i}#${s}`}),children:h}}});n.textPath={path:t,undo:e}}else n.attr({dx:0,dy:0}),delete n.textPath;return this.added&&(n.textCache="",this.renderer.buildText(n)),this}function h(t){let e=t.bBox,s=this.element?.querySelector("textPath");if(s){let t=[],{b:r,h:o}=this.renderer.fontMetrics(this.element),l=o-r,a=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),n=s.innerHTML.replace(a,"").split(/<tspan class="highcharts-br"[^>]*>/),h=n.length,d=(t,e)=>{let{x:o,y:a}=e,n=(s.getRotationOfChar(t)-90)*i,h=Math.cos(n),d=Math.sin(n);return[[o-l*h,a-l*d],[o+r*h,a+r*d]]};for(let e=0,i=0;i<h;i++){let r=n[i].length;for(let o=0;o<r;o+=5)try{let r=e+o+i,[l,a]=d(r,s.getStartPositionOfChar(r));0===o?(t.push(a),t.push(l)):(0===i&&t.unshift(a),i===h-1&&t.push(l))}catch(t){break}e+=r-1;try{let r=e+i,o=s.getEndPositionOfChar(r),[l,a]=d(r,o);t.unshift(a),t.unshift(l)}catch(t){break}}t.length&&t.push(t[0].slice()),e.polygon=t}return e}function d(t){let e=t.labelOptions,i=t.point,s=e[i.formatPrefix+"TextPath"]||e.textPath;s&&!e.useHTML&&(this.setTextPath(i.getDataLabelPath?.(this)||i.graphic,s),i.dataLabelPath&&!s.enabled&&(i.dataLabelPath=i.dataLabelPath.destroy()))}return{compose:function(t){s(t,"afterGetBBox",h),s(t,"beforeAddingDataLabel",d);let e=t.prototype;e.setTextPath||(e.setTextPath=n)}}}),i(e,"Series/Sunburst/SunburstSeries.js",[e["Series/CenteredUtilities.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Series/Sunburst/SunburstPoint.js"],e["Series/Sunburst/SunburstUtilities.js"],e["Series/TreeUtilities.js"],e["Core/Utilities.js"],e["Series/Sunburst/SunburstNode.js"],e["Series/Sunburst/SunburstSeriesDefaults.js"],e["Core/Renderer/SVG/SVGElement.js"],e["Extensions/TextPath.js"]],function(t,e,i,s,r,o,l,a,n,h,d){let{getCenter:p,getStartAndEndRadians:u}=t,{noop:c}=e,{column:g,treemap:b}=i.seriesTypes,{getColor:f,getLevelOptions:v,setTreeValues:m,updateRootId:y}=o,{defined:x,error:T,extend:S,fireEvent:P,isNumber:L,isObject:w,isString:C,merge:A,splat:R}=l;d.compose(h);let B=180/Math.PI,M=function(t,e,i,s){return{x:t+Math.cos(i)*s,y:e+Math.sin(i)*s}};function O(t,e){let i=e.mapIdToNode,s=t.parent,r=s?i[s]:void 0,o=e.series,l=o.chart,a=o.points[t.i],n=f(t,{colors:o.options.colors||l&&l.options.colors,colorIndex:o.colorIndex,index:e.index,mapOptionsToLevel:e.mapOptionsToLevel,parentColor:r&&r.color,parentColorIndex:r&&r.colorIndex,series:e.series,siblings:e.siblings});return t.color=n.color,t.colorIndex=n.colorIndex,a&&(a.color=t.color,a.colorIndex=t.colorIndex,t.sliced=t.id!==e.idRoot&&a.sliced),t}class I extends b{alignDataLabel(t,e,i){if(!i.textPath||!i.textPath.enabled)return super.alignDataLabel.apply(this,arguments)}animate(t){let e;let i=this.chart,s=[i.plotWidth/2,i.plotHeight/2],r=i.plotLeft,o=i.plotTop,l=this.group;t?(e={translateX:s[0]+r,translateY:s[1]+o,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},l.attr(e)):(e={translateX:r,translateY:o,scaleX:1,scaleY:1,rotation:0,opacity:1},l.animate(e,this.options.animation))}drawPoints(){let t=this,e=t.mapOptionsToLevel,i=t.shapeRoot,s=t.group,r=t.hasRendered,o=t.rootNode,l=t.idPreviousRoot,a=t.nodeMap,n=a[l],h=n&&n.shapeArgs,d=t.points,p=t.startAndEndRadians,u=t.chart,c=u&&u.options&&u.options.chart||{},b="boolean"!=typeof c.animation||c.animation,f=t.center,v={x:f[0],y:f[1]},m=f[3]/2,y=t.chart.renderer,T=!!(b&&r&&o!==l&&t.dataLabelsGroup),P,C=!1,M=!1;for(let n of(T&&(t.dataLabelsGroup.attr({opacity:0}),P=function(){C=!0,t.dataLabelsGroup&&t.dataLabelsGroup.animate({opacity:1,visibility:"inherit"})}),d)){let d,c;let g=n.node,f=e[g.level],T=n.shapeExisting||{},C=g.shapeArgs||{},O=!!(g.visible&&g.shapeArgs);C.borderRadius=t.options.borderRadius,d=r&&b?function(t,e){let i=e.point,s=e.radians,r=e.innerR,o=e.idRoot,l=e.idPreviousRoot,a=e.shapeExisting,n=e.shapeRoot,h=e.shapePreviousRoot,d=e.visible,p={},u={end:t.end,start:t.start,innerR:t.innerR,r:t.r,x:t.x,y:t.y};return d?!i.graphic&&h&&((p=o===i.id?{start:s.start,end:s.end}:h.end<=t.start?{start:s.end,end:s.end}:{start:s.start,end:s.start}).innerR=p.r=r):i.graphic&&(l===i.id?u={innerR:r,r:r}:n&&(u=n.end<=a.start?{innerR:r,r:r,start:s.end,end:s.end}:{innerR:r,r:r,start:s.start,end:s.start})),{from:p,to:u}}(C,{center:v,point:n,radians:p,innerR:m,idRoot:o,idPreviousRoot:l,shapeExisting:T,shapeRoot:i,shapePreviousRoot:h,visible:O}):{to:C,from:{}},S(n,{shapeExisting:C,tooltipPos:[C.plotX,C.plotY],drillId:function(t,e,i){let s;return t.node.isLeaf||(s=e===t.id?i[e].parent:t.id),s}(n,o,a),name:""+(n.name||n.id||n.index),plotX:C.plotX,plotY:C.plotY,value:g.val,isInside:O,isNull:!O}),n.dlOptions=function(t){let e=t.point,i=w(t.shapeArgs)?t.shapeArgs:{},s=w(t.optionsPoint)?t.optionsPoint.dataLabels:{},r=A({style:{}},R(w(t.level)?t.level.dataLabels:{})[0],s),o,l,a=r.rotationMode;return L(r.rotation)||(("auto"===a||"circular"===a)&&(r.useHTML&&"circular"===a&&(a="auto"),e.innerArcLength<1&&e.outerArcLength>i.radius?(o=0,e.dataLabelPath&&"circular"===a&&(r.textPath={enabled:!0})):e.innerArcLength>1&&e.outerArcLength>1.5*i.radius?"circular"===a?r.textPath={enabled:!0,attributes:{dy:5}}:a="parallel":(e.dataLabel&&e.dataLabel.textPath&&"circular"===a&&(r.textPath={enabled:!1}),a="perpendicular")),"auto"!==a&&"circular"!==a&&(e.dataLabel&&e.dataLabel.textPath&&(r.textPath={enabled:!1}),o=i.end-(i.end-i.start)/2),"parallel"===a?r.style.width=Math.min(2.5*i.radius,(e.outerArcLength+e.innerArcLength)/2):!x(r.style.width)&&i.radius&&(r.style.width=1===e.node.level?2*i.radius:i.radius),"perpendicular"===a&&e.outerArcLength<16&&(r.style.width=1),r.style.width=Math.max(r.style.width-2*(r.padding||0),1),l=o*B%180,"parallel"===a&&(l-=90),l>90?l-=180:l<-90&&(l+=180),r.rotation=l),r.textPath&&(0===e.shapeExisting.innerR&&r.textPath.enabled?(r.rotation=0,r.textPath.enabled=!1,r.style.width=Math.max(2*e.shapeExisting.r-2*(r.padding||0),1)):e.dlOptions&&e.dlOptions.textPath&&!e.dlOptions.textPath.enabled&&"circular"===a&&(r.textPath.enabled=!0),r.textPath.enabled&&(r.rotation=0,r.style.width=Math.max((e.outerArcLength+e.innerArcLength)/2-2*(r.padding||0),1))),r}({point:n,level:f,optionsPoint:n.options,shapeArgs:C}),!M&&O&&(M=!0,c=P),n.draw({animatableAttribs:d.to,attribs:S(d.from,!u.styledMode&&t.pointAttribs(n,n.selected&&"select")),onComplete:c,group:s,renderer:y,shapeType:"arc",shapeArgs:C})}T&&M?(t.hasRendered=!1,t.options.dataLabels.defer=!0,g.prototype.drawDataLabels.call(t),t.hasRendered=!0,C&&P()):g.prototype.drawDataLabels.call(t),t.idPreviousRoot=o}layoutAlgorithm(t,e,i){let s=t.start,r=t.end-s,o=t.val,l=t.x,a=t.y,n=i&&w(i.levelSize)&&L(i.levelSize.value)?i.levelSize.value:0,h=t.r,d=h+n,p=i&&L(i.slicedOffset)?i.slicedOffset:0;return(e||[]).reduce((t,e)=>{let i=1/o*e.val*r,u=M(l,a,s+i/2,p),c={x:e.sliced?u.x:l,y:e.sliced?u.y:a,innerR:h,r:d,radius:n,start:s,end:s+i};return t.push(c),s=c.end,t},[])}setRootNode(t,e,i){if(1===this.nodeMap[t].level&&1===this.nodeList.filter(t=>1===t.level).length){if(""===this.idPreviousRoot)return;t=""}super.setRootNode(t,e,i)}setShapeArgs(t,e,i){let s=i[t.level+1],r=t.children.filter(function(t){return t.visible}),o=[];o=this.layoutAlgorithm(e,r,s);let l=-1;for(let t of r){let e=o[++l],s=e.start+(e.end-e.start)/2,r=e.innerR+(e.r-e.innerR)/2,a=e.end-e.start,n=0===e.innerR&&a>6.28?{x:e.x,y:e.y}:M(e.x,e.y,s,r),h=t.val?t.childrenTotal>t.val?t.childrenTotal:t.val:t.childrenTotal;this.points[t.i]&&(this.points[t.i].innerArcLength=a*e.innerR,this.points[t.i].outerArcLength=a*e.r),t.shapeArgs=A(e,{plotX:n.x,plotY:n.y}),t.values=A(e,{val:h}),t.children.length&&this.setShapeArgs(t,t.values,i)}}translate(){let t=this.options,e=this.center=this.getCenter(),i=this.startAndEndRadians=u(t.startAngle,t.endAngle),s=e[3]/2,o=e[2]/2,l=y(this),a=this.nodeMap,n,h=a&&a[l],d={};this.shapeRoot=h&&h.shapeArgs,this.processedXData||this.processData(),this.generatePoints(),P(this,"afterTranslate");let p=this.tree=this.getTree(),c=C((h=(a=this.nodeMap)[l]).parent)?h.parent:"",g=a[c],{from:b,to:f}=r.getLevelFromAndTo(h);n=v({from:b,levels:this.options.levels,to:f,defaults:{colorByPoint:t.colorByPoint,dataLabels:t.dataLabels,levelIsConstant:t.levelIsConstant,levelSize:t.levelSize,slicedOffset:t.slicedOffset}}),n=r.calculateLevelSizes(n,{diffRadius:o-s,from:b,to:f}),m(p,{before:O,idRoot:l,levelIsConstant:t.levelIsConstant,mapOptionsToLevel:n,mapIdToNode:a,points:this.points,series:this});let x=a[""].shapeArgs={end:i.end,r:s,start:i.start,val:h.val,x:e[0],y:e[1]};for(let t of(this.setShapeArgs(g,x,n),this.mapOptionsToLevel=n,this.points))d[t.id]&&T(31,!1,this.chart),d[t.id]=!0}}return I.defaultOptions=A(b.defaultOptions,n),S(I.prototype,{axisTypes:[],drawDataLabels:c,getCenter:p,isCartesian:!1,onPointSupported:!0,pointAttribs:g.prototype.pointAttribs,pointClass:s,NodeClass:a,utils:r}),i.registerSeriesType("sunburst",I),I}),i(e,"masters/modules/sunburst.src.js",[e["Core/Globals.js"],e["Extensions/Breadcrumbs/Breadcrumbs.js"]],function(t,e){return t.Breadcrumbs=t.Breadcrumbs||e,t.Breadcrumbs.compose(t.Chart,t.defaultOptions),t})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * (c) 2016-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard
@@ -272,7 +272,7 @@
272
272
  * `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
273
273
  * different states.
274
274
  *
275
- * @type {Highcharts.SVGAttributes}
275
+ * @type {Highcharts.CSSObject}
276
276
  * @since 10.0.0
277
277
  */
278
278
  style: {},
@@ -649,7 +649,12 @@
649
649
  * Returns the SVG button
650
650
  */
651
651
  renderButton(breadcrumb, posX, posY) {
652
- const breadcrumbs = this, chart = this.chart, breadcrumbsOptions = breadcrumbs.options, buttonTheme = merge(breadcrumbsOptions.buttonTheme);
652
+ const breadcrumbs = this, chart = this.chart, breadcrumbsOptions = breadcrumbs.options,
653
+ // The `style` option is CSS for the button text, so it belongs in
654
+ // the theme's `style` rather than being applied afterwards. A
655
+ // later `setState` re-applies the normal state style, which would
656
+ // otherwise wipe it (#25357).
657
+ buttonTheme = merge(breadcrumbsOptions.buttonTheme, chart.styledMode ? void 0 : { style: breadcrumbsOptions.style });
653
658
  const button = chart.renderer
654
659
  .button(breadcrumbs.getButtonText(breadcrumb), posX, posY, function (e) {
655
660
  // Extract events from button object and call
@@ -674,9 +679,6 @@
674
679
  }, buttonTheme)
675
680
  .addClass('highcharts-breadcrumbs-button')
676
681
  .add(breadcrumbs.group);
677
- if (!chart.styledMode) {
678
- button.attr(breadcrumbsOptions.style);
679
- }
680
682
  return button;
681
683
  }
682
684
  /**
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * (c) 2009-2024 Torstein Honsi
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * (c) 2009-2024 Torstein Honsi
5
5
  *
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * (c) 2009-2024
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * (c) 2009-2024
5
5
  *
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highmaps JS v11.4.7 (2024-08-14)
2
+ * Highmaps JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Tilemap module
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highmaps JS v11.4.7 (2024-08-14)
2
+ * @license Highmaps JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Tilemap module
5
5
  *
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Timeline series
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Timeline series
5
5
  *
@@ -1,8 +1,8 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.9 (2026-09-25)
3
3
  * Treegraph chart series type
4
4
  *
5
5
  * (c) 2010-2024 Pawel Lysy Grzegorz Blachlinski
6
6
  *
7
7
  * License: www.highcharts.com/license
8
- */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegraph",["highcharts","highcharts/modules/treemap"],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,o){t.hasOwnProperty(i)||(t[i]=o.apply(null,s),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Series/PathUtilities.js",[],function(){function e(e,t){let i=[];for(let s=0;s<e.length;s++){let o=e[s][1],r=e[s][2];if("number"==typeof o&&"number"==typeof r){if(0===s)i.push(["M",o,r]);else if(s===e.length-1)i.push(["L",o,r]);else if(t){let l=e[s-1],n=e[s+1];if(l&&n){let e=l[1],s=l[2],a=n[1],h=n[2];if("number"==typeof e&&"number"==typeof a&&"number"==typeof s&&"number"==typeof h&&e!==a&&s!==h){let l=e<a?1:-1,n=s<h?1:-1;i.push(["L",o-l*Math.min(Math.abs(o-e),t),r-n*Math.min(Math.abs(r-s),t)],["C",o,r,o,r,o+l*Math.min(Math.abs(o-a),t),r+n*Math.min(Math.abs(r-h),t)])}}}else i.push(["L",o,r])}}return i}return{applyRadius:e,getLinkPath:{default:function(t){let{x1:i,y1:s,x2:o,y2:r,width:l=0,inverted:n=!1,radius:a,parentVisible:h}=t,d=[["M",i,s],["L",i,s],["C",i,s,i,r,i,r],["L",i,r],["C",i,s,i,r,i,r],["L",i,r]];return h?e([["M",i,s],["L",i+l*(n?-.5:.5),s],["L",i+l*(n?-.5:.5),r],["L",o,r]],a):d},straight:function(e){let{x1:t,y1:i,x2:s,y2:o,width:r=0,inverted:l=!1,parentVisible:n}=e;return n?[["M",t,i],["L",t+r*(l?-1:1),o],["L",s,o]]:[["M",t,i],["L",t,o],["L",t,o]]},curved:function(e){let{x1:t,y1:i,x2:s,y2:o,offset:r=0,width:l=0,inverted:n=!1,parentVisible:a}=e;return a?[["M",t,i],["C",t+r,i,t-r+l*(n?-1:1),o,t+l*(n?-1:1),o],["L",s,o]]:[["M",t,i],["C",t,i,t,o,t,o],["L",s,o]]}}}}),i(t,"Series/Treegraph/TreegraphNode.js",[t["Core/Series/SeriesRegistry.js"]],function(e){let{seriesTypes:{treemap:{prototype:{NodeClass:t}}}}=e;return class extends t{constructor(){super(...arguments),this.mod=0,this.shift=0,this.change=0,this.children=[],this.preX=0,this.hidden=!1,this.wasVisited=!1,this.collapsed=!1}nextLeft(){return this.getLeftMostChild()||this.thread}nextRight(){return this.getRightMostChild()||this.thread}getAncestor(e,t){return e.ancestor.children[0]===this.children[0]?e.ancestor:t}getLeftMostSibling(){let e=this.getParent();if(e){for(let t of e.children)if(t&&t.point.visible)return t}}hasChildren(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return!0;return!1}getLeftSibling(){let e=this.getParent();if(e){let t=e.children;for(let e=this.relativeXPosition-1;e>=0;e--)if(t[e]&&t[e].point.visible)return t[e]}}getLeftMostChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}getRightMostChild(){let e=this.children;for(let t=e.length-1;t>=0;t--)if(e[t].point.visible)return e[t]}getParent(){return this.parentNode}getFirstChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}}}),i(t,"Series/Treegraph/TreegraphPoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{seriesTypes:{treemap:{prototype:{pointClass:s}}}}=t,{addEvent:o,fireEvent:r,merge:l}=i;class n extends s{constructor(){super(...arguments),this.dataLabelOnHidden=!0,this.isLink=!1,this.setState=e.prototype.setState}draw(){super.draw.apply(this,arguments);let e=this.graphic;e&&e.animate({visibility:this.visible?"inherit":"hidden"}),this.renderCollapseButton()}renderCollapseButton(){let e=this.series,t=this.graphic&&this.graphic.parentGroup,i=e.mapOptionsToLevel[this.node.level||0]||{},s=l(e.options.collapseButton,i.collapseButton,this.options.collapseButton),{width:o,height:r,shape:n,style:a}=s,h=this.series.chart,d=this.visible&&(this.collapsed||!s.onlyOnHover||"hover"===this.state)?1:0;if(this.shapeArgs){if(this.collapseButtonOptions=s,this.collapseButton){if(this.node.children.length&&s.enabled){let{x:e,y:t}=this.getCollapseBtnPosition(s);this.collapseButton.attr({text:this.collapsed?"+":"-",rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,visibility:this.visible?"inherit":"hidden"}).animate({x:e,y:t,opacity:d})}else this.collapseButton.destroy(),delete this.collapseButton}else{if(!this.node.children.length||!s.enabled)return;let{x:e,y:i}=this.getCollapseBtnPosition(s),p=s.fillColor||this.color||"#cccccc";this.collapseButton=h.renderer.label(this.collapsed?"+":"-",e,i,n).attr({height:r-4,width:o-4,padding:2,fill:p,rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,stroke:s.lineColor||"#ffffff","stroke-width":s.lineWidth,"text-align":"center",align:"center",zIndex:1,opacity:d,visibility:this.visible?"inherit":"hidden"}).addClass("highcharts-tracker").addClass("highcharts-collapse-button").removeClass("highcharts-no-tooltip").css(l({color:"string"==typeof p?h.renderer.getContrast(p):"#333333"},a)).add(t),this.collapseButton.element.point=this}}}toggleCollapse(e){let t=this.series;this.update({collapsed:e??!this.collapsed},!1,void 0,!1),r(t,"toggleCollapse"),t.redraw()}destroy(){this.collapseButton&&(this.collapseButton.destroy(),delete this.collapseButton,this.collapseButton=void 0),this.linkToParent&&(this.linkToParent.destroy(),delete this.linkToParent),super.destroy.apply(this,arguments)}getCollapseBtnPosition(e){let t=this.series.chart.inverted,i=e.width,s=e.height,{x:o=0,y:r=0,width:l=0,height:n=0}=this.shapeArgs||{};return{x:o+e.x+(t?-(.3*s):l+-.3*i),y:r+n/2-s/2+e.y}}}return o(n,"mouseOut",function(){let e=this.collapseButton,t=this.collapseButtonOptions;e&&t?.onlyOnHover&&!this.collapsed&&e.animate({opacity:0})}),o(n,"mouseOver",function(){this.collapseButton&&this.visible&&this.collapseButton.animate({opacity:1},this.series.options.states?.hover?.animation)}),o(n,"click",function(){this.toggleCollapse()}),n}),i(t,"Series/Treegraph/TreegraphLink.js",[t["Core/Series/Point.js"],t["Core/Utilities.js"],t["Core/Series/SeriesRegistry.js"]],function(e,t,i){let{pick:s,extend:o}=t,{seriesTypes:{column:{prototype:{pointClass:r}}}}=i;return class extends r{constructor(e,t,i,s){super(e,t,i),this.dataLabelOnNull=!0,this.formatPrefix="link",this.isLink=!0,this.node={},this.formatPrefix="link",this.dataLabelOnNull=!0,s&&(this.fromNode=s.node.parentNode.point,this.visible=s.visible,this.toNode=s,this.id=this.toNode.id+"-"+this.fromNode.id)}update(t,i,r,l){let n={id:this.id,formatPrefix:this.formatPrefix};e.prototype.update.call(this,t,!this.isLink&&i,r,l),this.visible=this.toNode.visible,o(this,n),s(i,!0)&&this.series.chart.redraw(r)}}}),i(t,"Series/Treegraph/TreegraphLayout.js",[t["Series/Treegraph/TreegraphNode.js"]],function(e){class t{static createDummyNode(t,i,s){let o=new e;return o.id=t.id+"-"+s,o.ancestor=t,o.children.push(i),o.parent=t.id,o.parentNode=t,o.point=i.point,o.level=i.level-s,o.relativeXPosition=i.relativeXPosition,o.visible=i.visible,t.children[i.relativeXPosition]=o,i.oldParentNode=t,i.relativeXPosition=0,i.parentNode=o,i.parent=o.id,o}calculatePositions(e){let t=e.nodeList;this.resetValues(t);let i=e.tree;i&&(this.calculateRelativeX(i,0),this.beforeLayout(t),this.firstWalk(i),this.secondWalk(i,-i.preX),this.afterLayout(t))}beforeLayout(e){for(let i of e)for(let e of i.children)if(e&&e.level-i.level>1){let s=e.level-i.level-1;for(;s>0;)e=t.createDummyNode(i,e,s),s--}}resetValues(e){for(let t of e)t.mod=0,t.ancestor=t,t.shift=0,t.thread=void 0,t.change=0,t.preX=0}calculateRelativeX(e,t){let i=e.children;for(let e=0,t=i.length;e<t;++e)this.calculateRelativeX(i[e],e);e.relativeXPosition=t}firstWalk(e){let t;if(e.hasChildren()){let i=e.getLeftMostChild();for(let t of e.children)this.firstWalk(t),i=this.apportion(t,i);this.executeShifts(e);let s=e.getLeftMostChild(),o=e.getRightMostChild(),r=(s.preX+o.preX)/2;(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX-r):e.preX=r}else(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX):e.preX=0}secondWalk(e,t){for(let i of(e.yPosition=e.preX+t,e.xPosition=e.level,e.children))this.secondWalk(i,t+e.mod)}executeShifts(e){let t=0,i=0;for(let s=e.children.length-1;s>=0;s--){let o=e.children[s];o.preX+=t,o.mod+=t,i+=o.change,t+=o.shift+i}}apportion(e,t){let i=e.getLeftSibling();if(i){let s=e,o=e,r=i,l=s.getLeftMostSibling(),n=s.mod,a=o.mod,h=r.mod,d=l.mod;for(;r&&r.nextRight()&&s&&s.nextLeft();){r=r.nextRight(),l=l.nextLeft(),s=s.nextLeft(),(o=o.nextRight()).ancestor=e;let i=r.preX+h-(s.preX+n)+1;i>0&&(this.moveSubtree(e.getAncestor(r,t),e,i),n+=i,a+=i),h+=r.mod,n+=s.mod,d+=l.mod,a+=o.mod}r&&r.nextRight()&&!o.nextRight()&&(o.thread=r.nextRight(),o.mod+=h-a),s&&s.nextLeft()&&!l.nextLeft()&&(l.thread=s.nextLeft(),l.mod+=n-d),t=e}return t}moveSubtree(e,t,i){let s=t.relativeXPosition-e.relativeXPosition;t.change-=i/s,t.shift+=i,t.preX+=i,t.mod+=i,e.change+=i/s}afterLayout(e){for(let t of e)t.oldParentNode&&(t.relativeXPosition=t.parentNode.relativeXPosition,t.parent=t.oldParentNode.parent,t.parentNode=t.oldParentNode,delete t.oldParentNode.children[t.relativeXPosition],t.oldParentNode.children[t.relativeXPosition]=t,t.oldParentNode=void 0)}}return t}),i(t,"Series/Treegraph/TreegraphSeriesDefaults.js",[],function(){return{reversed:!1,marker:{radius:10,lineWidth:0,symbol:"circle",fillOpacity:1,states:{}},link:{color:"#666666",lineWidth:1,radius:10,cursor:"default",type:"curved"},collapseButton:{onlyOnHover:!0,enabled:!0,lineWidth:1,x:0,y:0,height:18,width:18,shape:"circle",style:{cursor:"pointer",fontWeight:"bold",fontSize:"1em"}},fillSpace:!1,tooltip:{linkFormat:"{point.fromNode.id} → {point.toNode.id}",pointFormat:"{point.id}"},dataLabels:{defer:!0,linkTextPath:{attributes:{startOffset:"50%"}},enabled:!0,linkFormatter:()=>"",style:{textOverflow:"none"}},nodeDistance:30,nodeWidth:void 0}}),i(t,"Extensions/TextPath.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{deg2rad:i}=e,{addEvent:s,merge:o,uniqueKey:r,defined:l,extend:n}=t;function a(e,t){t=o(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},t);let i=this.renderer.url,a=this.text||this,h=a.textPath,{attributes:d,enabled:p}=t;if(e=e||h&&h.path,h&&h.undo(),e&&p){let t=s(a,"afterModifyTree",t=>{if(e&&p){let s=e.attr("id");s||e.attr("id",s=r());let o={x:0,y:0};l(d.dx)&&(o.dx=d.dx,delete d.dx),l(d.dy)&&(o.dy=d.dy,delete d.dy),a.attr(o),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=t.nodes.slice(0);t.nodes.length=0,t.nodes[0]={tagName:"textPath",attributes:n(d,{"text-anchor":d.textAnchor,href:`${i}#${s}`}),children:h}}});a.textPath={path:e,undo:t}}else a.attr({dx:0,dy:0}),delete a.textPath;return this.added&&(a.textCache="",this.renderer.buildText(a)),this}function h(e){let t=e.bBox,s=this.element?.querySelector("textPath");if(s){let e=[],{b:o,h:r}=this.renderer.fontMetrics(this.element),l=r-o,n=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),a=s.innerHTML.replace(n,"").split(/<tspan class="highcharts-br"[^>]*>/),h=a.length,d=(e,t)=>{let{x:r,y:n}=t,a=(s.getRotationOfChar(e)-90)*i,h=Math.cos(a),d=Math.sin(a);return[[r-l*h,n-l*d],[r+o*h,n+o*d]]};for(let t=0,i=0;i<h;i++){let o=a[i].length;for(let r=0;r<o;r+=5)try{let o=t+r+i,[l,n]=d(o,s.getStartPositionOfChar(o));0===r?(e.push(n),e.push(l)):(0===i&&e.unshift(n),i===h-1&&e.push(l))}catch(e){break}t+=o-1;try{let o=t+i,r=s.getEndPositionOfChar(o),[l,n]=d(o,r);e.unshift(n),e.unshift(l)}catch(e){break}}e.length&&e.push(e[0].slice()),t.polygon=e}return t}function d(e){let t=e.labelOptions,i=e.point,s=t[i.formatPrefix+"TextPath"]||t.textPath;s&&!t.useHTML&&(this.setTextPath(i.getDataLabelPath?.(this)||i.graphic,s),i.dataLabelPath&&!s.enabled&&(i.dataLabelPath=i.dataLabelPath.destroy()))}return{compose:function(e){s(e,"afterGetBBox",h),s(e,"beforeAddingDataLabel",d);let t=e.prototype;t.setTextPath||(t.setTextPath=a)}}}),i(t,"Series/Treegraph/TreegraphSeries.js",[t["Series/PathUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Series/Treegraph/TreegraphNode.js"],t["Series/Treegraph/TreegraphPoint.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"],t["Series/Treegraph/TreegraphLink.js"],t["Series/Treegraph/TreegraphLayout.js"],t["Series/Treegraph/TreegraphSeriesDefaults.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Extensions/TextPath.js"]],function(e,t,i,s,o,r,l,n,a,h,d,p){let{getLinkPath:c}=e,{series:{prototype:u},seriesTypes:{treemap:f,column:g}}=t,{prototype:{symbols:y}}=i,{getLevelOptions:m,getNodeWidth:b}=r,{arrayMax:v,crisp:P,extend:k,merge:L,pick:x,relativeLength:T,splat:C}=l;p.compose(d);class S extends f{constructor(){super(...arguments),this.nodeList=[],this.links=[]}init(){super.init.apply(this,arguments),this.layoutAlgorythm=new a;let e=this,t=this.chart.labelCollectors;t.some(e=>"collectorFunc"===e.name)||t.push(function(){let t=[];if(!C(e.options.dataLabels)[0].allowOverlap)for(let i of e.links)i.dataLabel&&t.push(i.dataLabel);return t})}getLayoutModifiers(){let e=this.chart,t=this,i=e.plotSizeX,s=e.plotSizeY,o=v(this.points.map(e=>e.node.xPosition)),r=1/0,l=-1/0,n=1/0,a=-1/0,h=0,d=0,p=0,c=0;this.points.forEach(e=>{if(this.options.fillSpace&&!e.visible)return;let u=e.node,f=t.mapOptionsToLevel[e.node.level]||{},g=L(this.options.marker,f.marker,e.options.marker),y=g.width??b(this,o),m=T(g.radius||0,Math.min(i,s)),v=g.symbol,P="circle"!==v&&g.height?T(g.height,s):2*m,k="circle"!==v&&y?T(y,i):2*m;u.nodeSizeX=k,u.nodeSizeY=P,u.xPosition<=r&&(r=u.xPosition,d=Math.max(k+(g.lineWidth||0),d)),u.xPosition>=l&&(l=u.xPosition,h=Math.max(k+(g.lineWidth||0),h)),u.yPosition<=n&&(n=u.yPosition,c=Math.max(P+(g.lineWidth||0),c)),u.yPosition>=a&&(a=u.yPosition,p=Math.max(P+(g.lineWidth||0),p))});let u=a===n?1:(s-(c+p)/2)/(a-n),f=a===n?s/2:-u*n+c/2,g=l===r?1:(i-(h+h)/2)/(l-r),y=l===r?i/2:-g*r+d/2;return{ax:g,bx:y,ay:u,by:f}}getLinks(){let e=this,t=[];return this.data.forEach(i=>{let s=e.mapOptionsToLevel[i.node.level||0]||{};if(i.node.parent){let o=L(s,i.options);if(!i.linkToParent||i.linkToParent.destroyed){let t=new e.LinkClass(e,o,void 0,i);i.linkToParent=t}else i.collapsed=x(i.collapsed,(this.mapOptionsToLevel[i.node.level]||{}).collapsed),i.linkToParent.visible=i.linkToParent.toNode.visible;i.linkToParent.index=t.push(i.linkToParent)-1}else i.linkToParent&&(e.links.splice(i.linkToParent.index),i.linkToParent.destroy(),delete i.linkToParent)}),t}buildTree(e,t,i,s,o){let r=this.points[t];return i=r&&r.level||i,super.buildTree.call(this,e,t,i,s,o)}markerAttribs(){return{}}setCollapsedStatus(e,t){let i=e.point;i&&(i.collapsed=x(i.collapsed,(this.mapOptionsToLevel[e.level]||{}).collapsed),i.visible=t,t=!1!==t&&!i.collapsed),e.children.forEach(e=>{this.setCollapsedStatus(e,t)})}drawTracker(){g.prototype.drawTracker.apply(this,arguments),g.prototype.drawTracker.call(this,this.links)}translate(){let e=this.options,t=r.updateRootId(this),i;u.translate.call(this);let s=this.tree=this.getTree();i=this.nodeMap[t],""===t||i&&i.children.length||(this.setRootNode("",!1),t=this.rootNode,i=this.nodeMap[t]),this.mapOptionsToLevel=m({from:i.level+1,levels:e.levels,to:s.height,defaults:{levelIsConstant:this.options.levelIsConstant,colorByPoint:e.colorByPoint}}),this.setCollapsedStatus(s,!0),this.links=this.getLinks(),this.setTreeValues(s),this.layoutAlgorythm.calculatePositions(this),this.layoutModifier=this.getLayoutModifiers(),this.points.forEach(e=>{this.translateNode(e)}),this.points.forEach(e=>{e.linkToParent&&this.translateLink(e.linkToParent)}),e.colorByPoint||this.setColorRecursive(this.tree)}translateLink(e){let t=e.fromNode,i=e.toNode,s=this.options.link?.lineWidth||0,o=x(this.options.link?.curveFactor,.5),r=x(e.options.link?.type,this.options.link?.type,"default");if(t.shapeArgs&&i.shapeArgs){let l=t.shapeArgs.width||0,n=this.chart.inverted,a=P((t.shapeArgs.y||0)+(t.shapeArgs.height||0)/2,s),h=P((i.shapeArgs.y||0)+(i.shapeArgs.height||0)/2,s),d=P((t.shapeArgs.x||0)+l,s),p=P(i.shapeArgs.x||0,s);n&&(d-=l,p+=i.shapeArgs.width||0);let u=i.node.xPosition-t.node.xPosition;e.shapeType="path";let f=(Math.abs(p-d)+l)/u-l,g=P((p+d)/2,s);e.plotX=g,e.plotY=h,e.shapeArgs={d:c[r]({x1:d,y1:a,x2:p,y2:h,width:f,offset:f*o*(n?-1:1),inverted:n,parentVisible:i.visible,radius:this.options.link?.radius})},e.dlBox={x:(d+p)/2,y:(a+h)/2,height:s,width:0},e.tooltipPos=n?[(this.chart.plotSizeY||0)-e.dlBox.y,(this.chart.plotSizeX||0)-e.dlBox.x]:[e.dlBox.x,e.dlBox.y]}}drawNodeLabels(e){let t,i;let s=this.mapOptionsToLevel;for(let o of e)i=s[o.node.level],t={style:{}},i&&i.dataLabels&&(t=L(t,i.dataLabels),this.hasDataLabels=()=>!0),o.shapeArgs&&!C(this.options.dataLabels)[0].style.width&&(t.style.width=o.shapeArgs.width,o.dataLabel&&o.dataLabel.css({width:o.shapeArgs.width+"px"})),o.dlOptions=L(t,o.options.dataLabels);u.drawDataLabels.call(this,e)}alignDataLabel(e,t){let i=e.visible;e.visible=!0,super.alignDataLabel.apply(this,arguments),t.animate({opacity:!1===i?0:1},void 0,function(){i||t.hide()}),e.visible=i}drawDataLabels(){this.options.dataLabels&&(this.options.dataLabels=C(this.options.dataLabels),this.drawNodeLabels(this.points),u.drawDataLabels.call(this,this.links))}destroy(){if(this.links){for(let e of this.links)e.destroy();this.links.length=0}return u.destroy.apply(this,arguments)}pointAttribs(e,t){let i=e&&this.mapOptionsToLevel[e.node.level||0]||{},s=e&&e.options,o=i.states&&i.states[t]||{};e&&(e.options.marker=L(this.options.marker,i.marker,e.options.marker));let r=x(o&&o.link&&o.link.color,s&&s.link&&s.link.color,i&&i.link&&i.link.color,this.options.link&&this.options.link.color),l=x(o&&o.link&&o.link.lineWidth,s&&s.link&&s.link.lineWidth,i&&i.link&&i.link.lineWidth,this.options.link&&this.options.link.lineWidth),n=u.pointAttribs.call(this,e,t);return e&&(e.isLink&&(n.stroke=r,n["stroke-width"]=l,delete n.fill),e.visible||(n.opacity=0)),n}drawPoints(){f.prototype.drawPoints.apply(this,arguments),g.prototype.drawPoints.call(this,this.links)}translateNode(e){let t=this.chart,i=e.node,s=t.plotSizeY,o=t.plotSizeX,{ax:r,bx:l,ay:n,by:a}=this.layoutModifier,h=r*i.xPosition+l,d=n*i.yPosition+a,p=this.mapOptionsToLevel[i.level]||{},c=L(this.options.marker,p.marker,e.options.marker).symbol,u=i.nodeSizeY,f=i.nodeSizeX,g=this.options.reversed,m=i.x=t.inverted?o-f/2-h:h-f/2,b=i.y=g?d-u/2:s-d-u/2,v=x(e.options.borderRadius,p.borderRadius,this.options.borderRadius),P=y[c||"circle"];if(void 0===P?(e.hasImage=!0,e.shapeType="image",e.imageUrl=c.match(/^url\((.*?)\)$/)[1]):e.shapeType="path",!e.visible&&e.linkToParent){let t=e.linkToParent.fromNode;if(t){let{x:i=0,y:s=0,width:o=0,height:r=0}=t.shapeArgs||{};e.shapeArgs||(e.shapeArgs={}),e.hasImage||k(e.shapeArgs,{d:P(i,s,o,r,v?{r:v}:void 0)}),k(e.shapeArgs,{x:i,y:s}),e.plotX=t.plotX,e.plotY=t.plotY}}else e.plotX=m,e.plotY=b,e.shapeArgs={x:m,y:b,width:f,height:u,cursor:e.node.isLeaf?"default":"pointer"},e.hasImage||(e.shapeArgs.d=P(m,b,f,u,v?{r:v}:void 0));e.tooltipPos=t.inverted?[s-b-u/2,o-m-f/2]:[m+f/2,b]}}return S.defaultOptions=L(f.defaultOptions,h),k(S.prototype,{pointClass:o,NodeClass:s,LinkClass:n}),t.registerSeriesType("treegraph",S),S}),i(t,"masters/modules/treegraph.src.js",[t["Core/Globals.js"]],function(e){return e})});
8
+ */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegraph",["highcharts","highcharts/modules/treemap"],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,o){t.hasOwnProperty(i)||(t[i]=o.apply(null,s),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Series/PathUtilities.js",[],function(){function e(e,t){let i=[];for(let s=0;s<e.length;s++){let o=e[s][1],r=e[s][2];if("number"==typeof o&&"number"==typeof r){if(0===s)i.push(["M",o,r]);else if(s===e.length-1)i.push(["L",o,r]);else if(t){let l=e[s-1],n=e[s+1];if(l&&n){let e=l[1],s=l[2],a=n[1],h=n[2];if("number"==typeof e&&"number"==typeof a&&"number"==typeof s&&"number"==typeof h&&e!==a&&s!==h){let l=e<a?1:-1,n=s<h?1:-1;i.push(["L",o-l*Math.min(Math.abs(o-e),t),r-n*Math.min(Math.abs(r-s),t)],["C",o,r,o,r,o+l*Math.min(Math.abs(o-a),t),r+n*Math.min(Math.abs(r-h),t)])}}}else i.push(["L",o,r])}}return i}return{applyRadius:e,getLinkPath:{default:function(t){let{x1:i,y1:s,x2:o,y2:r,width:l=0,inverted:n=!1,radius:a,parentVisible:h}=t,d=[["M",i,s],["L",i,s],["C",i,s,i,r,i,r],["L",i,r],["C",i,s,i,r,i,r],["L",i,r]];return h?e([["M",i,s],["L",i+l*(n?-.5:.5),s],["L",i+l*(n?-.5:.5),r],["L",o,r]],a):d},straight:function(e){let{x1:t,y1:i,x2:s,y2:o,width:r=0,inverted:l=!1,parentVisible:n}=e;return n?[["M",t,i],["L",t+r*(l?-1:1),o],["L",s,o]]:[["M",t,i],["L",t,o],["L",t,o]]},curved:function(e){let{x1:t,y1:i,x2:s,y2:o,offset:r=0,width:l=0,inverted:n=!1,parentVisible:a}=e;return a?[["M",t,i],["C",t+r,i,t-r+l*(n?-1:1),o,t+l*(n?-1:1),o],["L",s,o]]:[["M",t,i],["C",t,i,t,o,t,o],["L",s,o]]}}}}),i(t,"Series/Treegraph/TreegraphNode.js",[t["Core/Series/SeriesRegistry.js"]],function(e){let{seriesTypes:{treemap:{prototype:{NodeClass:t}}}}=e;return class extends t{constructor(){super(...arguments),this.mod=0,this.shift=0,this.change=0,this.children=[],this.preX=0,this.hidden=!1,this.wasVisited=!1,this.collapsed=!1}nextLeft(){return this.getLeftMostChild()||this.thread}nextRight(){return this.getRightMostChild()||this.thread}getAncestor(e,t){return e.ancestor.children[0]===this.children[0]?e.ancestor:t}getLeftMostSibling(){let e=this.getParent();if(e){for(let t of e.children)if(t&&t.point.visible)return t}}hasChildren(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return!0;return!1}getLeftSibling(){let e=this.getParent();if(e){let t=e.children;for(let e=this.relativeXPosition-1;e>=0;e--)if(t[e]&&t[e].point.visible)return t[e]}}getLeftMostChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}getRightMostChild(){let e=this.children;for(let t=e.length-1;t>=0;t--)if(e[t].point.visible)return e[t]}getParent(){return this.parentNode}getFirstChild(){let e=this.children;for(let t=0;t<e.length;t++)if(e[t].point.visible)return e[t]}}}),i(t,"Series/Treegraph/TreegraphPoint.js",[t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,i){let{seriesTypes:{treemap:{prototype:{pointClass:s}}}}=t,{addEvent:o,fireEvent:r,merge:l}=i;class n extends s{constructor(){super(...arguments),this.dataLabelOnHidden=!0,this.isLink=!1,this.setState=e.prototype.setState}draw(){super.draw.apply(this,arguments);let e=this.graphic;e&&e.animate({visibility:this.visible?"inherit":"hidden"}),this.renderCollapseButton()}renderCollapseButton(){let e=this.series,t=this.graphic&&this.graphic.parentGroup,i=e.mapOptionsToLevel[this.node.level||0]||{},s=l(e.options.collapseButton,i.collapseButton,this.options.collapseButton),{width:o,height:r,shape:n,style:a}=s,h=this.series.chart,d=this.visible&&(this.collapsed||!s.onlyOnHover||"hover"===this.state)?1:0;if(this.shapeArgs){if(this.collapseButtonOptions=s,this.collapseButton){if(this.node.children.length&&s.enabled){let{x:e,y:t}=this.getCollapseBtnPosition(s);this.collapseButton.attr({text:this.collapsed?"+":"-",rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,visibility:this.visible?"inherit":"hidden"}).animate({x:e,y:t,opacity:d})}else this.collapseButton.destroy(),delete this.collapseButton}else{if(!this.node.children.length||!s.enabled)return;let{x:e,y:i}=this.getCollapseBtnPosition(s),p=s.fillColor||this.color||"#cccccc";this.collapseButton=h.renderer.label(this.collapsed?"+":"-",e,i,n).attr({height:r-4,width:o-4,padding:2,fill:p,rotation:h.inverted?90:0,rotationOriginX:o/2,rotationOriginY:r/2,stroke:s.lineColor||"#ffffff","stroke-width":s.lineWidth,"text-align":"center",align:"center",zIndex:1,opacity:d,visibility:this.visible?"inherit":"hidden"}).addClass("highcharts-tracker").addClass("highcharts-collapse-button").removeClass("highcharts-no-tooltip").css(l({color:"string"==typeof p?h.renderer.getContrast(p):"#333333"},a)).add(t),this.collapseButton.element.point=this}}}toggleCollapse(e){let t=this.series;this.update({collapsed:e??!this.collapsed},!1,void 0,!1),r(t,"toggleCollapse"),t.redraw()}destroy(){this.collapseButton&&(this.collapseButton.destroy(),delete this.collapseButton,this.collapseButton=void 0),this.linkToParent&&(this.linkToParent.destroy(),delete this.linkToParent),super.destroy.apply(this,arguments)}getCollapseBtnPosition(e){let t=this.series.chart.inverted,i=e.width,s=e.height,{x:o=0,y:r=0,width:l=0,height:n=0}=this.shapeArgs||{};return{x:o+e.x+(t?-(.3*s):l+-.3*i),y:r+n/2-s/2+e.y}}}return o(n,"mouseOut",function(){let e=this.collapseButton,t=this.collapseButtonOptions;e&&t?.onlyOnHover&&!this.collapsed&&e.animate({opacity:0})}),o(n,"mouseOver",function(){this.collapseButton&&this.visible&&this.collapseButton.animate({opacity:1},this.series.options.states?.hover?.animation)}),o(n,"click",function(){this.toggleCollapse()}),n}),i(t,"Series/Treegraph/TreegraphLink.js",[t["Core/Series/Point.js"],t["Core/Utilities.js"],t["Core/Series/SeriesRegistry.js"]],function(e,t,i){let{pick:s,extend:o}=t,{seriesTypes:{column:{prototype:{pointClass:r}}}}=i;return class extends r{constructor(e,t,i,s){super(e,t,i),this.dataLabelOnNull=!0,this.formatPrefix="link",this.isLink=!0,this.node={},this.formatPrefix="link",this.dataLabelOnNull=!0,s&&(this.fromNode=s.node.parentNode.point,this.visible=s.visible,this.toNode=s,this.id=this.toNode.id+"-"+this.fromNode.id)}update(t,i,r,l){let n={id:this.id,formatPrefix:this.formatPrefix};e.prototype.update.call(this,t,!this.isLink&&i,r,l),this.visible=this.toNode.visible,o(this,n),s(i,!0)&&this.series.chart.redraw(r)}}}),i(t,"Series/Treegraph/TreegraphLayout.js",[t["Series/Treegraph/TreegraphNode.js"]],function(e){class t{static createDummyNode(t,i,s){let o=new e;return o.id=t.id+"-"+s,o.ancestor=t,o.children.push(i),o.parent=t.id,o.parentNode=t,o.point=i.point,o.level=i.level-s,o.relativeXPosition=i.relativeXPosition,o.visible=i.visible,t.children[i.relativeXPosition]=o,i.oldParentNode=t,i.relativeXPosition=0,i.parentNode=o,i.parent=o.id,o}calculatePositions(e){let t=e.nodeList;this.resetValues(t);let i=e.tree;i&&(this.calculateRelativeX(i,0),this.beforeLayout(t),this.firstWalk(i),this.secondWalk(i,-i.preX),this.afterLayout(t))}beforeLayout(e){for(let i of e)for(let e of i.children)if(e&&e.level-i.level>1){let s=e.level-i.level-1;for(;s>0;)e=t.createDummyNode(i,e,s),s--}}resetValues(e){for(let t of e)t.mod=0,t.ancestor=t,t.shift=0,t.thread=void 0,t.change=0,t.preX=0}calculateRelativeX(e,t){let i=e.children;for(let e=0,t=i.length;e<t;++e)this.calculateRelativeX(i[e],e);e.relativeXPosition=t}firstWalk(e){let t;if(e.hasChildren()){let i=e.getLeftMostChild();for(let t of e.children)this.firstWalk(t),i=this.apportion(t,i);this.executeShifts(e);let s=e.getLeftMostChild(),o=e.getRightMostChild(),r=(s.preX+o.preX)/2;(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX-r):e.preX=r}else(t=e.getLeftSibling())?(e.preX=t.preX+1,e.mod=e.preX):e.preX=0}secondWalk(e,t){for(let i of(e.yPosition=e.preX+t,e.xPosition=e.level,e.children))this.secondWalk(i,t+e.mod)}executeShifts(e){let t=0,i=0;for(let s=e.children.length-1;s>=0;s--){let o=e.children[s];o.preX+=t,o.mod+=t,i+=o.change,t+=o.shift+i}}apportion(e,t){let i=e.getLeftSibling();if(i){let s=e,o=e,r=i,l=s.getLeftMostSibling(),n=s.mod,a=o.mod,h=r.mod,d=l.mod;for(;r&&r.nextRight()&&s&&s.nextLeft();){r=r.nextRight(),l=l.nextLeft(),s=s.nextLeft(),(o=o.nextRight()).ancestor=e;let i=r.preX+h-(s.preX+n)+1;i>0&&(this.moveSubtree(e.getAncestor(r,t),e,i),n+=i,a+=i),h+=r.mod,n+=s.mod,d+=l.mod,a+=o.mod}r&&r.nextRight()&&!o.nextRight()&&(o.thread=r.nextRight(),o.mod+=h-a),s&&s.nextLeft()&&!l.nextLeft()&&(l.thread=s.nextLeft(),l.mod+=n-d),t=e}return t}moveSubtree(e,t,i){let s=t.relativeXPosition-e.relativeXPosition;t.change-=i/s,t.shift+=i,t.preX+=i,t.mod+=i,e.change+=i/s}afterLayout(e){for(let t of e)t.oldParentNode&&(t.relativeXPosition=t.parentNode.relativeXPosition,t.parent=t.oldParentNode.parent,t.parentNode=t.oldParentNode,delete t.oldParentNode.children[t.relativeXPosition],t.oldParentNode.children[t.relativeXPosition]=t,t.oldParentNode=void 0)}}return t}),i(t,"Series/Treegraph/TreegraphSeriesDefaults.js",[],function(){return{reversed:!1,marker:{radius:10,lineWidth:0,symbol:"circle",fillOpacity:1,states:{}},link:{color:"#666666",lineWidth:1,radius:10,cursor:"default",type:"curved"},collapseButton:{onlyOnHover:!0,enabled:!0,lineWidth:1,x:0,y:0,height:18,width:18,shape:"circle",style:{cursor:"pointer",fontWeight:"bold",fontSize:"1em"}},fillSpace:!1,tooltip:{linkFormat:"{point.fromNode.id} → {point.toNode.id}",pointFormat:"{point.id}"},dataLabels:{defer:!0,linkTextPath:{attributes:{startOffset:"50%"}},enabled:!0,linkFormatter:()=>"",style:{textOverflow:"none"}},nodeDistance:30,nodeWidth:void 0}}),i(t,"Extensions/TextPath.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{deg2rad:i}=e,{addEvent:s,merge:o,uniqueKey:r,defined:l,extend:n}=t;function a(e,t){t=o(!0,{enabled:!0,attributes:{dy:-5,startOffset:"50%",textAnchor:"middle"}},t);let i=this.renderer.url,a=this.text||this,h=a.textPath,{attributes:d,enabled:p}=t;if(e=e||h&&h.path,h&&h.undo(),e&&p){let t=s(a,"afterModifyTree",t=>{if(e&&p){let s=e.attr("id");s||e.attr("id",s=r());let o={x:0,y:0};l(d.dx)&&(o.dx=d.dx,delete d.dx),l(d.dy)&&(o.dy=d.dy,delete d.dy),a.attr(o),this.attr({transform:""}),this.box&&(this.box=this.box.destroy());let h=t.nodes.slice(0);t.nodes.length=0,t.nodes[0]={tagName:"textPath",attributes:n(d,{"text-anchor":d.textAnchor,href:`${i}#${s}`}),children:h}}});a.textPath={path:e,undo:t}}else a.attr({dx:0,dy:0}),delete a.textPath;return this.added&&(a.textCache="",this.renderer.buildText(a)),this}function h(e){let t=e.bBox,s=this.element?.querySelector("textPath");if(s){let e=[],{b:o,h:r}=this.renderer.fontMetrics(this.element),l=r-o,n=RegExp('(<tspan>|<tspan(?!\\sclass="highcharts-br")[^>]*>|<\\/tspan>)',"g"),a=s.innerHTML.replace(n,"").split(/<tspan class="highcharts-br"[^>]*>/),h=a.length,d=(e,t)=>{let{x:r,y:n}=t,a=(s.getRotationOfChar(e)-90)*i,h=Math.cos(a),d=Math.sin(a);return[[r-l*h,n-l*d],[r+o*h,n+o*d]]};for(let t=0,i=0;i<h;i++){let o=a[i].length;for(let r=0;r<o;r+=5)try{let o=t+r+i,[l,n]=d(o,s.getStartPositionOfChar(o));0===r?(e.push(n),e.push(l)):(0===i&&e.unshift(n),i===h-1&&e.push(l))}catch(e){break}t+=o-1;try{let o=t+i,r=s.getEndPositionOfChar(o),[l,n]=d(o,r);e.unshift(n),e.unshift(l)}catch(e){break}}e.length&&e.push(e[0].slice()),t.polygon=e}return t}function d(e){let t=e.labelOptions,i=e.point,s=t[i.formatPrefix+"TextPath"]||t.textPath;s&&!t.useHTML&&(this.setTextPath(i.getDataLabelPath?.(this)||i.graphic,s),i.dataLabelPath&&!s.enabled&&(i.dataLabelPath=i.dataLabelPath.destroy()))}return{compose:function(e){s(e,"afterGetBBox",h),s(e,"beforeAddingDataLabel",d);let t=e.prototype;t.setTextPath||(t.setTextPath=a)}}}),i(t,"Series/Treegraph/TreegraphSeries.js",[t["Series/PathUtilities.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Renderer/SVG/SVGRenderer.js"],t["Series/Treegraph/TreegraphNode.js"],t["Series/Treegraph/TreegraphPoint.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"],t["Series/Treegraph/TreegraphLink.js"],t["Series/Treegraph/TreegraphLayout.js"],t["Series/Treegraph/TreegraphSeriesDefaults.js"],t["Core/Renderer/SVG/SVGElement.js"],t["Extensions/TextPath.js"]],function(e,t,i,s,o,r,l,n,a,h,d,p){let{getLinkPath:c}=e,{series:{prototype:u},seriesTypes:{treemap:f,column:g}}=t,{prototype:{symbols:y}}=i,{getLevelOptions:m,getNodeWidth:b}=r,{arrayMax:v,crisp:P,extend:k,merge:L,pick:x,relativeLength:T,splat:C}=l;p.compose(d);class S extends f{constructor(){super(...arguments),this.nodeList=[],this.links=[]}init(){super.init.apply(this,arguments),this.layoutAlgorythm=new a;let e=this,t=this.chart.labelCollectors;t.some(e=>"collectorFunc"===e.name)||t.push(function(){let t=[];if(!C(e.options.dataLabels)[0].allowOverlap)for(let i of e.links||[])i.dataLabel&&t.push(i.dataLabel);return t})}getLayoutModifiers(){let e=this.chart,t=this,i=e.plotSizeX,s=e.plotSizeY,o=v(this.points.map(e=>e.node.xPosition)),r=1/0,l=-1/0,n=1/0,a=-1/0,h=0,d=0,p=0,c=0;this.points.forEach(e=>{if(this.options.fillSpace&&!e.visible)return;let u=e.node,f=t.mapOptionsToLevel[e.node.level]||{},g=L(this.options.marker,f.marker,e.options.marker),y=g.width??b(this,o),m=T(g.radius||0,Math.min(i,s)),v=g.symbol,P="circle"!==v&&g.height?T(g.height,s):2*m,k="circle"!==v&&y?T(y,i):2*m;u.nodeSizeX=k,u.nodeSizeY=P,u.xPosition<=r&&(r=u.xPosition,d=Math.max(k+(g.lineWidth||0),d)),u.xPosition>=l&&(l=u.xPosition,h=Math.max(k+(g.lineWidth||0),h)),u.yPosition<=n&&(n=u.yPosition,c=Math.max(P+(g.lineWidth||0),c)),u.yPosition>=a&&(a=u.yPosition,p=Math.max(P+(g.lineWidth||0),p))});let u=a===n?1:(s-(c+p)/2)/(a-n),f=a===n?s/2:-u*n+c/2,g=l===r?1:(i-(h+h)/2)/(l-r),y=l===r?i/2:-g*r+d/2;return{ax:g,bx:y,ay:u,by:f}}getLinks(){let e=this,t=[];return this.data.forEach(i=>{let s=e.mapOptionsToLevel[i.node.level||0]||{};if(i.node.parent){let o=L(s,i.options);if(!i.linkToParent||i.linkToParent.destroyed){let t=new e.LinkClass(e,o,void 0,i);i.linkToParent=t}else i.collapsed=x(i.collapsed,(this.mapOptionsToLevel[i.node.level]||{}).collapsed),i.linkToParent.visible=i.linkToParent.toNode.visible;i.linkToParent.index=t.push(i.linkToParent)-1}else i.linkToParent&&(e.links.splice(i.linkToParent.index),i.linkToParent.destroy(),delete i.linkToParent)}),t}buildTree(e,t,i,s,o){let r=this.points[t];return i=r&&r.level||i,super.buildTree.call(this,e,t,i,s,o)}markerAttribs(){return{}}setCollapsedStatus(e,t){let i=e.point;i&&(i.collapsed=x(i.collapsed,(this.mapOptionsToLevel[e.level]||{}).collapsed),i.visible=t,t=!1!==t&&!i.collapsed),e.children.forEach(e=>{this.setCollapsedStatus(e,t)})}drawTracker(){g.prototype.drawTracker.apply(this,arguments),g.prototype.drawTracker.call(this,this.links)}translate(){let e=this.options,t=r.updateRootId(this),i;u.translate.call(this);let s=this.tree=this.getTree();i=this.nodeMap[t],""===t||i&&i.children.length||(this.setRootNode("",!1),t=this.rootNode,i=this.nodeMap[t]),this.mapOptionsToLevel=m({from:i.level+1,levels:e.levels,to:s.height,defaults:{levelIsConstant:this.options.levelIsConstant,colorByPoint:e.colorByPoint}}),this.setCollapsedStatus(s,!0),this.links=this.getLinks(),this.setTreeValues(s),this.layoutAlgorythm.calculatePositions(this),this.layoutModifier=this.getLayoutModifiers(),this.points.forEach(e=>{this.translateNode(e)}),this.points.forEach(e=>{e.linkToParent&&this.translateLink(e.linkToParent)}),e.colorByPoint||this.setColorRecursive(this.tree)}translateLink(e){let t=e.fromNode,i=e.toNode,s=this.options.link?.lineWidth||0,o=x(this.options.link?.curveFactor,.5),r=x(e.options.link?.type,this.options.link?.type,"default");if(t.shapeArgs&&i.shapeArgs){let l=t.shapeArgs.width||0,n=this.chart.inverted,a=P((t.shapeArgs.y||0)+(t.shapeArgs.height||0)/2,s),h=P((i.shapeArgs.y||0)+(i.shapeArgs.height||0)/2,s),d=P((t.shapeArgs.x||0)+l,s),p=P(i.shapeArgs.x||0,s);n&&(d-=l,p+=i.shapeArgs.width||0);let u=i.node.xPosition-t.node.xPosition;e.shapeType="path";let f=(Math.abs(p-d)+l)/u-l,g=P((p+d)/2,s);e.plotX=g,e.plotY=h,e.shapeArgs={d:c[r]({x1:d,y1:a,x2:p,y2:h,width:f,offset:f*o*(n?-1:1),inverted:n,parentVisible:i.visible,radius:this.options.link?.radius})},e.dlBox={x:(d+p)/2,y:(a+h)/2,height:s,width:0},e.tooltipPos=n?[(this.chart.plotSizeY||0)-e.dlBox.y,(this.chart.plotSizeX||0)-e.dlBox.x]:[e.dlBox.x,e.dlBox.y]}}drawNodeLabels(e){let t,i;let s=this.mapOptionsToLevel;for(let o of e)i=s[o.node.level],t={style:{}},i&&i.dataLabels&&(t=L(t,i.dataLabels),this.hasDataLabels=()=>!0),o.shapeArgs&&!C(this.options.dataLabels)[0].style.width&&(t.style.width=o.shapeArgs.width,o.dataLabel&&o.dataLabel.css({width:o.shapeArgs.width+"px"})),o.dlOptions=L(t,o.options.dataLabels);u.drawDataLabels.call(this,e)}alignDataLabel(e,t){let i=e.visible;e.visible=!0,super.alignDataLabel.apply(this,arguments),t.animate({opacity:!1===i?0:1},void 0,function(){i||t.hide()}),e.visible=i}drawDataLabels(){this.options.dataLabels&&(this.options.dataLabels=C(this.options.dataLabels),this.drawNodeLabels(this.points),u.drawDataLabels.call(this,this.links))}destroy(){if(this.links){for(let e of this.links)e.destroy();this.links.length=0}return u.destroy.apply(this,arguments)}pointAttribs(e,t){let i=e&&this.mapOptionsToLevel[e.node.level||0]||{},s=e&&e.options,o=i.states&&i.states[t]||{};e&&(e.options.marker=L(this.options.marker,i.marker,e.options.marker));let r=x(o&&o.link&&o.link.color,s&&s.link&&s.link.color,i&&i.link&&i.link.color,this.options.link&&this.options.link.color),l=x(o&&o.link&&o.link.lineWidth,s&&s.link&&s.link.lineWidth,i&&i.link&&i.link.lineWidth,this.options.link&&this.options.link.lineWidth),n=u.pointAttribs.call(this,e,t);return e&&(e.isLink&&(n.stroke=r,n["stroke-width"]=l,delete n.fill),e.visible||(n.opacity=0)),n}drawPoints(){f.prototype.drawPoints.apply(this,arguments),g.prototype.drawPoints.call(this,this.links)}translateNode(e){let t=this.chart,i=e.node,s=t.plotSizeY,o=t.plotSizeX,{ax:r,bx:l,ay:n,by:a}=this.layoutModifier,h=r*i.xPosition+l,d=n*i.yPosition+a,p=this.mapOptionsToLevel[i.level]||{},c=L(this.options.marker,p.marker,e.options.marker).symbol,u=i.nodeSizeY,f=i.nodeSizeX,g=this.options.reversed,m=i.x=t.inverted?o-f/2-h:h-f/2,b=i.y=g?d-u/2:s-d-u/2,v=x(e.options.borderRadius,p.borderRadius,this.options.borderRadius),P=y[c||"circle"];if(void 0===P?(e.hasImage=!0,e.shapeType="image",e.imageUrl=c.match(/^url\((.*?)\)$/)[1]):e.shapeType="path",!e.visible&&e.linkToParent){let t=e.linkToParent.fromNode;if(t){let{x:i=0,y:s=0,width:o=0,height:r=0}=t.shapeArgs||{};e.shapeArgs||(e.shapeArgs={}),e.hasImage||k(e.shapeArgs,{d:P(i,s,o,r,v?{r:v}:void 0)}),k(e.shapeArgs,{x:i,y:s}),e.plotX=t.plotX,e.plotY=t.plotY}}else e.plotX=m,e.plotY=b,e.shapeArgs={x:m,y:b,width:f,height:u,cursor:e.node.isLeaf?"default":"pointer"},e.hasImage||(e.shapeArgs.d=P(m,b,f,u,v?{r:v}:void 0));e.tooltipPos=t.inverted?[s-b-u/2,o-m-f/2]:[m+f/2,b]}}return S.defaultOptions=L(f.defaultOptions,h),k(S.prototype,{pointClass:o,NodeClass:s,LinkClass:n}),t.registerSeriesType("treegraph",S),S}),i(t,"masters/modules/treegraph.src.js",[t["Core/Globals.js"]],function(e){return e})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.9 (2026-09-25)
3
3
  * Treegraph chart series type
4
4
  *
5
5
  * (c) 2010-2024 Pawel Lysy Grzegorz Blachlinski
@@ -1499,7 +1499,7 @@
1499
1499
  const linkLabels = [];
1500
1500
  // Check links for overlap
1501
1501
  if (!splat(series.options.dataLabels)[0].allowOverlap) {
1502
- for (const link of series.links) {
1502
+ for (const link of (series.links || [])) {
1503
1503
  if (link.dataLabel) {
1504
1504
  linkLabels.push(link.dataLabel);
1505
1505
  }