highcharts 12.0.2 → 12.1.1

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 (335) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Options/A11yDefaults.js +2 -0
  3. package/es-modules/Core/Color/Color.js +5 -12
  4. package/es-modules/Core/Defaults.js +0 -8
  5. package/es-modules/Core/Globals.js +1 -1
  6. package/es-modules/Core/Pointer.js +3 -1
  7. package/es-modules/Core/Renderer/HTML/HTMLElement.js +1 -3
  8. package/es-modules/Core/Renderer/SVG/SVGElement.js +4 -2
  9. package/es-modules/Core/Renderer/SVG/SVGLabel.js +11 -12
  10. package/es-modules/Core/Series/DataLabel.js +1 -0
  11. package/es-modules/Core/Series/Series.js +13 -15
  12. package/es-modules/Core/Templating.js +20 -16
  13. package/es-modules/Core/Time.js +21 -10
  14. package/es-modules/Core/Utilities.js +1 -1
  15. package/es-modules/Data/Converters/CSVConverter.js +1 -0
  16. package/es-modules/Data/Converters/DataConverter.js +31 -0
  17. package/es-modules/Data/Converters/GoogleSheetsConverter.js +1 -0
  18. package/es-modules/Data/Converters/HTMLTableConverter.js +1 -0
  19. package/es-modules/Data/Converters/JSONConverter.js +1 -0
  20. package/es-modules/Extensions/Boost/BoostSeries.js +13 -7
  21. package/es-modules/Extensions/DragPanes/AxisResizer.js +1 -1
  22. package/es-modules/Extensions/Exporting/Exporting.js +16 -8
  23. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +7 -2
  24. package/es-modules/Series/Bubble/BubbleSeries.js +24 -0
  25. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +3 -1
  26. package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +3 -1
  27. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +3 -1
  28. package/es-modules/Series/Treemap/TreemapPoint.js +7 -2
  29. package/es-modules/Series/Treemap/TreemapSeries.js +154 -53
  30. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +126 -4
  31. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -0
  32. package/es-modules/Stock/RangeSelector/RangeSelector.js +75 -71
  33. package/es-modules/Stock/RangeSelector/RangeSelectorDefaults.js +10 -4
  34. package/es-modules/masters/indicators/indicators-all.src.js +4 -0
  35. package/es-modules/tsconfig.tsbuildinfo +1 -1
  36. package/highcharts-3d.js +2 -2
  37. package/highcharts-3d.src.js +1 -1
  38. package/highcharts-gantt.js +5 -5
  39. package/highcharts-gantt.src.js +174 -164
  40. package/highcharts-more.js +2 -2
  41. package/highcharts-more.src.js +25 -1
  42. package/highcharts.d.ts +301 -764
  43. package/highcharts.js +3 -3
  44. package/highcharts.src.d.ts +301 -764
  45. package/highcharts.src.js +84 -84
  46. package/highmaps.js +5 -5
  47. package/highmaps.src.js +111 -87
  48. package/highstock.js +5 -5
  49. package/highstock.src.js +174 -164
  50. package/indicators/acceleration-bands.js +2 -2
  51. package/indicators/acceleration-bands.src.js +1 -1
  52. package/indicators/accumulation-distribution.js +2 -2
  53. package/indicators/accumulation-distribution.src.js +1 -1
  54. package/indicators/ao.js +2 -2
  55. package/indicators/ao.src.js +1 -1
  56. package/indicators/apo.js +2 -2
  57. package/indicators/apo.src.js +1 -1
  58. package/indicators/aroon-oscillator.js +2 -2
  59. package/indicators/aroon-oscillator.src.js +1 -1
  60. package/indicators/aroon.js +2 -2
  61. package/indicators/aroon.src.js +1 -1
  62. package/indicators/atr.js +2 -2
  63. package/indicators/atr.src.js +1 -1
  64. package/indicators/bollinger-bands.js +2 -2
  65. package/indicators/bollinger-bands.src.js +1 -1
  66. package/indicators/cci.js +2 -2
  67. package/indicators/cci.src.js +1 -1
  68. package/indicators/chaikin.js +2 -2
  69. package/indicators/chaikin.src.js +1 -1
  70. package/indicators/cmf.js +2 -2
  71. package/indicators/cmf.src.js +1 -1
  72. package/indicators/cmo.js +2 -2
  73. package/indicators/cmo.src.js +1 -1
  74. package/indicators/dema.js +2 -2
  75. package/indicators/dema.src.js +1 -1
  76. package/indicators/disparity-index.js +2 -2
  77. package/indicators/disparity-index.src.js +1 -1
  78. package/indicators/dmi.js +2 -2
  79. package/indicators/dmi.src.js +1 -1
  80. package/indicators/dpo.js +2 -2
  81. package/indicators/dpo.src.js +1 -1
  82. package/indicators/ema.js +1 -1
  83. package/indicators/ichimoku-kinko-hyo.js +2 -2
  84. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  85. package/indicators/indicators-all.js +2 -2
  86. package/indicators/indicators-all.src.js +6 -1
  87. package/indicators/indicators.js +2 -2
  88. package/indicators/indicators.src.js +1 -1
  89. package/indicators/keltner-channels.js +2 -2
  90. package/indicators/keltner-channels.src.js +1 -1
  91. package/indicators/klinger.js +2 -2
  92. package/indicators/klinger.src.js +1 -1
  93. package/indicators/macd.js +2 -2
  94. package/indicators/macd.src.js +1 -1
  95. package/indicators/mfi.js +2 -2
  96. package/indicators/mfi.src.js +1 -1
  97. package/indicators/momentum.js +2 -2
  98. package/indicators/momentum.src.js +1 -1
  99. package/indicators/natr.js +2 -2
  100. package/indicators/natr.src.js +1 -1
  101. package/indicators/obv.js +2 -2
  102. package/indicators/obv.src.js +1 -1
  103. package/indicators/pivot-points.js +2 -2
  104. package/indicators/pivot-points.src.js +1 -1
  105. package/indicators/ppo.js +2 -2
  106. package/indicators/ppo.src.js +1 -1
  107. package/indicators/price-channel.js +2 -2
  108. package/indicators/price-channel.src.js +1 -1
  109. package/indicators/price-envelopes.js +2 -2
  110. package/indicators/price-envelopes.src.js +1 -1
  111. package/indicators/psar.js +2 -2
  112. package/indicators/psar.src.js +1 -1
  113. package/indicators/regressions.js +2 -2
  114. package/indicators/regressions.src.js +1 -1
  115. package/indicators/roc.js +2 -2
  116. package/indicators/roc.src.js +1 -1
  117. package/indicators/rsi.js +2 -2
  118. package/indicators/rsi.src.js +1 -1
  119. package/indicators/slow-stochastic.js +2 -2
  120. package/indicators/slow-stochastic.src.js +1 -1
  121. package/indicators/stochastic.js +2 -2
  122. package/indicators/stochastic.src.js +1 -1
  123. package/indicators/supertrend.js +2 -2
  124. package/indicators/supertrend.src.js +1 -1
  125. package/indicators/tema.js +2 -2
  126. package/indicators/tema.src.js +1 -1
  127. package/indicators/trendline.js +2 -2
  128. package/indicators/trendline.src.js +1 -1
  129. package/indicators/trix.js +2 -2
  130. package/indicators/trix.src.js +1 -1
  131. package/indicators/volume-by-price.js +2 -2
  132. package/indicators/volume-by-price.src.js +2 -1
  133. package/indicators/vwap.js +2 -2
  134. package/indicators/vwap.src.js +1 -1
  135. package/indicators/williams-r.js +2 -2
  136. package/indicators/williams-r.src.js +1 -1
  137. package/indicators/wma.js +2 -2
  138. package/indicators/wma.src.js +1 -1
  139. package/indicators/zigzag.js +2 -2
  140. package/indicators/zigzag.src.js +1 -1
  141. package/modules/accessibility.js +2 -2
  142. package/modules/accessibility.src.js +3 -1
  143. package/modules/annotations-advanced.js +3 -3
  144. package/modules/annotations-advanced.src.js +4 -4
  145. package/modules/annotations.js +2 -2
  146. package/modules/annotations.src.js +3 -3
  147. package/modules/arc-diagram.js +2 -2
  148. package/modules/arc-diagram.src.js +1 -1
  149. package/modules/arrow-symbols.js +2 -2
  150. package/modules/arrow-symbols.src.js +1 -1
  151. package/modules/boost-canvas.js +2 -2
  152. package/modules/boost-canvas.src.js +14 -11
  153. package/modules/boost.js +2 -2
  154. package/modules/boost.src.js +14 -11
  155. package/modules/broken-axis.js +2 -2
  156. package/modules/broken-axis.src.js +1 -1
  157. package/modules/bullet.js +2 -2
  158. package/modules/bullet.src.js +1 -1
  159. package/modules/coloraxis.js +2 -2
  160. package/modules/coloraxis.src.js +1 -1
  161. package/modules/current-date-indicator.js +2 -2
  162. package/modules/current-date-indicator.src.js +1 -1
  163. package/modules/cylinder.js +2 -2
  164. package/modules/cylinder.src.js +1 -1
  165. package/modules/data-tools.js +2 -2
  166. package/modules/data-tools.src.js +36 -1
  167. package/modules/data.js +2 -2
  168. package/modules/data.src.js +1 -1
  169. package/modules/datagrouping.js +2 -2
  170. package/modules/datagrouping.src.js +1 -1
  171. package/modules/debugger.js +2 -2
  172. package/modules/debugger.src.js +1 -1
  173. package/modules/dependency-wheel.js +2 -2
  174. package/modules/dependency-wheel.src.js +1 -1
  175. package/modules/dotplot.js +2 -2
  176. package/modules/dotplot.src.js +1 -1
  177. package/modules/drag-panes.js +2 -2
  178. package/modules/drag-panes.src.js +2 -2
  179. package/modules/draggable-points.js +2 -2
  180. package/modules/draggable-points.src.js +1 -1
  181. package/modules/drilldown.js +2 -2
  182. package/modules/drilldown.src.js +1 -1
  183. package/modules/dumbbell.js +2 -2
  184. package/modules/dumbbell.src.js +1 -1
  185. package/modules/export-data.js +2 -2
  186. package/modules/export-data.src.js +1 -1
  187. package/modules/exporting.js +2 -2
  188. package/modules/exporting.src.js +17 -9
  189. package/modules/flowmap.js +2 -2
  190. package/modules/flowmap.src.js +1 -1
  191. package/modules/full-screen.js +2 -2
  192. package/modules/full-screen.src.js +1 -1
  193. package/modules/funnel.js +2 -2
  194. package/modules/funnel.src.js +1 -1
  195. package/modules/funnel3d.js +2 -2
  196. package/modules/funnel3d.src.js +1 -1
  197. package/modules/gantt.js +5 -5
  198. package/modules/gantt.src.js +89 -79
  199. package/modules/geoheatmap.js +2 -2
  200. package/modules/geoheatmap.src.js +1 -1
  201. package/modules/grid-axis.js +2 -2
  202. package/modules/grid-axis.src.js +1 -1
  203. package/modules/heatmap.js +3 -3
  204. package/modules/heatmap.src.js +2 -2
  205. package/modules/heikinashi.js +2 -2
  206. package/modules/heikinashi.src.js +1 -1
  207. package/modules/histogram-bellcurve.js +2 -2
  208. package/modules/histogram-bellcurve.src.js +1 -1
  209. package/modules/hollowcandlestick.js +2 -2
  210. package/modules/hollowcandlestick.src.js +1 -1
  211. package/modules/item-series.js +2 -2
  212. package/modules/item-series.src.js +1 -1
  213. package/modules/lollipop.js +2 -2
  214. package/modules/lollipop.src.js +1 -1
  215. package/modules/map.js +4 -4
  216. package/modules/map.src.js +26 -2
  217. package/modules/marker-clusters.js +2 -2
  218. package/modules/marker-clusters.src.js +1 -1
  219. package/modules/mouse-wheel-zoom.js +2 -2
  220. package/modules/mouse-wheel-zoom.src.js +1 -1
  221. package/modules/navigator.js +2 -2
  222. package/modules/navigator.src.js +1 -1
  223. package/modules/networkgraph.js +2 -2
  224. package/modules/networkgraph.src.js +1 -1
  225. package/modules/no-data-to-display.js +2 -2
  226. package/modules/no-data-to-display.src.js +1 -1
  227. package/modules/offline-exporting.js +2 -2
  228. package/modules/offline-exporting.src.js +18 -10
  229. package/modules/organization.js +2 -2
  230. package/modules/organization.src.js +4 -2
  231. package/modules/overlapping-datalabels.js +2 -2
  232. package/modules/overlapping-datalabels.src.js +1 -1
  233. package/modules/parallel-coordinates.js +2 -2
  234. package/modules/parallel-coordinates.src.js +1 -1
  235. package/modules/pareto.js +2 -2
  236. package/modules/pareto.src.js +1 -1
  237. package/modules/pathfinder.js +2 -2
  238. package/modules/pathfinder.src.js +1 -1
  239. package/modules/pattern-fill.js +2 -2
  240. package/modules/pattern-fill.src.js +1 -1
  241. package/modules/pictorial.js +2 -2
  242. package/modules/pictorial.src.js +1 -1
  243. package/modules/pointandfigure.js +2 -2
  244. package/modules/pointandfigure.src.js +1 -1
  245. package/modules/price-indicator.js +2 -2
  246. package/modules/price-indicator.src.js +1 -1
  247. package/modules/pyramid3d.js +2 -2
  248. package/modules/pyramid3d.src.js +1 -1
  249. package/modules/renko.js +2 -2
  250. package/modules/renko.src.js +1 -1
  251. package/modules/sankey.js +2 -2
  252. package/modules/sankey.src.js +1 -1
  253. package/modules/series-label.js +2 -2
  254. package/modules/series-label.src.js +8 -3
  255. package/modules/series-on-point.js +2 -2
  256. package/modules/series-on-point.src.js +1 -1
  257. package/modules/solid-gauge.js +2 -2
  258. package/modules/solid-gauge.src.js +1 -1
  259. package/modules/sonification.js +2 -2
  260. package/modules/sonification.src.js +1 -1
  261. package/modules/static-scale.js +2 -2
  262. package/modules/static-scale.src.js +1 -1
  263. package/modules/stock-tools.js +2 -2
  264. package/modules/stock-tools.src.js +3 -3
  265. package/modules/stock.js +6 -6
  266. package/modules/stock.src.js +89 -79
  267. package/modules/streamgraph.js +2 -2
  268. package/modules/streamgraph.src.js +1 -1
  269. package/modules/sunburst.js +2 -2
  270. package/modules/sunburst.src.js +290 -62
  271. package/modules/textpath.js +2 -2
  272. package/modules/textpath.src.js +1 -1
  273. package/modules/tiledwebmap.js +3 -3
  274. package/modules/tiledwebmap.src.js +1 -1
  275. package/modules/tilemap.js +2 -2
  276. package/modules/tilemap.src.js +1 -1
  277. package/modules/timeline.js +2 -2
  278. package/modules/timeline.src.js +4 -2
  279. package/modules/treegraph.js +2 -2
  280. package/modules/treegraph.src.js +4 -2
  281. package/modules/treegrid.js +2 -2
  282. package/modules/treegrid.src.js +1 -1
  283. package/modules/treemap.js +2 -2
  284. package/modules/treemap.src.js +288 -60
  285. package/modules/variable-pie.js +2 -2
  286. package/modules/variable-pie.src.js +1 -1
  287. package/modules/variwide.js +2 -2
  288. package/modules/variwide.src.js +1 -1
  289. package/modules/vector.js +2 -2
  290. package/modules/vector.src.js +1 -1
  291. package/modules/venn.js +2 -2
  292. package/modules/venn.src.js +1 -1
  293. package/modules/windbarb.js +2 -2
  294. package/modules/windbarb.src.js +1 -1
  295. package/modules/wordcloud.js +2 -2
  296. package/modules/wordcloud.src.js +1 -1
  297. package/modules/xrange.js +2 -2
  298. package/modules/xrange.src.js +1 -1
  299. package/options/treegraph.d.ts +559 -70
  300. package/options/treegraph.src.d.ts +559 -70
  301. package/options/treemap.d.ts +314 -160
  302. package/options/treemap.src.d.ts +314 -160
  303. package/options/vbp.d.ts +1 -1
  304. package/options/vbp.src.d.ts +1 -1
  305. package/package.json +1 -1
  306. package/standalone-navigator.js +3 -3
  307. package/standalone-navigator.src.js +85 -85
  308. package/themes/avocado.js +2 -2
  309. package/themes/avocado.src.js +1 -1
  310. package/themes/brand-dark.js +2 -2
  311. package/themes/brand-dark.src.js +1 -1
  312. package/themes/brand-light.js +2 -2
  313. package/themes/brand-light.src.js +1 -1
  314. package/themes/dark-blue.js +2 -2
  315. package/themes/dark-blue.src.js +1 -1
  316. package/themes/dark-green.js +2 -2
  317. package/themes/dark-green.src.js +1 -1
  318. package/themes/dark-unica.js +2 -2
  319. package/themes/dark-unica.src.js +1 -1
  320. package/themes/gray.js +2 -2
  321. package/themes/gray.src.js +1 -1
  322. package/themes/grid-light.js +2 -2
  323. package/themes/grid-light.src.js +1 -1
  324. package/themes/grid.js +2 -2
  325. package/themes/grid.src.js +1 -1
  326. package/themes/high-contrast-dark.js +2 -2
  327. package/themes/high-contrast-dark.src.js +1 -1
  328. package/themes/high-contrast-light.js +2 -2
  329. package/themes/high-contrast-light.src.js +1 -1
  330. package/themes/sand-signika.js +2 -2
  331. package/themes/sand-signika.src.js +1 -1
  332. package/themes/skies.js +2 -2
  333. package/themes/skies.src.js +1 -1
  334. package/themes/sunset.js +2 -2
  335. package/themes/sunset.src.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.0.2 (2024-12-04)
2
+ * @license Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/highcharts
4
4
  *
5
5
  * (c) 2009-2024 Torstein Honsi
@@ -74,12 +74,12 @@ var Globals;
74
74
  * Constants
75
75
  *
76
76
  * */
77
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.0.2', Globals.win = (typeof window !== 'undefined' ?
77
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '12.1.1', Globals.win = (typeof window !== 'undefined' ?
78
78
  window :
79
79
  {}), // eslint-disable-line node/no-unsupported-features/es-builtins
80
80
  Globals.doc = Globals.win.document, Globals.svg = (Globals.doc &&
81
81
  Globals.doc.createElementNS &&
82
- !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [
82
+ !!Globals.doc.createElementNS(Globals.SVG_NS, 'svg').createSVGRect), Globals.pageLang = Globals.doc?.body.closest('[lang]')?.lang, Globals.userAgent = (Globals.win.navigator && Globals.win.navigator.userAgent) || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [
83
83
  'plotTop',
84
84
  'marginRight',
85
85
  'marginBottom',
@@ -1275,7 +1275,7 @@ function getNestedProperty(path, parent) {
1275
1275
  }
1276
1276
  return thisProp ?? parent;
1277
1277
  }
1278
- const child = parent[pathElement];
1278
+ const child = parent[pathElement.replace(/[\\'"]/g, '')];
1279
1279
  // Filter on the child
1280
1280
  if (!defined(child) ||
1281
1281
  typeof child === 'function' ||
@@ -3500,7 +3500,7 @@ const SeriesPalettes = {
3500
3500
  * */
3501
3501
 
3502
3502
 
3503
- const { win: Time_win } = Core_Globals;
3503
+ const { pageLang, win: Time_win } = Core_Globals;
3504
3504
 
3505
3505
  const { defined: Time_defined, error: Time_error, extend: Time_extend, isNumber: Time_isNumber, isObject: Time_isObject, isString: Time_isString, merge: Time_merge, objectEach: Time_objectEach, pad: Time_pad, splat: Time_splat, timeUnits: Time_timeUnits, ucfirst: Time_ucfirst } = Core_Utilities;
3506
3506
  /* *
@@ -3527,9 +3527,17 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind
3527
3527
  * `Highcharts.setOptions`, or individually for each Chart item through the
3528
3528
  * [time](https://api.highcharts.com/highcharts/time) options set.
3529
3529
  *
3530
- * The Time object is available from {@link Highcharts.Chart#time},
3531
- * which refers to `Highcharts.time` if no individual time settings are
3532
- * applied.
3530
+ * The Time object is available from {@link Highcharts.Chart#time}, which refers
3531
+ * to `Highcharts.time` unless individual time settings are applied for each
3532
+ * chart.
3533
+ *
3534
+ * When configuring time settings for individual chart instances, be aware that
3535
+ * using `Highcharts.dateFormat` or `Highcharts.time.dateFormat` within
3536
+ * formatter callbacks relies on the global time object, which applies the
3537
+ * global language and time zone settings. To ensure charts with local time
3538
+ * settings function correctly, use `chart.time.dateFormat? instead. However,
3539
+ * the recommended best practice is to use `setOptions` to define global time
3540
+ * settings unless specific configurations are needed for each chart.
3533
3541
  *
3534
3542
  * @example
3535
3543
  * // Apply time settings globally
@@ -3567,8 +3575,8 @@ const spanishWeekdayIndex = (weekday) => ['D', 'L', 'M', 'X', 'J', 'V', 'S'].ind
3567
3575
  * @class
3568
3576
  * @name Highcharts.Time
3569
3577
  *
3570
- * @param {Highcharts.TimeOptions} [options]
3571
- * Time options as defined in [chart.options.time](/highcharts/time).
3578
+ * @param {Highcharts.TimeOptions} [options] Time options as defined in
3579
+ * [chart.options.time](/highcharts/time).
3572
3580
  */
3573
3581
  class Time {
3574
3582
  /* *
@@ -3582,7 +3590,9 @@ class Time {
3582
3590
  * Properties
3583
3591
  *
3584
3592
  * */
3585
- this.options = {};
3593
+ this.options = {
3594
+ timezone: 'UTC'
3595
+ };
3586
3596
  this.variableTimezone = false;
3587
3597
  this.Date = Time_win.Date;
3588
3598
  this.update(options);
@@ -3604,12 +3614,13 @@ class Time {
3604
3614
  *
3605
3615
  */
3606
3616
  update(options = {}) {
3607
- let timezone = options.timezone ?? 'UTC';
3608
3617
  this.dTLCache = {};
3609
3618
  this.options = options = Time_merge(true, this.options, options);
3610
3619
  const { timezoneOffset, useUTC } = options;
3611
3620
  // Allow using a different Date class
3612
3621
  this.Date = options.Date || Time_win.Date || Date;
3622
+ // Assign the time zone. Handle the legacy, deprecated `useUTC` option.
3623
+ let timezone = options.timezone;
3613
3624
  if (Time_defined(useUTC)) {
3614
3625
  timezone = useUTC ? 'UTC' : void 0;
3615
3626
  }
@@ -3685,7 +3696,7 @@ class Time {
3685
3696
  /**
3686
3697
  * Shorthand to get a cached `Intl.DateTimeFormat` instance.
3687
3698
  */
3688
- dateTimeFormat(options, timestamp, locale = this.options.locale) {
3699
+ dateTimeFormat(options, timestamp, locale = this.options.locale || pageLang) {
3689
3700
  const cacheKey = JSON.stringify(options) + locale;
3690
3701
  if (Time_isString(options)) {
3691
3702
  options = this.str2dtf(options);
@@ -4052,7 +4063,7 @@ class Time {
4052
4063
  }
4053
4064
  else if (Time_isObject(format)) {
4054
4065
  const tzHours = (this.getTimezoneOffset(timestamp) || 0) /
4055
- (60000 * 60), timeZone = this.options.timezone || ('Etc/GMT' + (tzHours >= 0 ? '+' : '') + tzHours), { prefix = '', suffix = '' } = format;
4066
+ (60000 * 60), timeZone = this.timezone || ('Etc/GMT' + (tzHours >= 0 ? '+' : '') + tzHours), { prefix = '', suffix = '' } = format;
4056
4067
  format = prefix + this.dateTimeFormat(Time_extend({ timeZone }, format), timestamp) + suffix;
4057
4068
  }
4058
4069
  // Optionally sentence-case the string and return
@@ -7063,14 +7074,6 @@ const defaultOptions = {
7063
7074
  text: 'Highcharts.com'
7064
7075
  }
7065
7076
  };
7066
- /* eslint-disable spaced-comment */
7067
- /*= if (!build.classic) { =*/
7068
- // Legacy build for styled mode, set the styledMode option to true by default.
7069
- defaultOptions.chart.styledMode = true;
7070
- /*= } else { =*/
7071
- defaultOptions.chart.styledMode = false;
7072
- /*= } =*/
7073
- '';
7074
7077
  const defaultTime = new Core_Time(defaultOptions.time);
7075
7078
  /**
7076
7079
  * Get the updated default options. Until 3.0.7, merely exposing defaultOptions
@@ -7460,18 +7463,11 @@ class Color {
7460
7463
  }
7461
7464
  // Check for has alpha, because rgba colors perform worse due to
7462
7465
  // lack of support in WebKit.
7463
- const hasAlpha = (toRgba[3] !== 1 || fromRgba[3] !== 1);
7464
- return (hasAlpha ? 'rgba(' : 'rgb(') +
7465
- Math.round(toRgba[0] + (fromRgba[0] - toRgba[0]) * (1 - pos)) +
7466
- ',' +
7467
- Math.round(toRgba[1] + (fromRgba[1] - toRgba[1]) * (1 - pos)) +
7468
- ',' +
7469
- Math.round(toRgba[2] + (fromRgba[2] - toRgba[2]) * (1 - pos)) +
7470
- (hasAlpha ?
7471
- (',' +
7472
- (toRgba[3] + (fromRgba[3] - toRgba[3]) * (1 - pos))) :
7473
- '') +
7474
- ')';
7466
+ const hasAlpha = (toRgba[3] !== 1 || fromRgba[3] !== 1), channel = (to, i) => to + (fromRgba[i] - to) * (1 - pos), rgba = toRgba.slice(0, 3).map(channel).map(Math.round);
7467
+ if (hasAlpha) {
7468
+ rgba.push(channel(toRgba[3], 3));
7469
+ }
7470
+ return (hasAlpha ? 'rgba(' : 'rgb(') + rgba.join(',') + ')';
7475
7471
  }
7476
7472
  }
7477
7473
  /* *
@@ -8838,9 +8834,9 @@ AST.bypassHTMLFiltering = false;
8838
8834
 
8839
8835
  const { defaultOptions: Templating_defaultOptions, defaultTime: Templating_defaultTime } = Defaults;
8840
8836
 
8841
- const { doc: Templating_doc } = Core_Globals;
8837
+ const { pageLang: Templating_pageLang } = Core_Globals;
8842
8838
 
8843
- const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities;
8839
+ const { extend: Templating_extend, getNestedProperty: Templating_getNestedProperty, isArray: Templating_isArray, isNumber: Templating_isNumber, isObject: Templating_isObject, isString: Templating_isString, pick: Templating_pick, ucfirst: Templating_ucfirst } = Core_Utilities;
8844
8840
  const helpers = {
8845
8841
  // Built-in helpers
8846
8842
  add: (a, b) => a + b,
@@ -8875,6 +8871,8 @@ const numberFormatCache = {};
8875
8871
  * Functions
8876
8872
  *
8877
8873
  * */
8874
+ // Internal convenience function
8875
+ const isQuotedString = (str) => /^["'].+["']$/.test(str);
8878
8876
  /**
8879
8877
  * Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a
8880
8878
  * human readable date string. The format is a subset of the formats for PHP's
@@ -8952,11 +8950,11 @@ function dateFormat(format, timestamp, upperCaseFirst) {
8952
8950
  * The formatted string.
8953
8951
  */
8954
8952
  function format(str = '', ctx, chart) {
8955
- const regex = /\{([\p{L}\d:\.,;\-\/<>\[\]%_@"'’= #\(\)]+)\}/gu,
8953
+ const regex = /\{([\p{L}\d:\.,;\-\/<>\[\]%_@+"'’= #\(\)]+)\}/gu,
8956
8954
  // The sub expression regex is the same as the top expression regex,
8957
8955
  // but except parens and block helpers (#), and surrounded by parens
8958
8956
  // instead of curly brackets.
8959
- subRegex = /\(([\p{L}\d:\.,;\-\/<>\[\]%_@"'= ]+)\)/gu, matches = [], floatRegex = /f$/, decRegex = /\.(\d)/, lang = chart?.options.lang || Templating_defaultOptions.lang, time = chart && chart.time || Templating_defaultTime, numberFormatter = chart && chart.numberFormatter || numberFormat;
8957
+ subRegex = /\(([\p{L}\d:\.,;\-\/<>\[\]%_@+"'= ]+)\)/gu, matches = [], floatRegex = /f$/, decRegex = /\.(\d)/, lang = chart?.options.lang || Templating_defaultOptions.lang, time = chart && chart.time || Templating_defaultTime, numberFormatter = chart && chart.numberFormatter || numberFormat;
8960
8958
  /*
8961
8959
  * Get a literal or variable value inside a template expression. May be
8962
8960
  * extended with other types like string or null if needed, but keep it
@@ -8974,7 +8972,7 @@ function format(str = '', ctx, chart) {
8974
8972
  if ((n = Number(key)).toString() === key) {
8975
8973
  return n;
8976
8974
  }
8977
- if (/^["'].+["']$/.test(key)) {
8975
+ if (isQuotedString(key)) {
8978
8976
  return key.slice(1, -1);
8979
8977
  }
8980
8978
  // Variables and constants
@@ -9087,7 +9085,8 @@ function format(str = '', ctx, chart) {
9087
9085
  // Simple variable replacement
9088
9086
  }
9089
9087
  else {
9090
- const valueAndFormat = expression.split(':');
9088
+ const valueAndFormat = isQuotedString(expression) ?
9089
+ [expression] : expression.split(':');
9091
9090
  replacement = resolveProperty(valueAndFormat.shift() || '');
9092
9091
  // Format the replacement
9093
9092
  if (valueAndFormat.length && typeof replacement === 'number') {
@@ -9100,13 +9099,14 @@ function format(str = '', ctx, chart) {
9100
9099
  }
9101
9100
  else {
9102
9101
  replacement = time.dateFormat(segment, replacement);
9103
- // Use string literal in order to be preserved in the outer
9104
- // expression
9105
- if (hasSub) {
9106
- replacement = `"${replacement}"`;
9107
- }
9108
9102
  }
9109
9103
  }
9104
+ // Use string literal in order to be preserved in the outer
9105
+ // expression
9106
+ subRegex.lastIndex = 0;
9107
+ if (subRegex.test(match.find) && Templating_isString(replacement)) {
9108
+ replacement = `"${replacement}"`;
9109
+ }
9110
9110
  }
9111
9111
  str = str.replace(match.find, Templating_pick(replacement, ''));
9112
9112
  });
@@ -9187,16 +9187,16 @@ function numberFormat(number, decimals, decimalPoint, thousandsSep) {
9187
9187
  }
9188
9188
  const hasSeparators = thousandsSep || decimalPoint, locale = hasSeparators ?
9189
9189
  'en' :
9190
- (this?.locale ||
9191
- lang.locale ||
9192
- Templating_doc.body.closest('[lang]')?.lang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options));
9190
+ (this?.locale || lang.locale || Templating_pageLang), cacheKey = JSON.stringify(options) + locale, nf = numberFormatCache[cacheKey] ?? (numberFormatCache[cacheKey] = new Intl.NumberFormat(locale, options));
9193
9191
  ret = nf.format(number);
9194
9192
  // If thousandsSep or decimalPoint are set, fall back to using English
9195
9193
  // format with string replacement for the separators.
9196
9194
  if (hasSeparators) {
9197
9195
  ret = ret
9198
- .replace(/\,/g, thousandsSep ?? ',')
9199
- .replace('.', decimalPoint ?? '.');
9196
+ // Preliminary step to avoid re-swapping (#22402)
9197
+ .replace(/([,\.])/g, '_$1')
9198
+ .replace(/_\,/g, thousandsSep ?? ',')
9199
+ .replace('_.', decimalPoint ?? '.');
9200
9200
  }
9201
9201
  if (
9202
9202
  // Remove signed zero (#20564)
@@ -9691,7 +9691,7 @@ class SVGElement {
9691
9691
  * @return {Highcharts.SVGElement} Returns the SVGElement for chaining.
9692
9692
  */
9693
9693
  align(alignOptions, alignByTranslate, alignTo, redraw = true) {
9694
- const attribs = {}, renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions);
9694
+ const renderer = this.renderer, alignedObjects = renderer.alignedObjects, initialAlignment = Boolean(alignOptions);
9695
9695
  // First call on instanciate
9696
9696
  if (alignOptions) {
9697
9697
  this.alignOptions = alignOptions;
@@ -9723,7 +9723,9 @@ class SVGElement {
9723
9723
  // Default: top align
9724
9724
  y = (alignToBox.y || 0) + (alignOptions.y || 0) +
9725
9725
  ((alignToBox.height || 0) - (alignOptions.height || 0)) *
9726
- SVGElement_getAlignFactor(alignOptions.verticalAlign);
9726
+ SVGElement_getAlignFactor(alignOptions.verticalAlign), attribs = {
9727
+ 'text-align': alignOptions?.align
9728
+ };
9727
9729
  attribs[alignByTranslate ? 'translateX' : 'x'] = Math.round(x);
9728
9730
  attribs[alignByTranslate ? 'translateY' : 'y'] = Math.round(y);
9729
9731
  // Animate only if already placed
@@ -11431,6 +11433,7 @@ class SVGLabel extends SVG_SVGElement {
11431
11433
  * */
11432
11434
  alignSetter(value) {
11433
11435
  const alignFactor = SVGLabel_getAlignFactor(value);
11436
+ this.textAlign = value;
11434
11437
  if (alignFactor !== this.alignFactor) {
11435
11438
  this.alignFactor = alignFactor;
11436
11439
  // Bounding box exists, means we're dynamically changing
@@ -11605,7 +11608,10 @@ class SVGLabel extends SVG_SVGElement {
11605
11608
  this.boxAttr(key, value);
11606
11609
  }
11607
11610
  'text-alignSetter'(value) {
11608
- this.textAlign = value;
11611
+ // The text-align variety is for the pre-animation getter. The code
11612
+ // should be unified to either textAlign or text-align.
11613
+ this.textAlign = this['text-align'] = value;
11614
+ this.updateTextPadding();
11609
11615
  }
11610
11616
  textSetter(text) {
11611
11617
  if (typeof text !== 'undefined') {
@@ -11675,24 +11681,19 @@ class SVGLabel extends SVG_SVGElement {
11675
11681
  * is changed.
11676
11682
  */
11677
11683
  updateTextPadding() {
11678
- const text = this.text;
11684
+ const text = this.text, textAlign = text.styles.textAlign || this.textAlign;
11679
11685
  if (!text.textPath) {
11680
11686
  this.updateBoxSize();
11681
11687
  // Determine y based on the baseline
11682
11688
  const textY = this.baseline ? 0 : this.baselineOffset, textX = (this.paddingLeft ?? this.padding) +
11683
11689
  // Compensate for alignment
11684
- ((SVGLabel_defined(this.widthSetting) && this.bBox) ?
11685
- SVGLabel_getAlignFactor(this.textAlign) *
11686
- (this.widthSetting - this.bBox.width) :
11687
- 0);
11690
+ SVGLabel_getAlignFactor(textAlign) * (this.widthSetting ?? this.bBox.width);
11688
11691
  // Update if anything changed
11689
11692
  if (textX !== text.x || textY !== text.y) {
11690
- text.attr('x', textX);
11691
- // #8159 - prevent misplaced data labels in treemap
11692
- // (useHTML: true)
11693
- if (text.hasBoxWidthChanged) {
11694
- this.bBox = text.getBBox(true);
11695
- }
11693
+ text.attr({
11694
+ align: textAlign,
11695
+ x: textX
11696
+ });
11696
11697
  if (typeof textY !== 'undefined') {
11697
11698
  text.attr('y', textY);
11698
11699
  }
@@ -12637,7 +12638,7 @@ class SVGRenderer {
12637
12638
  this.url = this.getReferenceURL();
12638
12639
  // Add description
12639
12640
  const desc = this.createElement('desc').add();
12640
- desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.0.2'));
12641
+ desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 12.1.1'));
12641
12642
  this.defs = this.createElement('defs').add();
12642
12643
  this.allowHTML = allowHTML;
12643
12644
  this.forExport = forExport;
@@ -14604,7 +14605,7 @@ class HTMLElement extends SVG_SVGElement {
14604
14605
  textWidth,
14605
14606
  this.textAlign
14606
14607
  ].join(','), parentPadding = (this.parentGroup?.padding * -1) || 0;
14607
- let baseline, hasBoxWidthChanged = false;
14608
+ let baseline;
14608
14609
  // Update textWidth. Use the memoized textPxLength if possible, to
14609
14610
  // avoid the getTextPxLength function using elem.offsetWidth.
14610
14611
  // Calling offsetWidth affects rendering time as it forces layout
@@ -14627,10 +14628,8 @@ class HTMLElement extends SVG_SVGElement {
14627
14628
  whiteSpace: whiteSpace || 'normal' // #3331
14628
14629
  });
14629
14630
  this.oldTextWidth = textWidth;
14630
- hasBoxWidthChanged = true; // #8159
14631
14631
  }
14632
14632
  }
14633
- this.hasBoxWidthChanged = hasBoxWidthChanged; // #8159
14634
14633
  // Do the calculations and DOM access only if properties changed
14635
14634
  if (currentTextTransform !== this.cTT) {
14636
14635
  baseline = renderer.fontMetrics(element).b;
@@ -27480,7 +27479,9 @@ class Pointer {
27480
27479
  hoverChart !== chart) {
27481
27480
  const relatedTargetObj = { relatedTarget: chart.container };
27482
27481
  if (e && !e?.relatedTarget) {
27483
- e = { ...relatedTargetObj, ...e };
27482
+ // #17192, Non-enumerable properties of "e" are dropped with
27483
+ // spreading (...e). Using Object.assign ensures integrity.
27484
+ Object.assign({}, e, relatedTargetObj);
27484
27485
  }
27485
27486
  hoverChart.pointer?.onContainerMouseLeave(e || relatedTargetObj);
27486
27487
  }
@@ -33086,9 +33087,14 @@ class Series {
33086
33087
  * @private
33087
33088
  * @function Highcharts.Series#searchKDTree
33088
33089
  */
33089
- searchKDTree(point, compareX, e) {
33090
+ searchKDTree(point, compareX, e, suppliedPointEvaluator, suppliedBSideCheckEvaluator) {
33090
33091
  const series = this, [kdX, kdY] = this.kdAxisArray, kdComparer = compareX ? 'distX' : 'dist', kdDimensions = (series.options.findNearestPointBy || '')
33091
- .indexOf('y') > -1 ? 2 : 1, useRadius = !!series.isBubble;
33092
+ .indexOf('y') > -1 ? 2 : 1, useRadius = !!series.isBubble, pointEvaluator = suppliedPointEvaluator || ((p1, p2, comparisonProp) => [
33093
+ (p1[comparisonProp] || 0) < (p2[comparisonProp] || 0) ?
33094
+ p1 :
33095
+ p2,
33096
+ false
33097
+ ]), bSideCheckEvaluator = suppliedBSideCheckEvaluator || ((a, b) => a < b);
33092
33098
  /**
33093
33099
  * Set the one and two dimensional distance on the point object.
33094
33100
  * @private
@@ -33103,28 +33109,21 @@ class Series {
33103
33109
  */
33104
33110
  function doSearch(search, tree, depth, dimensions) {
33105
33111
  const point = tree.point, axis = series.kdAxisArray[depth % dimensions];
33106
- let nPoint1, nPoint2, ret = point;
33112
+ let ret = point, flip = false;
33107
33113
  setDistance(search, point);
33108
33114
  // Pick side based on distance to splitting point
33109
33115
  const tdist = (search[axis] || 0) - (point[axis] || 0) +
33110
33116
  (useRadius ? (point.marker?.radius || 0) : 0), sideA = tdist < 0 ? 'left' : 'right', sideB = tdist < 0 ? 'right' : 'left';
33111
33117
  // End of tree
33112
33118
  if (tree[sideA]) {
33113
- nPoint1 = doSearch(search, tree[sideA], depth + 1, dimensions);
33114
- ret = (nPoint1[kdComparer] <
33115
- ret[kdComparer] ?
33116
- nPoint1 :
33117
- point);
33119
+ [ret, flip] = pointEvaluator(point, doSearch(search, tree[sideA], depth + 1, dimensions), kdComparer);
33118
33120
  }
33119
33121
  if (tree[sideB]) {
33122
+ const sqrtTDist = Math.sqrt(tdist * tdist), retDist = ret[kdComparer];
33120
33123
  // Compare distance to current best to splitting point to decide
33121
- // whether to check side B or not
33122
- if (Math.sqrt(tdist * tdist) < ret[kdComparer]) {
33123
- nPoint2 = doSearch(search, tree[sideB], depth + 1, dimensions);
33124
- ret = (nPoint2[kdComparer] <
33125
- ret[kdComparer] ?
33126
- nPoint2 :
33127
- ret);
33124
+ // whether to check side B or no
33125
+ if (bSideCheckEvaluator(sqrtTDist, retDist, flip)) {
33126
+ ret = pointEvaluator(ret, doSearch(search, tree[sideB], depth + 1, dimensions), kdComparer)[0];
33128
33127
  }
33129
33128
  }
33130
33129
  return ret;
@@ -42633,6 +42632,7 @@ var DataLabel;
42633
42632
  dataLabel.alignAttr.y += DataLabel_getAlignFactor(options.verticalAlign) *
42634
42633
  (unrotatedbBox.height - bBox.height);
42635
42634
  dataLabel[dataLabel.placed ? 'animate' : 'attr']({
42635
+ 'text-align': dataLabel.alignAttr['text-align'] || 'center',
42636
42636
  x: dataLabel.alignAttr.x +
42637
42637
  (bBox.width - unrotatedbBox.width) / 2,
42638
42638
  y: dataLabel.alignAttr.y +
@@ -50721,7 +50721,7 @@ class StandaloneNavigator {
50721
50721
 
50722
50722
  ;// ./code/es-modules/masters/modules/navigator.src.js
50723
50723
  /**
50724
- * @license Highcharts JS v12.0.2 (2024-12-04)
50724
+ * @license Highcharts JS v12.1.1 (2024-12-20)
50725
50725
  * @module highcharts/modules/navigator
50726
50726
  * @requires highcharts
50727
50727
  *
package/themes/avocado.js CHANGED
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v12.0.2 (2024-12-04)
2
+ * Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/avocado
4
4
  * @requires highcharts
5
5
  *
6
6
  * (c) 2009-2024 Highsoft AS
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/avocado",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/avocado"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,t={944:e=>{e.exports=o}},r={};function n(o){var e=r[o];if(void 0!==e)return e.exports;var i=r[o]={exports:{}};return t[o](i,i.exports,n),i.exports}n.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return n.d(e,{a:e}),e},n.d=(o,e)=>{for(var t in e)n.o(e,t)&&!n.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},n.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};n.d(i,{default:()=>c});var a=n(944),s=/*#__PURE__*/n.n(a);let{setOptions:p}=s();!function(o){o.options={colors:["#F3E796","#95C471","#35729E","#251735"],colorAxis:{maxColor:"#05426E",minColor:"#F3E796"},plotOptions:{map:{nullColor:"#FCFEFE"}},navigator:{maskFill:"rgba(170, 205, 170, 0.5)",series:{color:"#95C471",lineColor:"#35729E"}}},o.apply=function(){p(o.options)}}(e||(e={}));let l=e;s().theme=l.options,l.apply();let c=s();return i.default})());
9
+ */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/avocado",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/avocado"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,t={944:e=>{e.exports=o}},r={};function n(o){var e=r[o];if(void 0!==e)return e.exports;var i=r[o]={exports:{}};return t[o](i,i.exports,n),i.exports}n.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return n.d(e,{a:e}),e},n.d=(o,e)=>{for(var t in e)n.o(e,t)&&!n.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},n.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};n.d(i,{default:()=>c});var a=n(944),s=n.n(a);let{setOptions:p}=s();!function(o){o.options={colors:["#F3E796","#95C471","#35729E","#251735"],colorAxis:{maxColor:"#05426E",minColor:"#F3E796"},plotOptions:{map:{nullColor:"#FCFEFE"}},navigator:{maskFill:"rgba(170, 205, 170, 0.5)",series:{color:"#95C471",lineColor:"#35729E"}}},o.apply=function(){p(o.options)}}(e||(e={}));let l=e;s().theme=l.options,l.apply();let c=s();return i.default})());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.0.2 (2024-12-04)
2
+ * @license Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/avocado
4
4
  * @requires highcharts
5
5
  *
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v12.0.2 (2024-12-04)
2
+ * Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/brand-dark
4
4
  * @requires highcharts
5
5
  *
6
6
  * (c) 2009-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/brand-dark",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/brand-dark"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,t={944:e=>{e.exports=o}},r={};function l(o){var e=r[o];if(void 0!==e)return e.exports;var f=r[o]={exports:{}};return t[o](f,f.exports,l),f.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var t in e)l.o(e,t)&&!l.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var f={};l.d(f,{default:()=>d});var i=l(944),n=/*#__PURE__*/l.n(i);let{setOptions:s}=n(),{createElement:a}=n();!function(o){o.options={colors:["#8087E8","#A3EDBA","#F19E53","#6699A1","#E1D369","#87B4E7","#DA6D85","#BBBAC5"],chart:{backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#1f1836"],[1,"#45445d"]]},style:{fontFamily:"IBM Plex Sans, sans-serif"}},title:{style:{fontSize:"22px",fontWeight:"500",color:"#fff"}},subtitle:{style:{fontSize:"16px",fontWeight:"400",color:"#fff"}},credits:{style:{color:"#f0f0f0"}},caption:{style:{color:"#f0f0f0"}},tooltip:{borderWidth:0,backgroundColor:"#f0f0f0",shadow:!0},legend:{backgroundColor:"transparent",itemStyle:{fontWeight:"400",fontSize:"12px",color:"#fff"},itemHoverStyle:{fontWeight:"700",color:"#fff"}},plotOptions:{series:{dataLabels:{color:"#46465C",style:{fontSize:"13px"}},marker:{lineColor:"#333"}},boxplot:{fillColor:"#505053"},candlestick:{lineColor:null,upColor:"#DA6D85",upLineColor:"#DA6D85"},errorbar:{color:"white"},dumbbell:{lowColor:"#f0f0f0"},map:{borderColor:"#909090",nullColor:"#78758C"}},drilldown:{activeAxisLabelStyle:{color:"#F0F0F3"},activeDataLabelStyle:{color:"#F0F0F3"},drillUpButton:{theme:{fill:"#fff"}}},xAxis:{gridLineColor:"#707073",labels:{style:{color:"#fff",fontSize:"12px"}},lineColor:"#707073",minorGridLineColor:"#505053",tickColor:"#707073",title:{style:{color:"#fff"}}},yAxis:{gridLineColor:"#707073",labels:{style:{color:"#fff",fontSize:"12px"}},lineColor:"#707073",minorGridLineColor:"#505053",tickColor:"#707073",tickWidth:1,title:{style:{color:"#fff",fontWeight:"300"}}},colorAxis:{gridLineColor:"#45445d",labels:{style:{color:"#fff",fontSize:"12px"}},minColor:"#342f95",maxColor:"#2caffe",tickColor:"#45445d"},mapNavigation:{enabled:!0,buttonOptions:{theme:{fill:"#46465C","stroke-width":1,stroke:"#BBBAC5",r:2,style:{color:"#fff"},states:{hover:{fill:"#000","stroke-width":1,stroke:"#f0f0f0",style:{color:"#fff"}},select:{fill:"#000","stroke-width":1,stroke:"#f0f0f0",style:{color:"#fff"}}}}}},rangeSelector:{buttonTheme:{fill:"#46465C",stroke:"#BBBAC5","stroke-width":1,style:{color:"#fff"},states:{hover:{fill:"#1f1836",style:{color:"#fff"},"stroke-width":1,stroke:"white"},select:{fill:"#1f1836",style:{color:"#fff"},"stroke-width":1,stroke:"white"}}},inputBoxBorderColor:"#BBBAC5",inputStyle:{backgroundColor:"#2F2B38",color:"#fff"},labelStyle:{color:"#fff"}},navigator:{handles:{backgroundColor:"#BBBAC5",borderColor:"#2F2B38"},outlineColor:"#CCC",maskFill:"rgba(255,255,255,0.1)",series:{color:"#A3EDBA",lineColor:"#A3EDBA"},xAxis:{gridLineColor:"#505053"}},scrollbar:{barBackgroundColor:"#BBBAC5",barBorderColor:"#808083",buttonArrowColor:"#2F2B38",buttonBackgroundColor:"#BBBAC5",buttonBorderColor:"#2F2B38",rifleColor:"#2F2B38",trackBackgroundColor:"#78758C",trackBorderColor:"#2F2B38"}},o.apply=function(){a("link",{href:"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;600;700",rel:"stylesheet",type:"text/css"},null,document.getElementsByTagName("head")[0]),s(o.options)}}(e||(e={}));let c=e;n().theme=c.options,c.apply();let d=n();return f.default})());
9
+ */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/brand-dark",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/brand-dark"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,t={944:e=>{e.exports=o}},r={};function l(o){var e=r[o];if(void 0!==e)return e.exports;var f=r[o]={exports:{}};return t[o](f,f.exports,l),f.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var t in e)l.o(e,t)&&!l.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var f={};l.d(f,{default:()=>d});var i=l(944),n=l.n(i);let{setOptions:s}=n(),{createElement:a}=n();!function(o){o.options={colors:["#8087E8","#A3EDBA","#F19E53","#6699A1","#E1D369","#87B4E7","#DA6D85","#BBBAC5"],chart:{backgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#1f1836"],[1,"#45445d"]]},style:{fontFamily:"IBM Plex Sans, sans-serif"}},title:{style:{fontSize:"22px",fontWeight:"500",color:"#fff"}},subtitle:{style:{fontSize:"16px",fontWeight:"400",color:"#fff"}},credits:{style:{color:"#f0f0f0"}},caption:{style:{color:"#f0f0f0"}},tooltip:{borderWidth:0,backgroundColor:"#f0f0f0",shadow:!0},legend:{backgroundColor:"transparent",itemStyle:{fontWeight:"400",fontSize:"12px",color:"#fff"},itemHoverStyle:{fontWeight:"700",color:"#fff"}},plotOptions:{series:{dataLabels:{color:"#46465C",style:{fontSize:"13px"}},marker:{lineColor:"#333"}},boxplot:{fillColor:"#505053"},candlestick:{lineColor:null,upColor:"#DA6D85",upLineColor:"#DA6D85"},errorbar:{color:"white"},dumbbell:{lowColor:"#f0f0f0"},map:{borderColor:"#909090",nullColor:"#78758C"}},drilldown:{activeAxisLabelStyle:{color:"#F0F0F3"},activeDataLabelStyle:{color:"#F0F0F3"},drillUpButton:{theme:{fill:"#fff"}}},xAxis:{gridLineColor:"#707073",labels:{style:{color:"#fff",fontSize:"12px"}},lineColor:"#707073",minorGridLineColor:"#505053",tickColor:"#707073",title:{style:{color:"#fff"}}},yAxis:{gridLineColor:"#707073",labels:{style:{color:"#fff",fontSize:"12px"}},lineColor:"#707073",minorGridLineColor:"#505053",tickColor:"#707073",tickWidth:1,title:{style:{color:"#fff",fontWeight:"300"}}},colorAxis:{gridLineColor:"#45445d",labels:{style:{color:"#fff",fontSize:"12px"}},minColor:"#342f95",maxColor:"#2caffe",tickColor:"#45445d"},mapNavigation:{enabled:!0,buttonOptions:{theme:{fill:"#46465C","stroke-width":1,stroke:"#BBBAC5",r:2,style:{color:"#fff"},states:{hover:{fill:"#000","stroke-width":1,stroke:"#f0f0f0",style:{color:"#fff"}},select:{fill:"#000","stroke-width":1,stroke:"#f0f0f0",style:{color:"#fff"}}}}}},rangeSelector:{buttonTheme:{fill:"#46465C",stroke:"#BBBAC5","stroke-width":1,style:{color:"#fff"},states:{hover:{fill:"#1f1836",style:{color:"#fff"},"stroke-width":1,stroke:"white"},select:{fill:"#1f1836",style:{color:"#fff"},"stroke-width":1,stroke:"white"}}},inputBoxBorderColor:"#BBBAC5",inputStyle:{backgroundColor:"#2F2B38",color:"#fff"},labelStyle:{color:"#fff"}},navigator:{handles:{backgroundColor:"#BBBAC5",borderColor:"#2F2B38"},outlineColor:"#CCC",maskFill:"rgba(255,255,255,0.1)",series:{color:"#A3EDBA",lineColor:"#A3EDBA"},xAxis:{gridLineColor:"#505053"}},scrollbar:{barBackgroundColor:"#BBBAC5",barBorderColor:"#808083",buttonArrowColor:"#2F2B38",buttonBackgroundColor:"#BBBAC5",buttonBorderColor:"#2F2B38",rifleColor:"#2F2B38",trackBackgroundColor:"#78758C",trackBorderColor:"#2F2B38"}},o.apply=function(){a("link",{href:"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;600;700",rel:"stylesheet",type:"text/css"},null,document.getElementsByTagName("head")[0]),s(o.options)}}(e||(e={}));let c=e;n().theme=c.options,c.apply();let d=n();return f.default})());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.0.2 (2024-12-04)
2
+ * @license Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/brand-dark
4
4
  * @requires highcharts
5
5
  *
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v12.0.2 (2024-12-04)
2
+ * Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/brand-light
4
4
  * @requires highcharts
5
5
  *
6
6
  * (c) 2009-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/brand-light",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/brand-light"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,t={944:e=>{e.exports=o}},r={};function l(o){var e=r[o];if(void 0!==e)return e.exports;var i=r[o]={exports:{}};return t[o](i,i.exports,l),i.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var t in e)l.o(e,t)&&!l.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};l.d(i,{default:()=>d});var n=l(944),s=/*#__PURE__*/l.n(n);let{setOptions:c}=s(),{createElement:f}=s();!function(o){o.options={colors:["#8087E8","#A3EDBA","#F19E53","#6699A1","#E1D369","#87B4E7","#DA6D85","#BBBAC5"],chart:{backgroundColor:"#f0f0f0",style:{fontFamily:"IBM Plex Sans, sans-serif"}},title:{style:{fontSize:"22px",fontWeight:"500",color:"#2F2B38"}},subtitle:{style:{fontSize:"16px",fontWeight:"400",color:"#2F2B38"}},tooltip:{borderWidth:0,backgroundColor:"#46465C",style:{color:"#f0f0f0"},shadow:!0},legend:{backgroundColor:"#f0f0f0",borderColor:"#BBBAC5",borderWidth:1,borderRadius:2,itemStyle:{fontWeight:"400",fontSize:"12px",color:"#2F2B38"},itemHoverStyle:{fontWeight:"700",color:"#46465C"}},navigation:{buttonOptions:{symbolStroke:"#2F2B38",theme:{fill:"#fff",states:{hover:{stroke:"#46465C",fill:"#fff"},select:{stroke:"#46465C",fill:"#fff"}}}}},credits:{style:{color:"#46465C"}},drilldown:{activeAxisLabelStyle:{color:"#2F2B38"},activeDataLabelStyle:{color:"#2F2B38"},drillUpButton:{theme:{fill:"#2F2B38",style:{color:"#fff"}}}},xAxis:{gridLineColor:"#ccc",labels:{style:{color:"#46465C",fontSize:"12px"}},lineColor:"#ccc",minorGridLineColor:"#ebebeb",tickColor:"#ccc",title:{style:{color:"#2F2B38"}}},yAxis:{gridLineColor:"#ccc",labels:{style:{color:"#46465C",fontSize:"12px"}},lineColor:"#ccc",minorGridLineColor:"#ebebeb",tickColor:"#ccc",tickWidth:1,title:{style:{color:"#2F2B38",fontWeight:"300"}}},rangeSelector:{buttonTheme:{fill:"#fff",style:{color:"#46465C",stroke:"transparent"},states:{hover:{fill:"#fff",style:{color:"#46465C"},"stroke-width":1,stroke:"#46465C"},select:{fill:"#fff",style:{color:"#46465C"},"stroke-width":1,stroke:"#46465C"}}},inputBoxBorderColor:"#BBBAC5",inputStyle:{backgroundColor:"#fff",color:"#46465C"},labelStyle:{color:"#46465C"}},scrollbar:{barBackgroundColor:"#BBBAC5",barBorderColor:"#808083",buttonArrowColor:"#fff",buttonBackgroundColor:"#BBBAC5",buttonBorderColor:"#46465C",rifleColor:"#FFF",trackBackgroundColor:"#dedede",trackBorderColor:"#BBBAC5"},plotOptions:{series:{borderWidth:1,borderColor:"#BBBAC5",dataLabels:{color:"#46465C",style:{fontSize:"13px"}},marker:{lineColor:"#46465C"}},boxplot:{fillColor:"#505053"},candlestick:{lineColor:null,upColor:"#DA6D85",upLineColor:"#DA6D85"},errorbar:{color:"white"},map:{borderColor:"rgba(200, 200, 200, 0.3)",nullColor:"rgba(200, 200, 200, 0.3)"}}},o.apply=function(){f("link",{href:"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;600;700",rel:"stylesheet",type:"text/css"},null,document.getElementsByTagName("head")[0]),c(o.options)}}(e||(e={}));let a=e;s().theme=a.options,a.apply();let d=s();return i.default})());
9
+ */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/brand-light",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/brand-light"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,t={944:e=>{e.exports=o}},r={};function l(o){var e=r[o];if(void 0!==e)return e.exports;var i=r[o]={exports:{}};return t[o](i,i.exports,l),i.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var t in e)l.o(e,t)&&!l.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};l.d(i,{default:()=>d});var n=l(944),s=l.n(n);let{setOptions:c}=s(),{createElement:f}=s();!function(o){o.options={colors:["#8087E8","#A3EDBA","#F19E53","#6699A1","#E1D369","#87B4E7","#DA6D85","#BBBAC5"],chart:{backgroundColor:"#f0f0f0",style:{fontFamily:"IBM Plex Sans, sans-serif"}},title:{style:{fontSize:"22px",fontWeight:"500",color:"#2F2B38"}},subtitle:{style:{fontSize:"16px",fontWeight:"400",color:"#2F2B38"}},tooltip:{borderWidth:0,backgroundColor:"#46465C",style:{color:"#f0f0f0"},shadow:!0},legend:{backgroundColor:"#f0f0f0",borderColor:"#BBBAC5",borderWidth:1,borderRadius:2,itemStyle:{fontWeight:"400",fontSize:"12px",color:"#2F2B38"},itemHoverStyle:{fontWeight:"700",color:"#46465C"}},navigation:{buttonOptions:{symbolStroke:"#2F2B38",theme:{fill:"#fff",states:{hover:{stroke:"#46465C",fill:"#fff"},select:{stroke:"#46465C",fill:"#fff"}}}}},credits:{style:{color:"#46465C"}},drilldown:{activeAxisLabelStyle:{color:"#2F2B38"},activeDataLabelStyle:{color:"#2F2B38"},drillUpButton:{theme:{fill:"#2F2B38",style:{color:"#fff"}}}},xAxis:{gridLineColor:"#ccc",labels:{style:{color:"#46465C",fontSize:"12px"}},lineColor:"#ccc",minorGridLineColor:"#ebebeb",tickColor:"#ccc",title:{style:{color:"#2F2B38"}}},yAxis:{gridLineColor:"#ccc",labels:{style:{color:"#46465C",fontSize:"12px"}},lineColor:"#ccc",minorGridLineColor:"#ebebeb",tickColor:"#ccc",tickWidth:1,title:{style:{color:"#2F2B38",fontWeight:"300"}}},rangeSelector:{buttonTheme:{fill:"#fff",style:{color:"#46465C",stroke:"transparent"},states:{hover:{fill:"#fff",style:{color:"#46465C"},"stroke-width":1,stroke:"#46465C"},select:{fill:"#fff",style:{color:"#46465C"},"stroke-width":1,stroke:"#46465C"}}},inputBoxBorderColor:"#BBBAC5",inputStyle:{backgroundColor:"#fff",color:"#46465C"},labelStyle:{color:"#46465C"}},scrollbar:{barBackgroundColor:"#BBBAC5",barBorderColor:"#808083",buttonArrowColor:"#fff",buttonBackgroundColor:"#BBBAC5",buttonBorderColor:"#46465C",rifleColor:"#FFF",trackBackgroundColor:"#dedede",trackBorderColor:"#BBBAC5"},plotOptions:{series:{borderWidth:1,borderColor:"#BBBAC5",dataLabels:{color:"#46465C",style:{fontSize:"13px"}},marker:{lineColor:"#46465C"}},boxplot:{fillColor:"#505053"},candlestick:{lineColor:null,upColor:"#DA6D85",upLineColor:"#DA6D85"},errorbar:{color:"white"},map:{borderColor:"rgba(200, 200, 200, 0.3)",nullColor:"rgba(200, 200, 200, 0.3)"}}},o.apply=function(){f("link",{href:"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@200;300;400;600;700",rel:"stylesheet",type:"text/css"},null,document.getElementsByTagName("head")[0]),c(o.options)}}(e||(e={}));let a=e;s().theme=a.options,a.apply();let d=s();return i.default})());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.0.2 (2024-12-04)
2
+ * @license Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/brand-light
4
4
  * @requires highcharts
5
5
  *
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v12.0.2 (2024-12-04)
2
+ * Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/dark-blue
4
4
  * @requires highcharts
5
5
  *
6
6
  * (c) 2009-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/dark-blue",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/dark-blue"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,r={944:e=>{e.exports=o}},t={};function l(o){var e=t[o];if(void 0!==e)return e.exports;var i=t[o]={exports:{}};return r[o](i,i.exports,l),i.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var r in e)l.o(e,r)&&!l.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:e[r]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};l.d(i,{default:()=>c});var n=l(944),a=/*#__PURE__*/l.n(n);let{setOptions:s}=a();!function(o){o.options={colors:["#DDDF0D","#55BF3B","#DF5353","#7798BF","#aaeeee","#ff0066","#eeaaee","#55BF3B","#DF5353","#7798BF","#aaeeee"],chart:{backgroundColor:{linearGradient:{x1:0,y1:0,x2:1,y2:1},stops:[[0,"rgb(48, 48, 96)"],[1,"rgb(0, 0, 0)"]]},borderColor:"#000000",borderWidth:2,className:"dark-container",plotBackgroundColor:"rgba(255, 255, 255, .1)",plotBorderColor:"#CCCCCC",plotBorderWidth:1},title:{style:{color:"#C0C0C0",font:'bold 16px "Trebuchet MS", Verdana, sans-serif'}},subtitle:{style:{color:"#666666",font:'bold 12px "Trebuchet MS", Verdana, sans-serif'}},xAxis:{gridLineColor:"#333333",gridLineWidth:1,labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},yAxis:{gridLineColor:"#333333",labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",tickWidth:1,title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.75)",style:{color:"#F0F0F0"}},plotOptions:{line:{dataLabels:{color:"#CCC"},marker:{lineColor:"#333"}},spline:{marker:{lineColor:"#333"}},scatter:{marker:{lineColor:"#333"}},candlestick:{lineColor:"white"}},legend:{backgroundColor:"rgba(0, 0, 0, 0.5)",itemStyle:{font:"9pt Trebuchet MS, Verdana, sans-serif",color:"#A0A0A0"},itemHoverStyle:{color:"#FFF"},itemHiddenStyle:{color:"#444"},title:{style:{color:"#C0C0C0"}}},credits:{style:{color:"#666"}},navigation:{buttonOptions:{symbolStroke:"#DDDDDD",theme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#606060"],[.6,"#333333"]]},stroke:"#000000"}}},rangeSelector:{buttonTheme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},stroke:"#000000",style:{color:"#CCC",fontWeight:"bold"},states:{hover:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#BBB"],[.6,"#888"]]},stroke:"#000000",style:{color:"white"}},select:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.1,"#000"],[.3,"#333"]]},stroke:"#000000",style:{color:"yellow"}}}},inputStyle:{backgroundColor:"#333",color:"silver"},labelStyle:{color:"silver"}},navigator:{handles:{backgroundColor:"#666",borderColor:"#AAA"},outlineColor:"#CCC",maskFill:"rgba(16, 16, 16, 0.5)",series:{color:"#7798BF",lineColor:"#A6C7ED"}},scrollbar:{barBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},barBorderColor:"#CCC",buttonArrowColor:"#CCC",buttonBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},buttonBorderColor:"#CCC",rifleColor:"#FFF",trackBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#000"],[1,"#333"]]},trackBorderColor:"#666"}},o.apply=function(){s(o.options)}}(e||(e={}));let d=e;a().theme=d.options,d.apply();let c=a();return i.default})());
9
+ */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/dark-blue",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/dark-blue"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,r={944:e=>{e.exports=o}},t={};function l(o){var e=t[o];if(void 0!==e)return e.exports;var i=t[o]={exports:{}};return r[o](i,i.exports,l),i.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var r in e)l.o(e,r)&&!l.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:e[r]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};l.d(i,{default:()=>c});var n=l(944),a=l.n(n);let{setOptions:s}=a();!function(o){o.options={colors:["#DDDF0D","#55BF3B","#DF5353","#7798BF","#aaeeee","#ff0066","#eeaaee","#55BF3B","#DF5353","#7798BF","#aaeeee"],chart:{backgroundColor:{linearGradient:{x1:0,y1:0,x2:1,y2:1},stops:[[0,"rgb(48, 48, 96)"],[1,"rgb(0, 0, 0)"]]},borderColor:"#000000",borderWidth:2,className:"dark-container",plotBackgroundColor:"rgba(255, 255, 255, .1)",plotBorderColor:"#CCCCCC",plotBorderWidth:1},title:{style:{color:"#C0C0C0",font:'bold 16px "Trebuchet MS", Verdana, sans-serif'}},subtitle:{style:{color:"#666666",font:'bold 12px "Trebuchet MS", Verdana, sans-serif'}},xAxis:{gridLineColor:"#333333",gridLineWidth:1,labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},yAxis:{gridLineColor:"#333333",labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",tickWidth:1,title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.75)",style:{color:"#F0F0F0"}},plotOptions:{line:{dataLabels:{color:"#CCC"},marker:{lineColor:"#333"}},spline:{marker:{lineColor:"#333"}},scatter:{marker:{lineColor:"#333"}},candlestick:{lineColor:"white"}},legend:{backgroundColor:"rgba(0, 0, 0, 0.5)",itemStyle:{font:"9pt Trebuchet MS, Verdana, sans-serif",color:"#A0A0A0"},itemHoverStyle:{color:"#FFF"},itemHiddenStyle:{color:"#444"},title:{style:{color:"#C0C0C0"}}},credits:{style:{color:"#666"}},navigation:{buttonOptions:{symbolStroke:"#DDDDDD",theme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#606060"],[.6,"#333333"]]},stroke:"#000000"}}},rangeSelector:{buttonTheme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},stroke:"#000000",style:{color:"#CCC",fontWeight:"bold"},states:{hover:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#BBB"],[.6,"#888"]]},stroke:"#000000",style:{color:"white"}},select:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.1,"#000"],[.3,"#333"]]},stroke:"#000000",style:{color:"yellow"}}}},inputStyle:{backgroundColor:"#333",color:"silver"},labelStyle:{color:"silver"}},navigator:{handles:{backgroundColor:"#666",borderColor:"#AAA"},outlineColor:"#CCC",maskFill:"rgba(16, 16, 16, 0.5)",series:{color:"#7798BF",lineColor:"#A6C7ED"}},scrollbar:{barBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},barBorderColor:"#CCC",buttonArrowColor:"#CCC",buttonBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},buttonBorderColor:"#CCC",rifleColor:"#FFF",trackBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#000"],[1,"#333"]]},trackBorderColor:"#666"}},o.apply=function(){s(o.options)}}(e||(e={}));let d=e;a().theme=d.options,d.apply();let c=a();return i.default})());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.0.2 (2024-12-04)
2
+ * @license Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/dark-blue
4
4
  * @requires highcharts
5
5
  *
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v12.0.2 (2024-12-04)
2
+ * Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/dark-green
4
4
  * @requires highcharts
5
5
  *
6
6
  * (c) 2009-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/dark-green",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/dark-green"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,r={944:e=>{e.exports=o}},t={};function l(o){var e=t[o];if(void 0!==e)return e.exports;var i=t[o]={exports:{}};return r[o](i,i.exports,l),i.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var r in e)l.o(e,r)&&!l.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:e[r]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};l.d(i,{default:()=>c});var n=l(944),a=/*#__PURE__*/l.n(n);let{setOptions:s}=a();!function(o){o.options={colors:["#DDDF0D","#55BF3B","#DF5353","#7798BF","#aaeeee","#ff0066","#eeaaee","#55BF3B","#DF5353","#7798BF","#aaeeee"],chart:{backgroundColor:{linearGradient:{x1:0,y1:0,x2:1,y2:1},stops:[[0,"rgb(48, 96, 48)"],[1,"rgb(0, 0, 0)"]]},borderColor:"#000000",borderWidth:2,className:"dark-container",plotBackgroundColor:"rgba(255, 255, 255, .1)",plotBorderColor:"#CCCCCC",plotBorderWidth:1},title:{style:{color:"#C0C0C0",font:'bold 16px "Trebuchet MS", Verdana, sans-serif'}},subtitle:{style:{color:"#666666",font:'bold 12px "Trebuchet MS", Verdana, sans-serif'}},xAxis:{gridLineColor:"#333333",gridLineWidth:1,labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},yAxis:{gridLineColor:"#333333",labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",tickWidth:1,title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.75)",style:{color:"#F0F0F0"}},plotOptions:{line:{dataLabels:{color:"#CCC"},marker:{lineColor:"#333"}},spline:{marker:{lineColor:"#333"}},scatter:{marker:{lineColor:"#333"}},candlestick:{lineColor:"white"}},legend:{backgroundColor:"rgba(0, 0, 0, 0.5)",itemStyle:{font:"9pt Trebuchet MS, Verdana, sans-serif",color:"#A0A0A0"},itemHoverStyle:{color:"#FFF"},itemHiddenStyle:{color:"#444"},title:{style:{color:"#C0C0C0"}}},credits:{style:{color:"#666"}},navigation:{buttonOptions:{symbolStroke:"#DDDDDD",theme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#606060"],[.6,"#333333"]]},stroke:"#000000"}}},rangeSelector:{buttonTheme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},stroke:"#000000",style:{color:"#CCC",fontWeight:"bold"},states:{hover:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#BBB"],[.6,"#888"]]},stroke:"#000000",style:{color:"white"}},select:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.1,"#000"],[.3,"#333"]]},stroke:"#000000",style:{color:"yellow"}}}},inputStyle:{backgroundColor:"#333",color:"silver"},labelStyle:{color:"silver"}},navigator:{handles:{backgroundColor:"#666",borderColor:"#AAA"},outlineColor:"#CCC",maskFill:"rgba(16, 16, 16, 0.5)",series:{color:"#7798BF",lineColor:"#A6C7ED"}},scrollbar:{barBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},barBorderColor:"#CCC",buttonArrowColor:"#CCC",buttonBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},buttonBorderColor:"#CCC",rifleColor:"#FFF",trackBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#000"],[1,"#333"]]},trackBorderColor:"#666"}},o.apply=function(){s(o.options)}}(e||(e={}));let d=e;a().theme=d.options,d.apply();let c=a();return i.default})());
9
+ */function(o,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(o._Highcharts):"function"==typeof define&&define.amd?define("highcharts/themes/dark-green",["highcharts/highcharts"],function(o){return e(o)}):"object"==typeof exports?exports["highcharts/themes/dark-green"]=e(o._Highcharts):o.Highcharts=e(o.Highcharts)}("undefined"==typeof window?this:window,o=>(()=>{"use strict";var e,r={944:e=>{e.exports=o}},t={};function l(o){var e=t[o];if(void 0!==e)return e.exports;var i=t[o]={exports:{}};return r[o](i,i.exports,l),i.exports}l.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return l.d(e,{a:e}),e},l.d=(o,e)=>{for(var r in e)l.o(e,r)&&!l.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:e[r]})},l.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e);var i={};l.d(i,{default:()=>c});var n=l(944),a=l.n(n);let{setOptions:s}=a();!function(o){o.options={colors:["#DDDF0D","#55BF3B","#DF5353","#7798BF","#aaeeee","#ff0066","#eeaaee","#55BF3B","#DF5353","#7798BF","#aaeeee"],chart:{backgroundColor:{linearGradient:{x1:0,y1:0,x2:1,y2:1},stops:[[0,"rgb(48, 96, 48)"],[1,"rgb(0, 0, 0)"]]},borderColor:"#000000",borderWidth:2,className:"dark-container",plotBackgroundColor:"rgba(255, 255, 255, .1)",plotBorderColor:"#CCCCCC",plotBorderWidth:1},title:{style:{color:"#C0C0C0",font:'bold 16px "Trebuchet MS", Verdana, sans-serif'}},subtitle:{style:{color:"#666666",font:'bold 12px "Trebuchet MS", Verdana, sans-serif'}},xAxis:{gridLineColor:"#333333",gridLineWidth:1,labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},yAxis:{gridLineColor:"#333333",labels:{style:{color:"#A0A0A0"}},lineColor:"#A0A0A0",tickColor:"#A0A0A0",tickWidth:1,title:{style:{color:"#CCC",fontWeight:"bold",fontSize:"12px",fontFamily:"Trebuchet MS, Verdana, sans-serif"}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.75)",style:{color:"#F0F0F0"}},plotOptions:{line:{dataLabels:{color:"#CCC"},marker:{lineColor:"#333"}},spline:{marker:{lineColor:"#333"}},scatter:{marker:{lineColor:"#333"}},candlestick:{lineColor:"white"}},legend:{backgroundColor:"rgba(0, 0, 0, 0.5)",itemStyle:{font:"9pt Trebuchet MS, Verdana, sans-serif",color:"#A0A0A0"},itemHoverStyle:{color:"#FFF"},itemHiddenStyle:{color:"#444"},title:{style:{color:"#C0C0C0"}}},credits:{style:{color:"#666"}},navigation:{buttonOptions:{symbolStroke:"#DDDDDD",theme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#606060"],[.6,"#333333"]]},stroke:"#000000"}}},rangeSelector:{buttonTheme:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},stroke:"#000000",style:{color:"#CCC",fontWeight:"bold"},states:{hover:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#BBB"],[.6,"#888"]]},stroke:"#000000",style:{color:"white"}},select:{fill:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.1,"#000"],[.3,"#333"]]},stroke:"#000000",style:{color:"yellow"}}}},inputStyle:{backgroundColor:"#333",color:"silver"},labelStyle:{color:"silver"}},navigator:{handles:{backgroundColor:"#666",borderColor:"#AAA"},outlineColor:"#CCC",maskFill:"rgba(16, 16, 16, 0.5)",series:{color:"#7798BF",lineColor:"#A6C7ED"}},scrollbar:{barBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},barBorderColor:"#CCC",buttonArrowColor:"#CCC",buttonBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[.4,"#888"],[.6,"#555"]]},buttonBorderColor:"#CCC",rifleColor:"#FFF",trackBackgroundColor:{linearGradient:{x1:0,y1:0,x2:0,y2:1},stops:[[0,"#000"],[1,"#333"]]},trackBorderColor:"#666"}},o.apply=function(){s(o.options)}}(e||(e={}));let d=e;a().theme=d.options,d.apply();let c=a();return i.default})());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v12.0.2 (2024-12-04)
2
+ * @license Highcharts JS v12.1.1 (2024-12-20)
3
3
  * @module highcharts/themes/dark-green
4
4
  * @requires highcharts
5
5
  *