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,9 +1,9 @@
1
1
  !/**
2
- * Highcharts Gantt JS v11.4.7 (2024-08-14)
2
+ * Highcharts Gantt JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Tree Grid
5
5
  *
6
6
  * (c) 2016-2024 Jon Arild Nygard
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],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,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(e,t){var i;let{addEvent:s,find:o,fireEvent:r,isArray:n,isNumber:l,pick:a}=t;return function(t){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function d(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function h(){let e=this.brokenAxis;if(e?.hasBreaks){let t=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<t.length;i++)e.isInAnyBreak(t[i])||s.push(t[i]);this.tickPositions=s,this.tickPositions.info=i}}function c(){this.brokenAxis||(this.brokenAxis=new k(this))}function p(){let{isDirty:e,options:{connectNulls:t},points:i,xAxis:s,yAxis:o}=this;if(e){let e=i.length;for(;e--;){let r=i[e],n=!(null===r.y&&!1===t)&&(s?.brokenAxis?.isInAnyBreak(r.x,!0)||o?.brokenAxis?.isInAnyBreak(r.y,!0));r.visible=!n&&!1!==r.options.visible}}}function f(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,a(this.pointArrayMap,["y"]))}function u(e,t){let i,s,o;let n=this,d=n.points;if(e?.brokenAxis?.hasBreaks){let h=e.brokenAxis;t.forEach(function(t){i=h?.breakArray||[],s=e.isXAxis?e.min:a(n.options.threshold,e.min);let c=e?.options?.breaks?.filter(function(e){let t=!0;for(let s=0;s<i.length;s++){let o=i[s];if(o.from===e.from&&o.to===e.to){t=!1;break}}return t});d.forEach(function(n){o=a(n["stack"+t.toUpperCase()],n[t]),i.forEach(function(t){if(l(s)&&l(o)){let i="";s<t.from&&o>t.to||s>t.from&&o<t.from?i="pointBreak":(s<t.from&&o>t.from&&o<t.to||s>t.from&&o>t.to&&o<t.from)&&(i="pointInBreak"),i&&r(e,i,{point:n,brk:t})}}),c?.forEach(function(t){r(e,"pointOutsideOfBreak",{point:n,brk:t})})})})}}function g(){let t=this.currentDataGrouping,i=t?.gapSize,s=this.points.slice(),o=this.yAxis,r=this.options.gapSize,n=s.length-1;if(r&&n>0){let t,l;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);n--;)if(l&&!1!==l.visible||(l=s[n+1]),t=s[n],!1!==l.visible&&!1!==t.visible){if(l.x-t.x>r){let i=(t.x+l.x)/2;s.splice(n+1,0,{isNull:!0,x:i}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][i]=new e(o,o.options.stackLabels,!1,i,this.stack)).total=0)}l=t}}return this.getGraphPath(s)}t.compose=function(e,t){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",c),s(e,"afterInit",i),s(e,"afterSetTickPositions",h),s(e,"afterSetOptions",d);let o=t.prototype;o.drawBreaks=u,o.gappedPath=g,s(t,"afterGeneratePoints",p),s(t,"afterRender",f)}return e};class k{static isInBreak(e,t){let i=e.repeat||1/0,s=e.from,o=e.to-e.from,r=t>=s?(t-s)%i:i-(s-t)%i;return e.inclusive?r<=o:r<o&&0!==r}static lin2Val(e){let t=this.brokenAxis,i=t&&t.breakArray;if(!i||!l(e))return e;let s=e,o,r;for(r=0;r<i.length&&!((o=i[r]).from>=s);r++)o.to<s?s+=o.len:k.isInBreak(o,s)&&(s+=o.len);return s}static val2Lin(e){let t=this.brokenAxis,i=t&&t.breakArray;if(!i||!l(e))return e;let s=e,o,r;for(r=0;r<i.length;r++)if((o=i[r]).to<=e)s-=o.len;else if(o.from>=e)break;else if(k.isInBreak(o,e)){s-=e-o.from;break}return s}constructor(e){this.hasBreaks=!1,this.axis=e}findBreakAt(e,t){return o(t,function(t){return t.from<e&&e<t.to})}isInAnyBreak(e,t){let i=this.axis,s=i.options.breaks||[],o=s.length,r,n,d;if(o&&l(e)){for(;o--;)k.isInBreak(s[o],e)&&(r=!0,n||(n=a(s[o].showPoints,!i.isXAxis)));d=r&&t?r&&!n:r}return d}setBreaks(e,t){let i=this,s=i.axis,o=n(e)&&!!e.length&&!!Object.keys(e[0]).length;s.isDirty=i.hasBreaks!==o,i.hasBreaks=o,e!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=e),s.forceRedraw=!0,s.series.forEach(function(e){e.isDirty=!0}),o||s.val2lin!==k.val2Lin||(delete s.val2lin,delete s.lin2val),o&&(s.userOptions.ordinal=!1,s.lin2val=k.lin2Val,s.val2lin=k.val2Lin,s.setExtremes=function(e,t,o,r,n){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(e,o);)e=s.to;for(;s=i.findBreakAt(t,o);)t=s.from;t<e&&(t=e)}s.constructor.prototype.setExtremes.call(this,e,t,o,r,n)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let e=s.options.breaks||[],t=[],o=[],n=a(s.pointRangePadding,0),d=0,h,c,p=s.userMin||s.min,f=s.userMax||s.max,u,g;e.forEach(function(e){c=e.repeat||1/0,l(p)&&l(f)&&(k.isInBreak(e,p)&&(p+=e.to%c-p%c),k.isInBreak(e,f)&&(f-=f%c-e.from%c))}),e.forEach(function(e){if(u=e.from,c=e.repeat||1/0,l(p)&&l(f)){for(;u-c>p;)u-=c;for(;u<p;)u+=c;for(g=u;g<f;g+=c)t.push({value:g,move:"in"}),t.push({value:g+e.to-e.from,move:"out",size:e.breakSize})}}),t.sort(function(e,t){return e.value===t.value?("in"===e.move?0:1)-("in"===t.move?0:1):e.value-t.value}),h=0,u=p,t.forEach(function(e){1===(h+="in"===e.move?1:-1)&&"in"===e.move&&(u=e.value),0===h&&l(u)&&(o.push({from:u,to:e.value,len:e.value-u-(e.size||0)}),d+=e.value-u-(e.size||0))}),i.breakArray=o,l(p)&&l(f)&&l(s.min)&&(i.unitLength=f-p-d+n,r(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(f-s.min+n)/i.unitLength),n&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=p,s.max=f)}}),a(t,!0)&&s.chart.redraw()}}t.Additions=k}(i||(i={})),i}),i(t,"Core/Axis/GridAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t,i){var s,o;let{dateFormats:r}=t,{addEvent:n,defined:l,erase:a,find:d,isArray:h,isNumber:c,merge:p,pick:f,timeUnits:u,wrap:g}=i;function k(e){return i.isObject(e,!0)}function m(e,t){let i={width:0,height:0};if(t.forEach(function(t){let s=e[t],o=0,r=0,n;k(s)&&(o=(n=k(s.label)?s.label:{}).getBBox?n.getBBox().height:0,n.textStr&&!c(n.textPxLength)&&(n.textPxLength=n.getBBox().width),r=c(n.textPxLength)?Math.round(n.textPxLength):0,n.textStr&&(r=Math.round(n.getBBox().width)),i.height=Math.max(o,i.height),i.width=Math.max(r,i.width))}),"treegrid"===this.options.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode){let e=this.treeGrid.mapOfPosToGridNode[-1].height||0;i.width+=this.options.labels.indentation*(e-1)}return i}function x(e){let{grid:t}=this,i=3===this.side;if(i||e.apply(this),!t?.isColumn){let e=t?.columns||[];i&&(e=e.slice().reverse()),e.forEach(e=>{e.getOffset()})}i&&e.apply(this)}function b(e){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:i,horiz:o,left:r,offset:n,opposite:l,options:a,top:d,width:h}=this,c=this.tickSize(),p=t&&t.getBBox().width,u=a.title.x,g=a.title.y,k=f(a.title.margin,o?5:10),m=t?this.chart.renderer.fontMetrics(t).f:0,x=(o?d+i:r)+(o?1:-1)*(l?-1:1)*(c?c[0]/2:0)+(this.side===s.bottom?m:0);e.titlePosition.x=o?r-(p||0)/2-k+u:x+(l?h:0)+n+u,e.titlePosition.y=o?x-(l?i:0)+(l?m:-m)/2+n+g:d-k+g}}function y(){let{chart:t,options:{grid:i={}},userOptions:s}=this;if(i.enabled&&function(e){let t=e.options;t.labels.align=f(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}(this),i.columns){let o=this.grid.columns=[],r=this.grid.columnIndex=0;for(;++r<i.columns.length;){let n=p(s,i.columns[r],{isInternal:!0,linkedTo:0,scrollbar:{enabled:!1}},{grid:{columns:void 0}}),l=new e(this.chart,n,"yAxis");l.grid.isColumn=!0,l.grid.columnIndex=r,a(t.axes,l),a(t[this.coll]||[],l),o.push(l)}}}function v(){let{axisTitle:e,grid:t,options:i}=this;if(!0===(i.grid||{}).enabled){let o=this.min||0,r=this.max||0,n=this.ticks[this.tickPositions[0]];if(e&&!this.chart.styledMode&&n?.slotWidth&&!this.options.title.style.width&&e.css({width:`${n.slotWidth}px`}),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid&&this.grid.isOuterAxis()&&this.axisLine){let e=i.lineWidth;if(e){let t=this.getLinePath(e),n=t[0],l=t[1],a=(this.tickSize("tick")||[1])[0]*(this.side===s.top||this.side===s.left?-1:1);if("M"===n[0]&&"L"===l[0]&&(this.horiz?(n[2]+=a,l[2]+=a):(n[1]+=a,l[1]+=a)),!this.horiz&&this.chart.marginRight){let e=["L",this.left,n[2]||0],t=[n,e],s=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(r+this.tickmarkOffset)],a=[["M",l[1]||0,this.toPixels(r+this.tickmarkOffset)],s];this.grid.upperBorder||o%1==0||(this.grid.upperBorder=this.grid.renderBorder(t)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.upperBorder.animate({d:t})),this.grid.lowerBorder||r%1==0||(this.grid.lowerBorder=this.grid.renderBorder(a)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.lowerBorder.animate({d:a}))}this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.axisLineExtra.animate({d:t})):this.grid.axisLineExtra=this.grid.renderBorder(t),this.axisLine[this.showAxis?"show":"hide"]()}}if((t&&t.columns||[]).forEach(e=>e.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let e,t;let i=this.tickmarkOffset,s=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(e=this.hiddenLabels.pop())&&e.element;)e.show();for(;(t=this.hiddenMarks.pop())&&t.element;)t.show();(e=this.ticks[n].label)&&(o-n>i?this.hiddenLabels.push(e.hide()):e.show()),(e=this.ticks[s].label)&&(s-r>i?this.hiddenLabels.push(e.hide()):e.show());let l=this.ticks[s].mark;l&&s-r<i&&s-r>0&&this.ticks[s].isLast&&this.hiddenMarks.push(l.hide())}}}function P(){let e=this.tickPositions&&this.tickPositions.info,t=this.options,i=t.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(e=>{e.options.pointRange=0}),e&&t.dateTimeLabelFormats&&t.labels&&!l(s.align)&&(!1===t.dateTimeLabelFormats[e.unitName].range||e.count>1)&&(t.labels.align="left",l(s.x)||(t.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function G(e){let t;let i=this.options,s=e.userOptions,o=i&&k(i.grid)?i.grid:{};!0===o.enabled&&(t=p(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(l(s.linkedTo)&&!l(s.tickPixelInterval)&&(t.tickPixelInterval=350),!(!l(s.tickPixelInterval)&&l(s.linkedTo))||l(s.tickPositioner)||l(s.tickInterval)||l(s.units)||(t.tickPositioner=function(e,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=t.units||[],r,n=1,l="year";for(let e=0;e<o.length;e++){let t=o[e];if(t&&t[0]===s.unitName){r=e;break}}let a=c(r)&&o[r+1];if(a){l=a[0]||"year";let e=a[1];n=e&&e[0]||1}else"year"===s.unitName&&(n=10*s.count);let d=u[l];return this.tickInterval=d*n,this.chart.time.getTimeTicks({unitRange:d,count:n,unitName:l},e,i,this.options.startOfWeek)}})),p(!0,this.options,t),this.horiz&&(i.minPadding=f(s.minPadding,0),i.maxPadding=f(s.maxPadding,0)),c(i.grid.borderWidth)&&(i.tickWidth=i.lineWidth=o.borderWidth))}function A(e){let t=e.userOptions,i=t&&t.grid||{},s=i.columns;i.enabled&&s&&p(!0,this.options,s[0])}function T(){(this.grid.columns||[]).forEach(e=>e.setScale())}function C(e){let{horiz:t,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=t?s.cellHeight||o+i.height:o+i.width;h(e.tickSize)?e.tickSize[0]=r:e.tickSize=[r,0]}}function B(){this.axes.forEach(e=>{(e.grid&&e.grid.columns||[]).forEach(e=>{e.setAxisSize(),e.setAxisTranslation()})})}function O(e){let{grid:t}=this;(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function w(e){let t=e.userOptions||{},i=t.grid||{};i.enabled&&l(i.borderColor)&&(t.tickColor=t.lineColor=i.borderColor),this.grid||(this.grid=new M(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function I(e){let t=this.label,i=this.axis,o=i.reversed,r=i.chart,n=i.options.grid||{},l=i.options.labels,a=l.align,d=s[i.side],h=e.tickmarkOffset,p=i.tickPositions,f=this.pos-h,u=c(p[e.index+1])?p[e.index+1]-h:(i.max||0)+h,g=i.tickSize("tick"),k=g?g[0]:0,m=g?g[1]/2:0;if(!0===n.enabled){let s,n,h,c;if("top"===d?n=(s=i.top+i.offset)-k:"bottom"===d?s=(n=r.chartHeight-i.bottom+i.offset)+k:(s=i.top+i.len-(i.translate(o?u:f)||0),n=i.top+i.len-(i.translate(o?f:u)||0)),"right"===d?c=(h=r.chartWidth-i.right+i.offset)+k:"left"===d?h=(c=i.left+i.offset)-k:(h=Math.round(i.left+(i.translate(o?u:f)||0))-m,c=Math.min(Math.round(i.left+(i.translate(o?f:u)||0))-m,i.left+i.len)),this.slotWidth=c-h,e.pos.x="left"===a?h:"right"===a?c:h+(c-h)/2,e.pos.y=n+(s-n)/2,t){let i=r.renderer.fontMetrics(t),s=t.getBBox().height;if(l.useHTML)e.pos.y+=i.b+-(s/2);else{let t=Math.round(s/i.h);e.pos.y+=(i.b-(i.h-i.f))/2+-((t-1)*i.h/2)}}e.pos.x+=i.horiz&&l.x||0}}function E(e){let{axis:i,value:s}=e;if(i.options.grid&&i.options.grid.enabled){let o;let r=i.tickPositions,n=(i.linkedParent||i).series[0],l=s===r[0],a=s===r[r.length-1],h=n&&d(n.options.data,function(e){return e[i.isXAxis?"x":"y"]===s});h&&n.is("gantt")&&(o=p(h),t.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(o)),e.isFirst=l,e.isLast=a,e.point=o}}function N(){let e=this.options,t=e.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],l=s[s.length-2],a=this.linkedParent&&this.linkedParent.min,d=this.linkedParent&&this.linkedParent.max,h=a||this.min,p=d||this.max,f=this.tickInterval,u=c(h)&&h>=o+f&&h<r,g=c(h)&&o<h&&o+f>h,k=c(p)&&n>p&&n-f<p,m=c(p)&&p<=n-f&&p>l;!0===t.enabled&&!i&&(this.isXAxis||this.isLinked)&&((g||u)&&!e.startOnTick&&(s[0]=h),(k||m)&&!e.endOnTick&&(s[s.length-1]=p))}function L(e){var t;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:e.apply(this,(t=arguments,Array.prototype.slice.call(t,1)))}(o=s||(s={}))[o.top=0]="top",o[o.right=1]="right",o[o.bottom=2]="bottom",o[o.left=3]="left";class M{constructor(e){this.axis=e}isOuterAxis(){let e=this.axis,t=e.chart,i=e.grid.columnIndex,s=e.linkedParent?.grid.columns||e.grid.columns||[],o=i?e.linkedParent:e,r=-1,n=0;return 3===e.side&&!t.inverted&&s.length?!e.linkedParent:((t[e.coll]||[]).forEach((t,i)=>{t.side!==e.side||t.options.isInternal||(n=i,t!==o||(r=i))}),n===r&&(!c(i)||s.length===i))}renderBorder(e){let t=this.axis,i=t.chart.renderer,s=t.options,o=i.path(e).addClass("highcharts-axis-line").add(t.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}return r.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)},r.W=function(e){let t=this,i=new this.Date(e);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(e){t.set(e,i,0)});let s=(this.get("Day",i)+6)%7,o=new this.Date(i.valueOf());this.set("Date",o,this.get("Date",i)-s+3);let r=new this.Date(this.get("FullYear",o),0,1);return 4!==this.get("Day",r)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(e,t,i){return e.keepProps.includes("grid")||(e.keepProps.push("grid"),e.prototype.getMaxLabelDimensions=m,g(e.prototype,"unsquish",L),g(e.prototype,"getOffset",x),n(e,"init",w),n(e,"afterGetTitlePosition",b),n(e,"afterInit",y),n(e,"afterRender",v),n(e,"afterSetAxisTranslation",P),n(e,"afterSetOptions",G),n(e,"afterSetOptions",A),n(e,"afterSetScale",T),n(e,"afterTickSize",C),n(e,"trimTicks",N),n(e,"destroy",O),n(t,"afterSetChartSize",B),n(i,"afterGetLabelPosition",I),n(i,"labelFormat",E)),e}}}),i(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(e){let{extend:t,isNumber:i,pick:s}=e;function o(e,r,n,l,a,d){let h=d&&d.after,c=d&&d.before,p={data:l,depth:n-1,id:e,level:n,parent:r||""},f=0,u=0,g,k;"function"==typeof c&&c(p,d);let m=(a[e]||[]).map(t=>{let s=o(t.id,e,n+1,t,a,d),r=t.start||NaN,l=!0===t.milestone?r:t.end||NaN;return g=!i(g)||r<g?r:g,k=!i(k)||l>k?l:k,f=f+1+s.descendants,u=Math.max(s.height+1,u),s});return l&&(l.start=s(l.start,g),l.end=s(l.end,k)),t(p,{children:m,descendants:f,height:u}),"function"==typeof h&&h(p,d),p}return{getNode:o,getTree:function(e,t){return o("",null,1,null,function(e){let t=[],i=e.reduce((e,i)=>{let{parent:s="",id:o}=i;return void 0===e[s]&&(e[s]=[]),e[s].push(i),o&&t.push(o),e},{});return Object.keys(i).forEach(e=>{if(""!==e&&-1===t.indexOf(e)){let t=i[e].map(function(e){let{...t}=e;return t});i[""].push(...t),delete i[e]}}),i}(e),t)}}}),i(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(e){let{addEvent:t,removeEvent:i,isObject:s,isNumber:o,pick:r,wrap:n}=e;function l(){this.treeGrid||(this.treeGrid=new h(this))}function a(e,t,i,n,l,a,d,h,c){let p,f,u;let g=r(this.options&&this.options.labels,a),k=this.pos,m=this.axis,x="treegrid"===m.options.type,b=e.apply(this,[t,i,n,l,g,d,h,c]);if(x){let{width:e=0,padding:t=m.linkedParent?0:5}=g&&s(g.symbol,!0)?g.symbol:{},i=g&&o(g.indentation)?g.indentation:0;u=(f=(p=m.treeGrid.mapOfPosToGridNode)&&p[k])&&f.depth||1,b.x+=e+2*t+(u-1)*i}return b}function d(e){let n,l,a;let{pos:d,axis:h,label:c,treeGrid:p,options:f}=this,u=p?.labelIcon,g=c?.element,{treeGrid:k,options:m,chart:x,tickPositions:b}=h,y=k.mapOfPosToGridNode,v=r(f?.labels,m?.labels),P=v&&s(v.symbol,!0)?v.symbol:{},G=y&&y[d],{descendants:A,depth:T}=G||{},C=G&&A&&A>0,B="treegrid"===m.type&&g,O=b.indexOf(d)>-1,w="highcharts-treegrid-node-",I=w+"level-",E=x.styledMode;B&&G&&c.removeClass(RegExp(I+".*")).addClass(I+T),e.apply(this,Array.prototype.slice.call(arguments,1)),B&&C?(n=k.isCollapsed(G),function(e,t){let i=e.treeGrid,s=!i.labelIcon,n=t.renderer,l=t.xy,a=t.options,d=a.width||0,h=a.height||0,c=a.padding??e.axis.linkedParent?0:5,p={x:l.x-d/2-c,y:l.y-h/2},f=t.collapsed?90:180,u=t.show&&o(p.y),g=i.labelIcon;g||(i.labelIcon=g=n.path(n.symbols[a.type](a.x||0,a.y||0,d,h)).addClass("highcharts-label-icon").add(t.group)),g[u?"show":"hide"](),n.styledMode||g.attr({cursor:"pointer",fill:r(t.color,"#666666"),"stroke-width":1,stroke:a.lineColor,strokeWidth:a.lineWidth||0}),g[s?"attr":"animate"]({translateX:p.x,translateY:p.y,rotation:f})}(this,{color:!E&&c.styles.color||"",collapsed:n,group:c.parentGroup,options:P,renderer:c.renderer,show:O,xy:c.xy}),l=w+(n?"collapsed":"expanded"),a=w+(n?"expanded":"collapsed"),c.addClass(l).removeClass(a),E||c.css({cursor:"pointer"}),[c,u].forEach(e=>{e&&!e.attachedTreeGridEvents&&(t(e.element,"mouseover",function(){c.addClass("highcharts-treegrid-node-active"),c.renderer.styledMode||c.css({textDecoration:"underline"})}),t(e.element,"mouseout",function(){!function(e,t){let i=s(t.style)?t.style:{};e.removeClass("highcharts-treegrid-node-active"),e.renderer.styledMode||e.css({textDecoration:i.textDecoration||"none"})}(c,v)}),t(e.element,"click",function(){p.toggleCollapse()}),e.attachedTreeGridEvents=!0)})):u&&(i(g),c?.css({cursor:"default"}),u.destroy())}class h{static compose(e){let i=e.prototype;i.toggleCollapse||(t(e,"init",l),n(i,"getLabelPosition",a),n(i,"renderLabel",d),i.collapse=function(e){this.treeGrid.collapse(e)},i.expand=function(e){this.treeGrid.expand(e)},i.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=t.pos,n=i.treeGrid.mapOfPosToGridNode[o],l=i.treeGrid.collapse(n);s.setBreaks(l,r(e,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,n=s.mapOfPosToGridNode;if(o&&n){let i=n[t],l=s.expand(i);o.setBreaks(l,r(e,!0))}}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=t.pos,n=i.treeGrid.mapOfPosToGridNode[o],l=i.treeGrid.toggleCollapse(n);s.setBreaks(l,r(e,!0))}}}return h}),i(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(e,t){let{extend:i,isArray:s,isNumber:o,isObject:r,merge:n,pick:l,relativeLength:a}=t;return{getColor:function(t,i){let s,o,r,n,a,d;let h=i.index,c=i.mapOptionsToLevel,p=i.parentColor,f=i.parentColorIndex,u=i.series,g=i.colors,k=i.siblings,m=u.points,x=u.chart.options.chart;return t&&(s=m[t.i],o=c[t.level]||{},s&&o.colorByPoint&&(n=s.index%(g?g.length:x.colorCount),r=g&&g[n]),u.chart.styledMode||(a=l(s&&s.options.color,o&&o.color,r,p&&(t=>{let i=o&&o.colorVariation;return i&&"brightness"===i.key&&h&&k?e.parse(t).brighten(i.to*(h/k)).get():t})(p),u.color)),d=l(s&&s.options.colorIndex,o&&o.colorIndex,n,f,i.colorIndex)),{color:a,colorIndex:d}},getLevelOptions:function(e){let t,i,a,d,h,c;let p={};if(r(e))for(d=o(e.from)?e.from:1,c=e.levels,i={},t=r(e.defaults)?e.defaults:{},s(c)&&(i=c.reduce((e,i)=>{let s,a,h;return r(i)&&o(i.level)&&(a=l((h=n({},i)).levelIsConstant,t.levelIsConstant),delete h.levelIsConstant,delete h.level,r(e[s=i.level+(a?0:d-1)])?n(!0,e[s],h):e[s]=h),e},{})),h=o(e.to)?e.to:1,a=0;a<=h;a++)p[a]=n({},t,r(i[a])?i[a]:{});return p},getNodeWidth:function(e,t){let{chart:i,options:s}=e,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(t+parseFloat(o)/100*(t-1));let e=Number(o);return(n+e)/(t||1)-e}return a(r,n)},setTreeValues:function e(t,s){let o=s.before,r=s.idRoot,n=s.mapIdToNode[r],a=!1!==s.levelIsConstant,d=s.points[t.i],h=d&&d.options||{},c=[],p=0;t.levelDynamic=t.level-(a?0:n.level),t.name=l(d&&d.name,""),t.visible=r===t.id||!0===s.visible,"function"==typeof o&&(t=o(t,s)),t.children.forEach((o,r)=>{let n=i({},s);i(n,{index:r,siblings:t.children.length,visible:t.visible}),o=e(o,n),c.push(o),o.visible&&(p+=o.val)});let f=l(h.value,p);return t.visible=f>=0&&(p>0||t.visible),t.children=c,t.childrenTotal=p,t.isLeaf=t.visible&&!p,t.val=f,t},updateRootId:function(e){let t,i;return r(e)&&(i=r(e.options)?e.options:{},t=l(e.rootNode,i.rootId,""),r(e.userOptions)&&(e.userOptions.rootId=t),e.rootNode=t),t}}}),i(t,"Core/Axis/TreeGrid/TreeGridAxis.js",[t["Core/Axis/BrokenAxis.js"],t["Core/Axis/GridAxis.js"],t["Gantt/Tree.js"],t["Core/Axis/TreeGrid/TreeGridTick.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"]],function(e,t,i,s,o,r){let n;let{getLevelOptions:l}=o,{addEvent:a,find:d,fireEvent:h,isArray:c,isObject:p,isString:f,merge:u,pick:g,removeEvent:k,wrap:m}=r;function x(e,t){let i=e.collapseEnd||0,s=e.collapseStart||0;return i>=t&&(s-=.5),{from:s,to:i,showPoints:!1}}function b(e,t,s){let o=[],r=[],n={},l="boolean"==typeof t&&t,a={},h=-1,c=i.getTree(e,{after:function(e){let t=a[e.pos],i=0,s=0;t.children.forEach(function(e){s+=(e.descendants||0)+1,i=Math.max((e.height||0)+1,i)}),t.descendants=s,t.height=i,t.collapsed&&r.push(t)},before:function(e){let t,i;let s=p(e.data,!0)?e.data:{},r=f(s.name)?s.name:"",c=n[e.parent],u=p(c,!0)?a[c.pos]:null;l&&p(u,!0)&&(t=d(u.children,function(e){return e.name===r}))?(i=t.pos,t.nodes.push(e)):i=h++,!a[i]&&(a[i]=t={depth:u?u.depth+1:0,name:r,id:s.id,nodes:[e],children:[],pos:i},-1!==i&&o.push(r),p(u,!0)&&u.children.push(t)),f(e.id)&&(n[e.id]=e),t&&!0===s.collapsed&&(t.collapsed=!0),e.pos=i}});return{categories:o,mapOfIdToNode:n,mapOfPosToGridNode:a=function(e,t){let i=function(e,s,o){let r=e.nodes,n=s+(-1===s?0:t-1),l=(n-s)/2,a=s+l;return r.forEach(function(e){let t=e.data;p(t,!0)&&(t.y=s+(t.seriesIndex||0),delete t.seriesIndex),e.pos=a}),o[a]=e,e.pos=a,e.tickmarkOffset=l+.5,e.collapseStart=n+.5,e.children.forEach(function(e){i(e,n+1,o),n=(e.collapseEnd||0)-.5}),e.collapseEnd=n+.5,o};return i(e["-1"],-1,{})}(a,s),collapsedNodes:r,tree:c}}function y(e){e.target.axes.filter(function(e){return"treegrid"===e.options.type}).forEach(function(t){let i=t.options||{},s=i.labels,o=i.uniqueNames,r=i.max,n=!t.treeGrid.mapOfPosToGridNode||t.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty}),a=0,d,h;if(n){if(d=t.series.reduce(function(e,t){return t.visible&&((t.options.data||[]).forEach(function(i){t.options.keys&&t.options.keys.length&&(i=t.pointClass.prototype.optionsToObject.call({series:t},i),t.pointClass.setGanttPointAliases(i)),p(i,!0)&&(i.seriesIndex=a,e.push(i))}),!0===o&&a++),e},[]),r&&d.length<r)for(let e=d.length;e<=r;e++)d.push({name:e+"​"});h=b(d,o||!1,!0===o?a:1),t.categories=h.categories,t.treeGrid.mapOfPosToGridNode=h.mapOfPosToGridNode,t.hasNames=!0,t.treeGrid.tree=h.tree,t.series.forEach(function(e){let t=(e.options.data||[]).map(function(t){return c(t)&&e.options.keys&&e.options.keys.length&&d.forEach(function(e){t.indexOf(e.x)>=0&&t.indexOf(e.x2)>=0&&(t=e)}),p(t,!0)?u(t):t});e.visible&&e.setData(t,!1)}),t.treeGrid.mapOptionsToLevel=l({defaults:s,from:1,levels:s&&s.levels,to:t.treeGrid.tree&&t.treeGrid.tree.height}),"beforeRender"===e.type&&(t.treeGrid.collapsedNodes=h.collapsedNodes)}})}function v(e,t){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.options.type,o=this.ticks,r=o[t],l,a,d;s&&this.treeGrid.mapOfPosToGridNode?((l=i[(d=this.treeGrid.mapOfPosToGridNode[t]).depth])&&(a={labels:l}),!r&&n?o[t]=r=new n(this,t,void 0,void 0,{category:d.name,tickmarkOffset:d.tickmarkOffset,options:a}):(r.parameters.category=d.name,r.options=a,r.addLabel())):e.apply(this,Array.prototype.slice.call(arguments,1))}function P(e,t,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new T(o)),r&&(a(t,"beforeRender",y),a(t,"beforeRedraw",y),a(t,"addSeries",function(e){if(e.options.data){let t=b(e.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(t.collapsedNodes)}}),a(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(e){let t=o.treeGrid.collapse(e);o.brokenAxis&&(o.brokenAxis.setBreaks(t,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(t=>e.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),a(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=u({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),e.apply(o,[t,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function G(e){let t=this.options,i="number"==typeof t.linkedTo?this.chart[this.coll]?.[t.linkedTo]:void 0;if("treegrid"===t.type){if(this.min=g(this.userMin,t.min,this.dataMin),this.max=g(this.userMax,t.max,this.dataMax),h(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i){let e=i.getExtremes();this.min=g(e.min,e.dataMin),this.max=g(e.max,e.dataMax),this.tickPositions=i.tickPositions}this.linkedParent=i}else e.apply(this,Array.prototype.slice.call(arguments,1))}function A(e){let t=this;"treegrid"===t.options.type&&t.visible&&t.tickPositions.forEach(function(e){let i=t.ticks[e];i.label&&i.label.attachedTreeGridEvents&&(k(i.label.element),i.label.attachedTreeGridEvents=!1)}),e.apply(t,Array.prototype.slice.call(arguments,1))}class T{static compose(o,r,l,a){if(!o.keepProps.includes("treeGrid")){let e=o.prototype;o.keepProps.push("treeGrid"),m(e,"generateTick",v),m(e,"init",P),m(e,"setTickInterval",G),m(e,"redraw",A),e.utils={getNode:i.getNode},n||(n=a)}return t.compose(o,r,a),e.compose(o,l),s.compose(a),o}constructor(e){this.axis=e}setCollapsedStatus(e){let t=this.axis,i=t.chart;t.series.forEach(function(t){let s=t.options.data;if(e.id&&s){let o=i.get(e.id),r=s[t.data.indexOf(o)];o&&r&&(o.collapsed=e.collapsed,r.collapsed=e.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return(t.to!==s.to||t.from!==s.from)&&e.push(t),e},[])}getTickPositions(){let e=this.axis,t=Math.floor(e.min/e.tickInterval)*e.tickInterval,i=Math.ceil(e.max/e.tickInterval)*e.tickInterval;return Object.keys(e.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=t&&r<=i&&!(e.brokenAxis&&e.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}return T}),i(t,"masters/modules/treegrid.src.js",[t["Core/Globals.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(e,t){return t.compose(e.Axis,e.Chart,e.Series,e.Tick),e})});
9
+ */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],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,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(e,t){var i;let{addEvent:s,find:o,fireEvent:r,isArray:n,isNumber:l,pick:a}=t;return function(t){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function d(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function h(){let e=this.brokenAxis;if(e?.hasBreaks){let t=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<t.length;i++)e.isInAnyBreak(t[i])||s.push(t[i]);this.tickPositions=s,this.tickPositions.info=i}}function c(){this.brokenAxis||(this.brokenAxis=new k(this))}function p(){let{isDirty:e,options:{connectNulls:t},points:i,xAxis:s,yAxis:o}=this;if(e){let e=i.length;for(;e--;){let r=i[e],n=!(null===r.y&&!1===t)&&(s?.brokenAxis?.isInAnyBreak(r.x,!0)||o?.brokenAxis?.isInAnyBreak(r.y,!0));r.visible=!n&&!1!==r.options.visible}}}function f(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,a(this.pointArrayMap,["y"]))}function u(e,t){let i,s,o;let n=this,d=n.points;if(e?.brokenAxis?.hasBreaks){let h=e.brokenAxis;t.forEach(function(t){i=h?.breakArray||[],s=e.isXAxis?e.min:a(n.options.threshold,e.min);let c=e?.options?.breaks?.filter(function(e){let t=!0;for(let s=0;s<i.length;s++){let o=i[s];if(o.from===e.from&&o.to===e.to){t=!1;break}}return t});d.forEach(function(n){o=a(n["stack"+t.toUpperCase()],n[t]),i.forEach(function(t){if(l(s)&&l(o)){let i="";s<t.from&&o>t.to||s>t.from&&o<t.from?i="pointBreak":(s<t.from&&o>t.from&&o<t.to||s>t.from&&o>t.to&&o<t.from)&&(i="pointInBreak"),i&&r(e,i,{point:n,brk:t})}}),c?.forEach(function(t){r(e,"pointOutsideOfBreak",{point:n,brk:t})})})})}}function g(){let t=this.currentDataGrouping,i=t?.gapSize,s=this.points.slice(),o=this.yAxis,r=this.options.gapSize,n=s.length-1;if(r&&n>0){let t,l;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);n--;)if(l&&!1!==l.visible||(l=s[n+1]),t=s[n],!1!==l.visible&&!1!==t.visible){if(l.x-t.x>r){let i=(t.x+l.x)/2;s.splice(n+1,0,{isNull:!0,x:i}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][i]=new e(o,o.options.stackLabels,!1,i,this.stack)).total=0)}l=t}}return this.getGraphPath(s)}t.compose=function(e,t){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),s(e,"init",c),s(e,"afterInit",i),s(e,"afterSetTickPositions",h),s(e,"afterSetOptions",d);let o=t.prototype;o.drawBreaks=u,o.gappedPath=g,s(t,"afterGeneratePoints",p),s(t,"afterRender",f)}return e};class k{static isInBreak(e,t){let i=e.repeat||1/0,s=e.from,o=e.to-e.from,r=t>=s?(t-s)%i:i-(s-t)%i;return e.inclusive?r<=o:r<o&&0!==r}static lin2Val(e){let t=this.brokenAxis,i=t&&t.breakArray;if(!i||!l(e))return e;let s=e,o,r;for(r=0;r<i.length&&!((o=i[r]).from>=s);r++)o.to<s?s+=o.len:k.isInBreak(o,s)&&(s+=o.len);return s}static val2Lin(e){let t=this.brokenAxis,i=t&&t.breakArray;if(!i||!l(e))return e;let s=e,o,r;for(r=0;r<i.length;r++)if((o=i[r]).to<=e)s-=o.len;else if(o.from>=e)break;else if(k.isInBreak(o,e)){s-=e-o.from;break}return s}constructor(e){this.hasBreaks=!1,this.axis=e}findBreakAt(e,t){return o(t,function(t){return t.from<e&&e<t.to})}isInAnyBreak(e,t){let i=this.axis,s=i.options.breaks||[],o=s.length,r,n,d;if(o&&l(e)){for(;o--;)k.isInBreak(s[o],e)&&(r=!0,n||(n=a(s[o].showPoints,!i.isXAxis)));d=r&&t?r&&!n:r}return d}setBreaks(e,t){let i=this,s=i.axis,o=n(e)&&!!e.length&&!!Object.keys(e[0]).length;s.isDirty=i.hasBreaks!==o,i.hasBreaks=o,e!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=e),s.forceRedraw=!0,s.series.forEach(function(e){e.isDirty=!0}),o||s.val2lin!==k.val2Lin||(delete s.val2lin,delete s.lin2val),o&&(s.userOptions.ordinal=!1,s.lin2val=k.lin2Val,s.val2lin=k.val2Lin,s.setExtremes=function(e,t,o,r,n){if(i.hasBreaks){let s;let o=this.options.breaks||[];for(;s=i.findBreakAt(e,o);)e=s.to;for(;s=i.findBreakAt(t,o);)t=s.from;t<e&&(t=e)}s.constructor.prototype.setExtremes.call(this,e,t,o,r,n)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let e=s.options.breaks||[],t=[],o=[],n=a(s.pointRangePadding,0),d=0,h,c,p=s.userMin||s.min,f=s.userMax||s.max,u,g;e.forEach(function(e){c=e.repeat||1/0,l(p)&&l(f)&&(k.isInBreak(e,p)&&(p+=e.to%c-p%c),k.isInBreak(e,f)&&(f-=f%c-e.from%c))}),e.forEach(function(e){if(u=e.from,c=e.repeat||1/0,l(p)&&l(f)){for(;u-c>p;)u-=c;for(;u<p;)u+=c;for(g=u;g<f;g+=c)t.push({value:g,move:"in"}),t.push({value:g+e.to-e.from,move:"out",size:e.breakSize})}}),t.sort(function(e,t){return e.value===t.value?("in"===e.move?0:1)-("in"===t.move?0:1):e.value-t.value}),h=0,u=p,t.forEach(function(e){1===(h+="in"===e.move?1:-1)&&"in"===e.move&&(u=e.value),0===h&&l(u)&&(o.push({from:u,to:e.value,len:e.value-u-(e.size||0)}),d+=e.value-u-(e.size||0))}),i.breakArray=o,l(p)&&l(f)&&l(s.min)&&(i.unitLength=f-p-d+n,r(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(f-s.min+n)/i.unitLength),n&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=p,s.max=f)}}),a(t,!0)&&s.chart.redraw()}}t.Additions=k}(i||(i={})),i}),i(t,"Core/Axis/GridAxis.js",[t["Core/Axis/Axis.js"],t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t,i){var s,o;let{dateFormats:r}=t,{addEvent:n,defined:l,erase:a,find:d,isArray:h,isNumber:c,merge:p,pick:f,timeUnits:u,wrap:g}=i;function k(e){return i.isObject(e,!0)}function m(e,t){let i={width:0,height:0};if(t.forEach(function(t){let s=e[t],o=0,r=0,n;k(s)&&(o=(n=k(s.label)?s.label:{}).getBBox?n.getBBox().height:0,n.textStr&&!c(n.textPxLength)&&(n.textPxLength=n.getBBox().width),r=c(n.textPxLength)?Math.round(n.textPxLength):0,n.textStr&&(r=Math.round(n.getBBox().width)),i.height=Math.max(o,i.height),i.width=Math.max(r,i.width))}),"treegrid"===this.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode){let e=this.treeGrid.mapOfPosToGridNode[-1].height||0;i.width+=this.options.labels.indentation*(e-1)}return i}function x(e){let{grid:t}=this,i=3===this.side;if(i||e.apply(this),!t?.isColumn){let e=t?.columns||[];i&&(e=e.slice().reverse()),e.forEach(e=>{e.getOffset()})}i&&e.apply(this)}function b(e){if(!0===(this.options.grid||{}).enabled){let{axisTitle:t,height:i,horiz:o,left:r,offset:n,opposite:l,options:a,top:d,width:h}=this,c=this.tickSize(),p=t&&t.getBBox().width,u=a.title.x,g=a.title.y,k=f(a.title.margin,o?5:10),m=t?this.chart.renderer.fontMetrics(t).f:0,x=(o?d+i:r)+(o?1:-1)*(l?-1:1)*(c?c[0]/2:0)+(this.side===s.bottom?m:0);e.titlePosition.x=o?r-(p||0)/2-k+u:x+(l?h:0)+n+u,e.titlePosition.y=o?x-(l?i:0)+(l?m:-m)/2+n+g:d-k+g}}function y(){let{chart:t,options:{grid:i={}},userOptions:s}=this;if(i.enabled&&function(e){let t=e.options;t.labels.align=f(t.labels.align,"center"),e.categories||(t.showLastLabel=!1),e.labelRotation=0,t.labels.rotation=0,t.minTickInterval=1}(this),i.columns){let o=this.grid.columns=[],r=this.grid.columnIndex=0;for(;++r<i.columns.length;){let n=p(s,i.columns[r],{isInternal:!0,linkedTo:0,scrollbar:{enabled:!1}},{grid:{columns:void 0}}),l=new e(this.chart,n,"yAxis");l.grid.isColumn=!0,l.grid.columnIndex=r,a(t.axes,l),a(t[this.coll]||[],l),o.push(l)}}}function v(){let{axisTitle:e,grid:t,options:i}=this;if(!0===(i.grid||{}).enabled){let o=this.min||0,r=this.max||0,n=this.ticks[this.tickPositions[0]];if(e&&!this.chart.styledMode&&n?.slotWidth&&!this.options.title.style.width&&e.css({width:`${n.slotWidth}px`}),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid&&this.grid.isOuterAxis()&&this.axisLine){let e=i.lineWidth;if(e){let t=this.getLinePath(e),n=t[0],l=t[1],a=(this.tickSize("tick")||[1])[0]*(this.side===s.top||this.side===s.left?-1:1);if("M"===n[0]&&"L"===l[0]&&(this.horiz?(n[2]+=a,l[2]+=a):(n[1]+=a,l[1]+=a)),!this.horiz&&this.chart.marginRight){let e=["L",this.left,n[2]||0],t=[n,e],s=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(r+this.tickmarkOffset)],a=[["M",l[1]||0,this.toPixels(r+this.tickmarkOffset)],s];this.grid.upperBorder||o%1==0||(this.grid.upperBorder=this.grid.renderBorder(t)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.upperBorder.animate({d:t})),this.grid.lowerBorder||r%1==0||(this.grid.lowerBorder=this.grid.renderBorder(a)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.lowerBorder.animate({d:a}))}this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:i.lineColor,"stroke-width":i.lineWidth}),this.grid.axisLineExtra.animate({d:t})):this.grid.axisLineExtra=this.grid.renderBorder(t),this.axisLine[this.showAxis?"show":"hide"]()}}if((t&&t.columns||[]).forEach(e=>e.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)&&this.tickPositions.length){let e,t;let i=this.tickmarkOffset,s=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(e=this.hiddenLabels.pop())&&e.element;)e.show();for(;(t=this.hiddenMarks.pop())&&t.element;)t.show();(e=this.ticks[n].label)&&(o-n>i?this.hiddenLabels.push(e.hide()):e.show()),(e=this.ticks[s].label)&&(s-r>i?this.hiddenLabels.push(e.hide()):e.show());let l=this.ticks[s].mark;l&&s-r<i&&s-r>0&&this.ticks[s].isLast&&this.hiddenMarks.push(l.hide())}}}function P(){let e=this.tickPositions&&this.tickPositions.info,t=this.options,i=t.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(e=>{e.options.pointRange=0}),e&&t.dateTimeLabelFormats&&t.labels&&!l(s.align)&&(!1===t.dateTimeLabelFormats[e.unitName].range||e.count>1)&&(t.labels.align="left",l(s.x)||(t.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function G(e){let t;let i=this.options,s=e.userOptions,o=i&&k(i.grid)?i.grid:{};!0===o.enabled&&(t=p(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0,style:{textOverflow:"ellipsis"}},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"!==this.coll||(l(s.linkedTo)&&!l(s.tickPixelInterval)&&(t.tickPixelInterval=350),!(!l(s.tickPixelInterval)&&l(s.linkedTo))||l(s.tickPositioner)||l(s.tickInterval)||l(s.units)||(t.tickPositioner=function(e,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=t.units||[],r,n=1,l="year";for(let e=0;e<o.length;e++){let t=o[e];if(t&&t[0]===s.unitName){r=e;break}}let a=c(r)&&o[r+1];if(a){l=a[0]||"year";let e=a[1];n=e&&e[0]||1}else"year"===s.unitName&&(n=10*s.count);let d=u[l];return this.tickInterval=d*n,this.chart.time.getTimeTicks({unitRange:d,count:n,unitName:l},e,i,this.options.startOfWeek)}})),p(!0,this.options,t),this.horiz&&(i.minPadding=f(s.minPadding,0),i.maxPadding=f(s.maxPadding,0)),c(i.grid.borderWidth)&&(i.tickWidth=i.lineWidth=o.borderWidth))}function A(e){let t=e.userOptions,i=t&&t.grid||{},s=i.columns;i.enabled&&s&&p(!0,this.options,s[0])}function T(){(this.grid.columns||[]).forEach(e=>e.setScale())}function C(e){let{horiz:t,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=t?s.cellHeight||o+i.height:o+i.width;h(e.tickSize)?e.tickSize[0]=r:e.tickSize=[r,0]}}function B(){this.axes.forEach(e=>{(e.grid&&e.grid.columns||[]).forEach(e=>{e.setAxisSize(),e.setAxisTranslation()})})}function O(e){let{grid:t}=this;(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function w(e){let t=e.userOptions||{},i=t.grid||{};i.enabled&&l(i.borderColor)&&(t.tickColor=t.lineColor=i.borderColor),this.grid||(this.grid=new M(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function I(e){let t=this.label,i=this.axis,o=i.reversed,r=i.chart,n=i.options.grid||{},l=i.options.labels,a=l.align,d=s[i.side],h=e.tickmarkOffset,p=i.tickPositions,f=this.pos-h,u=c(p[e.index+1])?p[e.index+1]-h:(i.max||0)+h,g=i.tickSize("tick"),k=g?g[0]:0,m=g?g[1]/2:0;if(!0===n.enabled){let s,n,h,c;if("top"===d?n=(s=i.top+i.offset)-k:"bottom"===d?s=(n=r.chartHeight-i.bottom+i.offset)+k:(s=i.top+i.len-(i.translate(o?u:f)||0),n=i.top+i.len-(i.translate(o?f:u)||0)),"right"===d?c=(h=r.chartWidth-i.right+i.offset)+k:"left"===d?h=(c=i.left+i.offset)-k:(h=Math.round(i.left+(i.translate(o?u:f)||0))-m,c=Math.min(Math.round(i.left+(i.translate(o?f:u)||0))-m,i.left+i.len)),this.slotWidth=c-h,e.pos.x="left"===a?h:"right"===a?c:h+(c-h)/2,e.pos.y=n+(s-n)/2,t){let i=r.renderer.fontMetrics(t),s=t.getBBox().height;if(l.useHTML)e.pos.y+=i.b+-(s/2);else{let t=Math.round(s/i.h);e.pos.y+=(i.b-(i.h-i.f))/2+-((t-1)*i.h/2)}}e.pos.x+=i.horiz&&l.x||0}}function E(e){let{axis:i,value:s}=e;if(i.options.grid&&i.options.grid.enabled){let o;let r=i.tickPositions,n=(i.linkedParent||i).series[0],l=s===r[0],a=s===r[r.length-1],h=n&&d(n.options.data,function(e){return e[i.isXAxis?"x":"y"]===s});h&&n.is("gantt")&&(o=p(h),t.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(o)),e.isFirst=l,e.isLast=a,e.point=o}}function N(){let e=this.options,t=e.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[1],n=s[s.length-1],l=s[s.length-2],a=this.linkedParent&&this.linkedParent.min,d=this.linkedParent&&this.linkedParent.max,h=a||this.min,p=d||this.max,f=this.tickInterval,u=c(h)&&h>=o+f&&h<r,g=c(h)&&o<h&&o+f>h,k=c(p)&&n>p&&n-f<p,m=c(p)&&p<=n-f&&p>l;!0===t.enabled&&!i&&(this.isXAxis||this.isLinked)&&((g||u)&&!e.startOnTick&&(s[0]=h),(k||m)&&!e.endOnTick&&(s[s.length-1]=p))}function L(e){var t;let{options:{grid:i={}}}=this;return!0===i.enabled&&this.categories?this.tickInterval:e.apply(this,(t=arguments,Array.prototype.slice.call(t,1)))}(o=s||(s={}))[o.top=0]="top",o[o.right=1]="right",o[o.bottom=2]="bottom",o[o.left=3]="left";class M{constructor(e){this.axis=e}isOuterAxis(){let e=this.axis,t=e.chart,i=e.grid.columnIndex,s=e.linkedParent?.grid.columns||e.grid.columns||[],o=i?e.linkedParent:e,r=-1,n=0;return 3===e.side&&!t.inverted&&s.length?!e.linkedParent:((t[e.coll]||[]).forEach((t,i)=>{t.side!==e.side||t.options.isInternal||(n=i,t!==o||(r=i))}),n===r&&(!c(i)||s.length===i))}renderBorder(e){let t=this.axis,i=t.chart.renderer,s=t.options,o=i.path(e).addClass("highcharts-axis-line").add(t.axisGroup);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}return r.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)},r.W=function(e){let t=this,i=new this.Date(e);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(e){t.set(e,i,0)});let s=(this.get("Day",i)+6)%7,o=new this.Date(i.valueOf());this.set("Date",o,this.get("Date",i)-s+3);let r=new this.Date(this.get("FullYear",o),0,1);return 4!==this.get("Day",r)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(e,t,i){return e.keepProps.includes("grid")||(e.keepProps.push("grid"),e.prototype.getMaxLabelDimensions=m,g(e.prototype,"unsquish",L),g(e.prototype,"getOffset",x),n(e,"init",w),n(e,"afterGetTitlePosition",b),n(e,"afterInit",y),n(e,"afterRender",v),n(e,"afterSetAxisTranslation",P),n(e,"afterSetOptions",G),n(e,"afterSetOptions",A),n(e,"afterSetScale",T),n(e,"afterTickSize",C),n(e,"trimTicks",N),n(e,"destroy",O),n(t,"afterSetChartSize",B),n(i,"afterGetLabelPosition",I),n(i,"labelFormat",E)),e}}}),i(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(e){let{extend:t,isNumber:i,pick:s}=e;function o(e,r,n,l,a,d){let h=d&&d.after,c=d&&d.before,p={data:l,depth:n-1,id:e,level:n,parent:r||""},f=0,u=0,g,k;"function"==typeof c&&c(p,d);let m=(a[e]||[]).map(t=>{let s=o(t.id,e,n+1,t,a,d),r=t.start||NaN,l=!0===t.milestone?r:t.end||NaN;return g=!i(g)||r<g?r:g,k=!i(k)||l>k?l:k,f=f+1+s.descendants,u=Math.max(s.height+1,u),s});return l&&(l.start=s(l.start,g),l.end=s(l.end,k)),t(p,{children:m,descendants:f,height:u}),"function"==typeof h&&h(p,d),p}return{getNode:o,getTree:function(e,t){return o("",null,1,null,function(e){let t=[],i=e.reduce((e,i)=>{let{parent:s="",id:o}=i;return void 0===e[s]&&(e[s]=[]),e[s].push(i),o&&t.push(o),e},{});return Object.keys(i).forEach(e=>{if(""!==e&&-1===t.indexOf(e)){let t=i[e].map(function(e){let{...t}=e;return t});i[""].push(...t),delete i[e]}}),i}(e),t)}}}),i(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(e){let{addEvent:t,removeEvent:i,isObject:s,isNumber:o,pick:r,wrap:n}=e;function l(){this.treeGrid||(this.treeGrid=new h(this))}function a(e,t,i,n,l,a,d,h,c){let p,f,u;let g=r(this.options&&this.options.labels,a),k=this.pos,m=this.axis,x="treegrid"===m.type,b=e.apply(this,[t,i,n,l,g,d,h,c]);if(x){let{width:e=0,padding:t=m.linkedParent?0:5}=g&&s(g.symbol,!0)?g.symbol:{},i=g&&o(g.indentation)?g.indentation:0;u=(f=(p=m.treeGrid.mapOfPosToGridNode)&&p[k])&&f.depth||1,b.x+=e+2*t+(u-1)*i}return b}function d(e){let n,l,a;let{pos:d,axis:h,label:c,treeGrid:p,options:f}=this,u=p?.labelIcon,g=c?.element,{treeGrid:k,options:m,chart:x,tickPositions:b}=h,y=k.mapOfPosToGridNode,v=r(f?.labels,m?.labels),P=v&&s(v.symbol,!0)?v.symbol:{},G=y&&y[d],{descendants:A,depth:T}=G||{},C=G&&A&&A>0,B="treegrid"===h.type&&g,O=b.indexOf(d)>-1,w="highcharts-treegrid-node-",I=w+"level-",E=x.styledMode;B&&G&&c.removeClass(RegExp(I+".*")).addClass(I+T),e.apply(this,Array.prototype.slice.call(arguments,1)),B&&C?(n=k.isCollapsed(G),function(e,t){let i=e.treeGrid,s=!i.labelIcon,n=t.renderer,l=t.xy,a=t.options,d=a.width||0,h=a.height||0,c=a.padding??e.axis.linkedParent?0:5,p={x:l.x-d/2-c,y:l.y-h/2},f=t.collapsed?90:180,u=t.show&&o(p.y),g=i.labelIcon;g||(i.labelIcon=g=n.path(n.symbols[a.type](a.x||0,a.y||0,d,h)).addClass("highcharts-label-icon").add(t.group)),g[u?"show":"hide"](),n.styledMode||g.attr({cursor:"pointer",fill:r(t.color,"#666666"),"stroke-width":1,stroke:a.lineColor,strokeWidth:a.lineWidth||0}),g[s?"attr":"animate"]({translateX:p.x,translateY:p.y,rotation:f})}(this,{color:!E&&c.styles.color||"",collapsed:n,group:c.parentGroup,options:P,renderer:c.renderer,show:O,xy:c.xy}),l=w+(n?"collapsed":"expanded"),a=w+(n?"expanded":"collapsed"),c.addClass(l).removeClass(a),E||c.css({cursor:"pointer"}),[c,u].forEach(e=>{e&&!e.attachedTreeGridEvents&&(t(e.element,"mouseover",function(){c.addClass("highcharts-treegrid-node-active"),c.renderer.styledMode||c.css({textDecoration:"underline"})}),t(e.element,"mouseout",function(){!function(e,t){let i=s(t.style)?t.style:{};e.removeClass("highcharts-treegrid-node-active"),e.renderer.styledMode||e.css({textDecoration:i.textDecoration||"none"})}(c,v)}),t(e.element,"click",function(){p.toggleCollapse()}),e.attachedTreeGridEvents=!0)})):u&&(i(g),c?.css({cursor:"default"}),u.destroy())}class h{static compose(e){let i=e.prototype;i.toggleCollapse||(t(e,"init",l),n(i,"getLabelPosition",a),n(i,"renderLabel",d),i.collapse=function(e){this.treeGrid.collapse(e)},i.expand=function(e){this.treeGrid.expand(e)},i.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=t.pos,n=i.treeGrid.mapOfPosToGridNode[o],l=i.treeGrid.collapse(n);s.setBreaks(l,r(e,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let{pos:t,axis:i}=this.tick,{treeGrid:s,brokenAxis:o}=i,n=s.mapOfPosToGridNode;if(o&&n){let i=n[t],l=s.expand(i);o.setBreaks(l,r(e,!0))}}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let o=t.pos,n=i.treeGrid.mapOfPosToGridNode[o],l=i.treeGrid.toggleCollapse(n);s.setBreaks(l,r(e,!0))}}}return h}),i(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(e,t){let{extend:i,isArray:s,isNumber:o,isObject:r,merge:n,pick:l,relativeLength:a}=t;return{getColor:function(t,i){let s,o,r,n,a,d;let h=i.index,c=i.mapOptionsToLevel,p=i.parentColor,f=i.parentColorIndex,u=i.series,g=i.colors,k=i.siblings,m=u.points,x=u.chart.options.chart;return t&&(s=m[t.i],o=c[t.level]||{},s&&o.colorByPoint&&(n=s.index%(g?g.length:x.colorCount),r=g&&g[n]),u.chart.styledMode||(a=l(s&&s.options.color,o&&o.color,r,p&&(t=>{let i=o&&o.colorVariation;return i&&"brightness"===i.key&&h&&k?e.parse(t).brighten(i.to*(h/k)).get():t})(p),u.color)),d=l(s&&s.options.colorIndex,o&&o.colorIndex,n,f,i.colorIndex)),{color:a,colorIndex:d}},getLevelOptions:function(e){let t,i,a,d,h,c;let p={};if(r(e))for(d=o(e.from)?e.from:1,c=e.levels,i={},t=r(e.defaults)?e.defaults:{},s(c)&&(i=c.reduce((e,i)=>{let s,a,h;return r(i)&&o(i.level)&&(a=l((h=n({},i)).levelIsConstant,t.levelIsConstant),delete h.levelIsConstant,delete h.level,r(e[s=i.level+(a?0:d-1)])?n(!0,e[s],h):e[s]=h),e},{})),h=o(e.to)?e.to:1,a=0;a<=h;a++)p[a]=n({},t,r(i[a])?i[a]:{});return p},getNodeWidth:function(e,t){let{chart:i,options:s}=e,{nodeDistance:o=0,nodeWidth:r=0}=s,{plotSizeX:n=1}=i;if("auto"===r){if("string"==typeof o&&/%$/.test(o))return n/(t+parseFloat(o)/100*(t-1));let e=Number(o);return(n+e)/(t||1)-e}return a(r,n)},setTreeValues:function e(t,s){let o=s.before,r=s.idRoot,n=s.mapIdToNode[r],a=!1!==s.levelIsConstant,d=s.points[t.i],h=d&&d.options||{},c=[],p=0;t.levelDynamic=t.level-(a?0:n.level),t.name=l(d&&d.name,""),t.visible=r===t.id||!0===s.visible,"function"==typeof o&&(t=o(t,s)),t.children.forEach((o,r)=>{let n=i({},s);i(n,{index:r,siblings:t.children.length,visible:t.visible}),o=e(o,n),c.push(o),o.visible&&(p+=o.val)});let f=l(h.value,p);return t.visible=f>=0&&(p>0||t.visible),t.children=c,t.childrenTotal=p,t.isLeaf=t.visible&&!p,t.val=f,t},updateRootId:function(e){let t,i;return r(e)&&(i=r(e.options)?e.options:{},t=l(e.rootNode,i.rootId,""),r(e.userOptions)&&(e.userOptions.rootId=t),e.rootNode=t),t}}}),i(t,"Core/Axis/TreeGrid/TreeGridAxis.js",[t["Core/Axis/BrokenAxis.js"],t["Core/Axis/GridAxis.js"],t["Gantt/Tree.js"],t["Core/Axis/TreeGrid/TreeGridTick.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"]],function(e,t,i,s,o,r){let n;let{getLevelOptions:l}=o,{addEvent:a,find:d,fireEvent:h,isArray:c,isObject:p,isString:f,merge:u,pick:g,removeEvent:k,wrap:m}=r;function x(e,t){let i=e.collapseEnd||0,s=e.collapseStart||0;return i>=t&&(s-=.5),{from:s,to:i,showPoints:!1}}function b(e,t,s){let o=[],r=[],n={},l=t||!1,a={},h=-1,c=i.getTree(e,{after:function(e){let t=a[e.pos],i=0,s=0;t.children.forEach(function(e){s+=(e.descendants||0)+1,i=Math.max((e.height||0)+1,i)}),t.descendants=s,t.height=i,t.collapsed&&r.push(t)},before:function(e){let t,i;let s=p(e.data,!0)?e.data:{},r=f(s.name)?s.name:"",c=n[e.parent],u=p(c,!0)?a[c.pos]:null;l&&p(u,!0)&&(t=d(u.children,function(e){return e.name===r}))?(i=t.pos,t.nodes.push(e)):i=h++,!a[i]&&(a[i]=t={depth:u?u.depth+1:0,name:r,id:s.id,nodes:[e],children:[],pos:i},-1!==i&&o.push(r),p(u,!0)&&u.children.push(t)),f(e.id)&&(n[e.id]=e),t&&!0===s.collapsed&&(t.collapsed=!0),e.pos=i}});return{categories:o,mapOfIdToNode:n,mapOfPosToGridNode:a=function(e,t){let i=function(e,s,o){let r=e.nodes,n=s+(-1===s?0:t-1),l=(n-s)/2,a=s+l;return r.forEach(function(e){let t=e.data;p(t,!0)&&(t.y=s+(t.seriesIndex||0),delete t.seriesIndex),e.pos=a}),o[a]=e,e.pos=a,e.tickmarkOffset=l+.5,e.collapseStart=n+.5,e.children.forEach(function(e){i(e,n+1,o),n=(e.collapseEnd||0)-.5}),e.collapseEnd=n+.5,o};return i(e["-1"],-1,{})}(a,s),collapsedNodes:r,tree:c}}function y(e){e.target.axes.filter(e=>"treegrid"===e.type).forEach(function(t){let i=t.options||{},s=i.labels,o=t.uniqueNames,r=i.max,n=!t.treeGrid.mapOfPosToGridNode||t.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty}),a=0,d,h;if(n){if(d=t.series.reduce(function(e,t){return t.visible&&((t.options.data||[]).forEach(function(i){t.options.keys&&t.options.keys.length&&(i=t.pointClass.prototype.optionsToObject.call({series:t},i),t.pointClass.setGanttPointAliases(i)),p(i,!0)&&(i.seriesIndex=a,e.push(i))}),!0===o&&a++),e},[]),r&&d.length<r)for(let e=d.length;e<=r;e++)d.push({name:e+"​"});h=b(d,o||!1,!0===o?a:1),t.categories=h.categories,t.treeGrid.mapOfPosToGridNode=h.mapOfPosToGridNode,t.hasNames=!0,t.treeGrid.tree=h.tree,t.series.forEach(function(e){let t=(e.options.data||[]).map(function(t){return c(t)&&e.options.keys&&e.options.keys.length&&d.forEach(function(e){t.indexOf(e.x)>=0&&t.indexOf(e.x2)>=0&&(t=e)}),p(t,!0)?u(t):t});e.visible&&e.setData(t,!1)}),t.treeGrid.mapOptionsToLevel=l({defaults:s,from:1,levels:s&&s.levels,to:t.treeGrid.tree&&t.treeGrid.tree.height}),"beforeRender"===e.type&&(t.treeGrid.collapsedNodes=h.collapsedNodes)}})}function v(e,t){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.type,o=this.ticks,r=o[t],l,a,d;s&&this.treeGrid.mapOfPosToGridNode?((l=i[(d=this.treeGrid.mapOfPosToGridNode[t]).depth])&&(a={labels:l}),!r&&n?o[t]=r=new n(this,t,void 0,void 0,{category:d.name,tickmarkOffset:d.tickmarkOffset,options:a}):(r.parameters.category=d.name,r.options=a,r.addLabel())):e.apply(this,Array.prototype.slice.call(arguments,1))}function P(e,t,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new T(o)),r&&(a(t,"beforeRender",y),a(t,"beforeRedraw",y),a(t,"addSeries",function(e){if(e.options.data){let t=b(e.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(t.collapsedNodes)}}),a(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(e){let t=o.treeGrid.collapse(e);o.brokenAxis&&(o.brokenAxis.setBreaks(t,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(t=>e.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),a(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=u({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle",x:-5,y:-5,height:10,width:10}},uniqueNames:!1},i,{reversed:!0})),e.apply(o,[t,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function G(e){let t=this.options,i="number"==typeof t.linkedTo?this.chart[this.coll]?.[t.linkedTo]:void 0;if("treegrid"===this.type){if(this.min=g(this.userMin,t.min,this.dataMin),this.max=g(this.userMax,t.max,this.dataMax),h(this,"foundExtremes"),this.setAxisTranslation(),this.tickInterval=1,this.tickmarkOffset=.5,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[],i){let e=i.getExtremes();this.min=g(e.min,e.dataMin),this.max=g(e.max,e.dataMax),this.tickPositions=i.tickPositions}this.linkedParent=i}else e.apply(this,Array.prototype.slice.call(arguments,1))}function A(e){let t=this;"treegrid"===this.type&&t.visible&&t.tickPositions.forEach(function(e){let i=t.ticks[e];i.label&&i.label.attachedTreeGridEvents&&(k(i.label.element),i.label.attachedTreeGridEvents=!1)}),e.apply(t,Array.prototype.slice.call(arguments,1))}class T{static compose(o,r,l,a){if(!o.keepProps.includes("treeGrid")){let e=o.prototype;o.keepProps.push("treeGrid"),m(e,"generateTick",v),m(e,"init",P),m(e,"setTickInterval",G),m(e,"redraw",A),e.utils={getNode:i.getNode},n||(n=a)}return t.compose(o,r,a),e.compose(o,l),s.compose(a),o}constructor(e){this.axis=e}setCollapsedStatus(e){let t=this.axis,i=t.chart;t.series.forEach(function(t){let s=t.options.data;if(e.id&&s){let o=i.get(e.id),r=s[t.data.indexOf(o)];o&&r&&(o.collapsed=e.collapsed,r.collapsed=e.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return(t.to!==s.to||t.from!==s.from)&&e.push(t),e},[])}getTickPositions(){let e=this.axis,t=Math.floor(e.min/e.tickInterval)*e.tickInterval,i=Math.ceil(e.max/e.tickInterval)*e.tickInterval;return Object.keys(e.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=t&&r<=i&&!(e.brokenAxis&&e.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}return T}),i(t,"masters/modules/treegrid.src.js",[t["Core/Globals.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(e,t){return t.compose(e.Axis,e.Chart,e.Series,e.Tick),e})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts Gantt JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts Gantt JS v11.4.9 (2026-09-25)
3
3
  *
4
4
  * Tree Grid
5
5
  *
@@ -791,7 +791,7 @@
791
791
  }
792
792
  });
793
793
  // For tree grid, add indentation
794
- if (this.options.type === 'treegrid' &&
794
+ if (this.type === 'treegrid' &&
795
795
  this.treeGrid &&
796
796
  this.treeGrid.mapOfPosToGridNode) {
797
797
  const treeDepth = this.treeGrid.mapOfPosToGridNode[-1].height || 0;
@@ -1105,7 +1105,7 @@
1105
1105
  else {
1106
1106
  // Don't trim ticks which not in min/max range but
1107
1107
  // they are still in the min/max plus tickInterval.
1108
- if (this.options.type !== 'treegrid' &&
1108
+ if (this.type !== 'treegrid' &&
1109
1109
  axis.grid &&
1110
1110
  axis.grid.columns) {
1111
1111
  this.minPointOffset = this.tickInterval;
@@ -1922,7 +1922,7 @@
1922
1922
  * @private
1923
1923
  */
1924
1924
  function wrapGetLabelPosition(proceed, x, y, label, horiz, labelOptions, tickmarkOffset, index, step) {
1925
- const tick = this, lbOptions = pick(tick.options && tick.options.labels, labelOptions), pos = tick.pos, axis = tick.axis, options = axis.options, isTreeGrid = options.type === 'treegrid', result = proceed.apply(tick, [x, y, label, horiz, lbOptions, tickmarkOffset, index, step]);
1925
+ const tick = this, lbOptions = pick(tick.options && tick.options.labels, labelOptions), pos = tick.pos, axis = tick.axis, isTreeGrid = axis.type === 'treegrid', result = proceed.apply(tick, [x, y, label, horiz, lbOptions, tickmarkOffset, index, step]);
1926
1926
  let mapOfPosToGridNode, node, level;
1927
1927
  if (isTreeGrid) {
1928
1928
  const { width = 0, padding = axis.linkedParent ? 0 : 5 } = (lbOptions && isObject(lbOptions.symbol, true) ?
@@ -1947,7 +1947,7 @@
1947
1947
  function wrapRenderLabel(proceed) {
1948
1948
  const tick = this, { pos, axis, label, treeGrid: tickGrid, options: tickOptions } = tick, icon = tickGrid?.labelIcon, labelElement = label?.element, { treeGrid: axisGrid, options: axisOptions, chart, tickPositions } = axis, mapOfPosToGridNode = axisGrid.mapOfPosToGridNode, labelOptions = pick(tickOptions?.labels, axisOptions?.labels), symbolOptions = (labelOptions && isObject(labelOptions.symbol, true) ?
1949
1949
  labelOptions.symbol :
1950
- {}), node = mapOfPosToGridNode && mapOfPosToGridNode[pos], { descendants, depth } = node || {}, hasDescendants = node && descendants && descendants > 0, level = depth, isTreeGridElement = (axisOptions.type === 'treegrid') && labelElement, shouldRender = tickPositions.indexOf(pos) > -1, prefixClassName = 'highcharts-treegrid-node-', prefixLevelClass = prefixClassName + 'level-', styledMode = chart.styledMode;
1950
+ {}), node = mapOfPosToGridNode && mapOfPosToGridNode[pos], { descendants, depth } = node || {}, hasDescendants = node && descendants && descendants > 0, level = depth, isTreeGridElement = (axis.type === 'treegrid') && labelElement, shouldRender = tickPositions.indexOf(pos) > -1, prefixClassName = 'highcharts-treegrid-node-', prefixLevelClass = prefixClassName + 'level-', styledMode = chart.styledMode;
1951
1951
  let collapsed, addClassName, removeClassName;
1952
1952
  if (isTreeGridElement && node) {
1953
1953
  // Add class name for hierarchical styling.
@@ -2422,8 +2422,7 @@
2422
2422
  * @todo Add unit-tests.
2423
2423
  */
2424
2424
  function getTreeGridFromData(data, uniqueNames, numberOfSeries) {
2425
- const categories = [], collapsedNodes = [], mapOfIdToNode = {}, uniqueNamesEnabled = typeof uniqueNames === 'boolean' ?
2426
- uniqueNames : false;
2425
+ const categories = [], collapsedNodes = [], mapOfIdToNode = {}, uniqueNamesEnabled = uniqueNames || false;
2427
2426
  let mapOfPosToGridNode = {}, posIterator = -1;
2428
2427
  // Build the tree from the series data.
2429
2428
  const treeParams = {
@@ -2548,10 +2547,8 @@
2548
2547
  */
2549
2548
  function onBeforeRender(e) {
2550
2549
  const chart = e.target, axes = chart.axes;
2551
- axes.filter(function (axis) {
2552
- return axis.options.type === 'treegrid';
2553
- }).forEach(function (axis) {
2554
- const options = axis.options || {}, labelOptions = options.labels, uniqueNames = options.uniqueNames, max = options.max,
2550
+ axes.filter((axis) => axis.type === 'treegrid').forEach(function (axis) {
2551
+ const options = axis.options || {}, labelOptions = options.labels, uniqueNames = axis.uniqueNames, max = options.max,
2555
2552
  // Check whether any of series is rendering for the first
2556
2553
  // time, visibility has changed, or its data is dirty, and
2557
2554
  // only then update. #10570, #10580. Also check if
@@ -2659,7 +2656,7 @@
2659
2656
  * The tick position in axis values.
2660
2657
  */
2661
2658
  function wrapGenerateTick(proceed, pos) {
2662
- const axis = this, mapOptionsToLevel = axis.treeGrid.mapOptionsToLevel || {}, isTreeGrid = axis.options.type === 'treegrid', ticks = axis.ticks;
2659
+ const axis = this, mapOptionsToLevel = axis.treeGrid.mapOptionsToLevel || {}, isTreeGrid = axis.type === 'treegrid', ticks = axis.ticks;
2663
2660
  let tick = ticks[pos], levelOptions, options, gridNode;
2664
2661
  if (isTreeGrid &&
2665
2662
  axis.treeGrid.mapOfPosToGridNode) {
@@ -2839,7 +2836,7 @@
2839
2836
  function wrapSetTickInterval(proceed) {
2840
2837
  const axis = this, options = axis.options, linkedParent = typeof options.linkedTo === 'number' ?
2841
2838
  this.chart[axis.coll]?.[options.linkedTo] :
2842
- void 0, isTreeGrid = options.type === 'treegrid';
2839
+ void 0, isTreeGrid = axis.type === 'treegrid';
2843
2840
  if (isTreeGrid) {
2844
2841
  axis.min = pick(axis.userMin, options.min, axis.dataMin);
2845
2842
  axis.max = pick(axis.userMax, options.max, axis.dataMax);
@@ -2874,7 +2871,7 @@
2874
2871
  * The original setTickInterval function.
2875
2872
  */
2876
2873
  function wrapRedraw(proceed) {
2877
- const axis = this, options = axis.options, isTreeGrid = options.type === 'treegrid';
2874
+ const axis = this, isTreeGrid = this.type === 'treegrid';
2878
2875
  if (isTreeGrid && axis.visible) {
2879
2876
  axis.tickPositions.forEach(function (pos) {
2880
2877
  const tick = axis.ticks[pos];
@@ -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) 2014-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard / Oystein Moseng
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/treemap",["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:n,extend:a,fireEvent:h,isString:d,merge:p,objectEach:u,pick:c,pushUnique:g}=s;function m(){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 v(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function b(){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 f(){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",v),l(e,"afterShowResetZoom",m),l(e,"getMargins",b),l(e,"redraw",f),l(e,"selection",y),a(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),a=i.formatter&&i.formatter(t)||r(o,{level:t.levelOptions},e)||"";return(d(a)&&!a.length||"← "===a)&&n(l)&&(a=i.showFullPath?l:"← "+l),a}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 n=p(s);t&&(n.x+=t),this.options.rtl&&(n.x+=s.width),n.y=c(n.y,this.yOffset,0),this.group.align(n,!0,r)}}renderButton(t,e,i){let s=this,r=this.chart,o=s.options,l=p(o.buttonTheme),n=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||n.attr(o.style),n}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)},n=this.group?o(this.group,e):e,a,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=(a=t[h.level]).button,a.separator||g?a.separator&&g&&(a.separator.destroy(),delete a.separator):(n+=r*e,a.separator=this.renderSeparator(n,e),s&&l(a.separator,n,e),n+=o(a.separator,e)),t[h.level].updated=!0):(u=this.renderButton(h,n,e),s&&l(u,n,e),n+=o(u,e),g||(c=this.renderSeparator(n,e),s&&l(c,n,e),n+=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,n=t.graphic;if(e.attribs={...e.attribs,class:t.getClassName()},t.shouldDraw())n||(n="text"===e.shapeType?o.text():"image"===e.shapeType?o.image(e.imageUrl||"").attr(e.shapeArgs||{}):o[e.shapeType](e.shapeArgs||{}),t.graphic=n,n.add(e.group)),r&&n.css(r),n.attr(e.attribs).animate(i,!e.isNew&&l,s);else if(n){let e=()=>{t.graphic=n=n&&n.destroy(),"function"==typeof s&&s()};Object.keys(i).length?n.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:n}=i;class a 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||n(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(a.prototype,{setVisible:s.prototype.setVisible}),a}),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:n,relativeLength:a}=e;return{getColor:function(e,i){let s,r,o,l,a,h;let d=i.index,p=i.mapOptionsToLevel,u=i.parentColor,c=i.parentColorIndex,g=i.series,m=i.colors,v=i.siblings,b=g.points,f=g.chart.options.chart;return e&&(s=b[e.i],r=p[e.level]||{},s&&r.colorByPoint&&(l=s.index%(m?m.length:f.colorCount),o=m&&m[l]),g.chart.styledMode||(a=n(s&&s.options.color,r&&r.color,o,u&&(e=>{let i=r&&r.colorVariation;return i&&"brightness"===i.key&&d&&v?t.parse(e).brighten(i.to*(d/v)).get():e})(u),g.color)),h=n(s&&s.options.colorIndex,r&&r.colorIndex,l,c,i.colorIndex)),{color:a,colorIndex:h}},getLevelOptions:function(t){let e,i,a,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,a,d;return o(i)&&r(i.level)&&(a=n((d=l({},i)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,o(t[s=i.level+(a?0:h-1)])?l(!0,t[s],d):t[s]=d),t},{})),d=r(t.to)?t.to:1,a=0;a<=d;a++)u[a]=l({},e,o(i[a])?i[a]:{});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 a(o,l)},setTreeValues:function t(e,s){let r=s.before,o=s.idRoot,l=s.mapIdToNode[o],a=!1!==s.levelIsConstant,h=s.points[e.i],d=h&&h.options||{},p=[],u=0;e.levelDynamic=e.level-(a?0:l.level),e.name=n(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=n(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=n(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,n,a,h,d,p){let{parse:u}=e,{composed:c,noop:g}=s,{column:m,scatter:v}=r.seriesTypes,{getColor:b,getLevelOptions:f,updateRootId:y}=d,{addEvent:x,correctFloat:T,crisp:w,defined:B,error:S,extend:C,fireEvent:L,isArray:P,isObject:A,isString:O,merge:R,pick:D,pushUnique:j,stableSort:M}=p,N=!1;function I(){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:[]},C(i.options,t),C(e.options,t),N=!0):N&&(i.setOptions(i.userOptions),e.setOptions(e.userOptions),N=!1))}class U extends v{static compose(t){j(c,"TreemapSeries")&&x(t,"afterBindAxes",I)}algorithmCalcPoints(t,e,i,s){let r=i.plot,o=i.elArr.length-1,l,n,a,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,n=r.y,h=t/(a=d)):(l=r.x,n=r.y,a=t/(h=p)),s.push({x:l,y:n,width:a,height:T(h)}),0===i.direction?r.y=r.y+h:r.x=r.x+a),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,n=e.y,a=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=n,0===o?(a-=u=r/(c=h),l+=u):(h-=c=r/(u=a),n+=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,n=i.length-1,a=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),a.addElement(h),a.lP.nR>a.lP.lR&&this.algorithmCalcPoints(t,!1,a,s,r),d===n&&this.algorithmCalcPoints(t,!0,a,s,r),++d;return s}alignDataLabel(t,e,i){let s=i.style;s&&!B(s.textOverflow)&&e.text&&e.getBBox().width>(e.text.textWidth||0)&&e.css({textOverflow:"ellipsis",width:s.width+="px"}),m.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=D(this[s&&s.layoutAlgorithm]&&s.layoutAlgorithm,i.layoutAlgorithm),o=i.alternateStartingDirection,l=t.children.filter(t=>!t.ignore),n=[];s&&s.layoutStartingDirection&&(e.direction="vertical"===s.layoutStartingDirection?0:1),n=this[r](e,l);let a=-1;for(let t of l){let i=n[++a];t.values=R(i,{val:t.childrenTotal,direction:o?1-e.direction:e.direction}),t.pointValues=R(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=R(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=R(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,n=e.pointCount<r.animationLimit,a=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=n&&c,m=e.shapeArgs;e.shouldDraw()&&(e.isInside=!0,l&&(d.r=l),R(!0,g?h:d,c?m:{},s?{}:this.pointAttribs(e,e.selected?"select":void 0)),this.colorAttribs&&s&&C(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:m,shapeType:e.shapeType}),a&&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){S(32,!1,void 0,{"treemap.drillToNode":"use treemap.setRootNode"}),this.setRootNode(t,e)}drillUp(){let t=this.nodeMap[this.rootNode];t&&O(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=P(t)?t:[],s=P(e)?e:[],r=i.reduce(function(t,e,i){let s=D(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],n=0,a;for(let e of s[t]||[])n=Math.max((a=this.buildTree(this.points[e].id,e,i+1,s,t)).height+1,n),o.push(a);let h=new this.NodeClass().init(t,e,o,n,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=R(i.drillUpButton,i.breadcrumbs),o=x(s,"setOptions",t=>{let e=t.userOptions;B(e.allowDrillToNode)&&!B(e.allowTraversingTree)&&(e.allowTraversingTree=e.allowDrillToNode,delete e.allowDrillToNode),B(e.drillUpButton)&&!B(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;O(i)&&(e.setState(""),this.setRootNode(i,!0,{trigger:"click"}))}pointAttribs(t,e){let i;let s=A(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},r=t&&s[t.node.level]||{},o=this.options,l=e&&o.states&&o.states[e]||{},n=t&&t.getClassName()||"",a={stroke:t&&t.borderColor||r.borderColor||l.borderColor||o.borderColor,"stroke-width":D(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!==n.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==n.indexOf("highcharts-internal-node-interactive")?(i=D(l.opacity,o.opacity),a.fill=u(a.fill).setOpacity(i).get(),a.cursor="pointer"):-1!==n.indexOf("highcharts-internal-node")?a.fill="none":e&&(a.fill=u(a.fill).brighten(l.brightness).get()),a}setColorRecursive(t,e,i,s,r){let o=this&&this.chart,l=o&&o.options&&o.options.colors;if(t){let o=b(t,{colors:l,index:s,mapOptionsToLevel:this.mapOptionsToLevel,parentColor:e,parentColorIndex:i,series:this,siblings:r}),n=this.points[t.i];n&&(n.color=o.color,n.colorIndex=o.colorIndex);let a=-1;for(let e of t.children||[])this.setColorRecursive(e,o.color,o.colorIndex,++a,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:n,y:a}=e,h=o(t),d=w(i.toPixels(n,!0),h,!0),p=w(i.toPixels(n+l,!0),h,!0),u=w(s.toPixels(a,!0),h,!0),c=w(s.toPixels(a+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){L(this,"setRootNode",C({newRootId:t,previousRootId:this.rootNode,redraw:D(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],n=0;for(let e of t.children)e=this.setTreeValues(e),o.push(e),e.ignore||(n+=e.val);M(o,(t,e)=>(t.sortIndex||0)-(e.sortIndex||0));let a=D(l&&l.options.value,n);return l&&(l.value=a),C(t,{children:o,childrenTotal:n,ignore:!(D(l&&l.visible,!0)&&a>0),isLeaf:t.visible&&!n,levelDynamic:t.level-(r?0:s.level),name:D(l&&l.name,""),sortIndex:D(l&&l.sortIndex,-a),val:a}),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 n=t.tree=t.getTree();s=t.nodeMap[i],""===i||s||(t.setRootNode("",!1),i=t.rootNode,s=t.nodeMap[i]),t.mapOptionsToLevel=f({from:s.level+1,levels:e.levels,to:n.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(n),t.axisRatio=t.xAxis.len/t.yAxis.len,t.nodeMap[""].pointValues=r={x:0,y:0,width:100,height:100},t.nodeMap[""].values=o=R(r,{width:r.width*t.axisRatio,direction:"vertical"===e.layoutStartingDirection?0:1,val:n.val}),t.calculateChildrenAreas(n,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=R(v.defaultOptions,a),C(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:n,NodeClass:l,trackerGroups:["group","dataLabelsGroup"],utils:h}),i.compose(U),r.registerSeriesType("treemap",U),U}),i(e,"masters/modules/treemap.src.js",[e["Core/Globals.js"],e["Extensions/Breadcrumbs/Breadcrumbs.js"],e["Series/Treemap/TreemapSeries.js"]],function(t,e,i){return t.Breadcrumbs=t.Breadcrumbs||e,t.Breadcrumbs.compose(t.Chart,t.defaultOptions),i.compose(t.Series),t})});
8
+ */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/treemap",["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:n,extend:a,fireEvent:h,isString:d,merge:p,objectEach:u,pick:c,pushUnique:g}=s;function m(){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 v(){this.breadcrumbs&&(this.breadcrumbs.destroy(),this.breadcrumbs=void 0)}function b(){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 f(){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",v),l(e,"afterShowResetZoom",m),l(e,"getMargins",b),l(e,"redraw",f),l(e,"selection",y),a(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),a=i.formatter&&i.formatter(t)||r(o,{level:t.levelOptions},e)||"";return(d(a)&&!a.length||"← "===a)&&n(l)&&(a=i.showFullPath?l:"← "+l),a}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 n=p(s);t&&(n.x+=t),this.options.rtl&&(n.x+=s.width),n.y=c(n.y,this.yOffset,0),this.group.align(n,!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)},n=this.group?o(this.group,e):e,a,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=(a=t[h.level]).button,a.separator||g?a.separator&&g&&(a.separator.destroy(),delete a.separator):(n+=r*e,a.separator=this.renderSeparator(n,e),s&&l(a.separator,n,e),n+=o(a.separator,e)),t[h.level].updated=!0):(u=this.renderButton(h,n,e),s&&l(u,n,e),n+=o(u,e),g||(c=this.renderSeparator(n,e),s&&l(c,n,e),n+=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,n=t.graphic;if(e.attribs={...e.attribs,class:t.getClassName()},t.shouldDraw())n||(n="text"===e.shapeType?o.text():"image"===e.shapeType?o.image(e.imageUrl||"").attr(e.shapeArgs||{}):o[e.shapeType](e.shapeArgs||{}),t.graphic=n,n.add(e.group)),r&&n.css(r),n.attr(e.attribs).animate(i,!e.isNew&&l,s);else if(n){let e=()=>{t.graphic=n=n&&n.destroy(),"function"==typeof s&&s()};Object.keys(i).length?n.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:n}=i;class a 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||n(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(a.prototype,{setVisible:s.prototype.setVisible}),a}),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:n,relativeLength:a}=e;return{getColor:function(e,i){let s,r,o,l,a,h;let d=i.index,p=i.mapOptionsToLevel,u=i.parentColor,c=i.parentColorIndex,g=i.series,m=i.colors,v=i.siblings,b=g.points,f=g.chart.options.chart;return e&&(s=b[e.i],r=p[e.level]||{},s&&r.colorByPoint&&(l=s.index%(m?m.length:f.colorCount),o=m&&m[l]),g.chart.styledMode||(a=n(s&&s.options.color,r&&r.color,o,u&&(e=>{let i=r&&r.colorVariation;return i&&"brightness"===i.key&&d&&v?t.parse(e).brighten(i.to*(d/v)).get():e})(u),g.color)),h=n(s&&s.options.colorIndex,r&&r.colorIndex,l,c,i.colorIndex)),{color:a,colorIndex:h}},getLevelOptions:function(t){let e,i,a,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,a,d;return o(i)&&r(i.level)&&(a=n((d=l({},i)).levelIsConstant,e.levelIsConstant),delete d.levelIsConstant,delete d.level,o(t[s=i.level+(a?0:h-1)])?l(!0,t[s],d):t[s]=d),t},{})),d=r(t.to)?t.to:1,a=0;a<=d;a++)u[a]=l({},e,o(i[a])?i[a]:{});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 a(o,l)},setTreeValues:function t(e,s){let r=s.before,o=s.idRoot,l=s.mapIdToNode[o],a=!1!==s.levelIsConstant,h=s.points[e.i],d=h&&h.options||{},p=[],u=0;e.levelDynamic=e.level-(a?0:l.level),e.name=n(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=n(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=n(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,n,a,h,d,p){let{parse:u}=e,{composed:c,noop:g}=s,{column:m,scatter:v}=r.seriesTypes,{getColor:b,getLevelOptions:f,updateRootId:y}=d,{addEvent:x,correctFloat:T,crisp:w,defined:B,error:S,extend:C,fireEvent:L,isArray:P,isObject:A,isString:O,merge:R,pick:D,pushUnique:j,stableSort:M}=p,N=!1;function I(){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:[]},C(i.options,t),C(e.options,t),N=!0):N&&(i.setOptions(i.userOptions),e.setOptions(e.userOptions),N=!1))}class U extends v{static compose(t){j(c,"TreemapSeries")&&x(t,"afterBindAxes",I)}algorithmCalcPoints(t,e,i,s){let r=i.plot,o=i.elArr.length-1,l,n,a,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,n=r.y,h=t/(a=d)):(l=r.x,n=r.y,a=t/(h=p)),s.push({x:l,y:n,width:a,height:T(h)}),0===i.direction?r.y=r.y+h:r.x=r.x+a),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,n=e.y,a=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=n,0===o?(a-=u=r/(c=h),l+=u):(h-=c=r/(u=a),n+=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,n=i.length-1,a=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),a.addElement(h),a.lP.nR>a.lP.lR&&this.algorithmCalcPoints(t,!1,a,s,r),d===n&&this.algorithmCalcPoints(t,!0,a,s,r),++d;return s}alignDataLabel(t,e,i){let s=i.style;s&&!B(s.textOverflow)&&e.text&&e.getBBox().width>(e.text.textWidth||0)&&e.css({textOverflow:"ellipsis",width:s.width+="px"}),m.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=D(this[s&&s.layoutAlgorithm]&&s.layoutAlgorithm,i.layoutAlgorithm),o=i.alternateStartingDirection,l=t.children.filter(t=>!t.ignore),n=[];s&&s.layoutStartingDirection&&(e.direction="vertical"===s.layoutStartingDirection?0:1),n=this[r](e,l);let a=-1;for(let t of l){let i=n[++a];t.values=R(i,{val:t.childrenTotal,direction:o?1-e.direction:e.direction}),t.pointValues=R(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=R(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=R(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,n=e.pointCount<r.animationLimit,a=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=n&&c,m=e.shapeArgs;e.shouldDraw()&&(e.isInside=!0,l&&(d.r=l),R(!0,g?h:d,c?m:{},s?{}:this.pointAttribs(e,e.selected?"select":void 0)),this.colorAttribs&&s&&C(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:m,shapeType:e.shapeType}),a&&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){S(32,!1,void 0,{"treemap.drillToNode":"use treemap.setRootNode"}),this.setRootNode(t,e)}drillUp(){let t=this.nodeMap[this.rootNode];t&&O(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=P(t)?t:[],s=P(e)?e:[],r=i.reduce(function(t,e,i){let s=D(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],n=0,a;for(let e of s[t]||[])n=Math.max((a=this.buildTree(this.points[e].id,e,i+1,s,t)).height+1,n),o.push(a);let h=new this.NodeClass().init(t,e,o,n,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=R(i.drillUpButton,i.breadcrumbs),o=x(s,"setOptions",t=>{let e=t.userOptions;B(e.allowDrillToNode)&&!B(e.allowTraversingTree)&&(e.allowTraversingTree=e.allowDrillToNode,delete e.allowDrillToNode),B(e.drillUpButton)&&!B(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;O(i)&&(e.setState(""),this.setRootNode(i,!0,{trigger:"click"}))}pointAttribs(t,e){let i;let s=A(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},r=t&&s[t.node.level]||{},o=this.options,l=e&&o.states&&o.states[e]||{},n=t&&t.getClassName()||"",a={stroke:t&&t.borderColor||r.borderColor||l.borderColor||o.borderColor,"stroke-width":D(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!==n.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==n.indexOf("highcharts-internal-node-interactive")?(i=D(l.opacity,o.opacity),a.fill=u(a.fill).setOpacity(i).get(),a.cursor="pointer"):-1!==n.indexOf("highcharts-internal-node")?a.fill="none":e&&(a.fill=u(a.fill).brighten(l.brightness).get()),a}setColorRecursive(t,e,i,s,r){let o=this&&this.chart,l=o&&o.options&&o.options.colors;if(t){let o=b(t,{colors:l,index:s,mapOptionsToLevel:this.mapOptionsToLevel,parentColor:e,parentColorIndex:i,series:this,siblings:r}),n=this.points[t.i];n&&(n.color=o.color,n.colorIndex=o.colorIndex);let a=-1;for(let e of t.children||[])this.setColorRecursive(e,o.color,o.colorIndex,++a,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:n,y:a}=e,h=o(t),d=w(i.toPixels(n,!0),h,!0),p=w(i.toPixels(n+l,!0),h,!0),u=w(s.toPixels(a,!0),h,!0),c=w(s.toPixels(a+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){L(this,"setRootNode",C({newRootId:t,previousRootId:this.rootNode,redraw:D(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],n=0;for(let e of t.children)e=this.setTreeValues(e),o.push(e),e.ignore||(n+=e.val);M(o,(t,e)=>(t.sortIndex||0)-(e.sortIndex||0));let a=D(l&&l.options.value,n);return l&&(l.value=a),C(t,{children:o,childrenTotal:n,ignore:!(D(l&&l.visible,!0)&&a>0),isLeaf:t.visible&&!n,levelDynamic:t.level-(r?0:s.level),name:D(l&&l.name,""),sortIndex:D(l&&l.sortIndex,-a),val:a}),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 n=t.tree=t.getTree();s=t.nodeMap[i],""===i||s||(t.setRootNode("",!1),i=t.rootNode,s=t.nodeMap[i]),t.mapOptionsToLevel=f({from:s.level+1,levels:e.levels,to:n.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(n),t.axisRatio=t.xAxis.len/t.yAxis.len,t.nodeMap[""].pointValues=r={x:0,y:0,width:100,height:100},t.nodeMap[""].values=o=R(r,{width:r.width*t.axisRatio,direction:"vertical"===e.layoutStartingDirection?0:1,val:n.val}),t.calculateChildrenAreas(n,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=R(v.defaultOptions,a),C(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:n,NodeClass:l,trackerGroups:["group","dataLabelsGroup"],utils:h}),i.compose(U),r.registerSeriesType("treemap",U),U}),i(e,"masters/modules/treemap.src.js",[e["Core/Globals.js"],e["Extensions/Breadcrumbs/Breadcrumbs.js"],e["Series/Treemap/TreemapSeries.js"]],function(t,e,i){return t.Breadcrumbs=t.Breadcrumbs||e,t.Breadcrumbs.compose(t.Chart,t.defaultOptions),i.compose(t.Series),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) 2014-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard / Oystein Moseng
@@ -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
  * Variable Pie module for Highcharts
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
  * Variable Pie module for Highcharts
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
  * Highcharts variwide 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
  * Highcharts variwide module
5
5
  *
package/modules/vector.js CHANGED
@@ -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
  * Vector plot series 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
  * Vector plot series module
5
5
  *
package/modules/venn.js CHANGED
@@ -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) 2017-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard
@@ -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) 2017-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard
@@ -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
  * Wind barb series 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
  * Wind barb series 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
  * (c) 2016-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard
@@ -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
package/modules/xrange.js CHANGED
@@ -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
  * X-range 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
  * X-range series
5
5
  *
@@ -156,7 +156,7 @@ declare module "../highcharts" {
156
156
  * `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
157
157
  * different states.
158
158
  */
159
- style?: Highcharts.SVGAttributes;
159
+ style?: Highcharts.CSSObject;
160
160
  /**
161
161
  * (Highcharts) Whether to use HTML to render the breadcrumbs items
162
162
  * texts.
@@ -156,7 +156,7 @@ declare module "../highcharts.src" {
156
156
  * `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
157
157
  * different states.
158
158
  */
159
- style?: Highcharts.SVGAttributes;
159
+ style?: Highcharts.CSSObject;
160
160
  /**
161
161
  * (Highcharts) Whether to use HTML to render the breadcrumbs items
162
162
  * texts.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "highcharts",
3
3
  "description": "JavaScript charting framework",
4
4
  "homepage": "http://www.highcharts.com",
5
- "version": "11.4.7",
5
+ "version": "11.4.9",
6
6
  "author": "Highsoft AS <support@highcharts.com> (http://www.highcharts.com/about)",
7
7
  "main": "highcharts.js",
8
8
  "repository": {
@@ -20,5 +20,17 @@
20
20
  ],
21
21
  "bugs": "https://github.com/highcharts/highcharts/issues",
22
22
  "license": "https://www.highcharts.com/license",
23
- "types": "highcharts.d.ts"
23
+ "types": "highcharts.d.ts",
24
+ "peerDependencies": {
25
+ "jspdf": "^4.1.0",
26
+ "svg2pdf.js": "^2.7.0"
27
+ },
28
+ "peerDependenciesMeta": {
29
+ "jspdf": {
30
+ "optional": true
31
+ },
32
+ "svg2pdf.js": {
33
+ "optional": true
34
+ }
35
+ }
24
36
  }