@ntlab/ntjs-assets 2.0.37 → 2.0.39

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 (324) hide show
  1. package/assets/js/DataTables/DataTables/js/dataTables.js +26 -9
  2. package/assets/js/DataTables/DataTables/js/dataTables.min.js +2 -2
  3. package/assets/js/cdn.json +2 -2
  4. package/assets/js/highcharts/es-modules/Accessibility/Accessibility.js +15 -3
  5. package/assets/js/highcharts/es-modules/Accessibility/AccessibilityComponent.js +38 -30
  6. package/assets/js/highcharts/es-modules/Core/Axis/Axis.js +15 -12
  7. package/assets/js/highcharts/es-modules/Core/Axis/AxisDefaults.js +4 -2
  8. package/assets/js/highcharts/es-modules/Core/Axis/DateTimeAxis.js +3 -3
  9. package/assets/js/highcharts/es-modules/Core/Axis/GridAxis.js +2 -2
  10. package/assets/js/highcharts/es-modules/Core/Axis/LogarithmicAxis.js +5 -10
  11. package/assets/js/highcharts/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +54 -13
  12. package/assets/js/highcharts/es-modules/Core/Axis/ScrollbarAxis.js +12 -2
  13. package/assets/js/highcharts/es-modules/Core/Axis/Tick.js +1 -1
  14. package/assets/js/highcharts/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +6 -9
  15. package/assets/js/highcharts/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +2 -2
  16. package/assets/js/highcharts/es-modules/Core/Chart/Chart.js +30 -8
  17. package/assets/js/highcharts/es-modules/Core/Color/Color.js +1 -0
  18. package/assets/js/highcharts/es-modules/Core/Defaults.js +9 -7
  19. package/assets/js/highcharts/es-modules/Core/Legend/LegendSymbol.js +1 -1
  20. package/assets/js/highcharts/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -0
  21. package/assets/js/highcharts/es-modules/Core/Series/DataLabel.js +9 -0
  22. package/assets/js/highcharts/es-modules/Core/Series/Series.js +1 -1
  23. package/assets/js/highcharts/es-modules/Core/Tooltip.js +9 -0
  24. package/assets/js/highcharts/es-modules/Extensions/Annotations/Annotation.js +4 -0
  25. package/assets/js/highcharts/es-modules/Extensions/Boost/BoostSeries.js +2 -0
  26. package/assets/js/highcharts/es-modules/Extensions/Data.js +125 -98
  27. package/assets/js/highcharts/es-modules/Extensions/Exporting/Exporting.js +5 -1
  28. package/assets/js/highcharts/es-modules/Extensions/OfflineExporting/OfflineExporting.js +4 -1
  29. package/assets/js/highcharts/es-modules/Maps/GeoJSONComposition.js +0 -5
  30. package/assets/js/highcharts/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -0
  31. package/assets/js/highcharts/es-modules/Series/MapBubble/MapBubbleSeries.js +3 -3
  32. package/assets/js/highcharts/es-modules/Series/Pictorial/PictorialSeries.js +2 -1
  33. package/assets/js/highcharts/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -0
  34. package/assets/js/highcharts/es-modules/Series/Treegraph/TreegraphSeries.js +1 -1
  35. package/assets/js/highcharts/es-modules/Stock/Navigator/Navigator.js +7 -2
  36. package/assets/js/highcharts/es-modules/masters/highcharts.src.js +1 -1
  37. package/assets/js/highcharts/highcharts-3d.js +1 -1
  38. package/assets/js/highcharts/highcharts-3d.src.js +1 -1
  39. package/assets/js/highcharts/highcharts-gantt.js +3 -3
  40. package/assets/js/highcharts/highcharts-gantt.src.js +176 -79
  41. package/assets/js/highcharts/highcharts-more.js +1 -1
  42. package/assets/js/highcharts/highcharts-more.src.js +1 -1
  43. package/assets/js/highcharts/highcharts.js +3 -3
  44. package/assets/js/highcharts/highcharts.src.js +147 -62
  45. package/assets/js/highcharts/highmaps.js +3 -3
  46. package/assets/js/highcharts/highmaps.src.js +150 -70
  47. package/assets/js/highcharts/highstock.js +3 -3
  48. package/assets/js/highcharts/highstock.src.js +166 -66
  49. package/assets/js/highcharts/indicators/acceleration-bands.js +1 -1
  50. package/assets/js/highcharts/indicators/acceleration-bands.src.js +1 -1
  51. package/assets/js/highcharts/indicators/accumulation-distribution.js +1 -1
  52. package/assets/js/highcharts/indicators/accumulation-distribution.src.js +1 -1
  53. package/assets/js/highcharts/indicators/ao.js +1 -1
  54. package/assets/js/highcharts/indicators/ao.src.js +1 -1
  55. package/assets/js/highcharts/indicators/apo.js +1 -1
  56. package/assets/js/highcharts/indicators/apo.src.js +1 -1
  57. package/assets/js/highcharts/indicators/aroon-oscillator.js +1 -1
  58. package/assets/js/highcharts/indicators/aroon-oscillator.src.js +1 -1
  59. package/assets/js/highcharts/indicators/aroon.js +1 -1
  60. package/assets/js/highcharts/indicators/aroon.src.js +1 -1
  61. package/assets/js/highcharts/indicators/atr.js +1 -1
  62. package/assets/js/highcharts/indicators/atr.src.js +1 -1
  63. package/assets/js/highcharts/indicators/bollinger-bands.js +1 -1
  64. package/assets/js/highcharts/indicators/bollinger-bands.src.js +1 -1
  65. package/assets/js/highcharts/indicators/cci.js +1 -1
  66. package/assets/js/highcharts/indicators/cci.src.js +1 -1
  67. package/assets/js/highcharts/indicators/chaikin.js +1 -1
  68. package/assets/js/highcharts/indicators/chaikin.src.js +1 -1
  69. package/assets/js/highcharts/indicators/cmf.js +1 -1
  70. package/assets/js/highcharts/indicators/cmf.src.js +1 -1
  71. package/assets/js/highcharts/indicators/cmo.js +1 -1
  72. package/assets/js/highcharts/indicators/cmo.src.js +1 -1
  73. package/assets/js/highcharts/indicators/dema.js +1 -1
  74. package/assets/js/highcharts/indicators/dema.src.js +1 -1
  75. package/assets/js/highcharts/indicators/disparity-index.js +1 -1
  76. package/assets/js/highcharts/indicators/disparity-index.src.js +1 -1
  77. package/assets/js/highcharts/indicators/dmi.js +1 -1
  78. package/assets/js/highcharts/indicators/dmi.src.js +1 -1
  79. package/assets/js/highcharts/indicators/dpo.js +1 -1
  80. package/assets/js/highcharts/indicators/dpo.src.js +1 -1
  81. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.js +1 -1
  82. package/assets/js/highcharts/indicators/ichimoku-kinko-hyo.src.js +1 -1
  83. package/assets/js/highcharts/indicators/indicators-all.js +1 -1
  84. package/assets/js/highcharts/indicators/indicators-all.src.js +1 -1
  85. package/assets/js/highcharts/indicators/indicators.js +1 -1
  86. package/assets/js/highcharts/indicators/indicators.src.js +1 -1
  87. package/assets/js/highcharts/indicators/keltner-channels.js +1 -1
  88. package/assets/js/highcharts/indicators/keltner-channels.src.js +1 -1
  89. package/assets/js/highcharts/indicators/klinger.js +1 -1
  90. package/assets/js/highcharts/indicators/klinger.src.js +1 -1
  91. package/assets/js/highcharts/indicators/macd.js +1 -1
  92. package/assets/js/highcharts/indicators/macd.src.js +1 -1
  93. package/assets/js/highcharts/indicators/mfi.js +1 -1
  94. package/assets/js/highcharts/indicators/mfi.src.js +1 -1
  95. package/assets/js/highcharts/indicators/momentum.js +1 -1
  96. package/assets/js/highcharts/indicators/momentum.src.js +1 -1
  97. package/assets/js/highcharts/indicators/natr.js +1 -1
  98. package/assets/js/highcharts/indicators/natr.src.js +1 -1
  99. package/assets/js/highcharts/indicators/obv.js +1 -1
  100. package/assets/js/highcharts/indicators/obv.src.js +1 -1
  101. package/assets/js/highcharts/indicators/pivot-points.js +1 -1
  102. package/assets/js/highcharts/indicators/pivot-points.src.js +1 -1
  103. package/assets/js/highcharts/indicators/ppo.js +1 -1
  104. package/assets/js/highcharts/indicators/ppo.src.js +1 -1
  105. package/assets/js/highcharts/indicators/price-channel.js +1 -1
  106. package/assets/js/highcharts/indicators/price-channel.src.js +1 -1
  107. package/assets/js/highcharts/indicators/price-envelopes.js +1 -1
  108. package/assets/js/highcharts/indicators/price-envelopes.src.js +1 -1
  109. package/assets/js/highcharts/indicators/psar.js +1 -1
  110. package/assets/js/highcharts/indicators/psar.src.js +1 -1
  111. package/assets/js/highcharts/indicators/regressions.js +1 -1
  112. package/assets/js/highcharts/indicators/regressions.src.js +1 -1
  113. package/assets/js/highcharts/indicators/roc.js +1 -1
  114. package/assets/js/highcharts/indicators/roc.src.js +1 -1
  115. package/assets/js/highcharts/indicators/rsi.js +1 -1
  116. package/assets/js/highcharts/indicators/rsi.src.js +1 -1
  117. package/assets/js/highcharts/indicators/slow-stochastic.js +1 -1
  118. package/assets/js/highcharts/indicators/slow-stochastic.src.js +1 -1
  119. package/assets/js/highcharts/indicators/stochastic.js +1 -1
  120. package/assets/js/highcharts/indicators/stochastic.src.js +1 -1
  121. package/assets/js/highcharts/indicators/supertrend.js +1 -1
  122. package/assets/js/highcharts/indicators/supertrend.src.js +1 -1
  123. package/assets/js/highcharts/indicators/tema.js +1 -1
  124. package/assets/js/highcharts/indicators/tema.src.js +1 -1
  125. package/assets/js/highcharts/indicators/trendline.js +1 -1
  126. package/assets/js/highcharts/indicators/trendline.src.js +1 -1
  127. package/assets/js/highcharts/indicators/trix.js +1 -1
  128. package/assets/js/highcharts/indicators/trix.src.js +1 -1
  129. package/assets/js/highcharts/indicators/volume-by-price.js +1 -1
  130. package/assets/js/highcharts/indicators/volume-by-price.src.js +1 -1
  131. package/assets/js/highcharts/indicators/vwap.js +1 -1
  132. package/assets/js/highcharts/indicators/vwap.src.js +1 -1
  133. package/assets/js/highcharts/indicators/williams-r.js +1 -1
  134. package/assets/js/highcharts/indicators/williams-r.src.js +1 -1
  135. package/assets/js/highcharts/indicators/wma.js +1 -1
  136. package/assets/js/highcharts/indicators/wma.src.js +1 -1
  137. package/assets/js/highcharts/indicators/zigzag.js +1 -1
  138. package/assets/js/highcharts/indicators/zigzag.src.js +1 -1
  139. package/assets/js/highcharts/modules/accessibility.js +2 -2
  140. package/assets/js/highcharts/modules/accessibility.src.js +74 -38
  141. package/assets/js/highcharts/modules/annotations-advanced.js +2 -2
  142. package/assets/js/highcharts/modules/annotations-advanced.src.js +7 -3
  143. package/assets/js/highcharts/modules/annotations.js +2 -2
  144. package/assets/js/highcharts/modules/annotations.src.js +7 -3
  145. package/assets/js/highcharts/modules/arc-diagram.js +2 -2
  146. package/assets/js/highcharts/modules/arc-diagram.src.js +5 -4
  147. package/assets/js/highcharts/modules/arrow-symbols.js +1 -1
  148. package/assets/js/highcharts/modules/arrow-symbols.src.js +1 -1
  149. package/assets/js/highcharts/modules/boost-canvas.js +2 -2
  150. package/assets/js/highcharts/modules/boost-canvas.src.js +3 -1
  151. package/assets/js/highcharts/modules/boost.js +2 -2
  152. package/assets/js/highcharts/modules/boost.src.js +3 -1
  153. package/assets/js/highcharts/modules/broken-axis.js +1 -1
  154. package/assets/js/highcharts/modules/broken-axis.src.js +1 -1
  155. package/assets/js/highcharts/modules/bullet.js +1 -1
  156. package/assets/js/highcharts/modules/bullet.src.js +1 -1
  157. package/assets/js/highcharts/modules/coloraxis.js +1 -1
  158. package/assets/js/highcharts/modules/coloraxis.src.js +1 -1
  159. package/assets/js/highcharts/modules/current-date-indicator.js +1 -1
  160. package/assets/js/highcharts/modules/current-date-indicator.src.js +1 -1
  161. package/assets/js/highcharts/modules/cylinder.js +1 -1
  162. package/assets/js/highcharts/modules/cylinder.src.js +1 -1
  163. package/assets/js/highcharts/modules/data-tools.js +1 -1
  164. package/assets/js/highcharts/modules/data-tools.src.js +1 -1
  165. package/assets/js/highcharts/modules/data.js +2 -2
  166. package/assets/js/highcharts/modules/data.src.js +126 -100
  167. package/assets/js/highcharts/modules/datagrouping.js +1 -1
  168. package/assets/js/highcharts/modules/datagrouping.src.js +1 -1
  169. package/assets/js/highcharts/modules/debugger.js +1 -1
  170. package/assets/js/highcharts/modules/debugger.src.js +1 -1
  171. package/assets/js/highcharts/modules/dependency-wheel.js +1 -1
  172. package/assets/js/highcharts/modules/dependency-wheel.src.js +1 -1
  173. package/assets/js/highcharts/modules/dotplot.js +1 -1
  174. package/assets/js/highcharts/modules/dotplot.src.js +1 -1
  175. package/assets/js/highcharts/modules/drag-panes.js +1 -1
  176. package/assets/js/highcharts/modules/drag-panes.src.js +1 -1
  177. package/assets/js/highcharts/modules/draggable-points.js +1 -1
  178. package/assets/js/highcharts/modules/draggable-points.src.js +1 -1
  179. package/assets/js/highcharts/modules/drilldown.js +1 -1
  180. package/assets/js/highcharts/modules/drilldown.src.js +1 -1
  181. package/assets/js/highcharts/modules/dumbbell.js +1 -1
  182. package/assets/js/highcharts/modules/dumbbell.src.js +1 -1
  183. package/assets/js/highcharts/modules/export-data.js +1 -1
  184. package/assets/js/highcharts/modules/export-data.src.js +1 -1
  185. package/assets/js/highcharts/modules/exporting.js +2 -2
  186. package/assets/js/highcharts/modules/exporting.src.js +6 -2
  187. package/assets/js/highcharts/modules/flowmap.js +1 -1
  188. package/assets/js/highcharts/modules/flowmap.src.js +1 -1
  189. package/assets/js/highcharts/modules/full-screen.js +1 -1
  190. package/assets/js/highcharts/modules/full-screen.src.js +1 -1
  191. package/assets/js/highcharts/modules/funnel.js +1 -1
  192. package/assets/js/highcharts/modules/funnel.src.js +1 -1
  193. package/assets/js/highcharts/modules/funnel3d.js +1 -1
  194. package/assets/js/highcharts/modules/funnel3d.src.js +2 -1
  195. package/assets/js/highcharts/modules/gantt.js +2 -2
  196. package/assets/js/highcharts/modules/gantt.src.js +30 -18
  197. package/assets/js/highcharts/modules/geoheatmap.js +1 -1
  198. package/assets/js/highcharts/modules/geoheatmap.src.js +1 -1
  199. package/assets/js/highcharts/modules/grid-axis.js +2 -2
  200. package/assets/js/highcharts/modules/grid-axis.src.js +3 -3
  201. package/assets/js/highcharts/modules/heatmap.js +1 -1
  202. package/assets/js/highcharts/modules/heatmap.src.js +1 -1
  203. package/assets/js/highcharts/modules/heikinashi.js +1 -1
  204. package/assets/js/highcharts/modules/heikinashi.src.js +1 -1
  205. package/assets/js/highcharts/modules/histogram-bellcurve.js +1 -1
  206. package/assets/js/highcharts/modules/histogram-bellcurve.src.js +1 -1
  207. package/assets/js/highcharts/modules/hollowcandlestick.js +1 -1
  208. package/assets/js/highcharts/modules/hollowcandlestick.src.js +1 -1
  209. package/assets/js/highcharts/modules/item-series.js +1 -1
  210. package/assets/js/highcharts/modules/item-series.src.js +1 -1
  211. package/assets/js/highcharts/modules/lollipop.js +1 -1
  212. package/assets/js/highcharts/modules/lollipop.src.js +1 -1
  213. package/assets/js/highcharts/modules/map.js +2 -2
  214. package/assets/js/highcharts/modules/map.src.js +4 -9
  215. package/assets/js/highcharts/modules/marker-clusters.js +1 -1
  216. package/assets/js/highcharts/modules/marker-clusters.src.js +1 -1
  217. package/assets/js/highcharts/modules/mouse-wheel-zoom.js +1 -1
  218. package/assets/js/highcharts/modules/mouse-wheel-zoom.src.js +1 -1
  219. package/assets/js/highcharts/modules/navigator.js +2 -2
  220. package/assets/js/highcharts/modules/navigator.src.js +20 -5
  221. package/assets/js/highcharts/modules/networkgraph.js +1 -1
  222. package/assets/js/highcharts/modules/networkgraph.src.js +1 -1
  223. package/assets/js/highcharts/modules/no-data-to-display.js +1 -1
  224. package/assets/js/highcharts/modules/no-data-to-display.src.js +1 -1
  225. package/assets/js/highcharts/modules/offline-exporting.js +2 -2
  226. package/assets/js/highcharts/modules/offline-exporting.src.js +6 -3
  227. package/assets/js/highcharts/modules/organization.js +1 -1
  228. package/assets/js/highcharts/modules/organization.src.js +1 -1
  229. package/assets/js/highcharts/modules/overlapping-datalabels.js +1 -1
  230. package/assets/js/highcharts/modules/overlapping-datalabels.src.js +1 -1
  231. package/assets/js/highcharts/modules/parallel-coordinates.js +1 -1
  232. package/assets/js/highcharts/modules/parallel-coordinates.src.js +1 -1
  233. package/assets/js/highcharts/modules/pareto.js +1 -1
  234. package/assets/js/highcharts/modules/pareto.src.js +1 -1
  235. package/assets/js/highcharts/modules/pathfinder.js +1 -1
  236. package/assets/js/highcharts/modules/pathfinder.src.js +1 -1
  237. package/assets/js/highcharts/modules/pattern-fill.js +1 -1
  238. package/assets/js/highcharts/modules/pattern-fill.src.js +1 -1
  239. package/assets/js/highcharts/modules/pictorial.js +1 -1
  240. package/assets/js/highcharts/modules/pictorial.src.js +3 -2
  241. package/assets/js/highcharts/modules/price-indicator.js +1 -1
  242. package/assets/js/highcharts/modules/price-indicator.src.js +1 -1
  243. package/assets/js/highcharts/modules/pyramid3d.js +1 -1
  244. package/assets/js/highcharts/modules/pyramid3d.src.js +2 -1
  245. package/assets/js/highcharts/modules/sankey.js +1 -1
  246. package/assets/js/highcharts/modules/sankey.src.js +1 -1
  247. package/assets/js/highcharts/modules/series-label.js +1 -1
  248. package/assets/js/highcharts/modules/series-label.src.js +1 -1
  249. package/assets/js/highcharts/modules/series-on-point.js +1 -1
  250. package/assets/js/highcharts/modules/series-on-point.src.js +1 -1
  251. package/assets/js/highcharts/modules/solid-gauge.js +1 -1
  252. package/assets/js/highcharts/modules/solid-gauge.src.js +1 -1
  253. package/assets/js/highcharts/modules/sonification.js +1 -1
  254. package/assets/js/highcharts/modules/sonification.src.js +1 -1
  255. package/assets/js/highcharts/modules/static-scale.js +1 -1
  256. package/assets/js/highcharts/modules/static-scale.src.js +1 -1
  257. package/assets/js/highcharts/modules/stock-tools.js +2 -2
  258. package/assets/js/highcharts/modules/stock-tools.src.js +3 -3
  259. package/assets/js/highcharts/modules/stock.js +2 -2
  260. package/assets/js/highcharts/modules/stock.src.js +20 -5
  261. package/assets/js/highcharts/modules/streamgraph.js +1 -1
  262. package/assets/js/highcharts/modules/streamgraph.src.js +1 -1
  263. package/assets/js/highcharts/modules/sunburst.js +1 -1
  264. package/assets/js/highcharts/modules/sunburst.src.js +1 -1
  265. package/assets/js/highcharts/modules/textpath.js +1 -1
  266. package/assets/js/highcharts/modules/textpath.src.js +1 -1
  267. package/assets/js/highcharts/modules/tiledwebmap.js +1 -1
  268. package/assets/js/highcharts/modules/tiledwebmap.src.js +1 -1
  269. package/assets/js/highcharts/modules/tilemap.js +1 -1
  270. package/assets/js/highcharts/modules/tilemap.src.js +1 -1
  271. package/assets/js/highcharts/modules/timeline.js +1 -1
  272. package/assets/js/highcharts/modules/timeline.src.js +1 -1
  273. package/assets/js/highcharts/modules/treegraph.js +2 -2
  274. package/assets/js/highcharts/modules/treegraph.src.js +2 -2
  275. package/assets/js/highcharts/modules/treegrid.js +2 -2
  276. package/assets/js/highcharts/modules/treegrid.src.js +11 -14
  277. package/assets/js/highcharts/modules/treemap.js +1 -1
  278. package/assets/js/highcharts/modules/treemap.src.js +1 -1
  279. package/assets/js/highcharts/modules/variable-pie.js +1 -1
  280. package/assets/js/highcharts/modules/variable-pie.src.js +1 -1
  281. package/assets/js/highcharts/modules/variwide.js +1 -1
  282. package/assets/js/highcharts/modules/variwide.src.js +1 -1
  283. package/assets/js/highcharts/modules/vector.js +1 -1
  284. package/assets/js/highcharts/modules/vector.src.js +1 -1
  285. package/assets/js/highcharts/modules/venn.js +1 -1
  286. package/assets/js/highcharts/modules/venn.src.js +1 -1
  287. package/assets/js/highcharts/modules/windbarb.js +1 -1
  288. package/assets/js/highcharts/modules/windbarb.src.js +1 -1
  289. package/assets/js/highcharts/modules/wordcloud.js +1 -1
  290. package/assets/js/highcharts/modules/wordcloud.src.js +1 -1
  291. package/assets/js/highcharts/modules/xrange.js +1 -1
  292. package/assets/js/highcharts/modules/xrange.src.js +1 -1
  293. package/assets/js/highcharts/standalone-navigator.js +2 -2
  294. package/assets/js/highcharts/standalone-navigator.src.js +165 -65
  295. package/assets/js/highcharts/themes/avocado.js +1 -1
  296. package/assets/js/highcharts/themes/avocado.src.js +1 -1
  297. package/assets/js/highcharts/themes/brand-dark.js +1 -1
  298. package/assets/js/highcharts/themes/brand-dark.src.js +1 -1
  299. package/assets/js/highcharts/themes/brand-light.js +1 -1
  300. package/assets/js/highcharts/themes/brand-light.src.js +1 -1
  301. package/assets/js/highcharts/themes/dark-blue.js +1 -1
  302. package/assets/js/highcharts/themes/dark-blue.src.js +1 -1
  303. package/assets/js/highcharts/themes/dark-green.js +1 -1
  304. package/assets/js/highcharts/themes/dark-green.src.js +1 -1
  305. package/assets/js/highcharts/themes/dark-unica.js +1 -1
  306. package/assets/js/highcharts/themes/dark-unica.src.js +1 -1
  307. package/assets/js/highcharts/themes/gray.js +1 -1
  308. package/assets/js/highcharts/themes/gray.src.js +1 -1
  309. package/assets/js/highcharts/themes/grid-light.js +1 -1
  310. package/assets/js/highcharts/themes/grid-light.src.js +1 -1
  311. package/assets/js/highcharts/themes/grid.js +1 -1
  312. package/assets/js/highcharts/themes/grid.src.js +1 -1
  313. package/assets/js/highcharts/themes/high-contrast-dark.js +1 -1
  314. package/assets/js/highcharts/themes/high-contrast-dark.src.js +1 -1
  315. package/assets/js/highcharts/themes/high-contrast-light.js +1 -1
  316. package/assets/js/highcharts/themes/high-contrast-light.src.js +1 -1
  317. package/assets/js/highcharts/themes/sand-signika.js +1 -1
  318. package/assets/js/highcharts/themes/sand-signika.src.js +1 -1
  319. package/assets/js/highcharts/themes/skies.js +1 -1
  320. package/assets/js/highcharts/themes/skies.src.js +1 -1
  321. package/assets/js/highcharts/themes/sunset.js +1 -1
  322. package/assets/js/highcharts/themes/sunset.src.js +1 -1
  323. package/package.json +1 -1
  324. package/assets/js/highcharts/es-modules/Core/Series/KDPointSearchObjectLike.js +0 -10
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Highcharts
5
5
  *
@@ -1,9 +1,9 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Data module
5
5
  *
6
6
  * (c) 2012-2024 Torstein Honsi
7
7
  *
8
8
  * License: www.highcharts.com/license
9
- */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(t,s,r,i){t.hasOwnProperty(s)||(t[s]=i.apply(null,r),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:t[s]}})))}s(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{win:s}=e,{discardElement:r,objectEach:i}=t,a={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},s=new XMLHttpRequest;function r(t,s){e.error&&e.error(t,s)}if(!e.url)return!1;s.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||s.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),i(e.headers,function(e,t){s.setRequestHeader(t,e)}),e.responseType&&(s.responseType=e.responseType),s.onreadystatechange=function(){let t;if(4===s.readyState){if(200===s.status){if("blob"!==e.responseType&&(t=s.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return r(s,e)}return e.success&&e.success(t,s)}r(s,s.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),s.send(e.data)},getJSON:function(e,t){a.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,a){let n=new s.FormData;i(t,function(e,t){n.append(t,e)}),n.append("b64","true");let{filename:o,type:l}=t;return s.fetch(e,{method:"POST",body:n,...a}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${l};base64,${e}`,t.download=o,t.click(),r(t)})})}};return a}),s(t,"Extensions/Data.js",[t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,s,r,i,a,n){let{getOptions:o}=t,{doc:l}=s,{ajax:d}=r,{seriesTypes:u}=a,{addEvent:h,defined:m,extend:c,fireEvent:p,isNumber:f,merge:g,objectEach:C,pick:x,splat:y}=n;function T(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}class v{static data(e,t={},s){return new v(e,t,s)}static rowsToColumns(e){let t,s,r,i,a;if(e)for(t=0,a=[],s=e.length;t<s;t++)for(r=0,i=e[t].length;r<i;r++)a[r]||(a[r]=[]),a[r][t]=e[t][r];return a}constructor(e,t={},s){this.rowsToColumns=v.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(e){return e?Date.UTC(+e[3],e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(e){if(!e)return NaN;let t=new Date,s=+e[3];return s>t.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let r=e.decimalPoint,i;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==r&&","!==r&&(r=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=x(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=r&&RegExp("^(-?[0-9]+)"+r+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),i=!T(e)),i||(i=this.fetchLiveData()),i||(i=!!this.parseCSV().length),i||(i=!!this.parseTable().length),i||(i=this.parseGoogleSpreadsheet()),!i&&e.afterComplete&&e.afterComplete()}getColumnDistribution(){let e=this.chartOptions,t=this.options,s=[],r=function(e){return(u[e||"line"].prototype.pointArrayMap||[0]).length},i=function(e){return u[e||"line"].prototype.pointArrayMap},a=e&&e.chart&&e.chart.type,n=[],o=[],l=t&&t.seriesMapping||e&&e.series&&e.series.map(function(){return{x:0}})||[],d=0,h;(e&&e.series||[]).forEach(e=>{n.push(r(e.type||a))}),l.forEach(e=>{s.push(e.x||0)}),0===s.length&&s.push(0),l.forEach(t=>{let s=new R,l=n[d]||r(a),u=(e&&e.series||[])[d]||{},c=i(u.type||a),p=c||["y"];for((m(t.x)||u.isCartesian||!c)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)}),h=0;h<l;h++)s.hasReader(p[h])||s.addColumnReader(void 0,p[h]);o.push(s),d++});let c=i(a);void 0===c&&(c=["y"]),this.valueCount={global:r(a),xColumns:s,individual:n,seriesBuilders:o,globalPointArrayMap:c}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(e){let t=this,s=this.columns=[],r=e||this.options,i=void 0!==r.startColumn&&r.startColumn?r.startColumn:0,a=r.endColumn||Number.MAX_VALUE,n=[],o={",":0,";":0," ":0},l=r.csv,d=void 0!==r.startRow&&r.startRow?r.startRow:0,u=r.endRow||Number.MAX_VALUE,h,m,c=0;if(l&&r.beforeParse&&(l=r.beforeParse.call(this,l)),l){if(m=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(r.lineDelimiter||"\n"),(!d||d<0)&&(d=0),(!u||u>=m.length)&&(u=m.length-1),r.itemDelimiter)h=r.itemDelimiter;else{let e,s,i;h=null,e=0,s=0,i=!1,m.some(function(t,r){let i=!1,a,n,l,d="";if(r>13)return!0;for(let r=0;r<t.length;r++){if(a=t[r],n=t[r+1],l=t[r-1],"#"===a)return;if('"'===a){if(i){if('"'!==l&&'"'!==n){for(;" "===n&&r<t.length;)n=t[++r];void 0!==o[n]&&o[n]++,i=!1}}else i=!0}else void 0!==o[a]?(isNaN(Date.parse(d=d.trim()))?(isNaN(d)||!isFinite(d))&&o[a]++:o[a]++,d=""):d+=a;","===a&&s++,"."===a&&e++}}),o[";"]>o[","]?i=";":(o[","],o[";"],i=","),r.decimalPoint||(e>s?r.decimalPoint=".":r.decimalPoint=",",t.decimalRegex=RegExp("^(-?[0-9]+)"+r.decimalPoint+"([0-9]+)$")),h=i}let e=0;for(c=d;c<=u;c++)"#"===m[c][0]?e++:function(e,t,o,l){let d=0,u="",m="",c="",p="",f=0,g=0;function C(t){u=e[t],m=e[t-1],c=e[t+1]}function x(e){n.length<g+1&&n.push([e]),n[g][n[g].length-1]!==e&&n[g].push(e)}function y(){if(i>f||f>a){++f,p="";return}r.columnTypes||(!isNaN(parseFloat(p))&&isFinite(p)?(p=parseFloat(p),x("number")):isNaN(Date.parse(p))?x("string"):(p=p.replace(/\//g,"-"),x("date"))),s.length<g+1&&s.push([]),s[g][t]=p,p="",++g,++f}if(e.trim().length&&"#"!==e.trim()[0]){for(;d<e.length;d++)if(C(d),'"'===u)for(C(++d);d<e.length&&('"'!==u||'"'===m||'"'===c);)('"'!==u||'"'===u&&'"'!==m)&&(p+=u),C(++d);else u===h?y():p+=u;y()}}(m[c],c-d-e);(!r.columnTypes||0===r.columnTypes.length)&&n.length&&n[0].length&&"date"===n[0][1]&&!r.dateFormat&&(r.dateFormat=function(e,s){let i="YYYY/mm/dd",a=[],n=[],o,l=[],d,u=0,h=!1,m;for((!s||s>e.length)&&(s=e.length);u<s;u++)if(void 0!==e[u]&&e[u]&&e[u].length)for(m=0,o=e[u].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),l=["","",""];m<o.length;m++)m<l.length&&(o[m]=parseInt(o[m],10),o[m]&&(n[m]=!n[m]||n[m]<o[m]?o[m]:n[m],void 0!==a[m]?a[m]!==o[m]&&(a[m]=!1):a[m]=o[m],o[m]>31?o[m]<100?l[m]="YY":l[m]="YYYY":o[m]>12&&o[m]<=31?(l[m]="dd",h=!0):l[m].length||(l[m]="mm")));if(h){for(m=0;m<a.length;m++)!1!==a[m]?n[m]>12&&"YY"!==l[m]&&"YYYY"!==l[m]&&(l[m]="YY"):n[m]>12&&"mm"===l[m]&&(l[m]="dd");return(3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),d=l.join("/"),(r.dateFormats||t.dateFormats)[d])?d:(p("deduceDateFailed"),i)}return i}(s[0])),this.dataFound()}return s}parseTable(){let e=this.options,t=this.columns||[],s=e.startRow||0,r=e.endRow||Number.MAX_VALUE,i=e.startColumn||0,a=e.endColumn||Number.MAX_VALUE;if(e.table){let n=e.table;"string"==typeof n&&(n=l.getElementById(n)),[].forEach.call(n.getElementsByTagName("tr"),(e,n)=>{n>=s&&n<=r&&[].forEach.call(e.children,(e,r)=>{let o=t[r-i],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&r>=i&&r<=a)for(t[r-i]||(t[r-i]=[]),t[r-i][n-s]=e.innerHTML;n-s>=l&&void 0===o[n-s-l];)o[n-s-l]=null,l++})}),this.dataFound()}return t}fetchLiveData(){let e=this,t=this.chart,s=this.options,r=s.enablePolling,i=g(s),a=0,n=1e3*(s.dataRefreshRate||2);return!!T(s)&&(n<1e3&&(n=1e3),delete s.csvURL,delete s.rowsURL,delete s.columnsURL,function o(l){function u(i,u,h){if(!i||!/^(http|\/|\.\/|\.\.\/)/.test(i))return i&&s.error&&s.error("Invalid URL"),!1;function m(){r&&t.liveDataURL===i&&(e.liveDataTimeout=setTimeout(o,n))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=i),d({url:i,dataType:h||"json",success:function(e){t&&t.series&&u(e),m()},error:function(e,t){return++a<3&&m(),s.error&&s.error(t,e)}}),!0}u(i.csvURL,function(e){t.update({data:{csv:e}})},"text")||u(i.rowsURL,function(e){t.update({data:{rows:e}})})||u(i.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),T(s))}parseGoogleSpreadsheet(){let e=this,t=this.options,s=t.googleSpreadsheetKey,r=this.chart,i=Math.max(1e3*(t.dataRefreshRate||2),4e3),a=()=>{if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),r=e.charAt(x(t.endColumn,-1))||"ZZ";return m(t.endRow)&&(r+=t.endRow+1),`${s}:${r}`};return s&&(delete t.googleSpreadsheetKey,function r(n){d({url:["https://sheets.googleapis.com/v4/spreadsheets",s,"values",a(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/"),dataType:"json",success:function(s){n(s),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){r(n)},i))},error:function(e,s){return t.error&&t.error(s,e)}})}(function(t){let s=t.values;if(!s||0===s.length)return!1;let i=s.reduce((e,t)=>Math.max(e,t.length),0);s.forEach(e=>{for(let t=0;t<i;t++)void 0===e[t]&&(e[t]=null)}),r&&r.series?r.update({data:{columns:s}}):(e.columns=s,e.dataFound())})),!1}trim(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/[\d\s]+/.test(e)&&(e=e.replace(/\s/g,"")),this.decimalRegex&&(e=e.replace(this.decimalRegex,"$1.$2"))),e}parseTypes(){let e=this.columns||[],t=e.length;for(;t--;)this.parseColumn(e[t],t)}parseColumn(e,t){let s=this.rawColumns,r=this.columns,i=this.firstRowAsNames,a=-1!==this.valueCount.xColumns.indexOf(t),n=[],o=this.chartOptions,l=(this.options.columnTypes||[])[t],d=a&&o&&o.xAxis&&"category"===y(o.xAxis)[0].type||"string"===l,u=m(e.name),h=e.length,c,p,g,C,x,T,v;for(s[t]||(s[t]=[]);h--;)c=n[h]||e[h],g=this.trim(c),p=parseFloat(C=this.trim(c,!0)),void 0===s[t][h]&&(s[t][h]=g),d||0===h&&i&&!u?e[h]=""+g:+C===p?(e[h]=p,p>31536e6&&"float"!==l?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[h+1]&&(v=p>e[h+1])):(g&&g.length&&(x=this.parseDate(c)),a&&f(x)&&"float"!==l?(n[h]=c,e[h]=x,e.isDatetime=!0,void 0!==e[h+1]&&((T=x>e[h+1])!==v&&void 0!==v&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,h=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),v=T)):(e[h]=""===g?null:g,0!==h&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(a&&e.mixed&&(r[t]=s[t]),a&&v&&this.options.sort)for(t=0;t<r.length;t++)r[t].reverse(),i&&r[t].unshift(r[t].pop())}parseDate(e){let t=this.options.parseDate,s,r,i,a=this.options.dateFormat||this.dateFormat,n;if(t)s=t(e);else if("string"==typeof e){if(a)(i=this.dateFormats[a])||(i=this.dateFormats["YYYY/mm/dd"]),(n=e.match(i.regex))&&(s=i.parser(n));else for(r in this.dateFormats)if(i=this.dateFormats[r],n=e.match(i.regex)){this.dateFormat=a=r,this.alternativeFormat=i.alternative,s=i.parser(n);break}!n&&(e.match(/:.+(GMT|UTC|[Z+\-])/)&&(e=e.replace(/\s*(?:GMT|UTC)?([+\-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+\-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),"object"==typeof(n=Date.parse(e))&&null!==n&&n.getTime?s=n.getTime()-6e4*n.getTimezoneOffset():f(n)&&(s=n-6e4*new Date(n).getTimezoneOffset()))}return s}getData(){if(this.columns)return this.rowsToColumns(this.columns).slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){let e,t,s,r,i,a,n,o,l,d,u,h;let c=this.columns,p=this.options,f=[];if([].length=c.length,p.complete||p.afterComplete){if(this.firstRowAsNames)for(r=0;r<c.length;r++){let e=c[r];m(e.name)||(e.name=x(e.shift(),"").toString())}for(n=0,t=[],d=function(e,t){let s,r,i;let a=[],n=[];for(r=0;r<e;r+=1)a.push(!0);for(s=0;s<t.length;s+=1)for(r=0,i=t[s].getReferencedColumnIndexes();r<i.length;r+=1)a[i[r]]=!1;for(r=0;r<a.length;r+=1)a[r]&&n.push(r);return n}(c.length,this.valueCount.seriesBuilders);n<this.valueCount.seriesBuilders.length;n++)(l=this.valueCount.seriesBuilders[n]).populateColumns(d)&&f.push(l);for(;d.length>0;){for((l=new R).addColumnReader(0,"x"),-1!==(h=d.indexOf(0))&&d.splice(h,1),r=0;r<this.valueCount.global;r++)l.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);l.populateColumns(d)&&f.push(l)}if(f.length>0&&f[0].readers.length>0&&void 0!==(u=c[f[0].readers[0].columnIndex])&&(u.isDatetime?e="datetime":u.isNumeric||(e="category")),"category"===e)for(n=0;n<f.length;n++)for(a=0,l=f[n];a<l.readers.length;a++)"x"===l.readers[a].configName&&(l.readers[a].configName="name");for(n=0;n<f.length;n++){for(i=0,l=f[n],s=[];i<c[0].length;i++)s[i]=l.read(c,i);t[n]={data:s},l.name&&(t[n].name=l.name),"category"===e&&(t[n].turboThreshold=0)}o={series:t},e&&(o.xAxis={type:e},"category"===e&&(o.xAxis.uniqueNames=!1)),p.complete&&p.complete(o),p.afterComplete&&p.afterComplete(o)}}update(e,t){let s=this.chart,r=s.options;e&&(e.afterComplete=function(e){e&&(e.xAxis&&s.xAxis[0]&&e.xAxis.type===s.xAxis[0].options.type&&delete e.xAxis,s.update(e,t,!0))},g(!0,r.data,e),r.data&&r.data.googleSpreadsheetKey&&!e.columns&&delete r.data.columns,this.init(r.data))}}h(e,"init",function(e){let t=this,s=e.args[1],r=o().data,i=e.args[0]||{};if((r||i&&i.data)&&!t.hasDataDef){t.hasDataDef=!0;let a=g(r,i.data);t.data=new v(c(a,{afterComplete:function(e){let r,a;if(Object.hasOwnProperty.call(i,"series")){if("object"==typeof i.series)for(r=Math.max(i.series.length,e&&e.series?e.series.length:0);r--;)a=i.series[r]||{},i.series[r]=g(a,e&&e.series?e.series[r]:{});else delete i.series}i=g(e,i),t.init(i,s)}}),i,t),e.preventDefault()}});class R{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(e){let t=!0;return this.readers.forEach(t=>{void 0===t.columnIndex&&(t.columnIndex=e.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(t=!1)}),t}read(e,t){let s=this.pointIsArray,r=s?[]:{};if(this.readers.forEach(a=>{let n=e[a.columnIndex][t];s?r.push(n):a.configName.indexOf(".")>0?i.prototype.setNestedProperty(r,n,a.configName):r[a.configName]=n}),void 0===this.name&&this.readers.length>=2){let t=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&t.push(e.columnIndex)}),t.length>=2&&(t.shift(),t.sort(function(e,t){return e-t})),this.name=e[x(t.shift(),0)].name}return r}addColumnReader(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)}getReferencedColumnIndexes(){let e,t;let s=[];for(e=0;e<this.readers.length;e+=1)void 0!==(t=this.readers[e]).columnIndex&&s.push(t.columnIndex);return s}hasReader(e){let t;for(t=0;t<this.readers.length;t+=1)if(this.readers[t].configName===e)return!0}}return v}),s(t,"masters/modules/data.src.js",[t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Extensions/Data.js"]],function(e,t,s){return e.Data=e.Data||s,e.HttpUtilities=e.HttpUtilities||t,e.ajax=e.HttpUtilities.ajax,e.data=e.Data.data,e.getJSON=e.HttpUtilities.getJSON,e.post=e.HttpUtilities.post,e})});
9
+ */function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/data",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function s(t,s,i,a){t.hasOwnProperty(s)||(t[s]=a.apply(null,i),"function"==typeof CustomEvent&&e.win.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:s,module:t[s]}})))}s(t,"Core/HttpUtilities.js",[t["Core/Globals.js"],t["Core/Utilities.js"]],function(e,t){let{win:s}=e,{discardElement:i,objectEach:a}=t,n={ajax:function(e){let t={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},s=new XMLHttpRequest;function i(t,s){e.error&&e.error(t,s)}if(!e.url)return!1;s.open((e.type||"get").toUpperCase(),e.url,!0),e.headers&&e.headers["Content-Type"]||s.setRequestHeader("Content-Type",t[e.dataType||"json"]||t.text),a(e.headers,function(e,t){s.setRequestHeader(t,e)}),e.responseType&&(s.responseType=e.responseType),s.onreadystatechange=function(){let t;if(4===s.readyState){if(200===s.status){if("blob"!==e.responseType&&(t=s.responseText,"json"===e.dataType))try{t=JSON.parse(t)}catch(e){if(e instanceof Error)return i(s,e)}return e.success&&e.success(t,s)}i(s,s.responseText)}},e.data&&"string"!=typeof e.data&&(e.data=JSON.stringify(e.data)),s.send(e.data)},getJSON:function(e,t){n.ajax({url:e,success:t,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(e,t,n){let r=new s.FormData;a(t,function(e,t){r.append(t,e)}),r.append("b64","true");let{filename:o,type:l}=t;return s.fetch(e,{method:"POST",body:r,...n}).then(e=>{e.ok&&e.text().then(e=>{let t=document.createElement("a");t.href=`data:${l};base64,${e}`,t.download=o,t.click(),i(t)})})}};return n}),s(t,"Extensions/Data.js",[t["Core/Axis/Axis.js"],t["Core/Chart/Chart.js"],t["Core/Defaults.js"],t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Core/Series/Point.js"],t["Core/Series/SeriesRegistry.js"],t["Core/Utilities.js"]],function(e,t,s,i,a,n,r,o){let{getOptions:l}=s,{doc:u}=i,{ajax:h}=a,{seriesTypes:d}=r,{addEvent:p,defined:m,extend:c,fireEvent:f,isNumber:g,merge:x,objectEach:C,pick:y,splat:v}=o;function T(e){return!!(e&&(e.rowsURL||e.csvURL||e.columnsURL))}class N{static data(e,t={},s){return new N(e,t,s)}static rowsToColumns(e){let t,s,i,a,n;if(e)for(t=0,n=[],s=e.length;t<s;t++)for(i=0,a=e[t].length;i<a;i++)n[i]||(n[i]=[]),n[i][t]=e[t][i];return n}constructor(e,t={},s){this.rowsToColumns=N.rowsToColumns,this.dateFormats={"YYYY/mm/dd":{regex:/^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,parser:function(e){return e?Date.UTC(+e[1],+e[2]-1,+e[3]):NaN}},"dd/mm/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(e){return e?Date.UTC(+e[3],+e[2]-1,+e[1]):NaN},alternative:"mm/dd/YYYY"},"mm/dd/YYYY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,parser:function(e){return e?Date.UTC(+e[3],+e[1]-1,+e[2]):NaN}},"dd/mm/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(e){if(!e)return NaN;let t=new Date,s=+e[3];return s>t.getFullYear()-2e3?s+=1900:s+=2e3,Date.UTC(s,+e[2]-1,+e[1])},alternative:"mm/dd/YY"},"mm/dd/YY":{regex:/^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,parser:function(e){return e?Date.UTC(+e[3]+2e3,+e[1]-1,+e[2]):NaN}}},this.chart=s,this.chartOptions=t,this.options=e,this.rawColumns=[],this.init(e,t,s)}init(e,t,s){let i=e.decimalPoint,a;t&&(this.chartOptions=t),s&&(this.chart=s),"."!==i&&","!==i&&(i=void 0),this.options=e,this.columns=e.columns||this.rowsToColumns(e.rows)||[],this.firstRowAsNames=y(e.firstRowAsNames,this.firstRowAsNames,!0),this.decimalRegex=i&&RegExp("^(-?[0-9]+)"+i+"([0-9]+)$"),void 0!==this.liveDataTimeout&&clearTimeout(this.liveDataTimeout),this.rawColumns=[],this.columns.length&&(this.dataFound(),a=!T(e)),a||(a=this.fetchLiveData()),a||(a=!!this.parseCSV().length),a||(a=!!this.parseTable().length),a||(a=this.parseGoogleSpreadsheet()),!a&&e.afterComplete&&e.afterComplete(this)}getColumnDistribution(){let e=this.chartOptions,t=this.options,s=[],i=function(e="line"){return(d[e].prototype.pointArrayMap||[0]).length},a=function(e="line"){return d[e].prototype.pointArrayMap},n=e?.chart?.type,r=[],o=[],l=t?.seriesMapping||e?.series?.map(function(){return{x:0}})||[],u=0;(e?.series||[]).forEach(e=>{r.push(i(e.type||n))}),l.forEach(e=>{s.push(e.x||0)}),0===s.length&&s.push(0),l.forEach(t=>{let s=new R,l=r[u]||i(n),h=(e?.series??[])[u]??{},d=a(h.type||n),p=d??["y"];(m(t.x)||h.isCartesian||!d)&&s.addColumnReader(t.x,"x"),C(t,function(e,t){"x"!==t&&s.addColumnReader(e,t)});for(let e=0;e<l;e++)s.hasReader(p[e])||s.addColumnReader(void 0,p[e]);o.push(s),u++});let h=a(n);void 0===h&&(h=["y"]),this.valueCount={global:i(n),xColumns:s,individual:r,seriesBuilders:o,globalPointArrayMap:h}}dataFound(){this.options.switchRowsAndColumns&&(this.columns=this.rowsToColumns(this.columns)),this.getColumnDistribution(),this.parseTypes(),!1!==this.parsed()&&this.complete()}parseCSV(e){let t=this,s=this.columns=[],i=e||this.options,a=i.startColumn||0,n=i.endColumn||Number.MAX_VALUE,r=[],o={",":0,";":0," ":0},l=i.csv,u=i.startRow||0,h=i.endRow||Number.MAX_VALUE,d,p,m=0;if(l&&i.beforeParse&&(l=i.beforeParse.call(this,l)),l){if(p=l.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split(i.lineDelimiter||"\n"),(!u||u<0)&&(u=0),(!h||h>=p.length)&&(h=p.length-1),i.itemDelimiter)d=i.itemDelimiter;else{let e,s,a;e=0,s=0,a=!1,p.some(function(t,i){let a=!1,n,r,l,u="";if(i>13)return!0;for(let i=0;i<t.length;i++){if(n=t[i],r=t[i+1],l=t[i-1],"#"===n)return;if('"'===n){if(a){if('"'!==l&&'"'!==r){for(;" "===r&&i<t.length;)r=t[++i];void 0!==o[r]&&o[r]++,a=!1}}else a=!0}else void 0!==o[n]?(isNaN(Date.parse(u=u.trim()))?(isNaN(u)||!isFinite(u))&&o[n]++:o[n]++,u=""):u+=n;","===n&&s++,"."===n&&e++}}),o[";"]>o[","]?a=";":(o[","],o[";"],a=","),i.decimalPoint||(e>s?i.decimalPoint=".":i.decimalPoint=",",t.decimalRegex=RegExp("^(-?[0-9]+)"+i.decimalPoint+"([0-9]+)$")),d=a}let e=0;for(m=u;m<=h;m++)"#"===p[m][0]?e++:function(e,t,o,l){let u=0,h="",p="",m="",c="",f=0,g=0;function x(t){h=e[t],p=e[t-1],m=e[t+1]}function C(e){r.length<g+1&&r.push([e]),r[g][r[g].length-1]!==e&&r[g].push(e)}function y(){if(a>f||f>n){++f,c="";return}i.columnTypes||(!isNaN(parseFloat(c))&&isFinite(c)?(c=parseFloat(c),C("number")):isNaN(Date.parse(c))?C("string"):(c=c.replace(/\//g,"-"),C("date"))),s.length<g+1&&s.push([]),s[g][t]=c,c="",++g,++f}if(e.trim().length&&"#"!==e.trim()[0]){for(;u<e.length;u++)if(x(u),'"'===h)for(x(++u);u<e.length&&('"'!==h||'"'===p||'"'===m);)('"'!==h||'"'===h&&'"'!==p)&&(c+=h),x(++u);else h===d?y():c+=h;y()}}(p[m],m-u-e);(!i.columnTypes||0===i.columnTypes.length)&&r.length&&r[0].length&&"date"===r[0][1]&&!i.dateFormat&&(i.dateFormat=function(e,s){let a="YYYY/mm/dd",n=[],r=[],o,l=[],u,h=0,d=!1,p;for((!s||s>e.length)&&(s=e.length);h<s;h++)if(void 0!==e[h]&&e[h]?.length)for(p=0,o=e[h].trim().replace(/\//g," ").replace(/\-/g," ").replace(/\./g," ").split(" "),l=["","",""];p<o.length;p++)p<l.length&&(o[p]=parseInt(o[p],10),o[p]&&(r[p]=!r[p]||r[p]<o[p]?o[p]:r[p],void 0!==n[p]?n[p]!==o[p]&&(n[p]=!1):n[p]=o[p],o[p]>31?o[p]<100?l[p]="YY":l[p]="YYYY":o[p]>12&&o[p]<=31?(l[p]="dd",d=!0):l[p].length||(l[p]="mm")));if(d){for(p=0;p<n.length;p++)!1!==n[p]?r[p]>12&&"YY"!==l[p]&&"YYYY"!==l[p]&&(l[p]="YY"):r[p]>12&&"mm"===l[p]&&(l[p]="dd");return(3===l.length&&"dd"===l[1]&&"dd"===l[2]&&(l[2]="YY"),u=l.join("/"),(i.dateFormats||t.dateFormats)[u])?u:(f(t,"deduceDateFailed"),a)}return a}(s[0])),this.dataFound()}return s}parseTable(){let e=this.options,t=this.columns||[],s=e.startRow||0,i=e.endRow||Number.MAX_VALUE,a=e.startColumn||0,n=e.endColumn||Number.MAX_VALUE;if(e.table){let r=e.table;"string"==typeof r&&(r=u.getElementById(r)),[].forEach.call(r.getElementsByTagName("tr"),(e,r)=>{r>=s&&r<=i&&[].forEach.call(e.children,(e,i)=>{let o=t[i-a],l=1;if(("TD"===e.tagName||"TH"===e.tagName)&&i>=a&&i<=n)for(t[i-a]||(t[i-a]=[]),t[i-a][r-s]=e.innerHTML;r-s>=l&&void 0===o[r-s-l];)o[r-s-l]=null,l++})}),this.dataFound()}return t}fetchLiveData(){let e=this,t=this.chart,s=this.options,i=s.enablePolling,a=x(s),n=0,r=1e3*(s.dataRefreshRate||2);return!!T(s)&&(r<1e3&&(r=1e3),delete s.csvURL,delete s.rowsURL,delete s.columnsURL,function o(l){function u(a,u,d){if(!a||!/^(http|\/|\.\/|\.\.\/)/.test(a))return a&&s.error&&s.error("Invalid URL"),!1;function p(){i&&t.liveDataURL===a&&(e.liveDataTimeout=setTimeout(o,r))}return l&&(clearTimeout(e.liveDataTimeout),t.liveDataURL=a),h({url:a,dataType:d||"json",success:function(e){t?.series&&u(e),p()},error:function(e,t){return++n<3&&p(),s.error?.(t,e)}}),!0}u(a.csvURL,function(e){t.update({data:{csv:e}})},"text")||u(a.rowsURL,function(e){t.update({data:{rows:e}})})||u(a.columnsURL,function(e){t.update({data:{columns:e}})})}(!0),T(s))}parseGoogleSpreadsheet(){let e=this,t=this.options,s=t.googleSpreadsheetKey,i=this.chart,a=Math.max(1e3*(t.dataRefreshRate||2),4e3),n=()=>{if(t.googleSpreadsheetRange)return t.googleSpreadsheetRange;let e="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=(e.charAt(t.startColumn||0)||"A")+((t.startRow||0)+1),i=e.charAt(y(t.endColumn,-1))||"ZZ";return m(t.endRow)&&(i+=t.endRow+1),`${s}:${i}`};return s&&(delete t.googleSpreadsheetKey,function i(r){h({url:["https://sheets.googleapis.com/v4/spreadsheets",s,"values",n(),"?alt=json&majorDimension=COLUMNS&valueRenderOption=UNFORMATTED_VALUE&dateTimeRenderOption=FORMATTED_STRING&key="+t.googleAPIKey].join("/"),dataType:"json",success:function(s){r(s),t.enablePolling&&(e.liveDataTimeout=setTimeout(function(){i(r)},a))},error:function(e,s){return t.error?.(s,e)}})}(function(t){let s=t.values;if(!s||0===s.length)return!1;let a=s.reduce((e,t)=>Math.max(e,t.length),0);s.forEach(e=>{for(let t=0;t<a;t++)void 0===e[t]&&(e[t]=null)}),i?.series?i.update({data:{columns:s}}):(e.columns=s,e.dataFound())})),!1}trim(e,t){return"string"==typeof e&&(e=e.replace(/^\s+|\s+$/g,""),t&&/[\d\s]+/.test(e)&&(e=e.replace(/\s/g,"")),this.decimalRegex&&(e=e.replace(this.decimalRegex,"$1.$2"))),e}parseTypes(){let e=this.columns||[],t=e.length;for(;t--;)this.parseColumn(e[t],t)}parseColumn(e,t){let s=this.rawColumns,i=this.columns=this.columns||[],a=this.firstRowAsNames,n=this.valueCount?.xColumns.indexOf(t)!==-1,r=[],o=this.chartOptions,l=(this.options.columnTypes||[])[t],u=n&&o?.xAxis&&"category"===v(o.xAxis)[0].type||"string"===l,h=m(e.name),d=e.length,p,c,f,x,C,y,T;for(s[t]||(s[t]=[]);d--;)p=r[d]||e[d],f=this.trim(p),c=parseFloat(x=this.trim(p,!0)),void 0===s[t][d]&&(s[t][d]=f),u||0===d&&a&&!h?e[d]=""+f:+x===c?(e[d]=c,c>31536e6&&"float"!==l?e.isDatetime=!0:e.isNumeric=!0,void 0!==e[d+1]&&(T=c>e[d+1])):(f?.length&&(C=this.parseDate(p)),n&&g(C)&&"float"!==l?(r[d]=p,e[d]=C,e.isDatetime=!0,void 0!==e[d+1]&&((y=C>e[d+1])!==T&&void 0!==T&&(this.alternativeFormat?(this.dateFormat=this.alternativeFormat,d=e.length,this.alternativeFormat=this.dateFormats[this.dateFormat].alternative):e.unsorted=!0),T=y)):(e[d]=""===f?null:f,0!==d&&(e.isDatetime||e.isNumeric)&&(e.mixed=!0)));if(n&&e.mixed&&(i[t]=s[t]),n&&T&&this.options.sort){for(t=0;t<i.length;t++)if(i[t].reverse(),a){let e=i[t].pop();e&&i[t].unshift(e)}}}parseDate(e){let t=this.options.parseDate,s,i,a,n=this.options.dateFormat||this.dateFormat,r;if(t)s=t(e);else if("string"==typeof e){if(n)(a=this.dateFormats[n])||(a=this.dateFormats["YYYY/mm/dd"]),(r=e.match(a.regex))&&(s=a.parser(r));else for(i in this.dateFormats)if(a=this.dateFormats[i],r=e.match(a.regex)){this.dateFormat=n=i,this.alternativeFormat=a.alternative,s=a.parser(r);break}!r&&(e.match(/:.+(GMT|UTC|[Z+\-])/)&&(e=e.replace(/\s*(?:GMT|UTC)?([+\-])(\d\d)(\d\d)$/,"$1$2:$3").replace(/(?:\s+|GMT|UTC)([+\-])/,"$1").replace(/(\d)\s*(?:GMT|UTC|Z)$/,"$1+00:00")),"object"==typeof(r=Date.parse(e))&&null!==r&&r.getTime?s=r.getTime()-6e4*r.getTimezoneOffset():g(r)&&(s=r-6e4*new Date(r).getTimezoneOffset()))}return s}getData(){if(this.columns)return this.rowsToColumns(this.columns)?.slice(1)}parsed(){if(this.options.parsed)return this.options.parsed.call(this,this.columns)}complete(){let e=this.columns=this.columns||[],t=this.options,s=[],i="linear",a,n,r,o,l,u,h,d,p,c,f;if([].length=e.length,t.complete||t.afterComplete){if(this.firstRowAsNames)for(r=0;r<e.length;r++){let t=e[r];m(t.name)||(t.name=y(t.shift(),"").toString())}for(u=0,a=[],p=function(e,t){let s,i,a;let n=[],r=[];for(i=0;i<e;i+=1)n.push(!0);for(s=0;s<t.length;s+=1)for(i=0,a=t[s].getReferencedColumnIndexes();i<a.length;i+=1)n[a[i]]=!1;for(i=0;i<n.length;i+=1)n[i]&&r.push(i);return r}(e?.length||0,this.valueCount.seriesBuilders);u<this.valueCount.seriesBuilders.length;u++)(d=this.valueCount.seriesBuilders[u]).populateColumns(p)&&s.push(d);for(;p.length>0;){for((d=new R).addColumnReader(0,"x"),-1!==(f=p.indexOf(0))&&p.splice(f,1),r=0;r<this.valueCount.global;r++)d.addColumnReader(void 0,this.valueCount.globalPointArrayMap[r]);d.populateColumns(p)&&s.push(d)}if(s.length>0&&s[0].readers.length>0&&void 0!==(c=e?.[s[0].readers[0].columnIndex??-1])&&(c.isDatetime?i="datetime":c.isNumeric||(i="category")),"category"===i)for(u=0;u<s.length;u++)for(l=0,d=s[u];l<d.readers.length;l++)"x"===d.readers[l].configName&&(d.readers[l].configName="name");for(u=0;u<s.length;u++){for(o=0,d=s[u],n=[];o<e[0].length;o++)n[o]=d.read(e,o);a[u]={data:n,pointStart:n[0]&&(d.pointIsArray?n[0]?.[0]:n[0]?.x)||void 0},d.name&&(a[u].name=d.name),"category"===i&&(a[u].turboThreshold=0,a[u].pointStart=0)}h={series:a},"linear"!==i||this.xAxisOptions&&this.xAxisOptions.type!==i?(this.xAxisOptions={type:i},"category"===i&&(this.xAxisOptions.uniqueNames=!1)):i=this.xAxisOptions=void 0,this.chart||x(!0,h,{xAxis:this.xAxisOptions||{}}),t.complete?.(h),t.afterComplete?.(this,h)}}xAxisUpdateHandler(e){let t=this.xAxisOptions;t&&(!e.options.type&&t.type&&(e.type=t.type),e.options.uniqueNames||!1!==t.uniqueNames||(e.uniqueNames=t.uniqueNames))}update(e,t){let s=this.chart,i=s.options;e&&(e.afterComplete=function(e,i){if(!i)return;let a=s.xAxis[0],n=e.xAxisOptions;n&&a&&(a.type!==n.type&&!a.options.type||a.uniqueNames&&!1===n.uniqueNames&&void 0===a.options.uniqueNames)?a.update({},!1):(i?.series||[]).forEach(function(e){delete e.pointStart}),s.update(i,t,!0)},x(!0,i.data,e),i.data?.googleSpreadsheetKey&&!e.columns&&delete i.data.columns,this.init(i.data||{},i))}}p(e,"afterSetOptions",function(){this.isXAxis&&(!this.chart.xAxis.length||this.chart.xAxis[0]===this)&&this.chart.data?.xAxisUpdateHandler(this)}),p(t,"init",function(e){let t=this,s=e.args[1],i=l().data,a=e.args[0]||{};if((i||a&&a.data)&&!t.hasDataDef){t.hasDataDef=!0;let n=x(i,a.data);t.data=new N(c(n,{afterComplete:function(e,i){let n,r;if(Object.hasOwnProperty.call(a,"series")){if("object"==typeof a.series)for(n=Math.max(a.series.length,i?.series?.length??0);n--;)r=a.series[n]||{},a.series[n]=x(r,i?.series?.[n]??{});else delete a.series}a=x(i,a),t.data=e,t.init(a,s)}}),a,t),e.preventDefault()}});class R{constructor(){this.readers=[],this.pointIsArray=!0}populateColumns(e){let t=!0;return this.readers.forEach(t=>{void 0===t.columnIndex&&(t.columnIndex=e.shift())}),this.readers.forEach(e=>{void 0===e.columnIndex&&(t=!1)}),t}read(e,t){let s=this.pointIsArray,i=s?[]:{};if(this.readers.forEach(a=>{let r=e[a.columnIndex][t];s?i.push(r):a.configName.indexOf(".")>0?n.prototype.setNestedProperty(i,r,a.configName):i[a.configName]=r}),void 0===this.name&&this.readers.length>=2){let t=[];this.readers.forEach(function(e){("x"===e.configName||"name"===e.configName||"y"===e.configName)&&void 0!==e.columnIndex&&t.push(e.columnIndex)}),t.length>=2&&(t.shift(),t.sort(function(e,t){return e-t})),this.name=e[y(t.shift(),0)].name}return i}addColumnReader(e,t){this.readers.push({columnIndex:e,configName:t}),"x"===t||"y"===t||void 0===t||(this.pointIsArray=!1)}getReferencedColumnIndexes(){let e,t;let s=[];for(e=0;e<this.readers.length;e+=1)void 0!==(t=this.readers[e]).columnIndex&&s.push(t.columnIndex);return s}hasReader(e){let t;for(t=0;t<this.readers.length;t+=1)if(this.readers[t].configName===e)return!0}}return N}),s(t,"masters/modules/data.src.js",[t["Core/Globals.js"],t["Core/HttpUtilities.js"],t["Extensions/Data.js"]],function(e,t,s){return e.Data=e.Data||s,e.HttpUtilities=e.HttpUtilities||t,e.ajax=e.HttpUtilities.ajax,e.data=e.Data.data,e.getJSON=e.HttpUtilities.getJSON,e.post=e.HttpUtilities.post,e})});
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Data module
5
5
  *
@@ -242,7 +242,7 @@
242
242
 
243
243
  return HttpUtilities;
244
244
  });
245
- _registerModule(_modules, 'Extensions/Data.js', [_modules['Core/Chart/Chart.js'], _modules['Core/Defaults.js'], _modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Chart, D, G, HU, Point, SeriesRegistry, U) {
245
+ _registerModule(_modules, 'Extensions/Data.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Chart/Chart.js'], _modules['Core/Defaults.js'], _modules['Core/Globals.js'], _modules['Core/HttpUtilities.js'], _modules['Core/Series/Point.js'], _modules['Core/Series/SeriesRegistry.js'], _modules['Core/Utilities.js']], function (Axis, Chart, D, G, HU, Point, SeriesRegistry, U) {
246
246
  /* *
247
247
  *
248
248
  * Data module
@@ -370,7 +370,7 @@
370
370
  regex: /^(\d{4})[\-\/\.](\d{1,2})[\-\/\.](\d{1,2})$/,
371
371
  parser: function (match) {
372
372
  return (match ?
373
- Date.UTC(+match[1], match[2] - 1, +match[3]) :
373
+ Date.UTC(+match[1], +match[2] - 1, +match[3]) :
374
374
  NaN);
375
375
  }
376
376
  },
@@ -378,7 +378,7 @@
378
378
  regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,
379
379
  parser: function (match) {
380
380
  return (match ?
381
- Date.UTC(+match[3], match[2] - 1, +match[1]) :
381
+ Date.UTC(+match[3], +match[2] - 1, +match[1]) :
382
382
  NaN);
383
383
  },
384
384
  alternative: 'mm/dd/YYYY' // Different format with the same regex
@@ -387,7 +387,7 @@
387
387
  regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{4})$/,
388
388
  parser: function (match) {
389
389
  return (match ?
390
- Date.UTC(+match[3], match[1] - 1, +match[2]) :
390
+ Date.UTC(+match[3], +match[1] - 1, +match[2]) :
391
391
  NaN);
392
392
  }
393
393
  },
@@ -405,7 +405,7 @@
405
405
  else {
406
406
  year += 2000;
407
407
  }
408
- return Date.UTC(year, match[2] - 1, +match[1]);
408
+ return Date.UTC(year, +match[2] - 1, +match[1]);
409
409
  },
410
410
  alternative: 'mm/dd/YY' // Different format with the same regex
411
411
  },
@@ -413,7 +413,7 @@
413
413
  regex: /^(\d{1,2})[\-\/\.](\d{1,2})[\-\/\.](\d{2})$/,
414
414
  parser: function (match) {
415
415
  return (match ?
416
- Date.UTC(+match[3] + 2000, match[1] - 1, +match[2]) :
416
+ Date.UTC(+match[3] + 2000, +match[1] - 1, +match[2]) :
417
417
  NaN);
418
418
  }
419
419
  }
@@ -485,7 +485,7 @@
485
485
  hasData = this.parseGoogleSpreadsheet();
486
486
  }
487
487
  if (!hasData && dataOptions.afterComplete) {
488
- dataOptions.afterComplete();
488
+ dataOptions.afterComplete(this);
489
489
  }
490
490
  }
491
491
  /**
@@ -496,24 +496,20 @@
496
496
  * @function Highcharts.Data#getColumnDistribution
497
497
  */
498
498
  getColumnDistribution() {
499
- const chartOptions = this.chartOptions, options = this.options, xColumns = [], getValueCount = function (type) {
500
- return (seriesTypes[type || 'line'].prototype.pointArrayMap || [0]).length;
501
- }, getPointArrayMap = function (type) {
502
- return seriesTypes[type || 'line'].prototype.pointArrayMap;
503
- }, globalType = (chartOptions &&
504
- chartOptions.chart &&
505
- chartOptions.chart.type), individualCounts = [], seriesBuilders = [],
499
+ const chartOptions = this.chartOptions, options = this.options, xColumns = [], getValueCount = function (type = 'line') {
500
+ return (seriesTypes[type].prototype.pointArrayMap || [0]).length;
501
+ }, getPointArrayMap = function (type = 'line') {
502
+ return seriesTypes[type].prototype.pointArrayMap;
503
+ }, globalType = chartOptions?.chart?.type, individualCounts = [], seriesBuilders = [],
506
504
  // If no series mapping is defined, check if the series array is
507
505
  // defined with types.
508
- seriesMapping = ((options && options.seriesMapping) ||
509
- (chartOptions &&
510
- chartOptions.series &&
511
- chartOptions.series.map(function () {
512
- return { x: 0 };
513
- })) ||
506
+ seriesMapping = (options?.seriesMapping ||
507
+ chartOptions?.series?.map(function () {
508
+ return { x: 0 };
509
+ }) ||
514
510
  []);
515
- let seriesIndex = 0, i;
516
- ((chartOptions && chartOptions.series) || []).forEach((series) => {
511
+ let seriesIndex = 0;
512
+ (chartOptions?.series || []).forEach((series) => {
517
513
  individualCounts.push(getValueCount(series.type || globalType));
518
514
  });
519
515
  // Collect the x-column indexes from seriesMapping
@@ -529,7 +525,7 @@
529
525
  // the mapping options.
530
526
  seriesMapping.forEach((mapping) => {
531
527
  const builder = new SeriesBuilder(), numberOfValueColumnsNeeded = individualCounts[seriesIndex] ||
532
- getValueCount(globalType), seriesArr = (chartOptions && chartOptions.series) || [], series = seriesArr[seriesIndex] || {}, defaultPointArrayMap = getPointArrayMap(series.type || globalType), pointArrayMap = defaultPointArrayMap || ['y'];
528
+ getValueCount(globalType), seriesArr = chartOptions?.series ?? [], series = seriesArr[seriesIndex] ?? {}, defaultPointArrayMap = getPointArrayMap(series.type || globalType), pointArrayMap = defaultPointArrayMap ?? ['y'];
533
529
  if (
534
530
  // User-defined x.mapping
535
531
  defined(mapping.x) ||
@@ -549,7 +545,7 @@
549
545
  }
550
546
  });
551
547
  // Add missing columns
552
- for (i = 0; i < numberOfValueColumnsNeeded; i++) {
548
+ for (let i = 0; i < numberOfValueColumnsNeeded; i++) {
553
549
  if (!builder.hasReader(pointArrayMap[i])) {
554
550
  // Create and add a column reader for the next free column
555
551
  // index
@@ -598,8 +594,7 @@
598
594
  * @function Highcharts.Data#parseCSV
599
595
  */
600
596
  parseCSV(inOptions) {
601
- const self = this, columns = this.columns = [], options = inOptions || this.options, startColumn = (typeof options.startColumn !== 'undefined' &&
602
- options.startColumn) ? options.startColumn : 0, endColumn = options.endColumn || Number.MAX_VALUE, dataTypes = [],
597
+ const self = this, columns = this.columns = [], options = inOptions || this.options, startColumn = options.startColumn || 0, endColumn = options.endColumn || Number.MAX_VALUE, dataTypes = [],
603
598
  // We count potential delimiters in the prepass, and use the
604
599
  // result as the basis of half-intelligent guesses.
605
600
  potDelimiters = {
@@ -607,9 +602,7 @@
607
602
  ';': 0,
608
603
  '\t': 0
609
604
  };
610
- let csv = options.csv, startRow = (typeof options.startRow !== 'undefined' && options.startRow ?
611
- options.startRow :
612
- 0), endRow = options.endRow || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0;
605
+ let csv = options.csv, startRow = options.startRow || 0, endRow = options.endRow || Number.MAX_VALUE, itemDelimiter, lines, rowIt = 0;
613
606
  /*
614
607
  This implementation is quite verbose. It will be shortened once
615
608
  it's stable and passes all the test.
@@ -728,7 +721,7 @@
728
721
  }
729
722
  // Perform "plugin" handling
730
723
  }
731
- else if (callbacks && callbacks[c]) {
724
+ else if (callbacks?.[c]) {
732
725
  if (callbacks[c](c, token)) {
733
726
  push();
734
727
  }
@@ -853,7 +846,7 @@
853
846
  }
854
847
  for (; i < limit; i++) {
855
848
  if (typeof data[i] !== 'undefined' &&
856
- data[i] && data[i].length) {
849
+ data[i]?.length) {
857
850
  thing = data[i]
858
851
  .trim()
859
852
  .replace(/\//g, ' ')
@@ -927,23 +920,13 @@
927
920
  // error.
928
921
  if (!(options.dateFormats || self.dateFormats)[calculatedFormat]) {
929
922
  // This should emit an event instead
930
- fireEvent('deduceDateFailed');
923
+ fireEvent(self, 'deduceDateFailed');
931
924
  return format;
932
925
  }
933
926
  return calculatedFormat;
934
927
  }
935
928
  return format;
936
929
  }
937
- /**
938
- * @todo
939
- * Figure out the best axis types for the data
940
- * - If the first column is a number, we're good
941
- * - If the first column is a date, set to date/time
942
- * - If the first column is a string, set to categories
943
- * @private
944
- */
945
- function deduceAxisTypes() {
946
- }
947
930
  if (csv && options.beforeParse) {
948
931
  csv = options.beforeParse.call(this, csv);
949
932
  }
@@ -962,7 +945,6 @@
962
945
  itemDelimiter = options.itemDelimiter;
963
946
  }
964
947
  else {
965
- itemDelimiter = null;
966
948
  itemDelimiter = guessDelimiter(lines);
967
949
  }
968
950
  let offset = 0;
@@ -974,10 +956,6 @@
974
956
  parseRow(lines[rowIt], rowIt - startRow - offset);
975
957
  }
976
958
  }
977
- // Make sure that there's header columns for everything
978
- // columns.forEach(function (col) {
979
- // });
980
- deduceAxisTypes();
981
959
  if ((!options.columnTypes || options.columnTypes.length === 0) &&
982
960
  dataTypes.length &&
983
961
  dataTypes[0].length &&
@@ -1108,7 +1086,7 @@
1108
1086
  url: url,
1109
1087
  dataType: tp || 'json',
1110
1088
  success: function (res) {
1111
- if (chart && chart.series) {
1089
+ if (chart?.series) {
1112
1090
  done(res);
1113
1091
  }
1114
1092
  poll();
@@ -1117,7 +1095,7 @@
1117
1095
  if (++currentRetries < maxRetries) {
1118
1096
  poll();
1119
1097
  }
1120
- return options.error && options.error(text, xhr);
1098
+ return options.error?.(text, xhr);
1121
1099
  }
1122
1100
  });
1123
1101
  return true;
@@ -1204,7 +1182,7 @@
1204
1182
  }
1205
1183
  },
1206
1184
  error: function (xhr, text) {
1207
- return options.error && options.error(text, xhr);
1185
+ return options.error?.(text, xhr);
1208
1186
  }
1209
1187
  });
1210
1188
  }
@@ -1226,7 +1204,7 @@
1226
1204
  }
1227
1205
  }
1228
1206
  });
1229
- if (chart && chart.series) {
1207
+ if (chart?.series) {
1230
1208
  chart.update({
1231
1209
  data: {
1232
1210
  columns: columns
@@ -1293,9 +1271,8 @@
1293
1271
  * Column index
1294
1272
  */
1295
1273
  parseColumn(column, col) {
1296
- const rawColumns = this.rawColumns, columns = this.columns, firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount.xColumns.indexOf(col) !== -1, backup = [], chartOptions = this.chartOptions, columnTypes = this.options.columnTypes || [], columnType = columnTypes[col], forceCategory = (isXColumn &&
1297
- (chartOptions &&
1298
- chartOptions.xAxis &&
1274
+ const rawColumns = this.rawColumns, columns = this.columns = this.columns || [], firstRowAsNames = this.firstRowAsNames, isXColumn = this.valueCount?.xColumns.indexOf(col) !== -1, backup = [], chartOptions = this.chartOptions, columnTypes = this.options.columnTypes || [], columnType = columnTypes[col], forceCategory = (isXColumn &&
1275
+ (chartOptions?.xAxis &&
1299
1276
  splat(chartOptions.xAxis)[0].type === 'category')) || columnType === 'string', columnHasName = defined(column.name);
1300
1277
  let row = column.length, val, floatVal, trimVal, trimInsideVal, dateVal, diff, descending;
1301
1278
  if (!rawColumns[col]) {
@@ -1334,7 +1311,7 @@
1334
1311
  // string
1335
1312
  }
1336
1313
  else {
1337
- if (trimVal && trimVal.length) {
1314
+ if (trimVal?.length) {
1338
1315
  dateVal = this.parseDate(val);
1339
1316
  }
1340
1317
  // Only allow parsing of dates if this column is an x-column
@@ -1387,7 +1364,10 @@
1387
1364
  for (col = 0; col < columns.length; col++) {
1388
1365
  columns[col].reverse();
1389
1366
  if (firstRowAsNames) {
1390
- columns[col].unshift(columns[col].pop());
1367
+ const poppedColumn = columns[col].pop();
1368
+ if (poppedColumn) {
1369
+ columns[col].unshift(poppedColumn);
1370
+ }
1391
1371
  }
1392
1372
  }
1393
1373
  }
@@ -1468,11 +1448,11 @@
1468
1448
  *
1469
1449
  * @function Highcharts.Data#getData
1470
1450
  *
1471
- * @return {Array<Array<(number|string)>>|undefined} Data rows
1451
+ * @return {Array<Array<DataValueType>>|undefined} Data rows
1472
1452
  */
1473
1453
  getData() {
1474
1454
  if (this.columns) {
1475
- return this.rowsToColumns(this.columns).slice(1);
1455
+ return this.rowsToColumns(this.columns)?.slice(1);
1476
1456
  }
1477
1457
  }
1478
1458
  /**
@@ -1489,11 +1469,13 @@
1489
1469
  * If a complete callback function is provided in the options, interpret the
1490
1470
  * columns into a Highcharts options object.
1491
1471
  *
1472
+ * The function requires that the context has the `valueCount` property set.
1473
+ *
1492
1474
  * @function Highcharts.Data#complete
1493
1475
  */
1494
1476
  complete() {
1495
- const columns = this.columns, xColumns = [], options = this.options, allSeriesBuilders = [];
1496
- let type, series, data, i, j, r, seriesIndex, chartOptions, builder, freeIndexes, typeCol, index;
1477
+ const columns = this.columns = this.columns || [], xColumns = [], options = this.options, allSeriesBuilders = [];
1478
+ let type = 'linear', series, data, i, j, r, seriesIndex, chartOptions, builder, freeIndexes, typeCol, index;
1497
1479
  xColumns.length = columns.length;
1498
1480
  if (options.complete || options.afterComplete) {
1499
1481
  // Get the names and shift the top row
@@ -1507,7 +1489,7 @@
1507
1489
  }
1508
1490
  // Use the next columns for series
1509
1491
  series = [];
1510
- freeIndexes = getFreeIndexes(columns.length, this.valueCount.seriesBuilders);
1492
+ freeIndexes = getFreeIndexes(columns?.length || 0, this.valueCount.seriesBuilders);
1511
1493
  // Populate defined series
1512
1494
  for (seriesIndex = 0; seriesIndex < this.valueCount.seriesBuilders.length; seriesIndex++) {
1513
1495
  builder = this.valueCount.seriesBuilders[seriesIndex];
@@ -1540,7 +1522,7 @@
1540
1522
  // Get the data-type from the first series x column
1541
1523
  if (allSeriesBuilders.length > 0 &&
1542
1524
  allSeriesBuilders[0].readers.length > 0) {
1543
- typeCol = columns[allSeriesBuilders[0].readers[0].columnIndex];
1525
+ typeCol = columns?.[allSeriesBuilders[0].readers[0].columnIndex ?? -1];
1544
1526
  if (typeof typeCol !== 'undefined') {
1545
1527
  if (typeCol.isDatetime) {
1546
1528
  type = 'datetime';
@@ -1573,35 +1555,62 @@
1573
1555
  }
1574
1556
  // Add the series
1575
1557
  series[seriesIndex] = {
1576
- data: data
1558
+ data,
1559
+ pointStart: data[0] && (builder.pointIsArray ?
1560
+ data[0]?.[0] :
1561
+ data[0]?.x) || void 0
1577
1562
  };
1578
1563
  if (builder.name) {
1579
1564
  series[seriesIndex].name = builder.name;
1580
1565
  }
1581
1566
  if (type === 'category') {
1582
1567
  series[seriesIndex].turboThreshold = 0;
1568
+ series[seriesIndex].pointStart = 0;
1583
1569
  }
1584
1570
  }
1585
1571
  // Do the callback
1586
- chartOptions = {
1587
- series: series
1588
- };
1589
- if (type) {
1590
- chartOptions.xAxis = {
1591
- type: type
1592
- };
1572
+ chartOptions = { series };
1573
+ // Prepare the axis options
1574
+ if (type === 'linear' && (!this.xAxisOptions ||
1575
+ this.xAxisOptions.type === type)) {
1576
+ // Clear default value ('linear') if it is not changing the
1577
+ // axis type to avoid loosing animation
1578
+ type = this.xAxisOptions = void 0;
1579
+ }
1580
+ else {
1581
+ this.xAxisOptions = { type };
1593
1582
  if (type === 'category') {
1594
- chartOptions.xAxis.uniqueNames = false;
1583
+ this.xAxisOptions.uniqueNames = false;
1595
1584
  }
1596
1585
  }
1597
- if (options.complete) {
1598
- options.complete(chartOptions);
1586
+ // Merge the xAxisOptions for the standalone Data module
1587
+ if (!this.chart) {
1588
+ merge(true, chartOptions, { xAxis: this.xAxisOptions || {} });
1599
1589
  }
1590
+ options.complete?.(chartOptions);
1600
1591
  // The afterComplete hook is used internally to avoid conflict with
1601
1592
  // the externally available complete option.
1602
- if (options.afterComplete) {
1603
- options.afterComplete(chartOptions);
1604
- }
1593
+ options.afterComplete?.(this, chartOptions);
1594
+ }
1595
+ }
1596
+ /**
1597
+ * Sets properties directly on the xAxis object.
1598
+ *
1599
+ * @private
1600
+ */
1601
+ xAxisUpdateHandler(axis) {
1602
+ const options = this.xAxisOptions;
1603
+ if (!options) {
1604
+ return;
1605
+ }
1606
+ // Set the axis properties if not blocked by the axis options that could
1607
+ // have changed in the update event.
1608
+ if (!axis.options.type && options.type) {
1609
+ axis.type = options.type;
1610
+ }
1611
+ if (!axis.options.uniqueNames &&
1612
+ options.uniqueNames === false) {
1613
+ axis.uniqueNames = options.uniqueNames;
1605
1614
  }
1606
1615
  }
1607
1616
  /**
@@ -1610,39 +1619,58 @@
1610
1619
  * @function Highcharts.Data#update
1611
1620
  *
1612
1621
  * @param {Highcharts.DataOptions} options
1622
+ * The new data options.
1613
1623
  *
1614
1624
  * @param {boolean} [redraw=true]
1625
+ * Whether to redraw the chart after the new options are set.
1615
1626
  */
1616
1627
  update(options, redraw) {
1617
1628
  const chart = this.chart, chartOptions = chart.options;
1618
1629
  if (options) {
1619
1630
  // Set the complete handler
1620
- options.afterComplete = function (dataOptions) {
1621
- // Avoid setting axis options unless the type changes. Running
1622
- // Axis.update will cause the whole structure to be destroyed
1623
- // and rebuilt, and animation is lost.
1624
- if (dataOptions) {
1625
- if (dataOptions.xAxis &&
1626
- chart.xAxis[0] &&
1627
- dataOptions.xAxis.type ===
1628
- chart.xAxis[0].options.type) {
1629
- delete dataOptions.xAxis;
1630
- }
1631
- // @todo looks not right:
1632
- chart.update(dataOptions, redraw, true);
1631
+ options.afterComplete = function (dataInstance, dataOptions) {
1632
+ if (!dataOptions) {
1633
+ return;
1634
+ }
1635
+ // Avoid setting axis options unless they change. Running
1636
+ // Axis.update will cause the whole structure to be
1637
+ // destroyed and rebuilt, and animation is lost.
1638
+ const xAxis = chart.xAxis[0], xAxisOptions = dataInstance.xAxisOptions;
1639
+ // Update axis if xAxisOptions are different from the current
1640
+ // and not blocked by the axis options.
1641
+ if (xAxisOptions && xAxis && ((xAxis.type !== xAxisOptions.type && !xAxis.options.type) ||
1642
+ (xAxis.uniqueNames &&
1643
+ xAxisOptions.uniqueNames === false &&
1644
+ xAxis.options.uniqueNames === void 0))) {
1645
+ xAxis.update({}, false);
1633
1646
  }
1647
+ else {
1648
+ // Prefer smooth points update when no axis update
1649
+ (dataOptions?.series || []).forEach(function (seriesOptions) {
1650
+ delete seriesOptions.pointStart;
1651
+ });
1652
+ }
1653
+ chart.update(dataOptions, redraw, true);
1634
1654
  };
1635
1655
  // Apply it
1636
1656
  merge(true, chartOptions.data, options);
1637
1657
  // Reset columns if fetching spreadsheet, to force a re-fetch
1638
- if (chartOptions.data && chartOptions.data.googleSpreadsheetKey &&
1639
- !options.columns) {
1658
+ if (chartOptions.data?.googleSpreadsheetKey && !options.columns) {
1640
1659
  delete chartOptions.data.columns;
1641
1660
  }
1642
- this.init(chartOptions.data);
1661
+ this.init(chartOptions.data || {}, chartOptions);
1643
1662
  }
1644
1663
  }
1645
1664
  }
1665
+ // Fire 1st xAxis properties modifier after the options are set.
1666
+ addEvent(Axis, 'afterSetOptions', function () {
1667
+ // Target first xAxis only
1668
+ if (this.isXAxis &&
1669
+ // Init or update
1670
+ (!this.chart.xAxis.length || this.chart.xAxis[0] === this)) {
1671
+ this.chart.data?.xAxisUpdateHandler(this);
1672
+ }
1673
+ });
1646
1674
  // Extend Chart.init so that the Chart constructor accepts a new configuration
1647
1675
  // option group, data.
1648
1676
  addEvent(Chart, 'init', function (e) {
@@ -1659,19 +1687,15 @@
1659
1687
  */
1660
1688
  const dataOptions = merge(defaultDataOptions, userOptions.data);
1661
1689
  chart.data = new Data(extend(dataOptions, {
1662
- afterComplete: function (dataOptions) {
1690
+ afterComplete: function (dataInstance, dataOptions) {
1663
1691
  let i, series;
1664
1692
  // Merge series configs
1665
1693
  if (Object.hasOwnProperty.call(userOptions, 'series')) {
1666
1694
  if (typeof userOptions.series === 'object') {
1667
- i = Math.max(userOptions.series.length, dataOptions && dataOptions.series ?
1668
- dataOptions.series.length :
1669
- 0);
1695
+ i = Math.max(userOptions.series.length, dataOptions?.series?.length ?? 0);
1670
1696
  while (i--) {
1671
1697
  series = userOptions.series[i] || {};
1672
- userOptions.series[i] = merge(series, dataOptions && dataOptions.series ?
1673
- dataOptions.series[i] :
1674
- {});
1698
+ userOptions.series[i] = merge(series, dataOptions?.series?.[i] ?? {});
1675
1699
  }
1676
1700
  }
1677
1701
  else { // Allow merging in dataOptions.series (#2856)
@@ -1680,6 +1704,8 @@
1680
1704
  }
1681
1705
  // Do the merge
1682
1706
  userOptions = merge(dataOptions, userOptions);
1707
+ // Register for access in events (Axis' afterSetOptions)
1708
+ chart.data = dataInstance;
1683
1709
  // Run chart.init again
1684
1710
  chart.init(userOptions, callback);
1685
1711
  }
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highstock JS v11.4.7 (2024-08-14)
2
+ * Highstock JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Data grouping module
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v11.4.7 (2024-08-14)
2
+ * @license Highstock JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Data grouping module
5
5
  *
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v11.4.7 (2024-08-14)
2
+ * Highcharts JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Debugger module
5
5
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v11.4.7 (2024-08-14)
2
+ * @license Highcharts JS v11.4.8 (2024-08-29)
3
3
  *
4
4
  * Debugger module
5
5
  *