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 Highstock JS v11.4.3 (2024-05-22)
2
+ * @license Highstock JS v11.4.4 (2024-07-02)
3
3
  *
4
4
  * Advanced Highcharts Stock tools
5
5
  *
@@ -13,7 +13,7 @@
13
13
  factory['default'] = factory;
14
14
  module.exports = factory;
15
15
  } else if (typeof define === 'function' && define.amd) {
16
- define('highcharts/modules/stock-tools', ['highcharts', 'highcharts/modules/stock'], function (Highcharts) {
16
+ define('highcharts/modules/stock-tools', ['highcharts', 'modules/stock'], function (Highcharts) {
17
17
  factory(Highcharts);
18
18
  factory.Highcharts = Highcharts;
19
19
  return factory;
@@ -29,7 +29,7 @@
29
29
  obj[path] = fn.apply(null, args);
30
30
 
31
31
  if (typeof CustomEvent === 'function') {
32
- window.dispatchEvent(new CustomEvent(
32
+ Highcharts.win.dispatchEvent(new CustomEvent(
33
33
  'HighchartsModuleLoaded',
34
34
  { detail: { path: path, module: obj[path] } }
35
35
  ));
@@ -447,7 +447,7 @@
447
447
  * from a different server.
448
448
  *
449
449
  * @type {string}
450
- * @default https://code.highcharts.com/11.4.3/gfx/stock-icons/
450
+ * @default https://code.highcharts.com/11.4.4/gfx/stock-icons/
451
451
  * @since 7.1.3
452
452
  * @apioption navigation.iconsURL
453
453
  */
@@ -894,8 +894,7 @@
894
894
  }
895
895
  }
896
896
  else {
897
- chart.stockTools &&
898
- chart.stockTools.toggleButtonActiveClass(button);
897
+ chart.stockTools && button.classList.remove('highcharts-active');
899
898
  svgContainer.removeClass('highcharts-draw-mode');
900
899
  navigation.nextEvent = false;
901
900
  navigation.mouseMoveEvent = false;
@@ -1752,6 +1751,31 @@
1752
1751
  });
1753
1752
  }
1754
1753
  }
1754
+ /**
1755
+ * Compares two arrays of strings, checking their length and if corresponding
1756
+ * elements are equal.
1757
+ *
1758
+ * @param {string[]} a
1759
+ * The first array to compare.
1760
+ * @param {string[]} b
1761
+ * The second array to compare.
1762
+ * @return {boolean}
1763
+ * Return `true` if the arrays are equal, otherwise `false`.
1764
+ */
1765
+ function shallowArraysEqual(a, b) {
1766
+ if (!defined(a) || !defined(b)) {
1767
+ return false;
1768
+ }
1769
+ if (a.length !== b.length) {
1770
+ return false;
1771
+ }
1772
+ for (let i = 0; i < a.length; i++) {
1773
+ if (a[i] !== b[i]) {
1774
+ return false;
1775
+ }
1776
+ }
1777
+ return true;
1778
+ }
1755
1779
  /* *
1756
1780
  *
1757
1781
  * Default Export
@@ -1766,6 +1790,7 @@
1766
1790
  isNotNavigatorYAxis,
1767
1791
  isPriceIndicatorEnabled,
1768
1792
  manageIndicators,
1793
+ shallowArraysEqual,
1769
1794
  updateHeight,
1770
1795
  updateNthPoint,
1771
1796
  updateRectSize
@@ -4452,7 +4477,13 @@
4452
4477
  */
4453
4478
  symbol: 'save-chart.svg'
4454
4479
  }
4455
- }
4480
+ },
4481
+ /**
4482
+ * Whether the stock tools toolbar is visible.
4483
+ *
4484
+ * @since 11.4.4
4485
+ */
4486
+ visible: true
4456
4487
  }
4457
4488
  };
4458
4489
  /* *
@@ -4708,7 +4739,7 @@
4708
4739
 
4709
4740
  return StockTools;
4710
4741
  });
4711
- _registerModule(_modules, 'Stock/StockTools/StockToolbar.js', [_modules['Core/Utilities.js']], function (U) {
4742
+ _registerModule(_modules, 'Stock/StockTools/StockToolbar.js', [_modules['Core/Utilities.js'], _modules['Core/Renderer/HTML/AST.js'], _modules['Stock/StockTools/StockToolsUtilities.js']], function (U, AST, StockToolsUtilities) {
4712
4743
  /* *
4713
4744
  *
4714
4745
  * GUI generator for Stock tools
@@ -4720,7 +4751,8 @@
4720
4751
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
4721
4752
  *
4722
4753
  * */
4723
- const { addEvent, createElement, css, fireEvent, getStyle, isArray, merge, pick } = U;
4754
+ const { addEvent, createElement, css, defined, fireEvent, getStyle, isArray, merge, pick } = U;
4755
+ const { shallowArraysEqual } = StockToolsUtilities;
4724
4756
  /* *
4725
4757
  *
4726
4758
  * Classes
@@ -4748,6 +4780,8 @@
4748
4780
  *
4749
4781
  * */
4750
4782
  constructor(options, langOptions, chart) {
4783
+ this.width = 0;
4784
+ this.isDirty = false;
4751
4785
  this.chart = chart;
4752
4786
  this.options = options;
4753
4787
  this.lang = langOptions;
@@ -4755,14 +4789,15 @@
4755
4789
  this.iconsURL = this.getIconsURL();
4756
4790
  this.guiEnabled = options.enabled;
4757
4791
  this.visible = pick(options.visible, true);
4758
- this.placed = pick(options.placed, false);
4792
+ this.guiClassName = options.className;
4793
+ this.toolbarClassName = options.toolbarClassName;
4759
4794
  // General events collection which should be removed upon
4760
4795
  // destroy/update:
4761
4796
  this.eventsToUnbind = [];
4762
4797
  if (this.guiEnabled) {
4763
- this.createHTML();
4764
- this.init();
4765
- this.showHideNavigatorion();
4798
+ this.createContainer();
4799
+ this.createButtons();
4800
+ this.showHideNavigation();
4766
4801
  }
4767
4802
  fireEvent(this, 'afterInit');
4768
4803
  }
@@ -4772,12 +4807,12 @@
4772
4807
  *
4773
4808
  * */
4774
4809
  /**
4775
- * Initialize the toolbar. Create buttons and submenu for each option
4776
- * defined in `stockTools.gui`.
4810
+ * Create and set up stockTools buttons with their events and submenus.
4777
4811
  * @private
4778
4812
  */
4779
- init() {
4813
+ createButtons() {
4780
4814
  const lang = this.lang, guiOptions = this.options, toolbar = this.toolbar, buttons = guiOptions.buttons, defs = guiOptions.definitions, allButtons = toolbar.childNodes;
4815
+ this.buttonList = buttons;
4781
4816
  // Create buttons
4782
4817
  buttons.forEach((btnName) => {
4783
4818
  const button = this.addButton(toolbar, defs, btnName, lang);
@@ -5001,11 +5036,11 @@
5001
5036
  }));
5002
5037
  }
5003
5038
  /*
5004
- * Create stockTools HTML main elements.
5039
+ * Create the stockTools container and sets up event bindings.
5005
5040
  *
5006
5041
  */
5007
- createHTML() {
5008
- const chart = this.chart, guiOptions = this.options, container = chart.container, navigation = chart.options.navigation, bindingsClassName = navigation && navigation.bindingsClassName;
5042
+ createContainer() {
5043
+ const chart = this.chart, guiOptions = this.options, container = chart.container, navigation = chart.options.navigation, bindingsClassName = navigation?.bindingsClassName, self = this;
5009
5044
  let listWrapper, toolbar;
5010
5045
  // Create main container
5011
5046
  const wrapper = this.wrapper = createElement('div', {
@@ -5013,6 +5048,17 @@
5013
5048
  guiOptions.className + ' ' + bindingsClassName
5014
5049
  });
5015
5050
  container.appendChild(wrapper);
5051
+ this.showHideBtn = createElement('div', {
5052
+ className: 'highcharts-toggle-toolbar highcharts-arrow-left'
5053
+ }, void 0, wrapper);
5054
+ // Toggle menu
5055
+ this.eventsToUnbind.push(addEvent(this.showHideBtn, 'click', () => {
5056
+ this.update({
5057
+ gui: {
5058
+ visible: !self.visible
5059
+ }
5060
+ });
5061
+ }));
5016
5062
  // Mimic event behaviour of being outside chart.container
5017
5063
  [
5018
5064
  'mousedown',
@@ -5042,7 +5088,7 @@
5042
5088
  * Function called in redraw verifies if the navigation should be visible.
5043
5089
  * @private
5044
5090
  */
5045
- showHideNavigatorion() {
5091
+ showHideNavigation() {
5046
5092
  // Arrows
5047
5093
  // 50px space for arrows
5048
5094
  if (this.visible &&
@@ -5061,42 +5107,31 @@
5061
5107
  * @private
5062
5108
  */
5063
5109
  showHideToolbar() {
5064
- const chart = this.chart, wrapper = this.wrapper, toolbar = this.listWrapper, submenu = this.submenu,
5110
+ const wrapper = this.wrapper, toolbar = this.listWrapper, submenu = this.submenu,
5065
5111
  // Show hide toolbar
5066
- showhideBtn = this.showhideBtn = createElement('div', {
5067
- className: 'highcharts-toggle-toolbar highcharts-arrow-left'
5068
- }, void 0, wrapper);
5112
+ showHideBtn = this.showHideBtn;
5069
5113
  let visible = this.visible;
5070
- showhideBtn.style.backgroundImage =
5114
+ showHideBtn.style.backgroundImage =
5071
5115
  'url(' + this.iconsURL + 'arrow-right.svg)';
5072
5116
  if (!visible) {
5073
5117
  // Hide
5074
5118
  if (submenu) {
5075
5119
  submenu.style.display = 'none';
5076
5120
  }
5077
- showhideBtn.style.left = '0px';
5121
+ showHideBtn.style.left = '0px';
5078
5122
  visible = this.visible = false;
5079
5123
  toolbar.classList.add('highcharts-hide');
5080
- showhideBtn.classList.toggle('highcharts-arrow-right');
5081
- wrapper.style.height = showhideBtn.offsetHeight + 'px';
5124
+ showHideBtn.classList.add('highcharts-arrow-right');
5125
+ wrapper.style.height = showHideBtn.offsetHeight + 'px';
5082
5126
  }
5083
5127
  else {
5084
5128
  wrapper.style.height = '100%';
5085
- showhideBtn.style.top = getStyle(toolbar, 'padding-top') + 'px';
5086
- showhideBtn.style.left = (wrapper.offsetWidth +
5129
+ toolbar.classList.remove('highcharts-hide');
5130
+ showHideBtn.classList.remove('highcharts-arrow-right');
5131
+ showHideBtn.style.top = getStyle(toolbar, 'padding-top') + 'px';
5132
+ showHideBtn.style.left = (wrapper.offsetWidth +
5087
5133
  getStyle(toolbar, 'padding-left')) + 'px';
5088
5134
  }
5089
- // Toggle menu
5090
- this.eventsToUnbind.push(addEvent(showhideBtn, 'click', () => {
5091
- chart.update({
5092
- stockTools: {
5093
- gui: {
5094
- visible: !visible,
5095
- placed: true
5096
- }
5097
- }
5098
- });
5099
- }));
5100
5135
  }
5101
5136
  /*
5102
5137
  * In main GUI button, replace icon and class with submenu button's
@@ -5160,9 +5195,10 @@
5160
5195
  * @private
5161
5196
  */
5162
5197
  update(options, redraw) {
5198
+ this.isDirty = !!options.gui.definitions;
5163
5199
  merge(true, this.chart.options.stockTools, options);
5164
- this.destroy();
5165
- this.chart.setStockTools(options);
5200
+ merge(true, this.options, options.gui);
5201
+ this.visible = pick(this.options.visible && this.options.enabled, true);
5166
5202
  // If Stock Tools are updated, then bindings should be updated too:
5167
5203
  if (this.chart.navigationBindings) {
5168
5204
  this.chart.navigationBindings.update();
@@ -5185,11 +5221,82 @@
5185
5221
  }
5186
5222
  }
5187
5223
  /**
5188
- * Redraw, GUI requires to verify if the navigation should be visible.
5224
+ * Redraws the toolbar based on the current state of the options.
5189
5225
  * @private
5190
5226
  */
5191
5227
  redraw() {
5192
- this.showHideNavigatorion();
5228
+ if (this.options.enabled !== this.guiEnabled) {
5229
+ this.handleGuiEnabledChange();
5230
+ }
5231
+ else {
5232
+ if (!this.guiEnabled) {
5233
+ return;
5234
+ }
5235
+ this.updateClassNames();
5236
+ this.updateButtons();
5237
+ this.updateVisibility();
5238
+ this.showHideNavigation();
5239
+ this.showHideToolbar();
5240
+ }
5241
+ }
5242
+ /**
5243
+ * Hadles the change of the `enabled` option.
5244
+ * @private
5245
+ */
5246
+ handleGuiEnabledChange() {
5247
+ if (this.options.enabled === false) {
5248
+ this.destroy();
5249
+ this.visible = false;
5250
+ }
5251
+ if (this.options.enabled === true) {
5252
+ this.createContainer();
5253
+ this.createButtons();
5254
+ }
5255
+ this.guiEnabled = this.options.enabled;
5256
+ }
5257
+ /**
5258
+ * Updates the class names of the GUI and toolbar elements.
5259
+ * @private
5260
+ */
5261
+ updateClassNames() {
5262
+ if (this.options.className !== this.guiClassName) {
5263
+ if (this.guiClassName) {
5264
+ this.wrapper.classList.remove(this.guiClassName);
5265
+ }
5266
+ if (this.options.className) {
5267
+ this.wrapper.classList.add(this.options.className);
5268
+ }
5269
+ this.guiClassName = this.options.className;
5270
+ }
5271
+ if (this.options.toolbarClassName !== this.toolbarClassName) {
5272
+ if (this.toolbarClassName) {
5273
+ this.toolbar.classList.remove(this.toolbarClassName);
5274
+ }
5275
+ if (this.options.toolbarClassName) {
5276
+ this.toolbar.classList.add(this.options.toolbarClassName);
5277
+ }
5278
+ this.toolbarClassName = this.options.toolbarClassName;
5279
+ }
5280
+ }
5281
+ /**
5282
+ * Updates the buttons in the toolbar if the button options have changed.
5283
+ * @private
5284
+ */
5285
+ updateButtons() {
5286
+ if (!shallowArraysEqual(this.options.buttons, this.buttonList) ||
5287
+ this.isDirty) {
5288
+ this.toolbar.innerHTML = AST.emptyHTML;
5289
+ this.createButtons();
5290
+ }
5291
+ }
5292
+ /**
5293
+ * Updates visibility based on current options.
5294
+ * @private
5295
+ */
5296
+ updateVisibility() {
5297
+ if (defined(this.options.visible)) {
5298
+ this.visible = this.options.visible;
5299
+ }
5193
5300
  }
5194
5301
  /**
5195
5302
  * @private
@@ -5197,7 +5304,7 @@
5197
5304
  getIconsURL() {
5198
5305
  return this.chart.options.navigation.iconsURL ||
5199
5306
  this.options.iconsURL ||
5200
- 'https://code.highcharts.com/11.4.3/gfx/stock-icons/';
5307
+ 'https://code.highcharts.com/11.4.4/gfx/stock-icons/';
5201
5308
  }
5202
5309
  }
5203
5310
  Toolbar.prototype.classMapping = {
@@ -5297,7 +5404,6 @@
5297
5404
  addEvent(ChartClass, 'beforeRender', onChartBeforeRedraw);
5298
5405
  addEvent(ChartClass, 'destroy', onChartDestroy);
5299
5406
  addEvent(ChartClass, 'getMargins', onChartGetMargins, { order: 0 });
5300
- addEvent(ChartClass, 'redraw', onChartRedraw);
5301
5407
  addEvent(ChartClass, 'render', onChartRender);
5302
5408
  chartProto.setStockTools = chartSetStockTools;
5303
5409
  addEvent(NavigationBindingsClass, 'deselectButton', onNavigationBindingsDeselectButton);
@@ -5318,25 +5424,37 @@
5318
5424
  */
5319
5425
  function onChartBeforeRedraw() {
5320
5426
  if (this.stockTools) {
5321
- const optionsChart = this.options.chart;
5322
- const listWrapper = this.stockTools.listWrapper, offsetWidth = listWrapper && ((listWrapper.startWidth +
5427
+ this.stockTools.redraw();
5428
+ setOffset(this);
5429
+ }
5430
+ }
5431
+ /**
5432
+ * Function to calculate and set the offset width for stock tools.
5433
+ * @private
5434
+ */
5435
+ function setOffset(chart) {
5436
+ if (chart.stockTools?.guiEnabled) {
5437
+ const optionsChart = chart.options.chart;
5438
+ const listWrapper = chart.stockTools.listWrapper;
5439
+ const offsetWidth = listWrapper && ((listWrapper.startWidth +
5323
5440
  getStyle(listWrapper, 'padding-left') +
5324
5441
  getStyle(listWrapper, 'padding-right')) || listWrapper.offsetWidth);
5442
+ chart.stockTools.width = offsetWidth;
5325
5443
  let dirty = false;
5326
- if (offsetWidth && offsetWidth < this.plotWidth) {
5444
+ if (offsetWidth < chart.plotWidth) {
5327
5445
  const nextX = pick(optionsChart.spacingLeft, optionsChart.spacing && optionsChart.spacing[3], 0) + offsetWidth;
5328
- const diff = nextX - this.spacingBox.x;
5329
- this.spacingBox.x = nextX;
5330
- this.spacingBox.width -= diff;
5446
+ const diff = nextX - chart.spacingBox.x;
5447
+ chart.spacingBox.x = nextX;
5448
+ chart.spacingBox.width -= diff;
5331
5449
  dirty = true;
5332
5450
  }
5333
5451
  else if (offsetWidth === 0) {
5334
5452
  dirty = true;
5335
5453
  }
5336
- if (offsetWidth !== this.stockTools.prevOffsetWidth) {
5337
- this.stockTools.prevOffsetWidth = offsetWidth;
5454
+ if (offsetWidth !== chart.stockTools.prevOffsetWidth) {
5455
+ chart.stockTools.prevOffsetWidth = offsetWidth;
5338
5456
  if (dirty) {
5339
- this.isDirtyLegend = true;
5457
+ chart.isDirtyLegend = true;
5340
5458
  }
5341
5459
  }
5342
5460
  }
@@ -5353,22 +5471,13 @@
5353
5471
  * @private
5354
5472
  */
5355
5473
  function onChartGetMargins() {
5356
- const listWrapper = this.stockTools && this.stockTools.listWrapper, offsetWidth = listWrapper && ((listWrapper.startWidth +
5357
- getStyle(listWrapper, 'padding-left') +
5358
- getStyle(listWrapper, 'padding-right')) || listWrapper.offsetWidth);
5474
+ const offsetWidth = this.stockTools?.visible && this.stockTools.guiEnabled ?
5475
+ this.stockTools.width : 0;
5359
5476
  if (offsetWidth && offsetWidth < this.plotWidth) {
5360
5477
  this.plotLeft += offsetWidth;
5361
5478
  this.spacing[3] += offsetWidth;
5362
5479
  }
5363
5480
  }
5364
- /**
5365
- * @private
5366
- */
5367
- function onChartRedraw() {
5368
- if (this.stockTools && this.stockTools.guiEnabled) {
5369
- this.stockTools.redraw();
5370
- }
5371
- }
5372
5481
  /**
5373
5482
  * Check if the correct price indicator button is displayed, #15029.
5374
5483
  * @private
@@ -5404,8 +5513,7 @@
5404
5513
  if (button.parentNode.className.indexOf(className) >= 0) {
5405
5514
  button = button.parentNode.parentNode;
5406
5515
  }
5407
- // Set active class on the current button
5408
- gui.toggleButtonActiveClass(button);
5516
+ button.classList.remove('highcharts-active');
5409
5517
  }
5410
5518
  }
5411
5519
  /**
@@ -5447,4 +5555,4 @@
5447
5555
 
5448
5556
  return Highcharts;
5449
5557
  });
5450
- }));
5558
+ }));