highcharts 11.4.3 → 11.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +1 -1
  3. package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
  4. package/es-modules/Accessibility/Components/NavigatorComponent.js +2 -2
  5. package/es-modules/Accessibility/KeyboardNavigation.js +1 -1
  6. package/es-modules/Accessibility/KeyboardNavigationHandler.js +5 -5
  7. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  8. package/es-modules/Accessibility/Options/LangDefaults.js +3 -3
  9. package/es-modules/Accessibility/Utils/EventProvider.js +1 -1
  10. package/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -1
  11. package/es-modules/Core/Animation/Fx.js +4 -2
  12. package/es-modules/Core/Axis/Axis.js +3 -3
  13. package/es-modules/Core/Axis/AxisDefaults.js +1 -0
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
  15. package/es-modules/Core/Axis/GridAxis.js +1 -1
  16. package/es-modules/Core/Axis/OrdinalAxis.js +5 -2
  17. package/es-modules/Core/Axis/RadialAxisDefaults.js +3 -3
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +1 -1
  19. package/es-modules/Core/Chart/Chart.js +16 -7
  20. package/es-modules/Core/Chart/MapChart.js +3 -3
  21. package/es-modules/Core/Chart/StockChart.js +1 -1
  22. package/es-modules/Core/Color/Color.js +2 -2
  23. package/es-modules/Core/Defaults.js +27 -1
  24. package/es-modules/Core/Geometry/GeometryUtilities.js +22 -0
  25. package/es-modules/Core/Globals.js +1 -1
  26. package/es-modules/Core/Legend/Legend.js +82 -14
  27. package/es-modules/Core/MSPointer.js +42 -1
  28. package/es-modules/Core/Pointer.js +10 -6
  29. package/es-modules/Core/Renderer/HTML/AST.js +6 -0
  30. package/es-modules/Core/Renderer/HTML/HTMLElement.js +2 -2
  31. package/es-modules/Core/Renderer/SVG/SVGElement.js +31 -98
  32. package/es-modules/Core/Renderer/SVG/SVGLabel.js +20 -0
  33. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +29 -14
  34. package/es-modules/Core/Renderer/SVG/Symbols.js +18 -18
  35. package/es-modules/Core/Responsive.js +6 -1
  36. package/es-modules/Core/Series/DataLabel.js +1 -10
  37. package/es-modules/Core/Series/DataSeriesComposition.js +0 -2
  38. package/es-modules/Core/Series/Point.js +7 -10
  39. package/es-modules/Core/Series/Series.js +40 -24
  40. package/es-modules/Core/Series/SeriesDefaults.js +18 -12
  41. package/es-modules/Core/Templating.js +2 -2
  42. package/es-modules/Core/Tooltip.js +6 -3
  43. package/es-modules/Data/Connectors/JSONConnector.js +1 -0
  44. package/es-modules/Data/Converters/CSVConverter.js +1 -1
  45. package/es-modules/Data/Converters/DataConverter.js +7 -7
  46. package/es-modules/Data/DataTable.js +106 -5
  47. package/es-modules/Data/Formula/FormulaParser.js +2 -2
  48. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +1 -1
  49. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +1 -1
  50. package/es-modules/Extensions/Annotations/NavigationBindings.js +1 -2
  51. package/es-modules/Extensions/Boost/Boost.js +1 -1
  52. package/es-modules/Extensions/Boost/BoostChart.js +8 -2
  53. package/es-modules/Extensions/Boost/BoostSeries.js +41 -10
  54. package/es-modules/Extensions/Boost/WGLShader.js +1 -1
  55. package/es-modules/Extensions/BorderRadius.js +3 -3
  56. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +0 -38
  57. package/es-modules/Extensions/Data.js +11 -11
  58. package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -2
  59. package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
  60. package/es-modules/Extensions/DownloadURL.js +1 -1
  61. package/es-modules/Extensions/Drilldown/Drilldown.js +0 -2
  62. package/es-modules/Extensions/Exporting/Exporting.js +14 -14
  63. package/es-modules/Extensions/OverlappingDataLabels.js +36 -5
  64. package/es-modules/Extensions/Pane/PaneDefaults.js +3 -2
  65. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +1 -1
  66. package/es-modules/Extensions/Sonification/MIDI.js +7 -7
  67. package/es-modules/Extensions/Sonification/SonificationInstrument.js +0 -1
  68. package/es-modules/Extensions/Sonification/TimelineFromChart.js +1 -3
  69. package/es-modules/Extensions/TextPath.js +225 -0
  70. package/es-modules/Maps/MapUtilities.js +1 -20
  71. package/es-modules/Maps/MapView.js +3 -1
  72. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +3 -0
  73. package/es-modules/Series/Area/AreaSeries.js +5 -0
  74. package/es-modules/Series/Area/AreaSeriesDefaults.js +1 -1
  75. package/es-modules/Series/Bar/BarSeries.js +1 -1
  76. package/es-modules/Series/Bellcurve/BellcurveSeriesDefaults.js +2 -2
  77. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +2 -1
  78. package/es-modules/Series/Bubble/BubbleLegendComposition.js +4 -7
  79. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +3 -3
  80. package/es-modules/Series/Bubble/BubbleSeries.js +4 -4
  81. package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
  82. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -2
  83. package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +2 -2
  84. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +2 -2
  85. package/es-modules/Series/Flags/FlagsSeries.js +2 -2
  86. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +1 -1
  87. package/es-modules/Series/Gantt/GanttSeriesDefaults.js +1 -1
  88. package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
  89. package/es-modules/Series/HLC/HLCSeries.js +1 -1
  90. package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +2 -2
  91. package/es-modules/Series/Item/ItemSeries.js +1 -1
  92. package/es-modules/Series/Map/MapSeries.js +1 -1
  93. package/es-modules/Series/Map/MapSeriesDefaults.js +2 -2
  94. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -1
  95. package/es-modules/Series/Organization/OrganizationSeries.js +3 -0
  96. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  97. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +8 -5
  98. package/es-modules/Series/Pie/PieDataLabel.js +7 -6
  99. package/es-modules/Series/Pie/PiePoint.js +6 -6
  100. package/es-modules/Series/Pie/PieSeriesDefaults.js +11 -10
  101. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  102. package/es-modules/Series/Sankey/SankeySeries.js +7 -4
  103. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +1 -1
  104. package/es-modules/Series/Sunburst/SunburstSeries.js +8 -5
  105. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +2 -2
  106. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -2
  107. package/es-modules/Series/Treegraph/TreegraphSeries.js +23 -2
  108. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +2 -2
  109. package/es-modules/Series/Treemap/TreemapPoint.js +2 -1
  110. package/es-modules/Series/Treemap/TreemapSeries.js +15 -7
  111. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +15 -1
  112. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +2 -2
  113. package/es-modules/Series/Variwide/VariwideComposition.js +1 -1
  114. package/es-modules/Series/Vector/VectorSeries.js +1 -1
  115. package/es-modules/Series/Windbarb/WindbarbSeries.js +2 -2
  116. package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
  117. package/es-modules/Series/Wordcloud/WordcloudSeriesDefaults.js +1 -1
  118. package/es-modules/Stock/Indicators/AD/ADIndicator.js +1 -1
  119. package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
  120. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
  121. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
  122. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
  123. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -3
  124. package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +1 -1
  125. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +1 -1
  126. package/es-modules/Stock/Indicators/PC/PCIndicator.js +1 -1
  127. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
  128. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +1 -1
  129. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -3
  130. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  131. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +2 -2
  132. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +3 -3
  133. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +1 -1
  134. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +1 -1
  135. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
  136. package/es-modules/Stock/Navigator/Navigator.js +141 -55
  137. package/es-modules/Stock/Navigator/NavigatorDefaults.js +1 -1
  138. package/es-modules/Stock/RangeSelector/RangeSelector.js +1 -1
  139. package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +1 -1
  140. package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -1
  141. package/es-modules/Stock/StockTools/StockToolbar.js +115 -37
  142. package/es-modules/Stock/StockTools/StockToolsDefaults.js +7 -1
  143. package/es-modules/Stock/StockTools/StockToolsGui.js +24 -23
  144. package/es-modules/Stock/StockTools/StockToolsUtilities.js +26 -0
  145. package/es-modules/masters/highcharts-more.src.js +2 -2
  146. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  147. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  148. package/es-modules/masters/indicators/ao.src.js +1 -1
  149. package/es-modules/masters/indicators/apo.src.js +1 -1
  150. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  151. package/es-modules/masters/indicators/aroon.src.js +1 -1
  152. package/es-modules/masters/indicators/atr.src.js +1 -1
  153. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  154. package/es-modules/masters/indicators/cci.src.js +1 -1
  155. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  156. package/es-modules/masters/indicators/cmf.src.js +1 -1
  157. package/es-modules/masters/indicators/cmo.src.js +1 -1
  158. package/es-modules/masters/indicators/dema.src.js +1 -1
  159. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  160. package/es-modules/masters/indicators/dmi.src.js +1 -1
  161. package/es-modules/masters/indicators/dpo.src.js +1 -1
  162. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  163. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  164. package/es-modules/masters/indicators/indicators.src.js +1 -1
  165. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  166. package/es-modules/masters/indicators/klinger.src.js +1 -1
  167. package/es-modules/masters/indicators/macd.src.js +1 -1
  168. package/es-modules/masters/indicators/mfi.src.js +1 -1
  169. package/es-modules/masters/indicators/momentum.src.js +1 -1
  170. package/es-modules/masters/indicators/natr.src.js +1 -1
  171. package/es-modules/masters/indicators/obv.src.js +1 -1
  172. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  173. package/es-modules/masters/indicators/ppo.src.js +1 -1
  174. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  175. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  176. package/es-modules/masters/indicators/psar.src.js +1 -1
  177. package/es-modules/masters/indicators/regressions.src.js +1 -1
  178. package/es-modules/masters/indicators/roc.src.js +1 -1
  179. package/es-modules/masters/indicators/rsi.src.js +1 -1
  180. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  181. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  182. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  183. package/es-modules/masters/indicators/tema.src.js +1 -1
  184. package/es-modules/masters/indicators/trendline.src.js +1 -1
  185. package/es-modules/masters/indicators/trix.src.js +1 -1
  186. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  187. package/es-modules/masters/indicators/vwap.src.js +1 -1
  188. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  189. package/es-modules/masters/indicators/wma.src.js +1 -1
  190. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  191. package/es-modules/masters/modules/arc-diagram.src.js +2 -3
  192. package/es-modules/masters/modules/cylinder.src.js +1 -1
  193. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  194. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  195. package/es-modules/masters/modules/export-data.src.js +1 -1
  196. package/es-modules/masters/modules/funnel3d.src.js +2 -2
  197. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  198. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  199. package/es-modules/masters/modules/map.src.js +1 -1
  200. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  201. package/es-modules/masters/modules/organization.src.js +1 -1
  202. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  203. package/es-modules/masters/modules/pyramid3d.src.js +3 -3
  204. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  205. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  206. package/es-modules/masters/modules/textpath.src.d.ts +1 -0
  207. package/es-modules/masters/modules/textpath.src.js +16 -0
  208. package/es-modules/masters/modules/tilemap.src.js +1 -1
  209. package/es-modules/masters/modules/treegraph.src.js +1 -1
  210. package/es-modules/tsconfig.tsbuildinfo +1 -1
  211. package/highcharts-3d.js +2 -2
  212. package/highcharts-3d.src.js +4 -4
  213. package/highcharts-gantt.js +3 -3
  214. package/highcharts-gantt.src.js +3374 -3042
  215. package/highcharts-more.d.ts +42 -2
  216. package/highcharts-more.js +2 -2
  217. package/highcharts-more.src.d.ts +42 -2
  218. package/highcharts-more.src.js +260 -35
  219. package/highcharts.d.ts +828 -428
  220. package/highcharts.js +3 -3
  221. package/highcharts.src.d.ts +828 -428
  222. package/highcharts.src.js +5844 -5600
  223. package/highmaps.js +3 -3
  224. package/highmaps.src.js +3270 -3043
  225. package/highstock.js +3 -3
  226. package/highstock.src.js +3379 -3048
  227. package/indicators/acceleration-bands.js +2 -2
  228. package/indicators/acceleration-bands.src.js +4 -4
  229. package/indicators/accumulation-distribution.js +2 -2
  230. package/indicators/accumulation-distribution.src.js +5 -5
  231. package/indicators/ao.js +2 -2
  232. package/indicators/ao.src.js +4 -4
  233. package/indicators/apo.js +2 -2
  234. package/indicators/apo.src.js +5 -5
  235. package/indicators/aroon-oscillator.js +2 -2
  236. package/indicators/aroon-oscillator.src.js +4 -4
  237. package/indicators/aroon.js +2 -2
  238. package/indicators/aroon.src.js +5 -5
  239. package/indicators/atr.js +2 -2
  240. package/indicators/atr.src.js +4 -4
  241. package/indicators/bollinger-bands.js +2 -2
  242. package/indicators/bollinger-bands.src.js +4 -4
  243. package/indicators/cci.js +2 -2
  244. package/indicators/cci.src.js +4 -4
  245. package/indicators/chaikin.js +2 -2
  246. package/indicators/chaikin.src.js +6 -6
  247. package/indicators/cmf.js +2 -2
  248. package/indicators/cmf.src.js +5 -5
  249. package/indicators/cmo.js +2 -2
  250. package/indicators/cmo.src.js +4 -4
  251. package/indicators/dema.js +2 -2
  252. package/indicators/dema.src.js +4 -4
  253. package/indicators/disparity-index.js +2 -2
  254. package/indicators/disparity-index.src.js +4 -4
  255. package/indicators/dmi.js +2 -2
  256. package/indicators/dmi.src.js +4 -4
  257. package/indicators/dpo.js +2 -2
  258. package/indicators/dpo.src.js +4 -4
  259. package/indicators/ema.js +1 -1
  260. package/indicators/ema.src.js +2 -2
  261. package/indicators/ichimoku-kinko-hyo.js +2 -2
  262. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  263. package/indicators/indicators-all.js +2 -2
  264. package/indicators/indicators-all.src.js +29 -29
  265. package/indicators/indicators.js +2 -2
  266. package/indicators/indicators.src.js +5 -5
  267. package/indicators/keltner-channels.js +2 -2
  268. package/indicators/keltner-channels.src.js +4 -4
  269. package/indicators/klinger.js +2 -2
  270. package/indicators/klinger.src.js +4 -4
  271. package/indicators/macd.js +2 -2
  272. package/indicators/macd.src.js +4 -4
  273. package/indicators/mfi.js +2 -2
  274. package/indicators/mfi.src.js +5 -5
  275. package/indicators/momentum.js +2 -2
  276. package/indicators/momentum.src.js +4 -4
  277. package/indicators/natr.js +2 -2
  278. package/indicators/natr.src.js +4 -4
  279. package/indicators/obv.js +2 -2
  280. package/indicators/obv.src.js +4 -4
  281. package/indicators/pivot-points.js +2 -2
  282. package/indicators/pivot-points.src.js +7 -7
  283. package/indicators/ppo.js +2 -2
  284. package/indicators/ppo.src.js +5 -5
  285. package/indicators/price-channel.js +2 -2
  286. package/indicators/price-channel.src.js +5 -5
  287. package/indicators/price-envelopes.js +2 -2
  288. package/indicators/price-envelopes.src.js +4 -4
  289. package/indicators/psar.js +2 -2
  290. package/indicators/psar.src.js +5 -5
  291. package/indicators/regressions.js +2 -2
  292. package/indicators/regressions.src.js +5 -5
  293. package/indicators/roc.js +2 -2
  294. package/indicators/roc.src.js +4 -4
  295. package/indicators/rsi.js +2 -2
  296. package/indicators/rsi.src.js +4 -4
  297. package/indicators/slow-stochastic.js +2 -2
  298. package/indicators/slow-stochastic.src.js +6 -6
  299. package/indicators/stochastic.js +2 -2
  300. package/indicators/stochastic.src.js +4 -4
  301. package/indicators/supertrend.js +2 -2
  302. package/indicators/supertrend.src.js +7 -7
  303. package/indicators/tema.js +2 -2
  304. package/indicators/tema.src.js +4 -4
  305. package/indicators/trendline.js +2 -2
  306. package/indicators/trendline.src.js +5 -5
  307. package/indicators/trix.js +2 -2
  308. package/indicators/trix.src.js +4 -4
  309. package/indicators/volume-by-price.js +2 -2
  310. package/indicators/volume-by-price.src.js +4 -4
  311. package/indicators/vwap.js +2 -2
  312. package/indicators/vwap.src.js +5 -5
  313. package/indicators/williams-r.js +2 -2
  314. package/indicators/williams-r.src.js +5 -5
  315. package/indicators/wma.js +2 -2
  316. package/indicators/wma.src.js +4 -4
  317. package/indicators/zigzag.js +2 -2
  318. package/indicators/zigzag.src.js +4 -4
  319. package/modules/accessibility.js +2 -2
  320. package/modules/accessibility.src.js +162 -77
  321. package/modules/annotations-advanced.js +2 -2
  322. package/modules/annotations-advanced.src.js +8 -9
  323. package/modules/annotations.js +2 -2
  324. package/modules/annotations.src.js +8 -9
  325. package/modules/arc-diagram.d.ts +120 -1
  326. package/modules/arc-diagram.js +2 -2
  327. package/modules/arc-diagram.src.d.ts +120 -1
  328. package/modules/arc-diagram.src.js +9363 -5
  329. package/modules/arrow-symbols.js +2 -2
  330. package/modules/arrow-symbols.src.js +3 -3
  331. package/modules/boost-canvas.js +2 -2
  332. package/modules/boost-canvas.src.js +53 -16
  333. package/modules/boost.js +2 -2
  334. package/modules/boost.src.js +54 -17
  335. package/modules/broken-axis.js +2 -2
  336. package/modules/broken-axis.src.js +3 -3
  337. package/modules/bullet.js +2 -2
  338. package/modules/bullet.src.js +3 -3
  339. package/modules/coloraxis.js +2 -2
  340. package/modules/coloraxis.src.js +10 -6
  341. package/modules/current-date-indicator.js +2 -2
  342. package/modules/current-date-indicator.src.js +3 -3
  343. package/modules/cylinder.js +2 -2
  344. package/modules/cylinder.src.js +4 -4
  345. package/modules/data-tools.js +2 -2
  346. package/modules/data-tools.src.js +120 -18
  347. package/modules/data.js +2 -2
  348. package/modules/data.src.js +14 -14
  349. package/modules/datagrouping.js +2 -2
  350. package/modules/datagrouping.src.js +5 -6
  351. package/modules/debugger.js +2 -2
  352. package/modules/debugger.src.js +3 -3
  353. package/modules/dependency-wheel.js +2 -2
  354. package/modules/dependency-wheel.src.js +8 -7
  355. package/modules/dotplot.js +2 -2
  356. package/modules/dotplot.src.js +3 -3
  357. package/modules/drag-panes.js +2 -2
  358. package/modules/drag-panes.src.js +4 -4
  359. package/modules/draggable-points.js +2 -2
  360. package/modules/draggable-points.src.js +3 -3
  361. package/modules/drilldown.js +2 -2
  362. package/modules/drilldown.src.js +3 -43
  363. package/modules/dumbbell.js +2 -2
  364. package/modules/dumbbell.src.js +5 -5
  365. package/modules/export-data.js +2 -2
  366. package/modules/export-data.src.js +5 -5
  367. package/modules/exporting.js +2 -2
  368. package/modules/exporting.src.js +17 -17
  369. package/modules/flowmap.js +2 -2
  370. package/modules/flowmap.src.js +3 -3
  371. package/modules/full-screen.js +2 -2
  372. package/modules/full-screen.src.js +3 -3
  373. package/modules/funnel.js +2 -2
  374. package/modules/funnel.src.js +3 -3
  375. package/modules/funnel3d.js +2 -2
  376. package/modules/funnel3d.src.js +4 -4
  377. package/modules/gantt.js +2 -2
  378. package/modules/gantt.src.js +155 -67
  379. package/modules/geoheatmap.js +2 -2
  380. package/modules/geoheatmap.src.js +3 -3
  381. package/modules/grid-axis.js +2 -2
  382. package/modules/grid-axis.src.js +4 -4
  383. package/modules/heatmap.js +2 -2
  384. package/modules/heatmap.src.js +12 -8
  385. package/modules/heikinashi.js +2 -2
  386. package/modules/heikinashi.src.js +4 -4
  387. package/modules/histogram-bellcurve.js +2 -2
  388. package/modules/histogram-bellcurve.src.js +5 -5
  389. package/modules/hollowcandlestick.js +2 -2
  390. package/modules/hollowcandlestick.src.js +4 -4
  391. package/modules/item-series.js +2 -2
  392. package/modules/item-series.src.js +4 -4
  393. package/modules/lollipop.js +2 -2
  394. package/modules/lollipop.src.js +3 -3
  395. package/modules/map.d.ts +1 -1
  396. package/modules/map.js +2 -2
  397. package/modules/map.src.d.ts +1 -1
  398. package/modules/map.src.js +34 -51
  399. package/modules/marker-clusters.js +2 -2
  400. package/modules/marker-clusters.src.js +3 -3
  401. package/modules/mouse-wheel-zoom.js +2 -2
  402. package/modules/mouse-wheel-zoom.src.js +3 -3
  403. package/modules/navigator.js +2 -2
  404. package/modules/navigator.src.js +146 -61
  405. package/modules/networkgraph.d.ts +40 -0
  406. package/modules/networkgraph.js +2 -2
  407. package/modules/networkgraph.src.d.ts +40 -0
  408. package/modules/networkgraph.src.js +231 -5
  409. package/modules/no-data-to-display.js +2 -2
  410. package/modules/no-data-to-display.src.js +3 -3
  411. package/modules/offline-exporting.js +2 -2
  412. package/modules/offline-exporting.src.js +6 -6
  413. package/modules/organization.js +2 -2
  414. package/modules/organization.src.js +6 -5
  415. package/modules/overlapping-datalabels.js +2 -2
  416. package/modules/overlapping-datalabels.src.js +3 -3
  417. package/modules/parallel-coordinates.js +2 -2
  418. package/modules/parallel-coordinates.src.js +4 -4
  419. package/modules/pareto.js +2 -2
  420. package/modules/pareto.src.js +3 -3
  421. package/modules/pathfinder.js +2 -2
  422. package/modules/pathfinder.src.js +3 -3
  423. package/modules/pattern-fill.js +2 -2
  424. package/modules/pattern-fill.src.js +3 -3
  425. package/modules/pictorial.js +2 -2
  426. package/modules/pictorial.src.js +3 -3
  427. package/modules/price-indicator.js +2 -2
  428. package/modules/price-indicator.src.js +4 -4
  429. package/modules/pyramid3d.js +2 -2
  430. package/modules/pyramid3d.src.js +4 -4
  431. package/modules/sankey.d.ts +42 -1
  432. package/modules/sankey.js +2 -2
  433. package/modules/sankey.src.d.ts +42 -1
  434. package/modules/sankey.src.js +235 -9
  435. package/modules/series-label.js +2 -2
  436. package/modules/series-label.src.js +3 -3
  437. package/modules/series-on-point.js +2 -2
  438. package/modules/series-on-point.src.js +3 -3
  439. package/modules/solid-gauge.js +2 -2
  440. package/modules/solid-gauge.src.js +4 -4
  441. package/modules/sonification.js +2 -2
  442. package/modules/sonification.src.js +12 -15
  443. package/modules/static-scale.js +2 -2
  444. package/modules/static-scale.src.js +3 -3
  445. package/modules/stock-tools.d.ts +15 -1
  446. package/modules/stock-tools.js +2 -2
  447. package/modules/stock-tools.src.d.ts +15 -1
  448. package/modules/stock-tools.src.js +178 -70
  449. package/modules/stock.js +2 -2
  450. package/modules/stock.src.js +160 -73
  451. package/modules/streamgraph.js +2 -2
  452. package/modules/streamgraph.src.js +3 -3
  453. package/modules/sunburst.d.ts +40 -0
  454. package/modules/sunburst.js +2 -2
  455. package/modules/sunburst.src.d.ts +40 -0
  456. package/modules/sunburst.src.js +269 -58
  457. package/modules/textpath.d.ts +58 -0
  458. package/modules/textpath.js +7 -0
  459. package/modules/textpath.src.d.ts +58 -0
  460. package/modules/textpath.src.js +269 -0
  461. package/modules/tiledwebmap.js +3 -3
  462. package/modules/tiledwebmap.src.js +3 -3
  463. package/modules/tilemap.js +2 -2
  464. package/modules/tilemap.src.js +6 -6
  465. package/modules/timeline.js +2 -2
  466. package/modules/timeline.src.js +3 -3
  467. package/modules/treegraph.d.ts +40 -0
  468. package/modules/treegraph.js +2 -2
  469. package/modules/treegraph.src.d.ts +40 -0
  470. package/modules/treegraph.src.js +253 -9
  471. package/modules/treegrid.js +2 -2
  472. package/modules/treegrid.src.js +4 -4
  473. package/modules/treemap.js +2 -2
  474. package/modules/treemap.src.js +35 -50
  475. package/modules/variable-pie.js +2 -2
  476. package/modules/variable-pie.src.js +5 -5
  477. package/modules/variwide.js +2 -2
  478. package/modules/variwide.src.js +4 -4
  479. package/modules/vector.js +2 -2
  480. package/modules/vector.src.js +4 -4
  481. package/modules/venn.js +2 -2
  482. package/modules/venn.src.js +3 -88
  483. package/modules/windbarb.js +2 -2
  484. package/modules/windbarb.src.js +5 -5
  485. package/modules/wordcloud.js +2 -2
  486. package/modules/wordcloud.src.js +6 -6
  487. package/modules/xrange.js +2 -2
  488. package/modules/xrange.src.js +3 -3
  489. package/options/ad.d.ts +17 -9
  490. package/options/ad.src.d.ts +17 -9
  491. package/options/apo.d.ts +17 -9
  492. package/options/apo.src.d.ts +17 -9
  493. package/options/arearange.d.ts +17 -9
  494. package/options/arearange.src.d.ts +17 -9
  495. package/options/areaspline.d.ts +17 -9
  496. package/options/areaspline.src.d.ts +17 -9
  497. package/options/bar.d.ts +17 -9
  498. package/options/bar.src.d.ts +17 -9
  499. package/options/bb.d.ts +17 -9
  500. package/options/bb.src.d.ts +17 -9
  501. package/options/bubble.d.ts +17 -9
  502. package/options/bubble.src.d.ts +17 -9
  503. package/options/candlestick.d.ts +17 -9
  504. package/options/candlestick.src.d.ts +17 -9
  505. package/options/cci.d.ts +17 -9
  506. package/options/cci.src.d.ts +17 -9
  507. package/options/cmf.d.ts +17 -9
  508. package/options/cmf.src.d.ts +17 -9
  509. package/options/column.d.ts +17 -9
  510. package/options/column.src.d.ts +17 -9
  511. package/options/columnpyramid.d.ts +17 -9
  512. package/options/columnpyramid.src.d.ts +17 -9
  513. package/options/columnrange.d.ts +17 -9
  514. package/options/columnrange.src.d.ts +17 -9
  515. package/options/cylinder.d.ts +17 -9
  516. package/options/cylinder.src.d.ts +17 -9
  517. package/options/dema.d.ts +17 -9
  518. package/options/dema.src.d.ts +17 -9
  519. package/options/dependencywheel.d.ts +17 -9
  520. package/options/dependencywheel.src.d.ts +17 -9
  521. package/options/disparityindex.d.ts +17 -9
  522. package/options/disparityindex.src.d.ts +17 -9
  523. package/options/dpo.d.ts +17 -9
  524. package/options/dpo.src.d.ts +17 -9
  525. package/options/dumbbell.d.ts +17 -9
  526. package/options/dumbbell.src.d.ts +17 -9
  527. package/options/ema.d.ts +17 -9
  528. package/options/ema.src.d.ts +17 -9
  529. package/options/funnel.d.ts +17 -9
  530. package/options/funnel.src.d.ts +17 -9
  531. package/options/gantt.d.ts +16 -8
  532. package/options/gantt.src.d.ts +16 -8
  533. package/options/klinger.d.ts +17 -9
  534. package/options/klinger.src.d.ts +17 -9
  535. package/options/linearregression.d.ts +17 -9
  536. package/options/linearregression.src.d.ts +17 -9
  537. package/options/lollipop.d.ts +17 -9
  538. package/options/lollipop.src.d.ts +17 -9
  539. package/options/macd.d.ts +17 -9
  540. package/options/macd.src.d.ts +17 -9
  541. package/options/momentum.d.ts +17 -9
  542. package/options/momentum.src.d.ts +17 -9
  543. package/options/ohlc.d.ts +17 -9
  544. package/options/ohlc.src.d.ts +17 -9
  545. package/options/organization.d.ts +17 -9
  546. package/options/organization.src.d.ts +17 -9
  547. package/options/pareto.d.ts +16 -8
  548. package/options/pareto.src.d.ts +16 -8
  549. package/options/pc.d.ts +17 -9
  550. package/options/pc.src.d.ts +17 -9
  551. package/options/polygon.d.ts +17 -9
  552. package/options/polygon.src.d.ts +17 -9
  553. package/options/ppo.d.ts +17 -9
  554. package/options/ppo.src.d.ts +17 -9
  555. package/options/psar.d.ts +17 -9
  556. package/options/psar.src.d.ts +17 -9
  557. package/options/pyramid.d.ts +17 -9
  558. package/options/pyramid.src.d.ts +17 -9
  559. package/options/roc.d.ts +17 -9
  560. package/options/roc.src.d.ts +17 -9
  561. package/options/sankey.d.ts +17 -9
  562. package/options/sankey.src.d.ts +17 -9
  563. package/options/scatter.d.ts +17 -9
  564. package/options/scatter.src.d.ts +17 -9
  565. package/options/series.d.ts +17 -9
  566. package/options/series.src.d.ts +17 -9
  567. package/options/sma.d.ts +17 -9
  568. package/options/sma.src.d.ts +17 -9
  569. package/options/spline.d.ts +17 -9
  570. package/options/spline.src.d.ts +17 -9
  571. package/options/stochastic.d.ts +17 -9
  572. package/options/stochastic.src.d.ts +17 -9
  573. package/options/supertrend.d.ts +17 -9
  574. package/options/supertrend.src.d.ts +17 -9
  575. package/options/tilemap.d.ts +17 -9
  576. package/options/tilemap.src.d.ts +17 -9
  577. package/options/treegraph.d.ts +24 -9
  578. package/options/treegraph.src.d.ts +24 -9
  579. package/options/treemap.d.ts +23 -8
  580. package/options/treemap.src.d.ts +23 -8
  581. package/options/trendline.d.ts +17 -9
  582. package/options/trendline.src.d.ts +17 -9
  583. package/options/variwide.d.ts +17 -9
  584. package/options/variwide.src.d.ts +17 -9
  585. package/options/vbp.d.ts +17 -9
  586. package/options/vbp.src.d.ts +17 -9
  587. package/options/vector.d.ts +17 -9
  588. package/options/vector.src.d.ts +17 -9
  589. package/options/waterfall.d.ts +17 -9
  590. package/options/waterfall.src.d.ts +17 -9
  591. package/options/williamsr.d.ts +17 -9
  592. package/options/williamsr.src.d.ts +17 -9
  593. package/options/xrange.d.ts +17 -9
  594. package/options/xrange.src.d.ts +17 -9
  595. package/package.json +1 -1
  596. package/standalone-navigator.js +2 -2
  597. package/standalone-navigator.src.js +3363 -3034
  598. package/themes/avocado.js +2 -2
  599. package/themes/avocado.src.js +3 -3
  600. package/themes/brand-dark.js +2 -2
  601. package/themes/brand-dark.src.js +3 -3
  602. package/themes/brand-light.js +2 -2
  603. package/themes/brand-light.src.js +3 -3
  604. package/themes/dark-blue.js +2 -2
  605. package/themes/dark-blue.src.js +3 -3
  606. package/themes/dark-green.js +2 -2
  607. package/themes/dark-green.src.js +3 -3
  608. package/themes/dark-unica.js +2 -2
  609. package/themes/dark-unica.src.js +3 -3
  610. package/themes/gray.js +2 -2
  611. package/themes/gray.src.js +3 -3
  612. package/themes/grid-light.js +2 -2
  613. package/themes/grid-light.src.js +3 -3
  614. package/themes/grid.js +2 -2
  615. package/themes/grid.src.js +3 -3
  616. package/themes/high-contrast-dark.js +2 -2
  617. package/themes/high-contrast-dark.src.js +3 -3
  618. package/themes/high-contrast-light.js +2 -2
  619. package/themes/high-contrast-light.src.js +3 -3
  620. package/themes/sand-signika.js +2 -2
  621. package/themes/sand-signika.src.js +3 -3
  622. package/themes/skies.js +2 -2
  623. package/themes/skies.src.js +3 -3
  624. package/themes/sunset.js +2 -2
  625. package/themes/sunset.src.js +3 -3
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts Gantt JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts Gantt JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Tree Grid
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
 
30
30
  if (typeof CustomEvent === 'function') {
31
- window.dispatchEvent(new CustomEvent(
31
+ Highcharts.win.dispatchEvent(new CustomEvent(
32
32
  'HighchartsModuleLoaded',
33
33
  { detail: { path: path, module: obj[path] } }
34
34
  ));
@@ -1165,7 +1165,7 @@
1165
1165
  // for example we shouldn't have one grid cell spanning
1166
1166
  // two days.
1167
1167
  units: [[
1168
- 'millisecond',
1168
+ 'millisecond', // Unit name
1169
1169
  [1, 10, 100]
1170
1170
  ], [
1171
1171
  'second',
@@ -3101,4 +3101,4 @@
3101
3101
 
3102
3102
  return Highcharts;
3103
3103
  });
3104
- }));
3104
+ }));
@@ -1,8 +1,8 @@
1
1
  !/**
2
- * Highcharts JS v11.4.3 (2024-05-22)
2
+ * Highcharts JS v11.4.4 (2024-07-02)
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(t,e,i,s){t.hasOwnProperty(e)||(t[e]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}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?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"}}),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 e=!1,i;if(t.node.parent!==this.rootNode&&t.node.isLeaf)for(i=t.node;!e;)(i=this.nodeMap[i.parent]).parent===this.rootNode&&(e=i.id);return e}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&&s.children.length||(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),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})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * (c) 2014-2024 Highsoft AS
5
5
  * Authors: Jon Arild Nygard / Oystein Moseng
@@ -27,7 +27,7 @@
27
27
  obj[path] = fn.apply(null, args);
28
28
 
29
29
  if (typeof CustomEvent === 'function') {
30
- window.dispatchEvent(new CustomEvent(
30
+ Highcharts.win.dispatchEvent(new CustomEvent(
31
31
  'HighchartsModuleLoaded',
32
32
  { detail: { path: path, module: obj[path] } }
33
33
  ));
@@ -447,8 +447,6 @@
447
447
  /**
448
448
  * Update Breadcrumbs properties, like level and list.
449
449
  *
450
- * @requires modules/breadcrumbs
451
- *
452
450
  * @function Highcharts.Breadcrumbs#updateProperties
453
451
  * @param {Highcharts.Breadcrumbs} this
454
452
  * Breadcrumbs class.
@@ -462,8 +460,6 @@
462
460
  * Set breadcrumbs list.
463
461
  * @function Highcharts.Breadcrumbs#setList
464
462
  *
465
- * @requires modules/breadcrumbs
466
- *
467
463
  * @param {Highcharts.Breadcrumbs} this
468
464
  * Breadcrumbs class.
469
465
  * @param {Highcharts.BreadcrumbsOptions} list
@@ -475,8 +471,6 @@
475
471
  /**
476
472
  * Calculate level on which chart currently is.
477
473
  *
478
- * @requires modules/breadcrumbs
479
- *
480
474
  * @function Highcharts.Breadcrumbs#setLevel
481
475
  * @param {Highcharts.Breadcrumbs} this
482
476
  * Breadcrumbs class.
@@ -487,8 +481,6 @@
487
481
  /**
488
482
  * Get Breadcrumbs level
489
483
  *
490
- * @requires modules/breadcrumbs
491
- *
492
484
  * @function Highcharts.Breadcrumbs#getLevel
493
485
  * @param {Highcharts.Breadcrumbs} this
494
486
  * Breadcrumbs class.
@@ -499,8 +491,6 @@
499
491
  /**
500
492
  * Default button text formatter.
501
493
  *
502
- * @requires modules/breadcrumbs
503
- *
504
494
  * @function Highcharts.Breadcrumbs#getButtonText
505
495
  * @param {Highcharts.Breadcrumbs} this
506
496
  * Breadcrumbs class.
@@ -528,8 +518,6 @@
528
518
  /**
529
519
  * Redraw.
530
520
  *
531
- * @requires modules/breadcrumbs
532
- *
533
521
  * @function Highcharts.Breadcrumbs#redraw
534
522
  * @param {Highcharts.Breadcrumbs} this
535
523
  * Breadcrumbs class.
@@ -546,8 +534,6 @@
546
534
  /**
547
535
  * Create a group, then draw breadcrumbs together with the separators.
548
536
  *
549
- * @requires modules/breadcrumbs
550
- *
551
537
  * @function Highcharts.Breadcrumbs#render
552
538
  * @param {Highcharts.Breadcrumbs} this
553
539
  * Breadcrumbs class.
@@ -576,8 +562,6 @@
576
562
  /**
577
563
  * Draw breadcrumbs together with the separators.
578
564
  *
579
- * @requires modules/breadcrumbs
580
- *
581
565
  * @function Highcharts.Breadcrumbs#renderFullPathButtons
582
566
  * @param {Highcharts.Breadcrumbs} this
583
567
  * Breadcrumbs class.
@@ -593,8 +577,6 @@
593
577
  * Render Single button - when showFullPath is not used. The button is
594
578
  * similar to the old drillUpButton
595
579
  *
596
- * @requires modules/breadcrumbs
597
- *
598
580
  * @function Highcharts.Breadcrumbs#renderSingleButton
599
581
  * @param {Highcharts.Breadcrumbs} this Breadcrumbs class.
600
582
  */
@@ -624,8 +606,6 @@
624
606
  /**
625
607
  * Update group position based on align and it's width.
626
608
  *
627
- * @requires modules/breadcrumbs
628
- *
629
609
  * @function Highcharts.Breadcrumbs#renderSingleButton
630
610
  * @param {Highcharts.Breadcrumbs} this
631
611
  * Breadcrumbs class.
@@ -656,8 +636,6 @@
656
636
  /**
657
637
  * Render a button.
658
638
  *
659
- * @requires modules/breadcrumbs
660
- *
661
639
  * @function Highcharts.Breadcrumbs#renderButton
662
640
  * @param {Highcharts.Breadcrumbs} this
663
641
  * Breadcrumbs class.
@@ -704,8 +682,6 @@
704
682
  /**
705
683
  * Render a separator.
706
684
  *
707
- * @requires modules/breadcrumbs
708
- *
709
685
  * @function Highcharts.Breadcrumbs#renderSeparator
710
686
  * @param {Highcharts.Breadcrumbs} this
711
687
  * Breadcrumbs class.
@@ -731,8 +707,6 @@
731
707
  * Update.
732
708
  * @function Highcharts.Breadcrumbs#update
733
709
  *
734
- * @requires modules/breadcrumbs
735
- *
736
710
  * @param {Highcharts.Breadcrumbs} this
737
711
  * Breadcrumbs class.
738
712
  * @param {Highcharts.BreadcrumbsOptions} options
@@ -749,8 +723,6 @@
749
723
  * Update button text when the showFullPath set to false.
750
724
  * @function Highcharts.Breadcrumbs#updateSingleButton
751
725
  *
752
- * @requires modules/breadcrumbs
753
- *
754
726
  * @param {Highcharts.Breadcrumbs} this
755
727
  * Breadcrumbs class.
756
728
  */
@@ -765,8 +737,6 @@
765
737
  /**
766
738
  * Destroy the chosen breadcrumbs group
767
739
  *
768
- * @requires modules/breadcrumbs
769
- *
770
740
  * @function Highcharts.Breadcrumbs#destroy
771
741
  * @param {Highcharts.Breadcrumbs} this
772
742
  * Breadcrumbs class.
@@ -785,8 +755,6 @@
785
755
  /**
786
756
  * Destroy the elements' buttons and separators.
787
757
  *
788
- * @requires modules/breadcrumbs
789
- *
790
758
  * @function Highcharts.Breadcrumbs#destroyListElements
791
759
  * @param {Highcharts.Breadcrumbs} this
792
760
  * Breadcrumbs class.
@@ -811,8 +779,6 @@
811
779
  /**
812
780
  * Destroy the single button if exists.
813
781
  *
814
- * @requires modules/breadcrumbs
815
- *
816
782
  * @function Highcharts.Breadcrumbs#destroySingleButton
817
783
  * @param {Highcharts.Breadcrumbs} this
818
784
  * Breadcrumbs class.
@@ -826,8 +792,6 @@
826
792
  /**
827
793
  * Reset state for all buttons in elementList.
828
794
  *
829
- * @requires modules/breadcrumbs
830
- *
831
795
  * @function Highcharts.Breadcrumbs#resetElementListState
832
796
  * @param {Highcharts.Breadcrumbs} this
833
797
  * Breadcrumbs class.
@@ -840,8 +804,6 @@
840
804
  /**
841
805
  * Update rendered elements inside the elementList.
842
806
  *
843
- * @requires modules/breadcrumbs
844
- *
845
807
  * @function Highcharts.Breadcrumbs#updateListElements
846
808
  *
847
809
  * @param {Highcharts.Breadcrumbs} this
@@ -1402,7 +1364,8 @@
1402
1364
  const series = this.series, options = series.options;
1403
1365
  let className = super.getClassName();
1404
1366
  // Above the current level
1405
- if (this.node.level <= series.nodeMap[series.rootNode].level) {
1367
+ if (this.node.level <= series.nodeMap[series.rootNode].level &&
1368
+ this.node.children.length) {
1406
1369
  className += ' highcharts-above-level';
1407
1370
  }
1408
1371
  else if (!this.node.isLeaf &&
@@ -1907,7 +1870,21 @@
1907
1870
  shadow: false
1908
1871
  }
1909
1872
  },
1910
- legendSymbol: 'rectangle'
1873
+ legendSymbol: 'rectangle',
1874
+ /**
1875
+ * This option enables automatic traversing to the last child level upon
1876
+ * node interaction. This feature simplifies navigation by immediately
1877
+ * focusing on the deepest layer of the data structure without intermediate
1878
+ * steps.
1879
+ *
1880
+ * @sample {highcharts} highcharts/plotoptions/treemap-traverse-to-leaf/
1881
+ * Traverse to leaf enabled
1882
+ *
1883
+ * @since @next
1884
+ *
1885
+ * @product highcharts
1886
+ */
1887
+ traverseToLeaf: false
1911
1888
  };
1912
1889
  /**
1913
1890
  * A `treemap` series. If the [type](#series.treemap.type) option is
@@ -2700,14 +2677,22 @@
2700
2677
  * @private
2701
2678
  */
2702
2679
  drillToByLeaf(point) {
2680
+ const { traverseToLeaf } = point.series.options;
2703
2681
  let drillId = false, nodeParent;
2704
2682
  if ((point.node.parent !== this.rootNode) &&
2705
2683
  point.node.isLeaf) {
2706
- nodeParent = point.node;
2707
- while (!drillId) {
2708
- nodeParent = this.nodeMap[nodeParent.parent];
2709
- if (nodeParent.parent === this.rootNode) {
2710
- drillId = nodeParent.id;
2684
+ if (traverseToLeaf) {
2685
+ drillId = point.id;
2686
+ }
2687
+ else {
2688
+ nodeParent = point.node;
2689
+ while (!drillId) {
2690
+ if (typeof nodeParent.parent !== 'undefined') {
2691
+ nodeParent = this.nodeMap[nodeParent.parent];
2692
+ }
2693
+ if (nodeParent.parent === this.rootNode) {
2694
+ drillId = nodeParent.id;
2695
+ }
2711
2696
  }
2712
2697
  }
2713
2698
  }
@@ -3127,7 +3112,7 @@
3127
3112
  const tree = series.tree = series.getTree();
3128
3113
  rootNode = series.nodeMap[rootId];
3129
3114
  if (rootId !== '' &&
3130
- (!rootNode || !rootNode.children.length)) {
3115
+ (!rootNode)) {
3131
3116
  series.setRootNode('', false);
3132
3117
  rootId = series.rootNode;
3133
3118
  rootNode = series.nodeMap[rootId];
@@ -3203,7 +3188,7 @@
3203
3188
  extend(TreemapSeries.prototype, {
3204
3189
  buildKDTree: noop,
3205
3190
  colorAttribs: ColorMapComposition.seriesMembers.colorAttribs,
3206
- colorKey: 'colorValue',
3191
+ colorKey: 'colorValue', // Point color option key
3207
3192
  directTouch: true,
3208
3193
  getExtremesFromAll: true,
3209
3194
  getSymbol: noop,
@@ -3234,4 +3219,4 @@
3234
3219
 
3235
3220
  return Highcharts;
3236
3221
  });
3237
- }));
3222
+ }));
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v11.4.3 (2024-05-22)
2
+ * Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Variable Pie module for Highcharts
5
5
  *
6
6
  * (c) 2010-2024 Grzegorz Blachliński
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/variable-pie",["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(e,t,i,a){e.hasOwnProperty(t)||(e[t]=a.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Series/VariablePie/VariablePieSeriesDefaults.js",[],function(){return{minPointSize:"10%",maxPointSize:"100%",zMin:void 0,zMax:void 0,sizeBy:"area",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}<br/>Value: {point.y}<br/>Size: {point.z}<br/>'}}}),i(t,"Series/VariablePie/VariablePieSeries.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"],t["Series/VariablePie/VariablePieSeriesDefaults.js"]],function(e,t,i){let{pie:a}=e.seriesTypes,{arrayMax:s,arrayMin:n,clamp:r,extend:o,fireEvent:l,merge:h,pick:d}=t;class u extends a{calculateExtremes(){let e,t;let i=this.chart,a=i.plotWidth,o=i.plotHeight,l=this.options,h=2*(l.slicedOffset||0),u=this.zData,c=Math.min(a,o)-h,p={},f=this.center||this.getCenter();for(let e of["minPointSize","maxPointSize"]){let t=l[e],i=/%$/.test(t);t=parseInt(t,10),p[e]=i?c*t/100:2*t}this.minPxSize=f[3]+p.minPointSize,this.maxPxSize=r(f[2],f[3]+p.minPointSize,p.maxPointSize),u.length&&(e=d(l.zMin,n(u.filter(this.zValEval))),t=d(l.zMax,s(u.filter(this.zValEval))),this.getRadii(e,t,this.minPxSize,this.maxPxSize))}getRadii(e,t,i,a){let s,n,r;let o=this.zData,l=[],h="radius"!==this.options.sizeBy,d=t-e;for(let u=0;u<o.length;u++)(n=this.zValEval(o[u])?o[u]:e)<=e?r=i/2:n>=t?r=a/2:(s=d>0?(n-e)/d:.5,h&&(s=Math.sqrt(s)),r=Math.ceil(i+s*(a-i))/2),l.push(r);this.radii=l}redraw(){this.center=null,super.redraw()}getDataLabelPosition(e,t){let{center:i,options:a}=this,s=e.angle||0,n=this.radii[e.index],r=i[0]+Math.cos(s)*n,o=i[1]+Math.sin(s)*n,l=Math.min((a.slicedOffset||0)+(a.borderWidth||0),t/5);return{distance:t,natural:{x:r+Math.cos(s)*t,y:o+Math.sin(s)*t},computed:{},alignment:e.half?"right":"left",connectorPosition:{breakAt:{x:r+Math.cos(s)*l,y:o+Math.sin(s)*l},touchingSliceAt:{x:r,y:o}}}}translate(e){this.generatePoints();let t=this.options,i=t.slicedOffset,a=t.startAngle||0,s=Math.PI/180*(a-90),n=Math.PI/180*(d(t.endAngle,a+360)-90),r=n-s,o=this.points,h=t.ignoreHiddenPoint,u=0,c,p,f,M,m,P,g;this.startAngleRad=s,this.endAngleRad=n,this.calculateExtremes(),e||(this.center=e=this.getCenter());for(let t=0;t<o.length;t++)P=o[t],g=this.radii[t],c=s+u*r,(!h||P.visible)&&(u+=P.percentage/100),p=s+u*r,P.shapeType="arc",P.shapeArgs={x:e[0],y:e[1],r:g,innerR:e[3]/2,start:Math.round(1e3*c)/1e3,end:Math.round(1e3*p)/1e3},(f=(p+c)/2)>1.5*Math.PI?f-=2*Math.PI:f<-Math.PI/2&&(f+=2*Math.PI),P.slicedTranslation={translateX:Math.round(Math.cos(f)*i),translateY:Math.round(Math.sin(f)*i)},M=Math.cos(f)*e[2]/2,m=Math.sin(f)*e[2]/2,P.tooltipPos=[e[0]+.7*M,e[1]+.7*m],P.half=f<-Math.PI/2||f>Math.PI/2?1:0,P.angle=f;l(this,"afterTranslate")}zValEval(e){return!("number"!=typeof e||isNaN(e))||null}}return u.defaultOptions=h(a.defaultOptions,i),o(u.prototype,{pointArrayMap:["y","z"],parallelArrays:["x","y","z"]}),e.registerSeriesType("variablepie",u),u}),i(t,"masters/modules/variable-pie.src.js",[t["Core/Globals.js"]],function(e){return e})});
9
+ */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/variable-pie",["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,a,s){t.hasOwnProperty(i)||(t[i]=s.apply(null,a),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}i(t,"Series/VariablePie/VariablePieSeriesDefaults.js",[],function(){return{minPointSize:"10%",maxPointSize:"100%",zMin:void 0,zMax:void 0,sizeBy:"area",tooltip:{pointFormat:'<span style="color:{point.color}">●</span> {series.name}<br/>Value: {point.y}<br/>Size: {point.z}<br/>'}}}),i(t,"Series/VariablePie/VariablePieSeries.js",[t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"],t["Series/VariablePie/VariablePieSeriesDefaults.js"]],function(e,t,i){let{pie:a}=e.seriesTypes,{arrayMax:s,arrayMin:n,clamp:r,extend:l,fireEvent:o,merge:h,pick:d}=t;class u extends a{calculateExtremes(){let e,t;let i=this.chart,a=i.plotWidth,l=i.plotHeight,o=this.options,h=2*(o.slicedOffset||0),u=this.zData,c=Math.min(a,l)-h,p={},f=this.center||this.getCenter();for(let e of["minPointSize","maxPointSize"]){let t=o[e],i=/%$/.test(t);t=parseInt(t,10),p[e]=i?c*t/100:2*t}this.minPxSize=f[3]+p.minPointSize,this.maxPxSize=r(f[2],f[3]+p.minPointSize,p.maxPointSize),u.length&&(e=d(o.zMin,n(u.filter(this.zValEval))),t=d(o.zMax,s(u.filter(this.zValEval))),this.getRadii(e,t,this.minPxSize,this.maxPxSize))}getRadii(e,t,i,a){let s,n,r;let l=this.zData,o=[],h="radius"!==this.options.sizeBy,d=t-e;for(let u=0;u<l.length;u++)(n=this.zValEval(l[u])?l[u]:e)<=e?r=i/2:n>=t?r=a/2:(s=d>0?(n-e)/d:.5,h&&(s=Math.sqrt(s)),r=Math.ceil(i+s*(a-i))/2),o.push(r);this.radii=o}redraw(){this.center=null,super.redraw()}getDataLabelPosition(e,t){let{center:i,options:a}=this,s=e.angle||0,n=this.radii[e.index],r=i[0]+Math.cos(s)*n,l=i[1]+Math.sin(s)*n,o=Math.min((a.slicedOffset||0)+(a.borderWidth||0),t/5);return{distance:t,natural:{x:r+Math.cos(s)*t,y:l+Math.sin(s)*t},computed:{},alignment:e.half?"right":"left",connectorPosition:{breakAt:{x:r+Math.cos(s)*o,y:l+Math.sin(s)*o},touchingSliceAt:{x:r,y:l}}}}translate(e){this.generatePoints();let t=this.options,i=t.slicedOffset,a=t.startAngle||0,s=Math.PI/180*(a-90),n=Math.PI/180*(d(t.endAngle,a+360)-90),r=n-s,l=this.points,h=t.ignoreHiddenPoint,u=0,c,p,f,M,m,P,g;this.startAngleRad=s,this.endAngleRad=n,this.calculateExtremes(),e||(this.center=e=this.getCenter());for(let t=0;t<l.length;t++)P=l[t],g=this.radii[t],c=s+u*r,(!h||P.visible)&&(u+=P.percentage/100),p=s+u*r,P.shapeType="arc",P.shapeArgs={x:e[0],y:e[1],r:g,innerR:e[3]/2,start:Math.round(1e3*c)/1e3,end:Math.round(1e3*p)/1e3},(f=(p+c)/2)>1.5*Math.PI?f-=2*Math.PI:f<-Math.PI/2&&(f+=2*Math.PI),P.slicedTranslation={translateX:Math.round(Math.cos(f)*i),translateY:Math.round(Math.sin(f)*i)},M=Math.cos(f)*e[2]/2,m=Math.sin(f)*e[2]/2,P.tooltipPos=[e[0]+.7*M,e[1]+.7*m],P.half=f<-Math.PI/2||f>Math.PI/2?1:0,P.angle=f;o(this,"afterTranslate")}zValEval(e){return!("number"!=typeof e||isNaN(e))||null}}return u.defaultOptions=h(a.defaultOptions,i),l(u.prototype,{pointArrayMap:["y","z"],parallelArrays:["x","y","z"]}),e.registerSeriesType("variablepie",u),u}),i(t,"masters/modules/variable-pie.src.js",[t["Core/Globals.js"]],function(e){return e})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Variable Pie module for Highcharts
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
 
30
30
  if (typeof CustomEvent === 'function') {
31
- window.dispatchEvent(new CustomEvent(
31
+ Highcharts.win.dispatchEvent(new CustomEvent(
32
32
  'HighchartsModuleLoaded',
33
33
  { detail: { path: path, module: obj[path] } }
34
34
  ));
@@ -65,7 +65,7 @@
65
65
  * @excluding dragDrop
66
66
  * @since 6.0.0
67
67
  * @product highcharts
68
- * @requires modules/variable-pie.js
68
+ * @requires modules/variable-pie
69
69
  * @optionparent plotOptions.variablepie
70
70
  */
71
71
  const VariablePieSeriesDefaults = {
@@ -144,7 +144,7 @@
144
144
  * @excluding dataParser, dataURL, stack, xAxis, yAxis, dataSorting,
145
145
  * boostThreshold, boostBlending
146
146
  * @product highcharts
147
- * @requires modules/variable-pie.js
147
+ * @requires modules/variable-pie
148
148
  * @apioption series.variablepie
149
149
  */
150
150
  /**
@@ -474,4 +474,4 @@
474
474
 
475
475
  return Highcharts;
476
476
  });
477
- }));
477
+ }));
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v11.4.3 (2024-05-22)
2
+ * Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Highcharts variwide module
5
5
  *
6
6
  * (c) 2010-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/variwide",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function s(t,i,s,e){t.hasOwnProperty(i)||(t[i]=e.apply(null,s),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:t[i]}})))}s(i,"Series/Variwide/VariwideComposition.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{composed:s}=t,{addEvent:e,pushUnique:r,wrap:o}=i;function a(t){this.variwide&&this.cross&&this.cross.attr("stroke-width",t.point&&t.point.crosshairWidth)}function n(){let t=this;!this.horiz&&this.variwide&&this.chart.labelCollectors.push(function(){return t.tickPositions.filter(i=>!!t.ticks[i].label).map((i,s)=>{let e=t.ticks[i].label;return e.labelrank=t.zData[s],e})})}function h(t){let i=this.axis,s=i.horiz?"x":"y";i.variwide&&(this[s+"Orig"]=t.pos[s],this.postTranslate(t.pos,s,this.pos))}function l(t,i,s){let e=this.axis,r=t[i]-e.pos;e.horiz||(r=e.len-r),r=e.series[0].postTranslate(s,r),e.horiz||(r=e.len-r),t[i]=e.pos+r}function d(t,i,s,e,r,o,a,n){let h=Array.prototype.slice.call(arguments,1),l=r?"x":"y";this.axis.variwide&&"number"==typeof this[l+"Orig"]&&(h[r?0:1]=this[l+"Orig"]);let d=t.apply(this,h);return this.axis.variwide&&this.axis.categories&&this.postTranslate(d,l,this.pos),d}return{compose:function(t,i){if(r(s,"Variwide")){let s=i.prototype;e(t,"afterDrawCrosshair",a),e(t,"afterRender",n),e(i,"afterGetPosition",h),s.postTranslate=l,o(s,"getLabelPosition",d)}}}}),s(i,"Series/Variwide/VariwidePoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{column:{prototype:{pointClass:s}}}=t.seriesTypes,{isNumber:e}=i;return class extends s{isValid(){return e(this.y)&&e(this.z)}}}),s(i,"Series/Variwide/VariwideSeriesDefaults.js",[],function(){return{pointPadding:0,groupPadding:0}}),s(i,"Series/Variwide/VariwideSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Series/Variwide/VariwideComposition.js"],i["Series/Variwide/VariwidePoint.js"],i["Series/Variwide/VariwideSeriesDefaults.js"],i["Core/Utilities.js"]],function(t,i,s,e,r){let{column:o}=t.seriesTypes,{addEvent:a,crisp:n,extend:h,merge:l,pick:d}=r;class p extends o{processData(i){this.totalZ=0,this.relZ=[],t.seriesTypes.column.prototype.processData.call(this,i),(this.xAxis.reversed?this.zData.slice().reverse():this.zData).forEach(function(t,i){this.relZ[i]=this.totalZ,this.totalZ+=t},this),this.xAxis.categories&&(this.xAxis.variwide=!0,this.xAxis.zData=this.zData)}postTranslate(t,i,s){let e=this.xAxis,r=this.relZ,o=e.reversed?r.length-t:t,a=e.reversed?-1:1,n=e.toPixels(e.reversed?(e.dataMax||0)+e.pointRange:e.dataMin||0),h=e.toPixels(e.reversed?e.dataMin||0:(e.dataMax||0)+e.pointRange),l=Math.abs(h-n),p=this.totalZ,c=this.chart.inverted?h-(this.chart.plotTop-a*e.minPixelPadding):n-this.chart.plotLeft-a*e.minPixelPadding,u=o/r.length*l,f=(o+a)/r.length*l,x=d(r[o],p)/p*l,w=d(r[o+a],p)/p*l;return s&&(s.crosshairWidth=w-x),c+x+(i-(c+u))*(w-x)/(f-u)}translate(){this.crispOption=this.options.crisp,this.options.crisp=!1,super.translate(),this.options.crisp=this.crispOption}correctStackLabels(){let t,i,s,e;let r=this.options,o=this.yAxis;for(let a of this.points)e=a.x,i=a.shapeArgs.width,(s=o.stacking.stacks[(this.negStacks&&a.y<(r.startFromThreshold?0:r.threshold)?"-":"")+this.stackKey])&&(t=s[e])&&!a.isNull&&t.setOffset(-(i/2)||0,i||0,void 0,void 0,a.plotX,this.xAxis)}}return p.compose=i.compose,p.defaultOptions=l(o.defaultOptions,e),a(p,"afterColumnTranslate",function(){let t=this.xAxis,i=this.chart.inverted,s=-1;for(let e of this.points){let r,o;++s;let a=e.shapeArgs||{},{x:h=0,width:l=0}=a,{plotX:d=0,tooltipPos:p,z:c=0}=e;t.variwide?(r=this.postTranslate(s,h,e),o=this.postTranslate(s,h+l)):(r=d,o=t.translate(e.x+c,!1,!1,!1,!0)),this.crispOption&&(r=n(r,this.borderWidth),o=n(o,this.borderWidth)),a.x=r,a.width=Math.max(o-r,1),e.plotX=(r+o)/2,p&&(i?p[1]=t.len-a.x-a.width/2:p[0]=a.x+a.width/2)}this.options.stacking&&this.correctStackLabels()},{order:2}),h(p.prototype,{irregularWidths:!0,pointArrayMap:["y","z"],parallelArrays:["x","y","z"],pointClass:s}),t.registerSeriesType("variwide",p),p}),s(i,"masters/modules/variwide.src.js",[i["Core/Globals.js"],i["Series/Variwide/VariwideSeries.js"]],function(t,i){return i.compose(t.Axis,t.Tick),t})});
9
+ */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/variwide",["highcharts"],function(i){return t(i),t.Highcharts=i,t}):t("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(t){"use strict";var i=t?t._modules:{};function s(i,s,e,r){i.hasOwnProperty(s)||(i[s]=r.apply(null,e),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:i[s]}})))}s(i,"Series/Variwide/VariwideComposition.js",[i["Core/Globals.js"],i["Core/Utilities.js"]],function(t,i){let{composed:s}=t,{addEvent:e,pushUnique:r,wrap:o}=i;function a(t){this.variwide&&this.cross&&this.cross.attr("stroke-width",t.point&&t.point.crosshairWidth)}function n(){let t=this;this.variwide&&this.chart.labelCollectors.push(function(){return t.tickPositions.filter(i=>!!t.ticks[i].label).map((i,s)=>{let e=t.ticks[i].label;return e.labelrank=t.zData[s],e})})}function h(t){let i=this.axis,s=i.horiz?"x":"y";i.variwide&&(this[s+"Orig"]=t.pos[s],this.postTranslate(t.pos,s,this.pos))}function l(t,i,s){let e=this.axis,r=t[i]-e.pos;e.horiz||(r=e.len-r),r=e.series[0].postTranslate(s,r),e.horiz||(r=e.len-r),t[i]=e.pos+r}function d(t,i,s,e,r,o,a,n){let h=Array.prototype.slice.call(arguments,1),l=r?"x":"y";this.axis.variwide&&"number"==typeof this[l+"Orig"]&&(h[r?0:1]=this[l+"Orig"]);let d=t.apply(this,h);return this.axis.variwide&&this.axis.categories&&this.postTranslate(d,l,this.pos),d}return{compose:function(t,i){if(r(s,"Variwide")){let s=i.prototype;e(t,"afterDrawCrosshair",a),e(t,"afterRender",n),e(i,"afterGetPosition",h),s.postTranslate=l,o(s,"getLabelPosition",d)}}}}),s(i,"Series/Variwide/VariwidePoint.js",[i["Core/Series/SeriesRegistry.js"],i["Core/Utilities.js"]],function(t,i){let{column:{prototype:{pointClass:s}}}=t.seriesTypes,{isNumber:e}=i;return class extends s{isValid(){return e(this.y)&&e(this.z)}}}),s(i,"Series/Variwide/VariwideSeriesDefaults.js",[],function(){return{pointPadding:0,groupPadding:0}}),s(i,"Series/Variwide/VariwideSeries.js",[i["Core/Series/SeriesRegistry.js"],i["Series/Variwide/VariwideComposition.js"],i["Series/Variwide/VariwidePoint.js"],i["Series/Variwide/VariwideSeriesDefaults.js"],i["Core/Utilities.js"]],function(t,i,s,e,r){let{column:o}=t.seriesTypes,{addEvent:a,crisp:n,extend:h,merge:l,pick:d}=r;class p extends o{processData(i){this.totalZ=0,this.relZ=[],t.seriesTypes.column.prototype.processData.call(this,i),(this.xAxis.reversed?this.zData.slice().reverse():this.zData).forEach(function(t,i){this.relZ[i]=this.totalZ,this.totalZ+=t},this),this.xAxis.categories&&(this.xAxis.variwide=!0,this.xAxis.zData=this.zData)}postTranslate(t,i,s){let e=this.xAxis,r=this.relZ,o=e.reversed?r.length-t:t,a=e.reversed?-1:1,n=e.toPixels(e.reversed?(e.dataMax||0)+e.pointRange:e.dataMin||0),h=e.toPixels(e.reversed?e.dataMin||0:(e.dataMax||0)+e.pointRange),l=Math.abs(h-n),p=this.totalZ,c=this.chart.inverted?h-(this.chart.plotTop-a*e.minPixelPadding):n-this.chart.plotLeft-a*e.minPixelPadding,u=o/r.length*l,f=(o+a)/r.length*l,x=d(r[o],p)/p*l,w=d(r[o+a],p)/p*l;return s&&(s.crosshairWidth=w-x),c+x+(i-(c+u))*(w-x)/(f-u)}translate(){this.crispOption=this.options.crisp,this.options.crisp=!1,super.translate(),this.options.crisp=this.crispOption}correctStackLabels(){let t,i,s,e;let r=this.options,o=this.yAxis;for(let a of this.points)e=a.x,i=a.shapeArgs.width,(s=o.stacking.stacks[(this.negStacks&&a.y<(r.startFromThreshold?0:r.threshold)?"-":"")+this.stackKey])&&(t=s[e])&&!a.isNull&&t.setOffset(-(i/2)||0,i||0,void 0,void 0,a.plotX,this.xAxis)}}return p.compose=i.compose,p.defaultOptions=l(o.defaultOptions,e),a(p,"afterColumnTranslate",function(){let t=this.xAxis,i=this.chart.inverted,s=-1;for(let e of this.points){let r,o;++s;let a=e.shapeArgs||{},{x:h=0,width:l=0}=a,{plotX:d=0,tooltipPos:p,z:c=0}=e;t.variwide?(r=this.postTranslate(s,h,e),o=this.postTranslate(s,h+l)):(r=d,o=t.translate(e.x+c,!1,!1,!1,!0)),this.crispOption&&(r=n(r,this.borderWidth),o=n(o,this.borderWidth)),a.x=r,a.width=Math.max(o-r,1),e.plotX=(r+o)/2,p&&(i?p[1]=t.len-a.x-a.width/2:p[0]=a.x+a.width/2)}this.options.stacking&&this.correctStackLabels()},{order:2}),h(p.prototype,{irregularWidths:!0,pointArrayMap:["y","z"],parallelArrays:["x","y","z"],pointClass:s}),t.registerSeriesType("variwide",p),p}),s(i,"masters/modules/variwide.src.js",[i["Core/Globals.js"],i["Series/Variwide/VariwideSeries.js"]],function(t,i){return i.compose(t.Axis,t.Tick),t})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Highcharts variwide module
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
 
30
30
  if (typeof CustomEvent === 'function') {
31
- window.dispatchEvent(new CustomEvent(
31
+ Highcharts.win.dispatchEvent(new CustomEvent(
32
32
  'HighchartsModuleLoaded',
33
33
  { detail: { path: path, module: obj[path] } }
34
34
  ));
@@ -82,7 +82,7 @@
82
82
  */
83
83
  function onAxisAfterRender() {
84
84
  const axis = this;
85
- if (!this.horiz && this.variwide) {
85
+ if (this.variwide) {
86
86
  this.chart.labelCollectors.push(function () {
87
87
  return axis.tickPositions
88
88
  .filter((pos) => !!axis.ticks[pos].label)
@@ -507,4 +507,4 @@
507
507
 
508
508
  return Highcharts;
509
509
  });
510
- }));
510
+ }));
package/modules/vector.js CHANGED
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v11.4.3 (2024-05-22)
2
+ * Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Vector plot series module
5
5
  *
6
6
  * (c) 2010-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/vector",["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(t,e,i,r){t.hasOwnProperty(e)||(t[e]=r.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:t[e]}})))}i(e,"Series/Vector/VectorSeriesDefaults.js",[],function(){return{lineWidth:2,marker:void 0,rotationOrigin:"center",states:{hover:{lineWidthPlus:1}},tooltip:{pointFormat:"<b>[{point.x}, {point.y}]</b><br/>Length: <b>{point.length}</b><br/>Direction: <b>{point.direction}\xb0</b><br/>"},vectorLength:20}}),i(e,"Series/Vector/VectorSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Series/Vector/VectorSeriesDefaults.js"]],function(t,e,i,r,o){let{animObject:s}=t,{series:n,seriesTypes:{scatter:a}}=i,{arrayMax:h,extend:l,merge:c,pick:p}=r;class d extends a{animate(t){t?this.markerGroup.attr({opacity:.01}):this.markerGroup.animate({opacity:1},s(this.options.animation))}arrow(t){let e=t.length/this.lengthMax*this.options.vectorLength/20,i={start:10*e,center:0,end:-10*e}[this.options.rotationOrigin]||0;return[["M",0,7*e+i],["L",-1.5*e,7*e+i],["L",0,10*e+i],["L",1.5*e,7*e+i],["L",0,7*e+i],["L",0,-10*e+i]]}drawPoints(){let t=this.chart;for(let e of this.points){let i=e.plotX,r=e.plotY;!1===this.options.clip||t.isInsidePlot(i,r,{inverted:t.inverted})?(e.graphic||(e.graphic=this.chart.renderer.path().add(this.markerGroup).addClass("highcharts-point highcharts-color-"+p(e.colorIndex,e.series.colorIndex))),e.graphic.attr({d:this.arrow(e),translateX:i,translateY:r,rotation:e.direction}),this.chart.styledMode||e.graphic.attr(this.pointAttribs(e))):e.graphic&&(e.graphic=e.graphic.destroy())}}pointAttribs(t,e){let i=this.options,r=t?.color||this.color,o=this.options.lineWidth;return e&&(r=i.states[e].color||r,o=(i.states[e].lineWidth||o)+(i.states[e].lineWidthPlus||0)),{stroke:r,"stroke-width":o}}translate(){n.prototype.translate.call(this),this.lengthMax=h(this.lengthData)}}return d.defaultOptions=c(a.defaultOptions,o),l(d.prototype,{drawGraph:e.noop,getSymbol:e.noop,markerAttribs:e.noop,parallelArrays:["x","y","length","direction"],pointArrayMap:["y","length","direction"]}),i.registerSeriesType("vector",d),d}),i(e,"masters/modules/vector.src.js",[e["Core/Globals.js"]],function(t){return t})});
9
+ */function(t){"object"==typeof module&&module.exports?(t.default=t,module.exports=t):"function"==typeof define&&define.amd?define("highcharts/modules/vector",["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,r,o){e.hasOwnProperty(i)||(e[i]=o.apply(null,r),"function"==typeof CustomEvent&&t.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:i,module:e[i]}})))}i(e,"Series/Vector/VectorSeriesDefaults.js",[],function(){return{lineWidth:2,marker:void 0,rotationOrigin:"center",states:{hover:{lineWidthPlus:1}},tooltip:{pointFormat:"<b>[{point.x}, {point.y}]</b><br/>Length: <b>{point.length}</b><br/>Direction: <b>{point.direction}\xb0</b><br/>"},vectorLength:20}}),i(e,"Series/Vector/VectorSeries.js",[e["Core/Animation/AnimationUtilities.js"],e["Core/Globals.js"],e["Core/Series/SeriesRegistry.js"],e["Core/Utilities.js"],e["Series/Vector/VectorSeriesDefaults.js"]],function(t,e,i,r,o){let{animObject:s}=t,{series:n,seriesTypes:{scatter:a}}=i,{arrayMax:h,extend:l,merge:c,pick:p}=r;class d extends a{animate(t){t?this.markerGroup.attr({opacity:.01}):this.markerGroup.animate({opacity:1},s(this.options.animation))}arrow(t){let e=t.length/this.lengthMax*this.options.vectorLength/20,i={start:10*e,center:0,end:-10*e}[this.options.rotationOrigin]||0;return[["M",0,7*e+i],["L",-1.5*e,7*e+i],["L",0,10*e+i],["L",1.5*e,7*e+i],["L",0,7*e+i],["L",0,-10*e+i]]}drawPoints(){let t=this.chart;for(let e of this.points){let i=e.plotX,r=e.plotY;!1===this.options.clip||t.isInsidePlot(i,r,{inverted:t.inverted})?(e.graphic||(e.graphic=this.chart.renderer.path().add(this.markerGroup).addClass("highcharts-point highcharts-color-"+p(e.colorIndex,e.series.colorIndex))),e.graphic.attr({d:this.arrow(e),translateX:i,translateY:r,rotation:e.direction}),this.chart.styledMode||e.graphic.attr(this.pointAttribs(e))):e.graphic&&(e.graphic=e.graphic.destroy())}}pointAttribs(t,e){let i=this.options,r=t?.color||this.color,o=this.options.lineWidth;return e&&(r=i.states[e].color||r,o=(i.states[e].lineWidth||o)+(i.states[e].lineWidthPlus||0)),{stroke:r,"stroke-width":o}}translate(){n.prototype.translate.call(this),this.lengthMax=h(this.lengthData)}}return d.defaultOptions=c(a.defaultOptions,o),l(d.prototype,{drawGraph:e.noop,getSymbol:e.noop,markerAttribs:e.noop,parallelArrays:["x","y","length","direction"],pointArrayMap:["y","length","direction"]}),i.registerSeriesType("vector",d),d}),i(e,"masters/modules/vector.src.js",[e["Core/Globals.js"]],function(t){return t})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.3 (2024-05-22)
2
+ * @license Highcharts JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Vector plot series module
5
5
  *
@@ -28,7 +28,7 @@
28
28
  obj[path] = fn.apply(null, args);
29
29
 
30
30
  if (typeof CustomEvent === 'function') {
31
- window.dispatchEvent(new CustomEvent(
31
+ Highcharts.win.dispatchEvent(new CustomEvent(
32
32
  'HighchartsModuleLoaded',
33
33
  { detail: { path: path, module: obj[path] } }
34
34
  ));
@@ -256,7 +256,7 @@
256
256
  // The stem and the arrow head. Draw the arrow first with rotation
257
257
  // 0, which is the arrow pointing down (vector from north to south).
258
258
  path = [
259
- ['M', 0, 7 * u + o],
259
+ ['M', 0, 7 * u + o], // Base of arrow
260
260
  ['L', -1.5 * u, 7 * u + o],
261
261
  ['L', 0, 10 * u + o],
262
262
  ['L', 1.5 * u, 7 * u + o],
@@ -389,4 +389,4 @@
389
389
 
390
390
  return Highcharts;
391
391
  });
392
- }));
392
+ }));