highcharts 13.0.2 → 13.1.0

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 (1166) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +6 -2
  3. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +10 -6
  4. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +2 -1
  5. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +25 -1
  6. package/es-modules/Accessibility/KeyboardNavigation.js +1 -1
  7. package/es-modules/Accessibility/Utils/HTMLUtilities.js +13 -3
  8. package/es-modules/Core/Animation/AnimationUtilities.js +7 -2
  9. package/es-modules/Core/Animation/Fx.js +1 -0
  10. package/es-modules/Core/Axis/Axis.js +181 -211
  11. package/es-modules/Core/Axis/Axis3DComposition.js +13 -15
  12. package/es-modules/Core/Axis/AxisDefaults.js +9 -8
  13. package/es-modules/Core/Axis/BrokenAxis.js +5 -4
  14. package/es-modules/Core/Axis/Color/ColorAxis.js +66 -54
  15. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -0
  16. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +6 -4
  17. package/es-modules/Core/Axis/DateTimeAxis.js +4 -3
  18. package/es-modules/Core/Axis/GridAxis.js +17 -13
  19. package/es-modules/Core/Axis/LogarithmicAxis.js +4 -3
  20. package/es-modules/Core/Axis/NavigatorAxisComposition.js +3 -4
  21. package/es-modules/Core/Axis/OrdinalAxis.js +0 -15
  22. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +135 -72
  23. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +72 -124
  24. package/es-modules/Core/Axis/RadialAxis.js +50 -7
  25. package/es-modules/Core/Axis/ScrollbarAxis.js +3 -0
  26. package/es-modules/Core/Axis/Stacking/StackItem.js +49 -75
  27. package/es-modules/Core/Axis/Stacking/StackingAxis.js +34 -22
  28. package/es-modules/Core/Axis/Tick.js +95 -92
  29. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +9 -13
  30. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  31. package/es-modules/Core/Chart/Chart.js +13 -4
  32. package/es-modules/Core/Chart/StockChart.js +20 -26
  33. package/es-modules/Core/Defaults.js +18 -0
  34. package/es-modules/Core/Globals.js +9 -7
  35. package/es-modules/Core/Pointer.js +7 -8
  36. package/es-modules/Core/Renderer/HTML/AST.js +18 -11
  37. package/es-modules/Core/Renderer/HTML/HTMLElement.js +5 -1
  38. package/es-modules/Core/Renderer/SVG/SVGElement.js +1 -0
  39. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +1 -1
  40. package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
  41. package/es-modules/Core/Renderer/SVG/TextBuilder.js +6 -2
  42. package/es-modules/Core/Series/OverlappingDataLabels.js +41 -32
  43. package/es-modules/Core/Series/Point.js +14 -11
  44. package/es-modules/Core/Series/Series.js +21 -10
  45. package/es-modules/Core/Tooltip.js +35 -40
  46. package/es-modules/Data/DataCursor.js +3 -2
  47. package/es-modules/Data/DataTable.js +21 -2
  48. package/es-modules/Data/DataTableCore.js +28 -4
  49. package/es-modules/Data/Formula/FormulaParser.js +30 -10
  50. package/es-modules/Extensions/Annotations/Annotation.js +5 -7
  51. package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -1
  52. package/es-modules/Extensions/Boost/BoostSeries.js +4 -13
  53. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -4
  54. package/es-modules/Extensions/Breadcrumbs/BreadcrumbsDefaults.js +1 -1
  55. package/es-modules/Extensions/Data.js +4 -2
  56. package/es-modules/Extensions/DragPanes/DragPanes.js +6 -9
  57. package/es-modules/Extensions/Drilldown/Drilldown.js +9 -4
  58. package/es-modules/Extensions/ExportData/ExportData.js +24 -4
  59. package/es-modules/Extensions/Pane/Pane.js +1 -1
  60. package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +5 -4
  61. package/es-modules/Extensions/StaticScale.js +13 -11
  62. package/es-modules/Series/Area/AreaSeriesDefaults.js +1 -1
  63. package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +1 -1
  64. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
  65. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +1 -1
  66. package/es-modules/Series/Bar/BarSeries.js +1 -1
  67. package/es-modules/Series/Bellcurve/BellcurveSeriesDefaults.js +1 -1
  68. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +1 -1
  69. package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
  70. package/es-modules/Series/Bullet/BulletSeriesDefaults.js +1 -1
  71. package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -1
  72. package/es-modules/Series/Column/ColumnSeriesDefaults.js +6 -3
  73. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js +2 -3
  74. package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +1 -1
  75. package/es-modules/Series/Contour/ContourSeriesDefaults.js +12 -14
  76. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +1 -1
  77. package/es-modules/Series/Flags/FlagsPoint.js +4 -2
  78. package/es-modules/Series/Flags/FlagsPointOptions.js +12 -0
  79. package/es-modules/Series/Flags/FlagsSeries.js +8 -7
  80. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +7 -7
  81. package/es-modules/Series/Flags/FlagsSeriesOptions.js +12 -0
  82. package/es-modules/Series/Flags/FlagsSymbols.js +5 -3
  83. package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +1 -1
  84. package/es-modules/Series/Gauge/GaugeSeries.js +1 -1
  85. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +1 -1
  86. package/es-modules/Series/HLC/HLCSeriesDefaults.js +1 -7
  87. package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
  88. package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
  89. package/es-modules/Series/Histogram/HistogramSeriesDefaults.js +1 -1
  90. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +1 -1
  91. package/es-modules/Series/Item/ItemSeriesDefaults.js +1 -1
  92. package/es-modules/Series/Line/LineSeries.js +0 -1
  93. package/es-modules/Series/Map/MapSeriesDefaults.js +1 -1
  94. package/es-modules/Series/MapBubble/MapBubbleSeries.js +0 -1
  95. package/es-modules/Series/MapLine/MapLineSeriesDefaults.js +1 -1
  96. package/es-modules/Series/MapPoint/MapPointSeriesDefaults.js +0 -1
  97. package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +5 -5
  98. package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +0 -1
  99. package/es-modules/Series/PackedBubble/PackedBubbleChart.js +18 -0
  100. package/es-modules/Series/PackedBubble/PackedBubbleDataLabelOptions.js +12 -0
  101. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +3 -3
  102. package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +2 -2
  103. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  104. package/es-modules/Series/PackedBubble/PackedBubblePointOptions.js +12 -0
  105. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +20 -20
  106. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +2 -2
  107. package/es-modules/Series/PackedBubble/PackedBubbleSeriesOptions.js +12 -0
  108. package/es-modules/Series/ParetoSeries/ParetoPoint.js +17 -0
  109. package/es-modules/Series/ParetoSeries/ParetoPointOptions.js +12 -0
  110. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -3
  111. package/es-modules/Series/ParetoSeries/ParetoSeriesDefaults.js +1 -1
  112. package/es-modules/Series/ParetoSeries/ParetoSeriesOptions.js +12 -0
  113. package/es-modules/Series/PathUtilities.js +3 -1
  114. package/es-modules/Series/Pictorial/PictorialPointOptions.js +12 -0
  115. package/es-modules/Series/Pictorial/PictorialSeries.js +5 -25
  116. package/es-modules/Series/Pictorial/PictorialSeriesDefaults.js +45 -0
  117. package/es-modules/Series/Pictorial/PictorialSeriesOptions.js +12 -0
  118. package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
  119. package/es-modules/Series/Pie3D/Pie3DPoint.js +1 -1
  120. package/es-modules/Series/Pie3D/Pie3DSeries.js +6 -6
  121. package/es-modules/Series/PolarComposition.js +22 -21
  122. package/es-modules/Series/Polygon/PolygonPoint.js +17 -0
  123. package/es-modules/Series/Polygon/PolygonPointOptions.js +12 -0
  124. package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +1 -1
  125. package/es-modules/Series/Polygon/PolygonSeriesOptions.js +12 -0
  126. package/es-modules/Series/Pyramid/PyramidPoint.js +19 -0
  127. package/es-modules/Series/Pyramid/PyramidPointOptions.js +14 -0
  128. package/es-modules/Series/Pyramid/PyramidSeries.js +1 -1
  129. package/es-modules/Series/Pyramid/PyramidSeriesDefaults.js +1 -1
  130. package/es-modules/Series/Pyramid/PyramidSeriesOptions.js +14 -0
  131. package/es-modules/Series/Pyramid3D/Pyramid3DPoint.js +19 -0
  132. package/es-modules/Series/Pyramid3D/Pyramid3DPointOptions.js +14 -0
  133. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +1 -1
  134. package/es-modules/Series/Pyramid3D/Pyramid3DSeriesOptions.js +14 -0
  135. package/es-modules/Series/Renko/RenkoSeriesDefaults.js +1 -2
  136. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +6 -7
  137. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +1 -1
  138. package/es-modules/Series/SolidGauge/SolidGaugeSeriesDefaults.js +1 -1
  139. package/es-modules/Series/Spline/SplineSeries.js +1 -1
  140. package/es-modules/Series/Streamgraph/StreamgraphSeriesDefaults.js +1 -1
  141. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +1 -1
  142. package/es-modules/Series/TiledWebMap/TiledWebMapSeriesDefaults.js +2 -2
  143. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +1 -1
  144. package/es-modules/Series/Timeline/TimelineSeriesDefaults.js +1 -1
  145. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +1 -1
  146. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +1 -1
  147. package/es-modules/Series/Variwide/VariwideComposition.js +11 -8
  148. package/es-modules/Series/Vector/VectorSeriesDefaults.js +1 -1
  149. package/es-modules/Series/Venn/VennSeriesDefaults.js +1 -1
  150. package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
  151. package/es-modules/Series/Windbarb/WindbarbSeriesDefaults.js +1 -1
  152. package/es-modules/Shared/Utilities.js +7 -0
  153. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +1 -1
  154. package/es-modules/Stock/Indicators/AD/ADIndicator.js +0 -1
  155. package/es-modules/Stock/Indicators/AO/AOIndicator.js +1 -1
  156. package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
  157. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +0 -1
  158. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
  159. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +2 -2
  160. package/es-modules/Stock/Indicators/BB/BBIndicator.js +0 -1
  161. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +0 -1
  162. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +0 -1
  163. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +0 -1
  164. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
  165. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -1
  166. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +3 -3
  167. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
  168. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -3
  169. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +0 -1
  170. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +0 -1
  171. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +1 -1
  172. package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +0 -1
  173. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngleIndicator.js +0 -1
  174. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionInterceptIndicator.js +0 -1
  175. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopesIndicator.js +0 -1
  176. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +0 -1
  177. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +0 -1
  178. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +0 -1
  179. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +0 -1
  180. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +0 -1
  181. package/es-modules/Stock/Indicators/PC/PCIndicator.js +1 -1
  182. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
  183. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +0 -1
  184. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +0 -1
  185. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +0 -1
  186. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +0 -1
  187. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +0 -1
  188. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  189. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -3
  190. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +1 -1
  191. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +1 -1
  192. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +1 -1
  193. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +0 -1
  194. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -1
  195. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +0 -1
  196. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +0 -1
  197. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
  198. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +0 -1
  199. package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +5 -5
  200. package/es-modules/Stock/Navigator/Navigator.js +1 -5
  201. package/es-modules/Stock/Navigator/StandaloneNavigator.js +38 -8
  202. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
  203. package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
  204. package/es-modules/masters/highcharts-3d.src.js +1 -1
  205. package/es-modules/masters/highcharts-autoload.src.js +1 -1
  206. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  207. package/es-modules/masters/highcharts-more.src.js +1 -1
  208. package/es-modules/masters/highcharts.src.js +1 -1
  209. package/es-modules/masters/highmaps.src.js +1 -1
  210. package/es-modules/masters/highstock.src.js +1 -1
  211. package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
  212. package/es-modules/masters/i18n/fr-FR.src.js +1 -1
  213. package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
  214. package/es-modules/masters/i18n/nb-NO.src.js +1 -1
  215. package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
  216. package/es-modules/masters/i18n/zh-CN.src.js +1 -1
  217. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  218. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  219. package/es-modules/masters/indicators/ao.src.js +1 -1
  220. package/es-modules/masters/indicators/apo.src.js +1 -1
  221. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  222. package/es-modules/masters/indicators/aroon.src.js +1 -1
  223. package/es-modules/masters/indicators/atr.src.js +1 -1
  224. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  225. package/es-modules/masters/indicators/cci.src.js +1 -1
  226. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  227. package/es-modules/masters/indicators/cmf.src.js +1 -1
  228. package/es-modules/masters/indicators/cmo.src.js +1 -1
  229. package/es-modules/masters/indicators/dema.src.js +1 -1
  230. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  231. package/es-modules/masters/indicators/dmi.src.js +1 -1
  232. package/es-modules/masters/indicators/dpo.src.js +1 -1
  233. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  234. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  235. package/es-modules/masters/indicators/indicators.src.js +1 -1
  236. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  237. package/es-modules/masters/indicators/klinger.src.js +1 -1
  238. package/es-modules/masters/indicators/macd.src.js +1 -1
  239. package/es-modules/masters/indicators/mfi.src.js +1 -1
  240. package/es-modules/masters/indicators/momentum.src.js +1 -1
  241. package/es-modules/masters/indicators/natr.src.js +1 -1
  242. package/es-modules/masters/indicators/obv.src.js +1 -1
  243. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  244. package/es-modules/masters/indicators/ppo.src.js +1 -1
  245. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  246. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  247. package/es-modules/masters/indicators/psar.src.js +1 -1
  248. package/es-modules/masters/indicators/regressions.src.js +1 -1
  249. package/es-modules/masters/indicators/roc.src.js +1 -1
  250. package/es-modules/masters/indicators/rsi.src.js +1 -1
  251. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  252. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  253. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  254. package/es-modules/masters/indicators/tema.src.js +1 -1
  255. package/es-modules/masters/indicators/trendline.src.js +1 -1
  256. package/es-modules/masters/indicators/trix.src.js +1 -1
  257. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  258. package/es-modules/masters/indicators/vwap.src.js +1 -1
  259. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  260. package/es-modules/masters/indicators/wma.src.js +1 -1
  261. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  262. package/es-modules/masters/modules/accessibility.src.js +1 -1
  263. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  264. package/es-modules/masters/modules/annotations.src.js +1 -1
  265. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  266. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  267. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  268. package/es-modules/masters/modules/boost.src.js +1 -1
  269. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  270. package/es-modules/masters/modules/bullet.src.js +1 -1
  271. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  272. package/es-modules/masters/modules/contour.src.js +1 -1
  273. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  274. package/es-modules/masters/modules/cylinder.src.js +1 -1
  275. package/es-modules/masters/modules/data-sorting.src.js +1 -1
  276. package/es-modules/masters/modules/data-tools.src.js +1 -1
  277. package/es-modules/masters/modules/data.src.js +1 -1
  278. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  279. package/es-modules/masters/modules/debugger.src.js +1 -1
  280. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  281. package/es-modules/masters/modules/dotplot.src.js +1 -1
  282. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  283. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  284. package/es-modules/masters/modules/drilldown.src.js +1 -1
  285. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  286. package/es-modules/masters/modules/export-data.src.js +1 -1
  287. package/es-modules/masters/modules/exporting.src.js +1 -1
  288. package/es-modules/masters/modules/flowmap.src.js +1 -1
  289. package/es-modules/masters/modules/full-screen.src.js +1 -1
  290. package/es-modules/masters/modules/funnel.src.js +1 -1
  291. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  292. package/es-modules/masters/modules/gantt.src.js +1 -1
  293. package/es-modules/masters/modules/geoheatmap.src.js +1 -1
  294. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  295. package/es-modules/masters/modules/heatmap.src.js +1 -1
  296. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  297. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  298. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  299. package/es-modules/masters/modules/item-series.src.js +1 -1
  300. package/es-modules/masters/modules/lollipop.src.js +1 -1
  301. package/es-modules/masters/modules/map.src.js +1 -1
  302. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  303. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  304. package/es-modules/masters/modules/navigator.src.js +1 -1
  305. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  306. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  307. package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
  308. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  309. package/es-modules/masters/modules/organization.src.js +1 -1
  310. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  311. package/es-modules/masters/modules/pareto.src.js +1 -1
  312. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  313. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  314. package/es-modules/masters/modules/pictorial.src.js +1 -1
  315. package/es-modules/masters/modules/pointandfigure.src.js +1 -1
  316. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  317. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  318. package/es-modules/masters/modules/renko.src.js +1 -1
  319. package/es-modules/masters/modules/sankey.src.js +1 -1
  320. package/es-modules/masters/modules/series-label.src.js +1 -1
  321. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  322. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  323. package/es-modules/masters/modules/sonification.src.js +1 -1
  324. package/es-modules/masters/modules/static-scale.src.js +1 -1
  325. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  326. package/es-modules/masters/modules/stock.src.js +1 -1
  327. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  328. package/es-modules/masters/modules/sunburst.src.js +1 -1
  329. package/es-modules/masters/modules/textpath.src.js +1 -1
  330. package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  331. package/es-modules/masters/modules/tilemap.src.js +1 -1
  332. package/es-modules/masters/modules/timeline.src.js +1 -1
  333. package/es-modules/masters/modules/treegraph.src.js +1 -1
  334. package/es-modules/masters/modules/treegrid.src.js +1 -1
  335. package/es-modules/masters/modules/treemap.src.js +1 -1
  336. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  337. package/es-modules/masters/modules/variwide.src.js +1 -1
  338. package/es-modules/masters/modules/vector.src.js +1 -1
  339. package/es-modules/masters/modules/venn.src.js +1 -1
  340. package/es-modules/masters/modules/windbarb.src.js +1 -1
  341. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  342. package/es-modules/masters/modules/xrange.src.js +1 -1
  343. package/es-modules/masters/standalone-navigator.src.js +1 -1
  344. package/es-modules/masters/themes/adaptive.src.js +1 -1
  345. package/es-modules/masters/themes/avocado.src.js +1 -1
  346. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  347. package/es-modules/masters/themes/grid-light.src.js +1 -1
  348. package/es-modules/masters/themes/high-contrast.src.js +1 -1
  349. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  350. package/es-modules/masters/themes/sunset.src.js +1 -1
  351. package/es-modules/tsconfig.tsbuildinfo +1 -1
  352. package/esm/highcharts-3d.js +2 -2
  353. package/esm/highcharts-3d.src.js +38 -61
  354. package/esm/highcharts-autoload.js +2 -2
  355. package/esm/highcharts-autoload.src.js +18 -39
  356. package/esm/highcharts-gantt.js +1 -1
  357. package/esm/highcharts-gantt.src.js +1 -1
  358. package/esm/highcharts-more.js +2 -2
  359. package/esm/highcharts-more.src.js +142 -120
  360. package/esm/highcharts.js +4 -4
  361. package/esm/highcharts.src.js +824 -750
  362. package/esm/highmaps.js +1 -1
  363. package/esm/highmaps.src.js +1 -1
  364. package/esm/highstock.js +1 -1
  365. package/esm/highstock.src.js +1 -1
  366. package/esm/i18n/fr-FR.js +2 -2
  367. package/esm/i18n/fr-FR.src.js +17 -38
  368. package/esm/i18n/nb-NO.js +2 -2
  369. package/esm/i18n/nb-NO.src.js +17 -38
  370. package/esm/i18n/zh-CN.js +2 -2
  371. package/esm/i18n/zh-CN.src.js +17 -38
  372. package/esm/indicators/acceleration-bands.js +2 -2
  373. package/esm/indicators/acceleration-bands.src.js +18 -39
  374. package/esm/indicators/accumulation-distribution.js +2 -2
  375. package/esm/indicators/accumulation-distribution.src.js +17 -39
  376. package/esm/indicators/ao.js +2 -2
  377. package/esm/indicators/ao.src.js +18 -39
  378. package/esm/indicators/apo.js +2 -2
  379. package/esm/indicators/apo.src.js +18 -39
  380. package/esm/indicators/aroon-oscillator.js +2 -2
  381. package/esm/indicators/aroon-oscillator.src.js +19 -40
  382. package/esm/indicators/aroon.js +2 -2
  383. package/esm/indicators/aroon.src.js +18 -39
  384. package/esm/indicators/atr.js +2 -2
  385. package/esm/indicators/atr.src.js +17 -39
  386. package/esm/indicators/bollinger-bands.js +2 -2
  387. package/esm/indicators/bollinger-bands.src.js +17 -39
  388. package/esm/indicators/cci.js +2 -2
  389. package/esm/indicators/cci.src.js +17 -39
  390. package/esm/indicators/chaikin.js +2 -2
  391. package/esm/indicators/chaikin.src.js +18 -40
  392. package/esm/indicators/cmf.js +2 -2
  393. package/esm/indicators/cmf.src.js +17 -39
  394. package/esm/indicators/cmo.js +2 -2
  395. package/esm/indicators/cmo.src.js +17 -39
  396. package/esm/indicators/dema.js +2 -2
  397. package/esm/indicators/dema.src.js +18 -39
  398. package/esm/indicators/disparity-index.js +2 -2
  399. package/esm/indicators/disparity-index.src.js +20 -41
  400. package/esm/indicators/dmi.js +2 -2
  401. package/esm/indicators/dmi.src.js +20 -41
  402. package/esm/indicators/dpo.js +2 -2
  403. package/esm/indicators/dpo.src.js +18 -39
  404. package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
  405. package/esm/indicators/ichimoku-kinko-hyo.src.js +18 -40
  406. package/esm/indicators/indicators-all.js +2 -2
  407. package/esm/indicators/indicators-all.src.js +76 -99
  408. package/esm/indicators/indicators.js +2 -2
  409. package/esm/indicators/indicators.src.js +48 -46
  410. package/esm/indicators/keltner-channels.js +2 -2
  411. package/esm/indicators/keltner-channels.src.js +18 -39
  412. package/esm/indicators/klinger.js +2 -2
  413. package/esm/indicators/klinger.src.js +17 -38
  414. package/esm/indicators/macd.js +2 -2
  415. package/esm/indicators/macd.src.js +17 -39
  416. package/esm/indicators/mfi.js +2 -2
  417. package/esm/indicators/mfi.src.js +17 -39
  418. package/esm/indicators/momentum.js +2 -2
  419. package/esm/indicators/momentum.src.js +17 -39
  420. package/esm/indicators/natr.js +2 -2
  421. package/esm/indicators/natr.src.js +17 -39
  422. package/esm/indicators/obv.js +2 -2
  423. package/esm/indicators/obv.src.js +17 -39
  424. package/esm/indicators/pivot-points.js +2 -2
  425. package/esm/indicators/pivot-points.src.js +17 -39
  426. package/esm/indicators/ppo.js +2 -2
  427. package/esm/indicators/ppo.src.js +18 -39
  428. package/esm/indicators/price-channel.js +2 -2
  429. package/esm/indicators/price-channel.src.js +18 -39
  430. package/esm/indicators/price-envelopes.js +2 -2
  431. package/esm/indicators/price-envelopes.src.js +17 -39
  432. package/esm/indicators/psar.js +2 -2
  433. package/esm/indicators/psar.src.js +17 -39
  434. package/esm/indicators/regressions.js +2 -2
  435. package/esm/indicators/regressions.src.js +17 -42
  436. package/esm/indicators/roc.js +2 -2
  437. package/esm/indicators/roc.src.js +17 -39
  438. package/esm/indicators/rsi.js +2 -2
  439. package/esm/indicators/rsi.src.js +17 -39
  440. package/esm/indicators/slow-stochastic.js +2 -2
  441. package/esm/indicators/slow-stochastic.src.js +17 -38
  442. package/esm/indicators/stochastic.js +2 -2
  443. package/esm/indicators/stochastic.src.js +20 -41
  444. package/esm/indicators/supertrend.js +2 -2
  445. package/esm/indicators/supertrend.src.js +19 -40
  446. package/esm/indicators/tema.js +2 -2
  447. package/esm/indicators/tema.src.js +18 -39
  448. package/esm/indicators/trendline.js +2 -2
  449. package/esm/indicators/trendline.src.js +17 -39
  450. package/esm/indicators/trix.js +2 -2
  451. package/esm/indicators/trix.src.js +18 -39
  452. package/esm/indicators/volume-by-price.js +2 -2
  453. package/esm/indicators/volume-by-price.src.js +18 -39
  454. package/esm/indicators/vwap.js +2 -2
  455. package/esm/indicators/vwap.src.js +17 -39
  456. package/esm/indicators/williams-r.js +2 -2
  457. package/esm/indicators/williams-r.src.js +18 -39
  458. package/esm/indicators/wma.js +2 -2
  459. package/esm/indicators/wma.src.js +17 -39
  460. package/esm/indicators/zigzag.js +2 -2
  461. package/esm/indicators/zigzag.src.js +17 -39
  462. package/esm/modules/accessibility.js +2 -2
  463. package/esm/modules/accessibility.src.js +90 -76
  464. package/esm/modules/annotations-advanced.js +3 -3
  465. package/esm/modules/annotations-advanced.src.js +36 -58
  466. package/esm/modules/annotations.js +3 -3
  467. package/esm/modules/annotations.src.js +36 -58
  468. package/esm/modules/arc-diagram.js +2 -2
  469. package/esm/modules/arc-diagram.src.js +18 -39
  470. package/esm/modules/arrow-symbols.js +3 -3
  471. package/esm/modules/arrow-symbols.src.js +17 -38
  472. package/esm/modules/boost-canvas.js +2 -2
  473. package/esm/modules/boost-canvas.src.js +57 -63
  474. package/esm/modules/boost.js +2 -2
  475. package/esm/modules/boost.src.js +56 -62
  476. package/esm/modules/broken-axis.js +2 -2
  477. package/esm/modules/broken-axis.src.js +21 -41
  478. package/esm/modules/bullet.js +2 -2
  479. package/esm/modules/bullet.src.js +18 -39
  480. package/esm/modules/coloraxis.js +2 -2
  481. package/esm/modules/coloraxis.src.js +92 -96
  482. package/esm/modules/contour.js +3 -3
  483. package/esm/modules/contour.src.js +29 -52
  484. package/esm/modules/current-date-indicator.js +2 -2
  485. package/esm/modules/current-date-indicator.src.js +17 -38
  486. package/esm/modules/cylinder.js +2 -2
  487. package/esm/modules/cylinder.src.js +18 -39
  488. package/esm/modules/data-sorting.js +2 -2
  489. package/esm/modules/data-sorting.src.js +18 -39
  490. package/esm/modules/data-tools.js +2 -2
  491. package/esm/modules/data-tools.src.js +110 -67
  492. package/esm/modules/data.js +4 -4
  493. package/esm/modules/data.src.js +53 -48
  494. package/esm/modules/datagrouping.js +2 -2
  495. package/esm/modules/datagrouping.src.js +52 -48
  496. package/esm/modules/debugger.js +2 -2
  497. package/esm/modules/debugger.src.js +17 -38
  498. package/esm/modules/dependency-wheel.js +2 -2
  499. package/esm/modules/dependency-wheel.src.js +17 -38
  500. package/esm/modules/dotplot.js +2 -2
  501. package/esm/modules/dotplot.src.js +17 -38
  502. package/esm/modules/drag-panes.js +2 -2
  503. package/esm/modules/drag-panes.src.js +22 -46
  504. package/esm/modules/draggable-points.js +2 -2
  505. package/esm/modules/draggable-points.src.js +17 -38
  506. package/esm/modules/drilldown.js +2 -2
  507. package/esm/modules/drilldown.src.js +40 -54
  508. package/esm/modules/dumbbell.js +2 -2
  509. package/esm/modules/dumbbell.src.js +18 -39
  510. package/esm/modules/export-data.js +2 -2
  511. package/esm/modules/export-data.src.js +42 -43
  512. package/esm/modules/exporting.js +2 -2
  513. package/esm/modules/exporting.src.js +26 -47
  514. package/esm/modules/flowmap.js +2 -2
  515. package/esm/modules/flowmap.src.js +17 -38
  516. package/esm/modules/full-screen.js +2 -2
  517. package/esm/modules/full-screen.src.js +17 -38
  518. package/esm/modules/funnel.js +2 -2
  519. package/esm/modules/funnel.src.js +21 -42
  520. package/esm/modules/funnel3d.js +2 -2
  521. package/esm/modules/funnel3d.src.js +18 -39
  522. package/esm/modules/gantt.js +2 -2
  523. package/esm/modules/gantt.src.js +84 -104
  524. package/esm/modules/geoheatmap.js +2 -2
  525. package/esm/modules/geoheatmap.src.js +18 -39
  526. package/esm/modules/grid-axis.js +2 -2
  527. package/esm/modules/grid-axis.src.js +34 -51
  528. package/esm/modules/heatmap.js +2 -2
  529. package/esm/modules/heatmap.src.js +20 -41
  530. package/esm/modules/heikinashi.js +2 -2
  531. package/esm/modules/heikinashi.src.js +18 -39
  532. package/esm/modules/histogram-bellcurve.js +2 -2
  533. package/esm/modules/histogram-bellcurve.src.js +19 -40
  534. package/esm/modules/hollowcandlestick.js +2 -2
  535. package/esm/modules/hollowcandlestick.src.js +18 -39
  536. package/esm/modules/item-series.js +2 -2
  537. package/esm/modules/item-series.src.js +19 -40
  538. package/esm/modules/lollipop.js +2 -2
  539. package/esm/modules/lollipop.src.js +18 -39
  540. package/esm/modules/map.js +2 -2
  541. package/esm/modules/map.src.js +64 -63
  542. package/esm/modules/marker-clusters.js +2 -2
  543. package/esm/modules/marker-clusters.src.js +49 -46
  544. package/esm/modules/mouse-wheel-zoom.js +2 -2
  545. package/esm/modules/mouse-wheel-zoom.src.js +17 -38
  546. package/esm/modules/navigator.js +2 -2
  547. package/esm/modules/navigator.src.js +72 -67
  548. package/esm/modules/networkgraph.js +2 -2
  549. package/esm/modules/networkgraph.src.js +24 -45
  550. package/esm/modules/no-data-to-display.js +2 -2
  551. package/esm/modules/no-data-to-display.src.js +17 -38
  552. package/esm/modules/non-cartesian-zoom.js +2 -2
  553. package/esm/modules/non-cartesian-zoom.src.js +17 -38
  554. package/esm/modules/offline-exporting.js +2 -2
  555. package/esm/modules/offline-exporting.src.js +19 -40
  556. package/esm/modules/organization.js +2 -2
  557. package/esm/modules/organization.src.js +20 -39
  558. package/esm/modules/parallel-coordinates.js +2 -2
  559. package/esm/modules/parallel-coordinates.src.js +24 -44
  560. package/esm/modules/pareto.js +2 -2
  561. package/esm/modules/pareto.src.js +21 -42
  562. package/esm/modules/pathfinder.js +2 -2
  563. package/esm/modules/pathfinder.src.js +20 -39
  564. package/esm/modules/pattern-fill.js +2 -2
  565. package/esm/modules/pattern-fill.src.js +17 -38
  566. package/esm/modules/pictorial.js +2 -2
  567. package/esm/modules/pictorial.src.js +71 -65
  568. package/esm/modules/pointandfigure.js +2 -2
  569. package/esm/modules/pointandfigure.src.js +47 -44
  570. package/esm/modules/price-indicator.js +2 -2
  571. package/esm/modules/price-indicator.src.js +17 -38
  572. package/esm/modules/pyramid3d.js +2 -2
  573. package/esm/modules/pyramid3d.src.js +18 -39
  574. package/esm/modules/renko.js +2 -2
  575. package/esm/modules/renko.src.js +18 -40
  576. package/esm/modules/sankey.js +2 -2
  577. package/esm/modules/sankey.src.js +24 -46
  578. package/esm/modules/series-label.js +2 -2
  579. package/esm/modules/series-label.src.js +17 -38
  580. package/esm/modules/series-on-point.js +2 -2
  581. package/esm/modules/series-on-point.src.js +47 -44
  582. package/esm/modules/solid-gauge.js +2 -2
  583. package/esm/modules/solid-gauge.src.js +18 -39
  584. package/esm/modules/sonification.js +2 -2
  585. package/esm/modules/sonification.src.js +18 -39
  586. package/esm/modules/static-scale.js +2 -2
  587. package/esm/modules/static-scale.src.js +30 -49
  588. package/esm/modules/stock-tools.js +2 -2
  589. package/esm/modules/stock-tools.src.js +29 -50
  590. package/esm/modules/stock.js +2 -2
  591. package/esm/modules/stock.src.js +117 -141
  592. package/esm/modules/streamgraph.js +2 -2
  593. package/esm/modules/streamgraph.src.js +18 -39
  594. package/esm/modules/sunburst.js +2 -2
  595. package/esm/modules/sunburst.src.js +38 -57
  596. package/esm/modules/textpath.js +2 -2
  597. package/esm/modules/textpath.src.js +17 -38
  598. package/esm/modules/tiledwebmap.js +3 -3
  599. package/esm/modules/tiledwebmap.src.js +19 -40
  600. package/esm/modules/tilemap.js +2 -2
  601. package/esm/modules/tilemap.src.js +22 -40
  602. package/esm/modules/timeline.js +2 -2
  603. package/esm/modules/timeline.src.js +19 -40
  604. package/esm/modules/treegraph.js +2 -2
  605. package/esm/modules/treegraph.src.js +23 -42
  606. package/esm/modules/treegrid.js +2 -2
  607. package/esm/modules/treegrid.src.js +47 -67
  608. package/esm/modules/treemap.js +2 -2
  609. package/esm/modules/treemap.src.js +34 -53
  610. package/esm/modules/variable-pie.js +2 -2
  611. package/esm/modules/variable-pie.src.js +19 -40
  612. package/esm/modules/variwide.js +2 -2
  613. package/esm/modules/variwide.src.js +28 -46
  614. package/esm/modules/vector.js +2 -2
  615. package/esm/modules/vector.src.js +18 -39
  616. package/esm/modules/venn.js +2 -2
  617. package/esm/modules/venn.src.js +18 -39
  618. package/esm/modules/windbarb.js +2 -2
  619. package/esm/modules/windbarb.src.js +18 -39
  620. package/esm/modules/wordcloud.js +2 -2
  621. package/esm/modules/wordcloud.src.js +18 -39
  622. package/esm/modules/xrange.js +2 -2
  623. package/esm/modules/xrange.src.js +18 -39
  624. package/esm/standalone-navigator.js +4 -4
  625. package/esm/standalone-navigator.src.js +876 -776
  626. package/esm/themes/adaptive.js +2 -2
  627. package/esm/themes/adaptive.src.js +17 -38
  628. package/esm/themes/avocado.js +2 -2
  629. package/esm/themes/avocado.src.js +17 -38
  630. package/esm/themes/dark-unica.js +2 -2
  631. package/esm/themes/dark-unica.src.js +17 -38
  632. package/esm/themes/grid-light.js +2 -2
  633. package/esm/themes/grid-light.src.js +17 -38
  634. package/esm/themes/high-contrast.js +2 -2
  635. package/esm/themes/high-contrast.src.js +17 -38
  636. package/esm/themes/sand-signika.js +2 -2
  637. package/esm/themes/sand-signika.src.js +17 -38
  638. package/esm/themes/sunset.js +2 -2
  639. package/esm/themes/sunset.src.js +17 -38
  640. package/highcharts-3d.js +2 -2
  641. package/highcharts-3d.src.js +43 -66
  642. package/highcharts-autoload.d.ts +0 -1
  643. package/highcharts-autoload.js +4 -4
  644. package/highcharts-autoload.src.d.ts +0 -1
  645. package/highcharts-autoload.src.js +833 -778
  646. package/highcharts-gantt.js +4 -4
  647. package/highcharts-gantt.src.js +895 -839
  648. package/highcharts-more.d.ts +10 -0
  649. package/highcharts-more.js +2 -2
  650. package/highcharts-more.src.d.ts +10 -0
  651. package/highcharts-more.src.js +147 -125
  652. package/highcharts.d.ts +2785 -80144
  653. package/highcharts.js +4 -4
  654. package/highcharts.src.d.ts +2785 -80144
  655. package/highcharts.src.js +832 -777
  656. package/highmaps.js +4 -4
  657. package/highmaps.src.js +915 -845
  658. package/highstock.js +4 -4
  659. package/highstock.src.js +903 -874
  660. package/i18n/fr-FR.js +2 -2
  661. package/i18n/fr-FR.src.js +26 -37
  662. package/i18n/nb-NO.js +2 -2
  663. package/i18n/nb-NO.src.js +26 -37
  664. package/i18n/zh-CN.js +2 -2
  665. package/i18n/zh-CN.src.js +26 -37
  666. package/indicators/acceleration-bands.js +2 -2
  667. package/indicators/acceleration-bands.src.js +23 -44
  668. package/indicators/accumulation-distribution.js +2 -2
  669. package/indicators/accumulation-distribution.src.js +22 -44
  670. package/indicators/ao.js +2 -2
  671. package/indicators/ao.src.js +23 -44
  672. package/indicators/apo.js +2 -2
  673. package/indicators/apo.src.js +23 -44
  674. package/indicators/aroon-oscillator.js +2 -2
  675. package/indicators/aroon-oscillator.src.js +24 -45
  676. package/indicators/aroon.js +2 -2
  677. package/indicators/aroon.src.js +23 -44
  678. package/indicators/atr.js +2 -2
  679. package/indicators/atr.src.js +22 -44
  680. package/indicators/bollinger-bands.js +2 -2
  681. package/indicators/bollinger-bands.src.js +22 -44
  682. package/indicators/cci.js +2 -2
  683. package/indicators/cci.src.js +22 -44
  684. package/indicators/chaikin.js +2 -2
  685. package/indicators/chaikin.src.js +23 -45
  686. package/indicators/cmf.js +2 -2
  687. package/indicators/cmf.src.js +22 -44
  688. package/indicators/cmo.js +2 -2
  689. package/indicators/cmo.src.js +22 -44
  690. package/indicators/dema.js +2 -2
  691. package/indicators/dema.src.js +23 -44
  692. package/indicators/disparity-index.js +2 -2
  693. package/indicators/disparity-index.src.js +25 -46
  694. package/indicators/dmi.js +2 -2
  695. package/indicators/dmi.src.js +25 -46
  696. package/indicators/dpo.js +2 -2
  697. package/indicators/dpo.src.js +23 -44
  698. package/indicators/ichimoku-kinko-hyo.js +2 -2
  699. package/indicators/ichimoku-kinko-hyo.src.js +23 -45
  700. package/indicators/indicators-all.js +2 -2
  701. package/indicators/indicators-all.src.js +81 -104
  702. package/indicators/indicators.js +2 -2
  703. package/indicators/indicators.src.js +53 -51
  704. package/indicators/keltner-channels.js +2 -2
  705. package/indicators/keltner-channels.src.js +23 -44
  706. package/indicators/klinger.js +2 -2
  707. package/indicators/klinger.src.js +22 -43
  708. package/indicators/macd.js +2 -2
  709. package/indicators/macd.src.js +22 -44
  710. package/indicators/mfi.js +2 -2
  711. package/indicators/mfi.src.js +22 -44
  712. package/indicators/momentum.js +2 -2
  713. package/indicators/momentum.src.js +22 -44
  714. package/indicators/natr.js +2 -2
  715. package/indicators/natr.src.js +22 -44
  716. package/indicators/obv.js +2 -2
  717. package/indicators/obv.src.js +22 -44
  718. package/indicators/pivot-points.js +2 -2
  719. package/indicators/pivot-points.src.js +22 -44
  720. package/indicators/ppo.js +2 -2
  721. package/indicators/ppo.src.js +23 -44
  722. package/indicators/price-channel.js +2 -2
  723. package/indicators/price-channel.src.js +23 -44
  724. package/indicators/price-envelopes.js +2 -2
  725. package/indicators/price-envelopes.src.js +22 -44
  726. package/indicators/psar.js +2 -2
  727. package/indicators/psar.src.js +22 -44
  728. package/indicators/regressions.js +2 -2
  729. package/indicators/regressions.src.js +22 -47
  730. package/indicators/roc.js +2 -2
  731. package/indicators/roc.src.js +22 -44
  732. package/indicators/rsi.js +2 -2
  733. package/indicators/rsi.src.js +22 -44
  734. package/indicators/slow-stochastic.js +2 -2
  735. package/indicators/slow-stochastic.src.js +22 -43
  736. package/indicators/stochastic.js +2 -2
  737. package/indicators/stochastic.src.js +25 -46
  738. package/indicators/supertrend.js +2 -2
  739. package/indicators/supertrend.src.js +24 -45
  740. package/indicators/tema.js +2 -2
  741. package/indicators/tema.src.js +23 -44
  742. package/indicators/trendline.js +2 -2
  743. package/indicators/trendline.src.js +22 -44
  744. package/indicators/trix.js +2 -2
  745. package/indicators/trix.src.js +23 -44
  746. package/indicators/volume-by-price.js +2 -2
  747. package/indicators/volume-by-price.src.js +23 -44
  748. package/indicators/vwap.js +2 -2
  749. package/indicators/vwap.src.js +22 -44
  750. package/indicators/williams-r.js +2 -2
  751. package/indicators/williams-r.src.js +23 -44
  752. package/indicators/wma.js +2 -2
  753. package/indicators/wma.src.js +22 -44
  754. package/indicators/zigzag.js +2 -2
  755. package/indicators/zigzag.src.js +22 -44
  756. package/modules/accessibility.js +2 -2
  757. package/modules/accessibility.src.js +95 -81
  758. package/modules/annotations-advanced.js +9 -9
  759. package/modules/annotations-advanced.src.js +41 -63
  760. package/modules/annotations.js +3 -3
  761. package/modules/annotations.src.js +41 -63
  762. package/modules/arc-diagram.js +2 -2
  763. package/modules/arc-diagram.src.js +23 -44
  764. package/modules/arrow-symbols.js +2 -2
  765. package/modules/arrow-symbols.src.js +17 -38
  766. package/modules/boost-canvas.js +2 -2
  767. package/modules/boost-canvas.src.js +62 -68
  768. package/modules/boost.js +2 -2
  769. package/modules/boost.src.js +61 -67
  770. package/modules/broken-axis.js +2 -2
  771. package/modules/broken-axis.src.js +26 -46
  772. package/modules/bullet.js +2 -2
  773. package/modules/bullet.src.js +23 -44
  774. package/modules/coloraxis.js +2 -2
  775. package/modules/coloraxis.src.js +97 -101
  776. package/modules/contour.js +5 -5
  777. package/modules/contour.src.js +111 -117
  778. package/modules/current-date-indicator.js +2 -2
  779. package/modules/current-date-indicator.src.js +17 -38
  780. package/modules/cylinder.js +2 -2
  781. package/modules/cylinder.src.js +23 -44
  782. package/modules/data-sorting.js +2 -2
  783. package/modules/data-sorting.src.js +18 -39
  784. package/modules/data-tools.js +2 -2
  785. package/modules/data-tools.src.js +110 -67
  786. package/modules/data.js +4 -4
  787. package/modules/data.src.js +58 -53
  788. package/modules/datagrouping.js +2 -2
  789. package/modules/datagrouping.src.js +57 -53
  790. package/modules/debugger.js +2 -2
  791. package/modules/debugger.src.js +17 -38
  792. package/modules/dependency-wheel.js +2 -2
  793. package/modules/dependency-wheel.src.js +22 -43
  794. package/modules/dotplot.js +2 -2
  795. package/modules/dotplot.src.js +22 -43
  796. package/modules/drag-panes.js +2 -2
  797. package/modules/drag-panes.src.js +22 -46
  798. package/modules/draggable-points.js +2 -2
  799. package/modules/draggable-points.src.js +17 -38
  800. package/modules/drilldown.js +2 -2
  801. package/modules/drilldown.src.js +45 -59
  802. package/modules/dumbbell.js +2 -2
  803. package/modules/dumbbell.src.js +23 -44
  804. package/modules/export-data.js +2 -2
  805. package/modules/export-data.src.js +47 -48
  806. package/modules/exporting.js +2 -2
  807. package/modules/exporting.src.js +31 -52
  808. package/modules/flowmap.js +2 -2
  809. package/modules/flowmap.src.js +22 -43
  810. package/modules/full-screen.js +2 -2
  811. package/modules/full-screen.src.js +22 -43
  812. package/modules/funnel.js +2 -2
  813. package/modules/funnel.src.js +26 -47
  814. package/modules/funnel3d.js +2 -2
  815. package/modules/funnel3d.src.js +23 -44
  816. package/modules/gantt.js +8 -8
  817. package/modules/gantt.src.js +93 -113
  818. package/modules/geoheatmap.js +2 -2
  819. package/modules/geoheatmap.src.js +23 -44
  820. package/modules/grid-axis.js +2 -2
  821. package/modules/grid-axis.src.js +39 -56
  822. package/modules/heatmap.js +4 -4
  823. package/modules/heatmap.src.js +101 -105
  824. package/modules/heikinashi.js +2 -2
  825. package/modules/heikinashi.src.js +23 -44
  826. package/modules/histogram-bellcurve.js +2 -2
  827. package/modules/histogram-bellcurve.src.js +24 -45
  828. package/modules/hollowcandlestick.js +2 -2
  829. package/modules/hollowcandlestick.src.js +23 -44
  830. package/modules/item-series.js +2 -2
  831. package/modules/item-series.src.js +24 -45
  832. package/modules/lollipop.js +2 -2
  833. package/modules/lollipop.src.js +23 -44
  834. package/modules/map.js +4 -4
  835. package/modules/map.src.js +146 -128
  836. package/modules/marker-clusters.js +2 -2
  837. package/modules/marker-clusters.src.js +49 -46
  838. package/modules/mouse-wheel-zoom.js +2 -2
  839. package/modules/mouse-wheel-zoom.src.js +17 -38
  840. package/modules/navigator.js +2 -2
  841. package/modules/navigator.src.js +77 -72
  842. package/modules/networkgraph.js +2 -2
  843. package/modules/networkgraph.src.js +29 -50
  844. package/modules/no-data-to-display.js +2 -2
  845. package/modules/no-data-to-display.src.js +22 -43
  846. package/modules/non-cartesian-zoom.js +2 -2
  847. package/modules/non-cartesian-zoom.src.js +17 -38
  848. package/modules/offline-exporting.js +2 -2
  849. package/modules/offline-exporting.src.js +24 -45
  850. package/modules/organization.js +3 -3
  851. package/modules/organization.src.js +25 -44
  852. package/modules/parallel-coordinates.js +2 -2
  853. package/modules/parallel-coordinates.src.js +29 -49
  854. package/modules/pareto.js +2 -2
  855. package/modules/pareto.src.js +26 -47
  856. package/modules/pathfinder.js +2 -2
  857. package/modules/pathfinder.src.js +25 -44
  858. package/modules/pattern-fill.js +2 -2
  859. package/modules/pattern-fill.src.js +17 -38
  860. package/modules/pictorial.js +2 -2
  861. package/modules/pictorial.src.js +76 -70
  862. package/modules/pointandfigure.js +2 -2
  863. package/modules/pointandfigure.src.js +52 -49
  864. package/modules/price-indicator.js +2 -2
  865. package/modules/price-indicator.src.js +17 -38
  866. package/modules/pyramid3d.js +2 -2
  867. package/modules/pyramid3d.src.js +23 -44
  868. package/modules/renko.js +2 -2
  869. package/modules/renko.src.js +23 -45
  870. package/modules/sankey.js +2 -2
  871. package/modules/sankey.src.js +29 -51
  872. package/modules/series-label.js +2 -2
  873. package/modules/series-label.src.js +22 -43
  874. package/modules/series-on-point.js +2 -2
  875. package/modules/series-on-point.src.js +52 -49
  876. package/modules/solid-gauge.js +2 -2
  877. package/modules/solid-gauge.src.js +23 -44
  878. package/modules/sonification.js +2 -2
  879. package/modules/sonification.src.js +23 -44
  880. package/modules/static-scale.js +2 -2
  881. package/modules/static-scale.src.js +30 -49
  882. package/modules/stock-tools.js +2 -2
  883. package/modules/stock-tools.src.js +34 -55
  884. package/modules/stock.js +6 -6
  885. package/modules/stock.src.js +132 -154
  886. package/modules/streamgraph.js +2 -2
  887. package/modules/streamgraph.src.js +23 -44
  888. package/modules/sunburst.js +2 -2
  889. package/modules/sunburst.src.js +43 -62
  890. package/modules/textpath.js +2 -2
  891. package/modules/textpath.src.js +17 -38
  892. package/modules/tiledwebmap.js +3 -3
  893. package/modules/tiledwebmap.src.js +24 -45
  894. package/modules/tilemap.js +2 -2
  895. package/modules/tilemap.src.js +27 -45
  896. package/modules/timeline.js +2 -2
  897. package/modules/timeline.src.js +24 -45
  898. package/modules/treegraph.js +2 -2
  899. package/modules/treegraph.src.js +28 -47
  900. package/modules/treegrid.js +2 -2
  901. package/modules/treegrid.src.js +52 -72
  902. package/modules/treemap.js +2 -2
  903. package/modules/treemap.src.js +39 -58
  904. package/modules/variable-pie.js +2 -2
  905. package/modules/variable-pie.src.js +24 -45
  906. package/modules/variwide.js +2 -2
  907. package/modules/variwide.src.js +33 -51
  908. package/modules/vector.js +2 -2
  909. package/modules/vector.src.js +23 -44
  910. package/modules/venn.js +2 -2
  911. package/modules/venn.src.js +23 -44
  912. package/modules/windbarb.js +2 -2
  913. package/modules/windbarb.src.js +23 -44
  914. package/modules/wordcloud.js +2 -2
  915. package/modules/wordcloud.src.js +23 -44
  916. package/modules/xrange.js +2 -2
  917. package/modules/xrange.src.js +23 -44
  918. package/options/abands.d.ts +183 -8
  919. package/options/abands.src.d.ts +183 -8
  920. package/options/ad.d.ts +176 -5
  921. package/options/ad.src.d.ts +176 -5
  922. package/options/ao.d.ts +202 -0
  923. package/options/ao.src.d.ts +202 -0
  924. package/options/apo.d.ts +178 -8
  925. package/options/apo.src.d.ts +178 -8
  926. package/options/arcdiagram.d.ts +785 -0
  927. package/options/arcdiagram.src.d.ts +785 -0
  928. package/options/area.d.ts +226 -0
  929. package/options/area.src.d.ts +226 -0
  930. package/options/arearange.d.ts +229 -8
  931. package/options/arearange.src.d.ts +229 -8
  932. package/options/areaspline.d.ts +1344 -8
  933. package/options/areaspline.src.d.ts +1344 -8
  934. package/options/areasplinerange.d.ts +972 -8
  935. package/options/areasplinerange.src.d.ts +972 -8
  936. package/options/aroon.d.ts +219 -0
  937. package/options/aroon.src.d.ts +219 -0
  938. package/options/aroonoscillator.d.ts +1140 -8
  939. package/options/aroonoscillator.src.d.ts +1140 -8
  940. package/options/atr.d.ts +210 -0
  941. package/options/atr.src.d.ts +210 -0
  942. package/options/bar.d.ts +183 -10
  943. package/options/bar.src.d.ts +183 -10
  944. package/options/bb.d.ts +1232 -0
  945. package/options/bb.src.d.ts +1232 -0
  946. package/options/bellcurve.d.ts +1167 -8
  947. package/options/bellcurve.src.d.ts +1167 -8
  948. package/options/boxplot.d.ts +163 -10
  949. package/options/boxplot.src.d.ts +163 -10
  950. package/options/bubble.d.ts +1005 -8
  951. package/options/bubble.src.d.ts +1005 -8
  952. package/options/bullet.d.ts +953 -8
  953. package/options/bullet.src.d.ts +953 -8
  954. package/options/candlestick.d.ts +1309 -8
  955. package/options/candlestick.src.d.ts +1309 -8
  956. package/options/cci.d.ts +210 -0
  957. package/options/cci.src.d.ts +210 -0
  958. package/options/chaikin.d.ts +180 -8
  959. package/options/chaikin.src.d.ts +180 -8
  960. package/options/cmf.d.ts +211 -0
  961. package/options/cmf.src.d.ts +211 -0
  962. package/options/cmo.d.ts +175 -5
  963. package/options/cmo.src.d.ts +175 -5
  964. package/options/column.d.ts +252 -2
  965. package/options/column.src.d.ts +252 -2
  966. package/options/columnpyramid.d.ts +1296 -0
  967. package/options/columnpyramid.src.d.ts +1296 -0
  968. package/options/columnrange.d.ts +216 -2
  969. package/options/columnrange.src.d.ts +216 -2
  970. package/options/contour.d.ts +1148 -0
  971. package/options/contour.src.d.ts +1148 -0
  972. package/options/cylinder.d.ts +183 -2
  973. package/options/cylinder.src.d.ts +183 -2
  974. package/options/dema.d.ts +1181 -0
  975. package/options/dema.src.d.ts +1181 -0
  976. package/options/dependencywheel.d.ts +315 -0
  977. package/options/dependencywheel.src.d.ts +315 -0
  978. package/options/disparityindex.d.ts +1157 -8
  979. package/options/disparityindex.src.d.ts +1157 -8
  980. package/options/dmi.d.ts +1227 -0
  981. package/options/dmi.src.d.ts +1227 -0
  982. package/options/dpo.d.ts +1140 -8
  983. package/options/dpo.src.d.ts +1140 -8
  984. package/options/dumbbell.d.ts +286 -0
  985. package/options/dumbbell.src.d.ts +286 -0
  986. package/options/ema.d.ts +1156 -5
  987. package/options/ema.src.d.ts +1156 -5
  988. package/options/errorbar.d.ts +1286 -0
  989. package/options/errorbar.src.d.ts +1286 -0
  990. package/options/flags.d.ts +1269 -8
  991. package/options/flags.src.d.ts +1269 -8
  992. package/options/flowmap.d.ts +551 -0
  993. package/options/flowmap.src.d.ts +551 -0
  994. package/options/funnel.d.ts +728 -10
  995. package/options/funnel.src.d.ts +728 -10
  996. package/options/gantt.d.ts +1011 -0
  997. package/options/gantt.src.d.ts +1011 -0
  998. package/options/gauge.d.ts +675 -0
  999. package/options/gauge.src.d.ts +675 -0
  1000. package/options/geoheatmap.d.ts +585 -8
  1001. package/options/geoheatmap.src.d.ts +585 -8
  1002. package/options/heatmap.d.ts +1054 -8
  1003. package/options/heatmap.src.d.ts +1054 -8
  1004. package/options/heikinashi.d.ts +178 -10
  1005. package/options/heikinashi.src.d.ts +178 -10
  1006. package/options/histogram.d.ts +1226 -0
  1007. package/options/histogram.src.d.ts +1226 -0
  1008. package/options/hlc.d.ts +223 -2
  1009. package/options/hlc.src.d.ts +223 -2
  1010. package/options/hollowcandlestick.d.ts +1335 -0
  1011. package/options/hollowcandlestick.src.d.ts +1335 -0
  1012. package/options/ikh.d.ts +228 -5
  1013. package/options/ikh.src.d.ts +228 -5
  1014. package/options/item.d.ts +217 -8
  1015. package/options/item.src.d.ts +217 -8
  1016. package/options/keltnerchannels.d.ts +1220 -0
  1017. package/options/keltnerchannels.src.d.ts +1220 -0
  1018. package/options/klinger.d.ts +1162 -0
  1019. package/options/klinger.src.d.ts +1162 -0
  1020. package/options/line.d.ts +1377 -8
  1021. package/options/line.src.d.ts +1377 -8
  1022. package/options/linearregression.d.ts +199 -5
  1023. package/options/linearregression.src.d.ts +199 -5
  1024. package/options/linearregressionangle.d.ts +1157 -5
  1025. package/options/linearregressionangle.src.d.ts +1157 -5
  1026. package/options/linearregressionintercept.d.ts +240 -0
  1027. package/options/linearregressionintercept.src.d.ts +240 -0
  1028. package/options/linearregressionslope.d.ts +240 -0
  1029. package/options/linearregressionslope.src.d.ts +240 -0
  1030. package/options/lollipop.d.ts +949 -0
  1031. package/options/lollipop.src.d.ts +949 -0
  1032. package/options/macd.d.ts +254 -0
  1033. package/options/macd.src.d.ts +254 -0
  1034. package/options/map.d.ts +150 -8
  1035. package/options/map.src.d.ts +150 -8
  1036. package/options/mapbubble.d.ts +1016 -8
  1037. package/options/mapbubble.src.d.ts +1016 -8
  1038. package/options/mapline.d.ts +994 -0
  1039. package/options/mapline.src.d.ts +994 -0
  1040. package/options/mappoint.d.ts +1105 -1
  1041. package/options/mappoint.src.d.ts +1105 -1
  1042. package/options/mfi.d.ts +181 -5
  1043. package/options/mfi.src.d.ts +181 -5
  1044. package/options/momentum.d.ts +215 -0
  1045. package/options/momentum.src.d.ts +215 -0
  1046. package/options/natr.d.ts +170 -5
  1047. package/options/natr.src.d.ts +170 -5
  1048. package/options/networkgraph.d.ts +365 -0
  1049. package/options/networkgraph.src.d.ts +365 -0
  1050. package/options/obv.d.ts +170 -5
  1051. package/options/obv.src.d.ts +170 -5
  1052. package/options/ohlc.d.ts +183 -7
  1053. package/options/ohlc.src.d.ts +183 -7
  1054. package/options/organization.d.ts +808 -0
  1055. package/options/organization.src.d.ts +808 -0
  1056. package/options/packedbubble.d.ts +877 -8
  1057. package/options/packedbubble.src.d.ts +877 -8
  1058. package/options/pareto.d.ts +1028 -0
  1059. package/options/pareto.src.d.ts +1028 -0
  1060. package/options/pc.d.ts +183 -8
  1061. package/options/pc.src.d.ts +183 -8
  1062. package/options/pictorial.d.ts +202 -2
  1063. package/options/pictorial.src.d.ts +202 -2
  1064. package/options/pie.d.ts +196 -8
  1065. package/options/pie.src.d.ts +196 -8
  1066. package/options/pivotpoints.d.ts +1199 -0
  1067. package/options/pivotpoints.src.d.ts +1199 -0
  1068. package/options/pointandfigure.d.ts +980 -0
  1069. package/options/pointandfigure.src.d.ts +980 -0
  1070. package/options/polygon.d.ts +234 -0
  1071. package/options/polygon.src.d.ts +234 -0
  1072. package/options/ppo.d.ts +1156 -8
  1073. package/options/ppo.src.d.ts +1156 -8
  1074. package/options/priceenvelopes.d.ts +1229 -0
  1075. package/options/priceenvelopes.src.d.ts +1229 -0
  1076. package/options/psar.d.ts +1156 -5
  1077. package/options/psar.src.d.ts +1156 -5
  1078. package/options/pyramid.d.ts +837 -2
  1079. package/options/pyramid.src.d.ts +837 -2
  1080. package/options/renko.d.ts +247 -10
  1081. package/options/renko.src.d.ts +247 -10
  1082. package/options/roc.d.ts +1215 -0
  1083. package/options/roc.src.d.ts +1215 -0
  1084. package/options/rsi.d.ts +1157 -5
  1085. package/options/rsi.src.d.ts +1157 -5
  1086. package/options/sankey.d.ts +276 -8
  1087. package/options/sankey.src.d.ts +276 -8
  1088. package/options/scatter.d.ts +3043 -1018
  1089. package/options/scatter.src.d.ts +3043 -1018
  1090. package/options/series.d.ts +175 -0
  1091. package/options/series.src.d.ts +175 -0
  1092. package/options/slowstochastic.d.ts +183 -0
  1093. package/options/slowstochastic.src.d.ts +183 -0
  1094. package/options/sma.d.ts +211 -0
  1095. package/options/sma.src.d.ts +211 -0
  1096. package/options/solidgauge.d.ts +218 -0
  1097. package/options/solidgauge.src.d.ts +218 -0
  1098. package/options/spline.d.ts +230 -0
  1099. package/options/spline.src.d.ts +230 -0
  1100. package/options/stochastic.d.ts +1170 -8
  1101. package/options/stochastic.src.d.ts +1170 -8
  1102. package/options/streamgraph.d.ts +1345 -8
  1103. package/options/streamgraph.src.d.ts +1345 -8
  1104. package/options/sunburst.d.ts +286 -9
  1105. package/options/sunburst.src.d.ts +286 -9
  1106. package/options/supertrend.d.ts +1208 -0
  1107. package/options/supertrend.src.d.ts +1208 -0
  1108. package/options/tema.d.ts +1140 -8
  1109. package/options/tema.src.d.ts +1140 -8
  1110. package/options/tiledwebmap.d.ts +164 -0
  1111. package/options/tiledwebmap.src.d.ts +164 -0
  1112. package/options/tilemap.d.ts +687 -0
  1113. package/options/tilemap.src.d.ts +687 -0
  1114. package/options/timeline.d.ts +282 -0
  1115. package/options/timeline.src.d.ts +282 -0
  1116. package/options/treegraph.d.ts +982 -0
  1117. package/options/treegraph.src.d.ts +982 -0
  1118. package/options/treemap.d.ts +1396 -22
  1119. package/options/treemap.src.d.ts +1396 -22
  1120. package/options/trendline.d.ts +211 -0
  1121. package/options/trendline.src.d.ts +211 -0
  1122. package/options/trix.d.ts +178 -8
  1123. package/options/trix.src.d.ts +178 -8
  1124. package/options/variablepie.d.ts +686 -8
  1125. package/options/variablepie.src.d.ts +686 -8
  1126. package/options/variwide.d.ts +178 -2
  1127. package/options/variwide.src.d.ts +178 -2
  1128. package/options/vbp.d.ts +576 -0
  1129. package/options/vbp.src.d.ts +576 -0
  1130. package/options/vector.d.ts +660 -0
  1131. package/options/vector.src.d.ts +660 -0
  1132. package/options/venn.d.ts +654 -0
  1133. package/options/venn.src.d.ts +654 -0
  1134. package/options/vwap.d.ts +1157 -5
  1135. package/options/vwap.src.d.ts +1157 -5
  1136. package/options/waterfall.d.ts +1254 -8
  1137. package/options/waterfall.src.d.ts +1254 -8
  1138. package/options/williamsr.d.ts +209 -0
  1139. package/options/williamsr.src.d.ts +209 -0
  1140. package/options/windbarb.d.ts +222 -2
  1141. package/options/windbarb.src.d.ts +222 -2
  1142. package/options/wma.d.ts +1156 -5
  1143. package/options/wma.src.d.ts +1156 -5
  1144. package/options/wordcloud.d.ts +682 -0
  1145. package/options/wordcloud.src.d.ts +682 -0
  1146. package/options/xrange.d.ts +1168 -0
  1147. package/options/xrange.src.d.ts +1168 -0
  1148. package/options/zigzag.d.ts +1197 -0
  1149. package/options/zigzag.src.d.ts +1197 -0
  1150. package/package.json +1 -1
  1151. package/standalone-navigator.js +4 -4
  1152. package/standalone-navigator.src.js +884 -803
  1153. package/themes/adaptive.js +2 -2
  1154. package/themes/adaptive.src.js +22 -43
  1155. package/themes/avocado.js +2 -2
  1156. package/themes/avocado.src.js +17 -38
  1157. package/themes/dark-unica.js +2 -2
  1158. package/themes/dark-unica.src.js +17 -38
  1159. package/themes/grid-light.js +2 -2
  1160. package/themes/grid-light.src.js +17 -38
  1161. package/themes/high-contrast.js +2 -2
  1162. package/themes/high-contrast.src.js +17 -38
  1163. package/themes/sand-signika.js +2 -2
  1164. package/themes/sand-signika.src.js +17 -38
  1165. package/themes/sunset.js +2 -2
  1166. package/themes/sunset.src.js +17 -38
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v13.0.2 (2026-08-27)
2
+ * Highcharts JS v13.1.0 (2026-09-18)
3
3
  * @module highcharts/modules/marker-clusters
4
4
  * @requires highcharts
5
5
  *
@@ -10,4 +10,4 @@
10
10
  *
11
11
  * A commercial license may be required depending on use,
12
12
  * see www.highcharts.com/license
13
- */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/marker-clusters",["highcharts/highcharts"],function(t){return e(t)}):"object"==typeof exports?exports["highcharts/modules/marker-clusters"]=e(t._Highcharts):t.Highcharts=e(t.Highcharts)}("u"<typeof window?this:window,t=>(()=>{"use strict";let e;var i={944(e){e.exports=t}};let r={};function s(t){let e=r[t];if(void 0!==e)return e.exports;let a=r[t]={exports:{}};return i[t](a,a.exports,s),a.exports}s.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var r=e[i++],a=e[i++];s.o(t,r)?0===a&&i++:0===a?Object.defineProperty(t,r,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,r,{enumerable:!0,get:a})}else for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let a={};s.d(a,{default:()=>B});var o=s(944),n=s.n(o);let l={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"var(--highcharts-background-color)"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}},{setLength:u,splice:h}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,r,s=[]){if(Array.isArray(t))return Array.isArray(s)||(s=Array.from(s)),{removed:t.splice(e,i,...s),array:t};let a=Object.getPrototypeOf(t).constructor,o=t[r?"subarray":"slice"](e,e+i),n=new a(t.length-i+s.length);return n.set(t.subarray(0,e),0),n.set(s,e),n.set(t.subarray(e+i),e+s.length),{removed:o,array:n}}},p=class{constructor(t={}){this.isDataTable=!0,this.autoId=!t.id,this.columns={},this.id=t.id||(0,o.uniqueKey)(),this.rowCount=0,this.versionTag=(0,o.uniqueKey)();let e=0;(0,o.objectEach)(t.columns||{},(t,i)=>{this.columns[i]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,(0,o.objectEach)(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=u(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;(0,o.objectEach)(this.columns,(r,s)=>{this.columns[s]=h(r,t,e).array,i=r.length}),this.rowCount=i}(0,o.fireEvent)(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=(0,o.uniqueKey)()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRowObject(t,e){let i={},r=this.columns;for(let s of(e??(e=Object.keys(this.columns)),e))i[s]=r[s]?.[t];return i}setColumn(t,e=[],i=0,r){this.setColumns({[t]:e},i,r)}setColumns(t,e,i){let r=this.rowCount;(0,o.objectEach)(t,(t,e)=>{this.columns[e]=t.slice(),r=t.length}),this.applyRowCount(r),i?.silent||((0,o.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,o.uniqueKey)())}setRow(t,e=this.rowCount,i,r){var s;let{columns:a}=this,n=i?this.rowCount+1:e+1,l=Object.keys(t);if(r?.addColumns!==!1)for(let t=0,e=l.length;t<e;t++)a[s=l[t]]||(a[s]=Array(this.rowCount));(0,o.objectEach)(a,(r,s)=>{r&&(i?r=h(r,e,0,!0,[t[s]]).array:r[e]=s in t?t[s]:r[e],a[s]=r)}),this.applyRowCount(Math.max(n,this.rowCount)),r?.silent||((0,o.fireEvent)(this,"afterSetRows",{rowIndex:e}),this.versionTag=(0,o.uniqueKey)())}getModified(){return this.modified||this}},{cluster:d}=l,c={grid:function(t,e,i,r){let s,a,o,n,l,u={},h=this.getGridOffset(),p=this.getScaledGridSize(r);for(l=0;l<t.length;l++){let r=R(this,{x:t[l],y:e[l]});s=r.x-h.plotLeft,a=r.y-h.plotTop,o=Math.floor(s/p),u[n=Math.floor(a/p)+":"+o]??(u[n]=[]),u[n].push({dataIndex:i[l],x:t[l],y:e[l]})}return u},kmeans:function(t,e,i,r){let s=[],a=[],n={},l=Number(r.processedDistance??(0,o.relativeLength)(r.distance||d.layoutAlgorithm.distance,this.chart.plotWidth)),u=r.iterations,h=0,p=!0,c=0,m=0,f,g=[];r.processedGridSize=l;let y=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,r):{};for(let t in y)y[t].length>1&&(f=b(y[t]),s.push({posX:f.x,posY:f.y,oldX:0,oldY:0,startPointsLen:y[t].length,points:[]}));for(;p;){for(let t of s)t.points.length=0;a.length=0;for(let r=0;r<t.length;r++)c=t[r],m=e[r],(g=this.getClusterDistancesFromPoint(s,c,m)).length&&g[0].distance<l?s[g[0].clusterIndex].points.push({x:c,y:m,dataIndex:i[r]}):a.push({x:c,y:m,dataIndex:i[r]});for(let t=0;t<s.length;t++)1===s[t].points.length&&(g=this.getClusterDistancesFromPoint(s,s[t].points[0].x,s[t].points[0].y))[1].distance<l&&(s[g[1].clusterIndex].points.push(s[t].points[0]),s[g[0].clusterIndex].points.length=0);p=!1;for(let t=0;t<s.length;t++)f=b(s[t].points),s[t].oldX=s[t].posX,s[t].oldY=s[t].posY,s[t].posX=f.x,s[t].posY=f.y,(s[t].posX>s[t].oldX+1||s[t].posX<s[t].oldX-1||s[t].posY>s[t].oldY+1||s[t].posY<s[t].oldY-1)&&(p=!0);u&&(p=h<u-1),h++}for(let t=0,e=s.length;t<e;++t)n["cluster"+t]=s[t].points;for(let t=0,e=a.length;t<e;++t)n["noise"+t]=[a[t]];return n},optimizedKmeans:function(t,e,i,r){let s=Number(r.processedDistance??(0,o.relativeLength)(r.distance||d.layoutAlgorithm.gridSize,this.chart.plotWidth)),a=this.getRealExtremes(),n=(this.options.cluster||{}).marker,l,u={};if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<a.maxX||this.initMinX&&this.initMinX>a.minX||this.initMaxY&&this.initMaxY<a.maxY||this.initMinY&&this.initMinY>a.minY)this.initMaxX=a.maxX,this.initMinX=a.minX,this.initMaxY=a.maxY,this.initMinY=a.minY,u=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,r):{},this.baseClusters=null;else{for(let t of(this.baseClusters??(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise}),this.baseClusters.clusters)){for(let e of(t.pointsOutside=[],t.pointsInside=[],t.data)){let i=R(this,e),r=R(this,t);l=Math.sqrt(Math.pow(i.x-r.x,2)+Math.pow(i.y-r.y,2));let a=t.clusterZone?.marker?.radius??n?.radius??d.marker.radius??0,u=s-a>=0?s-a:a;l>a+u&&(0,o.defined)(t.pointsOutside)?t.pointsOutside.push(e):(0,o.defined)(t.pointsInside)&&t.pointsInside.push(e)}t.pointsInside.length&&(u[t.id]=t.pointsInside);let e=0;for(let i of t.pointsOutside)u[t.id+"_noise"+e++]=[i]}for(let t of this.baseClusters.noise)u[t.id]=t.data}return u}},m,f=[],g=0;function y(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function x(t,e,i,r){for(let s of(C(t,r,i,!0,!0),e))s.point?.destroy?.()}function C(t,e,i,r,s){t.point&&(r&&t.point.graphic&&(t.point.graphic.show(),y(t.point.graphic,e,i)),s&&t.point.dataLabel&&(t.point.dataLabel.show(),y(t.point.dataLabel,e,i)))}function b(t){let e=t.length,i=0,r=0;for(let s=0;s<e;s++)i+=t[s].x,r+=t[s].y;return{x:i/e,y:r/e}}function k(t,e){let i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function I(){return Math.random().toString(36).substring(2,7)+"-"+g++}function M(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function S(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){let e=t.point||t.target,i=e.series,{xAxis:r,yAxis:s,chart:a}=i,{inverted:o,mapView:n,pointer:l}=a;if(i.options.cluster?.drillToCluster&&e.clusteredData){let t=e.clusteredData.map(t=>t.x).sort((t,e)=>t-e),i=e.clusteredData.map(t=>t.y).sort((t,e)=>t-e),u=t[0],h=t[t.length-1],p=i[0],d=i[i.length-1],c=Math.abs((h-u)*.1),m=Math.abs((d-p)*.1),f=Math.min(u,h)-c,g=Math.max(u,h)+c,y=Math.min(p,d)-m,x=Math.max(p,d)+m;if(n)n.fitToBounds({x1:f,x2:g,y1:y,y2:x});else if(r&&s){let t=r.toPixels(f),e=r.toPixels(g),i=s.toPixels(y),n=s.toPixels(x);o&&([t,e,i,n]=[i,n,t,e]),t>e&&([t,e]=[e,t]),i>n&&([i,n]=[n,i]),l&&(l.zoomX=!0,l.zoomY=!0),a.transform({from:{x:t,y:i,width:e-t,height:n-i}})}}})}function w(t,e){let{chart:i,xAxis:r,yAxis:s}=t;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:r?r.toValue(e.x):0,y:s?s.toValue(e.y):0}}function A(t){let e=this.chart,i=e.mapView,r=(0,o.animObject)(this.options.cluster?.animation),s=r.duration||500,a=this.markerClusterInfo?.pointsState,n=a?.newState,l=a?.oldState,u=[],h,p,d,c=0,m=0,f=0,g=!1,y=!1;if(l&&n){let a=R(this,p=n[t.stateId]);m=a.x-(i?0:e.plotLeft),f=a.y-(i?0:e.plotTop),1===p.parentsId.length?(h=l[n?.[t.stateId].parentsId[0]],p.point?.graphic&&h.point?.plotX&&h.point.plotY&&(h.point.plotX!==p.point.plotX||h.point.plotY!==p.point.plotY)&&(d=p.point.graphic.getBBox(),c=p.point.graphic?.isImg?0:d.width/2,p.point.graphic.attr({x:h.point.plotX-c,y:h.point.plotY-c}),p.point.graphic.animate({x:m-(p.point.graphic.radius||0),y:f-(p.point.graphic.radius||0)},r,function(){y=!0,h.point?.destroy?.()}),p.point.dataLabel?.alignAttr&&h.point.dataLabel?.alignAttr&&(p.point.dataLabel.attr({x:h.point.dataLabel.alignAttr.x,y:h.point.dataLabel.alignAttr.y}),p.point.dataLabel.animate({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y},r)))):0===p.parentsId.length?(M(p,!0,!0),(0,o.syncTimeout)(function(){C(p,.1,r,!0,!0)},s/2)):(M(p,!0,!0),p.parentsId.forEach(function(t){l?.[t]&&(h=l[t],u.push(h),h.point?.graphic&&(g=!0,h.point.graphic.show(),h.point.graphic.animate({x:m-(h.point.graphic.radius||0),y:f-(h.point.graphic.radius||0),opacity:.4},r,function(){y=!0,x(p,u,r,.7)}),h.point.dataLabel&&-9999!==h.point.dataLabel.y&&p.point?.dataLabel?.alignAttr&&(h.point.dataLabel.show(),h.point.dataLabel.animate({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y,opacity:.4},r))))}),(0,o.syncTimeout)(function(){y||x(p,u,r,.85)},s),g||(0,o.syncTimeout)(function(){x(p,u,r,.1)},s/2))}}function v(){this.markerClusterSeriesData?.forEach(t=>{t?.destroy?.()}),this.markerClusterSeriesData=null}function L(){let t,e,i,r,s,a,n,l,u,h,c,f,g,y,x,C=this,{chart:b}=C,k=b.mapView,I=C.getColumn("x"),M=C.getColumn("y"),A=C.options.cluster,v=C.getRealExtremes(),L=[],P=[],X=[];if(k&&C.is("mappoint")&&I&&M&&C.options.data?.forEach((t,e)=>{let i=C.projectPoint(t);i&&(I[e]=i.x,M[e]=i.y)}),A?.enabled&&I?.length&&M?.length&&!b.polar){c=A.layoutAlgorithm.type,(y=A.layoutAlgorithm).processedGridSize=(0,o.relativeLength)(y.gridSize||d.layoutAlgorithm.gridSize,b.plotWidth),y.processedDistance=(0,o.relativeLength)(y.distance||d.layoutAlgorithm.distance,b.plotWidth),r=y.kmeansThreshold||d.layoutAlgorithm.kmeansThreshold;let k=y.processedGridSize/2,O=w(C,{x:0,y:0}),z=w(C,{x:k,y:k});s=Math.abs(O.x-z.x),a=Math.abs(O.y-z.y);for(let t=0;t<I.length;t++)!C.dataMaxX&&((0,o.defined)(l)&&(0,o.defined)(n)&&(0,o.defined)(h)&&(0,o.defined)(u)?(0,o.isNumber)(M[t])&&(0,o.isNumber)(h)&&(0,o.isNumber)(u)&&(l=Math.max(I[t],l),n=Math.min(I[t],n),h=Math.max(M[t]||h,h),u=Math.min(M[t]||u,u)):(l=n=I[t],h=u=M[t])),I[t]>=v.minX-s&&I[t]<=v.maxX+s&&(M[t]||v.minY)>=v.minY-a&&(M[t]||v.maxY)<=v.maxY+a&&(L.push(I[t]),P.push(M[t]),X.push(t));if((0,o.defined)(l)&&(0,o.defined)(n)&&(0,o.isNumber)(h)&&(0,o.isNumber)(u)&&(C.dataMaxX=l,C.dataMinX=n,C.dataMaxY=h,C.dataMinY=u),f=(g=((0,o.isFunction)(c)?c:C.markerClusterAlgorithms?c&&C.markerClusterAlgorithms[c]?C.markerClusterAlgorithms[c]:L.length<r?C.markerClusterAlgorithms.kmeans:C.markerClusterAlgorithms.grid:()=>!1).call(this,L,P,X,y))?C.getClusteredData(g,A):g,A.animation&&C.markerClusterInfo?.pointsState?.oldState){var Y=C.markerClusterInfo.pointsState.oldState;for(let t of Object.keys(Y))Y[t].point?.destroy?.();t=C.markerClusterInfo.pointsState.newState}else t={};e=I.length,i=C.markerClusterInfo,f&&(C.dataTable.modified=new p({columns:{x:f.groupedXData,y:f.groupedYData}}),C.hasGroupedData=!0,C.markerClusterInfo=f,C.groupMap=f.groupMap),m.apply(this),f&&C.markerClusterInfo&&(C.markerClusterInfo.clusters?.forEach(t=>{(x=C.points[t.index]).isCluster=!0,x.clusteredData=t.data,x.clusterPointsAmount=t.data.length,t.point=x,(0,o.addEvent)(x,"click",S)}),C.markerClusterInfo.noise?.forEach(t=>{t.point=C.points[t.index]}),A.animation&&C.markerClusterInfo&&(C.markerClusterInfo.pointsState={oldState:t,newState:C.getPointsState(f,i,e)}),A.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else m.apply(this)}function P(t,e,i){let r=[];for(let s=0;s<t.length;s++){let a=R(this,{x:e,y:i}),o=R(this,{x:t[s].posX,y:t[s].posY}),n=Math.sqrt(Math.pow(a.x-o.x,2)+Math.pow(a.y-o.y,2));r.push({clusterIndex:s,distance:n})}return r.sort((t,e)=>t.distance-e.distance)}function X(t,e){let i=this.options.data,r=[],s=[],a=[],n=[],l=[],u=Math.max(2,e.minimumClusterSize||2),h=0,p,c,m,f,g,y,x,C,k,M,S,w;if((0,o.isFunction)(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return(0,o.error)("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(let A in t)if(t[A].length>=u){if(m=t[A],p=I(),g=m.length,e.zones)for(let t=0;t<e.zones.length;t++)g>=e.zones[t].from&&g<=e.zones[t].to&&((S=e.zones[t]).zoneIndex=t,M=e.zones[t].marker,w=e.zones[t].className);k=b(m),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?x={x:k.x,y:k.y}:(y=this.options.marker||{},x=this.preventClusterCollisions({x:k.x,y:k.y,key:A,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:y.radius||3+(y.lineWidth||0),clusterRadius:M?.radius??e.marker?.radius??d.marker.radius??0}));for(let t=0;t<g;t++)m[t].parentStateId=p;if(a.push({x:x.x,y:x.y,id:A,stateId:p,index:h,data:m,clusterZone:S,clusterZoneClassName:w}),r.push(x.x),s.push(x.y),l.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:(0,o.merge)(e.marker,{states:e.states},M||{})}}),i?.length)for(let t=0;t<g;t++)(0,o.isObject)(i[m[t].dataIndex])&&(m[t].options=i[m[t].dataIndex]);h++,M=null}else for(let e=0;e<t[A].length;e++)c=t[A][e],p=I(),C=null,f=i?.[c.dataIndex],r.push(c.x),s.push(c.y),c.parentStateId=p,n.push({x:c.x,y:c.y,id:A,stateId:p,index:h,data:t[A]}),C=f&&"object"==typeof f&&!(0,o.isArray)(f)?(0,o.merge)(f,{x:c.x,y:c.y}):{userOptions:f,x:c.x,y:c.y},l.push({options:C}),h++;return{clusters:a,noise:n,groupedXData:r,groupedYData:s,groupMap:l}}function Y(){let{chart:t,xAxis:e,yAxis:i}=this,r=0;return{plotLeft:r=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function O(t,e,i){let r,s,a=e?k(e,i):[],o=k(t,i),n={};f=[],t.clusters.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(let t=0;t<o.length;t++)r=o[t],s=a[t],r?.parentStateId&&s?.parentStateId&&n[r.parentStateId]?.parentsId.indexOf(s.parentStateId)===-1&&(n[r.parentStateId].parentsId.push(s.parentStateId),-1===f.indexOf(s.parentStateId)&&f.push(s.parentStateId));return n}function z(){let t=this.chart,e=t.mapView?0:t.plotLeft,i=w(this,{x:e,y:t.mapView?0:t.plotTop}),r=w(this,{x:e+t.plotWidth,y:e+t.plotHeight}),s=i.x,a=r.x,o=i.y,n=r.y;return{minX:Math.min(s,a),maxX:Math.max(s,a),minY:Math.min(o,n),maxY:Math.max(o,n)}}function D(t){let e=this.xAxis,i=this.chart.mapView,r=Number(t.processedGridSize??(0,o.relativeLength)(t.gridSize||d.layoutAlgorithm.gridSize,this.chart.plotWidth)),s=!0,a=1,n=1;this.gridValueSize||(i?this.gridValueSize=r/i.getScale():this.gridValueSize=Math.abs(e.toValue(r)-e.toValue(0)));let l=i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0),u=0!==l?Math.abs(+(r/l).toFixed(14)):1;for(;s&&1!==u;){let t=Math.pow(2,a);u>.75&&u<1.25?s=!1:u>=1/t&&u<1/t*2?(s=!1,n=t):u<=t&&u>t/2&&(s=!1,n=1/t),a++}return r/n/u}function E(){let t=this.markerClusterSeriesData,e=this.markerClusterInfo?.pointsState?.oldState,i=f.map(t=>e?.[t].point?.id||"");t?.forEach(t=>{t&&-1!==i.indexOf(t.id)?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):t?.destroy?.()})}function T(t){let e=!1;return!!(0,o.isObject)(t)&&((0,o.objectEach)(t,t=>{if(e=!0,!(0,o.isArray)(t)||!t.length){e=!1;return}for(let i=0;i<t.length;i++)if(!(0,o.isObject)(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function j(t){let[e,i]=t.key.split(":").map(parseFloat),r=t.gridSize,s=t.groupedData,a=t.defaultRadius,n=t.clusterRadius,l=i*r,u=e*r,h=R(this,t),p=[],c=this.options.cluster?.marker,m=this.options.cluster?.zones,f=this.getGridOffset(),g=h.x,y=h.y,x=0,C=0,k,I,M,S,A,v,L,P,X,Y,O,z;g-=f.plotLeft,y-=f.plotTop;for(let s=1;s<5;s++)for(L=0,M=s%2?-1:1,S=s<3?-1:1,A=Math.floor((g+M*n)/r),z=[(v=Math.floor((y+S*n)/r))+":"+A,v+":"+i,e+":"+A];L<z.length;L++)-1===p.indexOf(z[L])&&z[L]!==t.key&&p.push(z[L]);for(let t of p)if(s[t]){s[t].posX||(Y=b(s[t]),s[t].posX=Y.x,s[t].posY=Y.y);let h=R(this,{x:s[t].posX||0,y:s[t].posY||0});if(k=h.x-f.plotLeft,I=h.y-f.plotTop,[X,P]=t.split(":").map(parseFloat),m){x=s[t].length;for(let t=0;t<m.length;t++)x>=m[t].from&&x<=m[t].to&&(C=(0,o.defined)(m[t].marker?.radius)?m[t].marker.radius||0:c?.radius?c.radius:d.marker.radius??0)}s[t].length>1&&0===C&&c?.radius?C=c.radius:1===s[t].length&&(C=a),O=n+C,C=0,P!==i&&Math.abs(g-k)<O&&(g=P-i<0?l+n:l+r-n),X!==e&&Math.abs(y-I)<O&&(y=X-e<0?u+n:u+r-n)}let D=w(this,{x:g+f.plotLeft,y:y+f.plotTop});return s[t.key].posX=D.x,s[t.key].posY=D.y,D}function R(t,e){let{chart:i,xAxis:r,yAxis:s}=t;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:r?r.toPixels(e.x):0,y:s?s.toPixels(e.y):0}}let V=function(t,e){let i=e.prototype;!i.markerClusterAlgorithms&&(m=i.generatePoints,i.markerClusterAlgorithms=c,i.animateClusterPoint=A,i.destroyClusteredData=v,i.generatePoints=L,i.getClusterDistancesFromPoint=P,i.getClusteredData=X,i.getGridOffset=Y,i.getPointsState=O,i.getRealExtremes=z,i.getScaledGridSize=D,i.hideClusteredData=E,i.isValidGroupedDataObject=T,i.preventClusterCollisions=j,(0,o.addEvent)(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=(0,o.merge)(t.plotOptions.series,l)))},{defaultOptions:G}=n(),{composed:N}=n();function F(){let t=this.chart,e=0;for(let i of t.series)if(i.markerClusterInfo){let t=i.options.cluster;e=(0,o.animObject)((t||{}).animation).duration||0}(0,o.syncTimeout)(()=>{t.tooltip&&t.tooltip.destroy()},e)}function q(){for(let t of this.series||[])if(t.markerClusterInfo){let e=t.options.cluster,i=((t.markerClusterInfo||{}).pointsState||{}).oldState;if((e||{}).animation&&t.markerClusterInfo&&0===(t.chart.pointer?.pinchDown||[]).length&&"pan"!==((t.xAxis||{}).eventArgs||{}).trigger&&i&&Object.keys(i).length){for(let e of t.markerClusterInfo.clusters)t.animateClusterPoint(e);for(let e of t.markerClusterInfo.noise)t.animateClusterPoint(e)}}}function W(t){let e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;(0,o.isFunction)(e)&&e.call(this,t)}function H(){if(this.dataGroup)return(0,o.error)("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function K(){let t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(let e of this.markerClusterInfo.clusters)e.point&&e.point.graphic&&(e.point.graphic.addClass("highcharts-cluster-point"),t&&e.point&&(e.point.graphic.css({cursor:"pointer"}),e.point.dataLabel&&e.point.dataLabel.css({cursor:"pointer"})),(0,o.defined)(e.clusterZone)&&e.point.graphic.addClass(e.clusterZoneClassName||"highcharts-cluster-zone-"+e.clusterZone.zoneIndex))}function _(t,i,r,s){let a=r/2,o=s/2,n=e.arc(t+a,i+o,a-4,o-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=e.arc(t+a,i+o,a-3,o-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a-2,open:!1});return e.arc(t+a,i+o,a-1,o-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:a,open:!1}).concat(l,n)}(G.plotOptions||{}).series=(0,o.merge)((G.plotOptions||{}).series,l);let Z=n();({compose:function(t,e,i,r){if((0,o.pushUnique)(N,"MarkerClusters")){let s=r.prototype.pointClass,{scatter:a}=r.types;(0,o.addEvent)(t,"setExtremes",F),(0,o.addEvent)(e,"render",q),(0,o.addEvent)(s,"drillToCluster",W),(0,o.addEvent)(s,"update",H),(0,o.addEvent)(r,"afterRender",K),a&&V(i,a)}}}).compose(Z.Axis,Z.Chart,Z.defaultOptions,Z.Series),({compose:function(t){(e=t.prototype.symbols).cluster=_}}).compose(Z.SVGRenderer);let B=n();return a.default})());
13
+ */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/marker-clusters",["highcharts/highcharts"],function(t){return e(t)}):"object"==typeof exports?exports["highcharts/modules/marker-clusters"]=e(t._Highcharts):t.Highcharts=e(t.Highcharts)}("u"<typeof window?this:window,t=>(()=>{"use strict";let e;var i={944(e){e.exports=t}};let s={};function r(t){let e=s[t];if(void 0!==e)return e.exports;let o=s[t]={exports:{}};return i[t](o,o.exports,r),o.exports}r.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let o={};r.d(o,{default:()=>B});var a=r(944),n=r.n(a);let l={cluster:{enabled:!1,allowOverlap:!0,animation:{duration:500},drillToCluster:!0,minimumClusterSize:2,layoutAlgorithm:{gridSize:50,distance:40,kmeansThreshold:100},marker:{symbol:"cluster",radius:15,lineWidth:0,lineColor:"var(--highcharts-background-color)"},dataLabels:{enabled:!0,format:"{point.clusterPointsAmount}",verticalAlign:"middle",align:"center",style:{color:"contrast"},inside:!0}},tooltip:{clusterFormat:"<span>Clustered points: {point.clusterPointsAmount}</span><br/>"}},{setLength:u,splice:h}={convertToNumber:function(t,e){switch(typeof t){case"boolean":return+!!t;case"number":return isNaN(t)&&!e?null:t;default:return isNaN(t=parseFloat(`${t??""}`))&&!e?null:t}},setLength:function(t,e,i){return Array.isArray(t)?(t.length=e,t):t[i?"subarray":"slice"](0,e)},splice:function(t,e,i,s,r=[]){if(Array.isArray(t))return Array.isArray(r)||(r=Array.from(r)),{removed:t.splice(e,i,...r),array:t};let o=Object.getPrototypeOf(t).constructor,a=t[s?"subarray":"slice"](e,e+i),n=new o(t.length-i+r.length);return n.set(t.subarray(0,e),0),n.set(r,e),n.set(t.subarray(e+i),e+r.length),{removed:a,array:n}}},p=class{constructor(t={}){this.isDataTable=!0;let e=this.isPollutingKey(t.id)?void 0:t.id;this.autoId=!e,this.columns={},this.id=e||(0,a.uniqueKey)(),this.rowCount=0,this.versionTag=(0,a.uniqueKey)();let i=0;(0,a.objectEach)(t.columns||{},(t,e)=>{"__proto__"!==e&&"constructor"!==e&&(this.columns[e]=t.slice(),i=Math.max(i,t.length))}),this.applyRowCount(i)}isPollutingKey(t){return"__proto__"===t||"constructor"===t}applyRowCount(t){this.rowCount=t,(0,a.objectEach)(this.columns,(e,i)=>{e.length!==t&&(this.columns[i]=u(e,t))})}deleteRows(t,e=1){if(e>0&&t<this.rowCount){let i=0;(0,a.objectEach)(this.columns,(s,r)=>{this.columns[r]=h(s,t,e).array,i=s.length}),this.rowCount=i}(0,a.fireEvent)(this,"afterDeleteRows",{rowIndex:t,rowCount:e}),this.versionTag=(0,a.uniqueKey)()}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRowObject(t,e){let i={},s=this.columns;for(let r of(e??(e=Object.keys(this.columns)),e))i[r]=s[r]?.[t];return i}setColumn(t,e=[],i=0,s){this.setColumns({[t]:e},i,s)}setColumns(t,e,i){let s=this.rowCount;(0,a.objectEach)(t,(t,e)=>{"__proto__"!==e&&"constructor"!==e&&(this.columns[e]=t.slice(),s=t.length)}),this.applyRowCount(s),i?.silent||((0,a.fireEvent)(this,"afterSetColumns"),this.versionTag=(0,a.uniqueKey)())}setRow(t,e=this.rowCount,i,s){let{columns:r}=this,o=i?this.rowCount+1:e+1,n=Object.keys(t);if(s?.addColumns!==!1)for(let t=0,e=n.length;t<e;t++){let e=n[t];this.isPollutingKey(e)||Object.hasOwnProperty.call(r,e)||(r[e]=Array(this.rowCount))}(0,a.objectEach)(r,(s,o)=>{s&&(i?s=h(s,e,0,!0,[t[o]]).array:s[e]=o in t?t[o]:s[e],r[o]=s)}),this.applyRowCount(Math.max(o,this.rowCount)),s?.silent||((0,a.fireEvent)(this,"afterSetRows",{rowIndex:e}),this.versionTag=(0,a.uniqueKey)())}getModified(){return this.modified||this}},{cluster:d}=l,c={grid:function(t,e,i,s){let r,o,a,n,l,u={},h=this.getGridOffset(),p=this.getScaledGridSize(s);for(l=0;l<t.length;l++){let s=R(this,{x:t[l],y:e[l]});r=s.x-h.plotLeft,o=s.y-h.plotTop,a=Math.floor(r/p),u[n=Math.floor(o/p)+":"+a]??(u[n]=[]),u[n].push({dataIndex:i[l],x:t[l],y:e[l]})}return u},kmeans:function(t,e,i,s){let r=[],o=[],n={},l=Number(s.processedDistance??(0,a.relativeLength)(s.distance||d.layoutAlgorithm.distance,this.chart.plotWidth)),u=s.iterations,h=0,p=!0,c=0,m=0,f,g=[];s.processedGridSize=l;let y=this.markerClusterAlgorithms?this.markerClusterAlgorithms.grid.call(this,t,e,i,s):{};for(let t in y)y[t].length>1&&(f=b(y[t]),r.push({posX:f.x,posY:f.y,oldX:0,oldY:0,startPointsLen:y[t].length,points:[]}));for(;p;){for(let t of r)t.points.length=0;o.length=0;for(let s=0;s<t.length;s++)c=t[s],m=e[s],(g=this.getClusterDistancesFromPoint(r,c,m)).length&&g[0].distance<l?r[g[0].clusterIndex].points.push({x:c,y:m,dataIndex:i[s]}):o.push({x:c,y:m,dataIndex:i[s]});for(let t=0;t<r.length;t++)1===r[t].points.length&&(g=this.getClusterDistancesFromPoint(r,r[t].points[0].x,r[t].points[0].y))[1].distance<l&&(r[g[1].clusterIndex].points.push(r[t].points[0]),r[g[0].clusterIndex].points.length=0);p=!1;for(let t=0;t<r.length;t++)f=b(r[t].points),r[t].oldX=r[t].posX,r[t].oldY=r[t].posY,r[t].posX=f.x,r[t].posY=f.y,(r[t].posX>r[t].oldX+1||r[t].posX<r[t].oldX-1||r[t].posY>r[t].oldY+1||r[t].posY<r[t].oldY-1)&&(p=!0);u&&(p=h<u-1),h++}for(let t=0,e=r.length;t<e;++t)n["cluster"+t]=r[t].points;for(let t=0,e=o.length;t<e;++t)n["noise"+t]=[o[t]];return n},optimizedKmeans:function(t,e,i,s){let r=Number(s.processedDistance??(0,a.relativeLength)(s.distance||d.layoutAlgorithm.gridSize,this.chart.plotWidth)),o=this.getRealExtremes(),n=(this.options.cluster||{}).marker,l,u={};if(!this.markerClusterInfo||this.initMaxX&&this.initMaxX<o.maxX||this.initMinX&&this.initMinX>o.minX||this.initMaxY&&this.initMaxY<o.maxY||this.initMinY&&this.initMinY>o.minY)this.initMaxX=o.maxX,this.initMinX=o.minX,this.initMaxY=o.maxY,this.initMinY=o.minY,u=this.markerClusterAlgorithms?this.markerClusterAlgorithms.kmeans.call(this,t,e,i,s):{},this.baseClusters=null;else{for(let t of(this.baseClusters??(this.baseClusters={clusters:this.markerClusterInfo.clusters,noise:this.markerClusterInfo.noise}),this.baseClusters.clusters)){for(let e of(t.pointsOutside=[],t.pointsInside=[],t.data)){let i=R(this,e),s=R(this,t);l=Math.sqrt(Math.pow(i.x-s.x,2)+Math.pow(i.y-s.y,2));let o=t.clusterZone?.marker?.radius??n?.radius??d.marker.radius??0,u=r-o>=0?r-o:o;l>o+u&&(0,a.defined)(t.pointsOutside)?t.pointsOutside.push(e):(0,a.defined)(t.pointsInside)&&t.pointsInside.push(e)}t.pointsInside.length&&(u[t.id]=t.pointsInside);let e=0;for(let i of t.pointsOutside)u[t.id+"_noise"+e++]=[i]}for(let t of this.baseClusters.noise)u[t.id]=t.data}return u}},m,f=[],g=0;function y(t,e,i){t.attr({opacity:e}).animate({opacity:1},i)}function x(t,e,i,s){for(let r of(C(t,s,i,!0,!0),e))r.point?.destroy?.()}function C(t,e,i,s,r){t.point&&(s&&t.point.graphic&&(t.point.graphic.show(),y(t.point.graphic,e,i)),r&&t.point.dataLabel&&(t.point.dataLabel.show(),y(t.point.dataLabel,e,i)))}function b(t){let e=t.length,i=0,s=0;for(let r=0;r<e;r++)i+=t[r].x,s+=t[r].y;return{x:i/e,y:s/e}}function k(t,e){let i=[];return i.length=e,t.clusters.forEach(function(t){t.data.forEach(function(t){i[t.dataIndex]=t})}),t.noise.forEach(function(t){i[t.data[0].dataIndex]=t.data[0]}),i}function I(){return Math.random().toString(36).substring(2,7)+"-"+g++}function M(t,e,i){t.point&&(e&&t.point.graphic&&t.point.graphic.hide(),i&&t.point.dataLabel&&t.point.dataLabel.hide())}function S(t){(t.point||t.target).firePointEvent("drillToCluster",t,function(t){let e=t.point||t.target,i=e.series,{xAxis:s,yAxis:r,chart:o}=i,{inverted:a,mapView:n,pointer:l}=o;if(i.options.cluster?.drillToCluster&&e.clusteredData){let t=e.clusteredData.map(t=>t.x).sort((t,e)=>t-e),i=e.clusteredData.map(t=>t.y).sort((t,e)=>t-e),u=t[0],h=t[t.length-1],p=i[0],d=i[i.length-1],c=Math.abs((h-u)*.1),m=Math.abs((d-p)*.1),f=Math.min(u,h)-c,g=Math.max(u,h)+c,y=Math.min(p,d)-m,x=Math.max(p,d)+m;if(n)n.fitToBounds({x1:f,x2:g,y1:y,y2:x});else if(s&&r){let t=s.toPixels(f),e=s.toPixels(g),i=r.toPixels(y),n=r.toPixels(x);a&&([t,e,i,n]=[i,n,t,e]),t>e&&([t,e]=[e,t]),i>n&&([i,n]=[n,i]),l&&(l.zoomX=!0,l.zoomY=!0),o.transform({from:{x:t,y:i,width:e-t,height:n-i}})}}})}function w(t,e){let{chart:i,xAxis:s,yAxis:r}=t;return i.mapView?i.mapView.pixelsToProjectedUnits(e):{x:s?s.toValue(e.x):0,y:r?r.toValue(e.y):0}}function A(t){let e=this.chart,i=e.mapView,s=(0,a.animObject)(this.options.cluster?.animation),r=s.duration||500,o=this.markerClusterInfo?.pointsState,n=o?.newState,l=o?.oldState,u=[],h,p,d,c=0,m=0,f=0,g=!1,y=!1;if(l&&n){let o=R(this,p=n[t.stateId]);m=o.x-(i?0:e.plotLeft),f=o.y-(i?0:e.plotTop),1===p.parentsId.length?(h=l[n?.[t.stateId].parentsId[0]],p.point?.graphic&&h.point?.plotX&&h.point.plotY&&(h.point.plotX!==p.point.plotX||h.point.plotY!==p.point.plotY)&&(d=p.point.graphic.getBBox(),c=p.point.graphic?.isImg?0:d.width/2,p.point.graphic.attr({x:h.point.plotX-c,y:h.point.plotY-c}),p.point.graphic.animate({x:m-(p.point.graphic.radius||0),y:f-(p.point.graphic.radius||0)},s,function(){y=!0,h.point?.destroy?.()}),p.point.dataLabel?.alignAttr&&h.point.dataLabel?.alignAttr&&(p.point.dataLabel.attr({x:h.point.dataLabel.alignAttr.x,y:h.point.dataLabel.alignAttr.y}),p.point.dataLabel.animate({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y},s)))):0===p.parentsId.length?(M(p,!0,!0),(0,a.syncTimeout)(function(){C(p,.1,s,!0,!0)},r/2)):(M(p,!0,!0),p.parentsId.forEach(function(t){l?.[t]&&(h=l[t],u.push(h),h.point?.graphic&&(g=!0,h.point.graphic.show(),h.point.graphic.animate({x:m-(h.point.graphic.radius||0),y:f-(h.point.graphic.radius||0),opacity:.4},s,function(){y=!0,x(p,u,s,.7)}),h.point.dataLabel&&-9999!==h.point.dataLabel.y&&p.point?.dataLabel?.alignAttr&&(h.point.dataLabel.show(),h.point.dataLabel.animate({x:p.point.dataLabel.alignAttr.x,y:p.point.dataLabel.alignAttr.y,opacity:.4},s))))}),(0,a.syncTimeout)(function(){y||x(p,u,s,.85)},r),g||(0,a.syncTimeout)(function(){x(p,u,s,.1)},r/2))}}function P(){this.markerClusterSeriesData?.forEach(t=>{t?.destroy?.()}),this.markerClusterSeriesData=null}function L(){let t,e,i,s,r,o,n,l,u,h,c,f,g,y,x,C=this,{chart:b}=C,k=b.mapView,I=C.getColumn("x"),M=C.getColumn("y"),A=C.options.cluster,P=C.getRealExtremes(),L=[],X=[],Y=[];if(k&&C.is("mappoint")&&I&&M&&C.options.data?.forEach((t,e)=>{let i=C.projectPoint(t);i&&(I[e]=i.x,M[e]=i.y)}),A?.enabled&&I?.length&&M?.length&&!b.polar){c=A.layoutAlgorithm.type,(y=A.layoutAlgorithm).processedGridSize=(0,a.relativeLength)(y.gridSize||d.layoutAlgorithm.gridSize,b.plotWidth),y.processedDistance=(0,a.relativeLength)(y.distance||d.layoutAlgorithm.distance,b.plotWidth),s=y.kmeansThreshold||d.layoutAlgorithm.kmeansThreshold;let k=y.processedGridSize/2,O=w(C,{x:0,y:0}),z=w(C,{x:k,y:k});r=Math.abs(O.x-z.x),o=Math.abs(O.y-z.y);for(let t=0;t<I.length;t++)!C.dataMaxX&&((0,a.defined)(l)&&(0,a.defined)(n)&&(0,a.defined)(h)&&(0,a.defined)(u)?(0,a.isNumber)(M[t])&&(0,a.isNumber)(h)&&(0,a.isNumber)(u)&&(l=Math.max(I[t],l),n=Math.min(I[t],n),h=Math.max(M[t]||h,h),u=Math.min(M[t]||u,u)):(l=n=I[t],h=u=M[t])),I[t]>=P.minX-r&&I[t]<=P.maxX+r&&(M[t]||P.minY)>=P.minY-o&&(M[t]||P.maxY)<=P.maxY+o&&(L.push(I[t]),X.push(M[t]),Y.push(t));if((0,a.defined)(l)&&(0,a.defined)(n)&&(0,a.isNumber)(h)&&(0,a.isNumber)(u)&&(C.dataMaxX=l,C.dataMinX=n,C.dataMaxY=h,C.dataMinY=u),f=(g=((0,a.isFunction)(c)?c:C.markerClusterAlgorithms?c&&C.markerClusterAlgorithms[c]?C.markerClusterAlgorithms[c]:L.length<s?C.markerClusterAlgorithms.kmeans:C.markerClusterAlgorithms.grid:()=>!1).call(this,L,X,Y,y))?C.getClusteredData(g,A):g,A.animation&&C.markerClusterInfo?.pointsState?.oldState){var v=C.markerClusterInfo.pointsState.oldState;for(let t of Object.keys(v))v[t].point?.destroy?.();t=C.markerClusterInfo.pointsState.newState}else t={};e=I.length,i=C.markerClusterInfo,f&&(C.dataTable.modified=new p({columns:{x:f.groupedXData,y:f.groupedYData}}),C.hasGroupedData=!0,C.markerClusterInfo=f,C.groupMap=f.groupMap),m.apply(this),f&&C.markerClusterInfo&&(C.markerClusterInfo.clusters?.forEach(t=>{(x=C.points[t.index]).isCluster=!0,x.clusteredData=t.data,x.clusterPointsAmount=t.data.length,t.point=x,(0,a.addEvent)(x,"click",S)}),C.markerClusterInfo.noise?.forEach(t=>{t.point=C.points[t.index]}),A.animation&&C.markerClusterInfo&&(C.markerClusterInfo.pointsState={oldState:t,newState:C.getPointsState(f,i,e)}),A.animation?this.hideClusteredData():this.destroyClusteredData(),this.markerClusterSeriesData=this.hasGroupedData?this.points:null)}else m.apply(this)}function X(t,e,i){let s=[];for(let r=0;r<t.length;r++){let o=R(this,{x:e,y:i}),a=R(this,{x:t[r].posX,y:t[r].posY}),n=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2));s.push({clusterIndex:r,distance:n})}return s.sort((t,e)=>t.distance-e.distance)}function Y(t,e){let i=this.options.data,s=[],r=[],o=[],n=[],l=[],u=Math.max(2,e.minimumClusterSize||2),h=0,p,c,m,f,g,y,x,C,k,M,S,w;if((0,a.isFunction)(e.layoutAlgorithm.type)&&!this.isValidGroupedDataObject(t))return(0,a.error)("Highcharts marker-clusters module: The custom algorithm result is not valid!",!1,this.chart),!1;for(let A in t)if(t[A].length>=u){if(m=t[A],p=I(),g=m.length,e.zones)for(let t=0;t<e.zones.length;t++)g>=e.zones[t].from&&g<=e.zones[t].to&&((S=e.zones[t]).zoneIndex=t,M=e.zones[t].marker,w=e.zones[t].className);k=b(m),"grid"!==e.layoutAlgorithm.type||e.allowOverlap?x={x:k.x,y:k.y}:(y=this.options.marker||{},x=this.preventClusterCollisions({x:k.x,y:k.y,key:A,groupedData:t,gridSize:this.getScaledGridSize(e.layoutAlgorithm),defaultRadius:y.radius||3+(y.lineWidth||0),clusterRadius:M?.radius??e.marker?.radius??d.marker.radius??0}));for(let t=0;t<g;t++)m[t].parentStateId=p;if(o.push({x:x.x,y:x.y,id:A,stateId:p,index:h,data:m,clusterZone:S,clusterZoneClassName:w}),s.push(x.x),r.push(x.y),l.push({options:{formatPrefix:"cluster",dataLabels:e.dataLabels,marker:(0,a.merge)(e.marker,{states:e.states},M||{})}}),i?.length)for(let t=0;t<g;t++)(0,a.isObject)(i[m[t].dataIndex])&&(m[t].options=i[m[t].dataIndex]);h++,M=null}else for(let e=0;e<t[A].length;e++)c=t[A][e],p=I(),C=null,f=i?.[c.dataIndex],s.push(c.x),r.push(c.y),c.parentStateId=p,n.push({x:c.x,y:c.y,id:A,stateId:p,index:h,data:t[A]}),C=f&&"object"==typeof f&&!(0,a.isArray)(f)?(0,a.merge)(f,{x:c.x,y:c.y}):{userOptions:f,x:c.x,y:c.y},l.push({options:C}),h++;return{clusters:o,noise:n,groupedXData:s,groupedYData:r,groupMap:l}}function v(){let{chart:t,xAxis:e,yAxis:i}=this,s=0;return{plotLeft:s=e&&this.dataMinX&&this.dataMaxX?e.reversed?e.toPixels(this.dataMaxX):e.toPixels(this.dataMinX):t.plotLeft,plotTop:i&&this.dataMinY&&this.dataMaxY?i.reversed?i.toPixels(this.dataMinY):i.toPixels(this.dataMaxY):t.plotTop}}function O(t,e,i){let s,r,o=e?k(e,i):[],a=k(t,i),n={};f=[],t.clusters.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}}),t.noise.forEach(t=>{n[t.stateId]={x:t.x,y:t.y,id:t.stateId,point:t.point,parentsId:[]}});for(let t=0;t<a.length;t++)s=a[t],r=o[t],s?.parentStateId&&r?.parentStateId&&n[s.parentStateId]?.parentsId.indexOf(r.parentStateId)===-1&&(n[s.parentStateId].parentsId.push(r.parentStateId),-1===f.indexOf(r.parentStateId)&&f.push(r.parentStateId));return n}function z(){let t=this.chart,e=t.mapView?0:t.plotLeft,i=w(this,{x:e,y:t.mapView?0:t.plotTop}),s=w(this,{x:e+t.plotWidth,y:e+t.plotHeight}),r=i.x,o=s.x,a=i.y,n=s.y;return{minX:Math.min(r,o),maxX:Math.max(r,o),minY:Math.min(a,n),maxY:Math.max(a,n)}}function D(t){let e=this.xAxis,i=this.chart.mapView,s=Number(t.processedGridSize??(0,a.relativeLength)(t.gridSize||d.layoutAlgorithm.gridSize,this.chart.plotWidth)),r=!0,o=1,n=1;this.gridValueSize||(i?this.gridValueSize=s/i.getScale():this.gridValueSize=Math.abs(e.toValue(s)-e.toValue(0)));let l=i?this.gridValueSize*i.getScale():e.toPixels(this.gridValueSize)-e.toPixels(0),u=0!==l?Math.abs(+(s/l).toFixed(14)):1;for(;r&&1!==u;){let t=Math.pow(2,o);u>.75&&u<1.25?r=!1:u>=1/t&&u<1/t*2?(r=!1,n=t):u<=t&&u>t/2&&(r=!1,n=1/t),o++}return s/n/u}function E(){let t=this.markerClusterSeriesData,e=this.markerClusterInfo?.pointsState?.oldState,i=f.map(t=>e?.[t].point?.id||"");t?.forEach(t=>{t&&-1!==i.indexOf(t.id)?(t.graphic&&t.graphic.hide(),t.dataLabel&&t.dataLabel.hide()):t?.destroy?.()})}function T(t){let e=!1;return!!(0,a.isObject)(t)&&((0,a.objectEach)(t,t=>{if(e=!0,!(0,a.isArray)(t)||!t.length){e=!1;return}for(let i=0;i<t.length;i++)if(!(0,a.isObject)(t[i])||!t[i].x||!t[i].y){e=!1;return}}),e)}function j(t){let[e,i]=t.key.split(":").map(parseFloat),s=t.gridSize,r=t.groupedData,o=t.defaultRadius,n=t.clusterRadius,l=i*s,u=e*s,h=R(this,t),p=[],c=this.options.cluster?.marker,m=this.options.cluster?.zones,f=this.getGridOffset(),g=h.x,y=h.y,x=0,C=0,k,I,M,S,A,P,L,X,Y,v,O,z;g-=f.plotLeft,y-=f.plotTop;for(let r=1;r<5;r++)for(M=r%2?-1:1,S=r<3?-1:1,A=Math.floor((g+M*n)/s),z=[(P=Math.floor((y+S*n)/s))+":"+A,P+":"+i,e+":"+A],L=0;L<z.length;L++)-1===p.indexOf(z[L])&&z[L]!==t.key&&p.push(z[L]);for(let t of p)if(r[t]){r[t].posX||(v=b(r[t]),r[t].posX=v.x,r[t].posY=v.y);let h=R(this,{x:r[t].posX||0,y:r[t].posY||0});if(k=h.x-f.plotLeft,I=h.y-f.plotTop,[Y,X]=t.split(":").map(parseFloat),m){x=r[t].length;for(let t=0;t<m.length;t++)x>=m[t].from&&x<=m[t].to&&(C=(0,a.defined)(m[t].marker?.radius)?m[t].marker.radius||0:c?.radius?c.radius:d.marker.radius??0)}r[t].length>1&&0===C&&c?.radius?C=c.radius:1===r[t].length&&(C=o),O=n+C,C=0,X!==i&&Math.abs(g-k)<O&&(g=X-i<0?l+n:l+s-n),Y!==e&&Math.abs(y-I)<O&&(y=Y-e<0?u+n:u+s-n)}let D=w(this,{x:g+f.plotLeft,y:y+f.plotTop});return r[t.key].posX=D.x,r[t.key].posY=D.y,D}function R(t,e){let{chart:i,xAxis:s,yAxis:r}=t;return i.mapView?i.mapView.projectedUnitsToPixels(e):{x:s?s.toPixels(e.x):0,y:r?r.toPixels(e.y):0}}let V=function(t,e){let i=e.prototype;!i.markerClusterAlgorithms&&(m=i.generatePoints,i.markerClusterAlgorithms=c,i.animateClusterPoint=A,i.destroyClusteredData=P,i.generatePoints=L,i.getClusterDistancesFromPoint=X,i.getClusteredData=Y,i.getGridOffset=v,i.getPointsState=O,i.getRealExtremes=z,i.getScaledGridSize=D,i.hideClusteredData=E,i.isValidGroupedDataObject=T,i.preventClusterCollisions=j,(0,a.addEvent)(e,"destroy",i.destroyClusteredData),t.plotOptions&&(t.plotOptions.series=(0,a.merge)(t.plotOptions.series,l)))},{defaultOptions:_}=n(),{composed:G}=n();function N(){let t=this.chart,e=0;for(let i of t.series)if(i.markerClusterInfo){let t=i.options.cluster;e=(0,a.animObject)((t||{}).animation).duration||0}(0,a.syncTimeout)(()=>{t.tooltip&&t.tooltip.destroy()},e)}function F(){for(let t of this.series||[])if(t.markerClusterInfo){let e=t.options.cluster,i=((t.markerClusterInfo||{}).pointsState||{}).oldState;if((e||{}).animation&&t.markerClusterInfo&&0===(t.chart.pointer?.pinchDown||[]).length&&"pan"!==((t.xAxis||{}).eventArgs||{}).trigger&&i&&Object.keys(i).length){for(let e of t.markerClusterInfo.clusters)t.animateClusterPoint(e);for(let e of t.markerClusterInfo.noise)t.animateClusterPoint(e)}}}function K(t){let e=(((t.point||t.target).series.options.cluster||{}).events||{}).drillToCluster;(0,a.isFunction)(e)&&e.call(this,t)}function q(){if(this.dataGroup)return(0,a.error)("Highcharts marker-clusters module: Running `Point.update` when point belongs to clustered series is not supported.",!1,this.series.chart),!1}function W(){let t=(this.options.cluster||{}).drillToCluster;if(this.markerClusterInfo&&this.markerClusterInfo.clusters)for(let e of this.markerClusterInfo.clusters)e.point&&e.point.graphic&&(e.point.graphic.addClass("highcharts-cluster-point"),t&&e.point&&(e.point.graphic.css({cursor:"pointer"}),e.point.dataLabel&&e.point.dataLabel.css({cursor:"pointer"})),(0,a.defined)(e.clusterZone)&&e.point.graphic.addClass(e.clusterZoneClassName||"highcharts-cluster-zone-"+e.clusterZone.zoneIndex))}function H(t,i,s,r){let o=s/2,a=r/2,n=e.arc(t+o,i+a,o-4,a-4,{start:.5*Math.PI,end:2.5*Math.PI,open:!1}),l=e.arc(t+o,i+a,o-3,a-3,{start:.5*Math.PI,end:2.5*Math.PI,innerR:o-2,open:!1});return e.arc(t+o,i+a,o-1,a-1,{start:.5*Math.PI,end:2.5*Math.PI,innerR:o,open:!1}).concat(l,n)}(_.plotOptions||{}).series=(0,a.merge)((_.plotOptions||{}).series,l);let Z=n();({compose:function(t,e,i,s){if((0,a.pushUnique)(G,"MarkerClusters")){let r=s.prototype.pointClass,{scatter:o}=s.types;(0,a.addEvent)(t,"setExtremes",N),(0,a.addEvent)(e,"render",F),(0,a.addEvent)(r,"drillToCluster",K),(0,a.addEvent)(r,"update",q),(0,a.addEvent)(s,"afterRender",W),o&&V(i,o)}}}).compose(Z.Axis,Z.Chart,Z.defaultOptions,Z.Series),({compose:function(t){(e=t.prototype.symbols).cluster=H}}).compose(Z.SVGRenderer);let B=n();return o.default})());
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LicenseRef-Highcharts
2
2
  /**
3
- * @license Highcharts JS v13.0.2 (2026-08-27)
3
+ * @license Highcharts JS v13.1.0 (2026-09-18)
4
4
  * @module highcharts/modules/marker-clusters
5
5
  * @requires highcharts
6
6
  *
@@ -61,48 +61,27 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
61
61
  /******/
62
62
  /************************************************************************/
63
63
  /******/ /* webpack/runtime/compat get default export */
64
- /******/ (() => {
65
- /******/ // getDefaultExport function for compatibility with non-harmony modules
66
- /******/ __webpack_require__.n = (module) => {
67
- /******/ const getter = module && module.__esModule ?
68
- /******/ () => (module['default']) :
69
- /******/ () => (module);
70
- /******/ __webpack_require__.d(getter, { a: getter });
71
- /******/ return getter;
72
- /******/ };
73
- /******/ })();
64
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
65
+ /******/ __webpack_require__.n = (module) => {
66
+ /******/ const getter = module && module.__esModule ?
67
+ /******/ () => (module['default']) :
68
+ /******/ () => (module);
69
+ /******/ __webpack_require__.d(getter, { a: getter });
70
+ /******/ return getter;
71
+ /******/ };
74
72
  /******/
75
73
  /******/ /* webpack/runtime/define property getters */
76
- /******/ (() => {
77
- /******/ // define getter/value functions for harmony exports
78
- /******/ __webpack_require__.d = (exports, definition) => {
79
- /******/ if(Array.isArray(definition)) {
80
- /******/ var i = 0;
81
- /******/ while(i < definition.length) {
82
- /******/ var key = definition[i++];
83
- /******/ var binding = definition[i++];
84
- /******/ if(!__webpack_require__.o(exports, key)) {
85
- /******/ if(binding === 0) {
86
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
87
- /******/ } else {
88
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
89
- /******/ }
90
- /******/ } else if(binding === 0) { i++; }
91
- /******/ }
92
- /******/ } else {
93
- /******/ for(var key in definition) {
94
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
95
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
96
- /******/ }
97
- /******/ }
74
+ /******/ // define getter/value functions for harmony exports
75
+ /******/ __webpack_require__.d = (exports, definition) => {
76
+ /******/ for(var key in definition) {
77
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
78
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
98
79
  /******/ }
99
- /******/ };
100
- /******/ })();
80
+ /******/ }
81
+ /******/ };
101
82
  /******/
102
83
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
103
- /******/ (() => {
104
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
105
- /******/ })();
84
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
106
85
  /******/
107
86
  /************************************************************************/
108
87
  let __webpack_exports__ = {};
@@ -672,13 +651,19 @@ const { setLength: DataTableCore_setLength, splice: DataTableCore_splice } = Dat
672
651
  class DataTableCore {
673
652
  constructor(options = {}) {
674
653
  this.isDataTable = true;
675
- this.autoId = !options.id;
654
+ // Reject IDs that would pollute the prototype of ID-keyed maps.
655
+ const id = this.isPollutingKey(options.id) ? void 0 : options.id;
656
+ this.autoId = !id;
676
657
  this.columns = {};
677
- this.id = (options.id || (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.uniqueKey)());
658
+ this.id = (id || (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.uniqueKey)());
678
659
  this.rowCount = 0;
679
660
  this.versionTag = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.uniqueKey)();
680
661
  let rowCount = 0;
681
662
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.objectEach)(options.columns || {}, (column, columnId) => {
663
+ if (columnId === '__proto__' ||
664
+ columnId === 'constructor') {
665
+ return;
666
+ }
682
667
  this.columns[columnId] = column.slice();
683
668
  rowCount = Math.max(rowCount, column.length);
684
669
  });
@@ -689,6 +674,17 @@ class DataTableCore {
689
674
  * Functions
690
675
  *
691
676
  * */
677
+ /**
678
+ * Checks whether a key would pollute the prototype if used to index a
679
+ * plain object (e.g. as a column ID or table ID).
680
+ *
681
+ * @private
682
+ * @param {string|undefined} key The key to check.
683
+ * @return {boolean} True if the key is unsafe to use.
684
+ */
685
+ isPollutingKey(key) {
686
+ return key === '__proto__' || key === 'constructor';
687
+ }
692
688
  /**
693
689
  * Applies a row count to the table by setting the `rowCount` property and
694
690
  * adjusting the length of all columns.
@@ -735,7 +731,7 @@ class DataTableCore {
735
731
  });
736
732
  this.rowCount = length;
737
733
  }
738
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.fireEvent)(this, 'afterDeleteRows', { rowIndex, rowCount });
734
+ ;(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.fireEvent)(this, 'afterDeleteRows', { rowIndex, rowCount });
739
735
  this.versionTag = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.uniqueKey)();
740
736
  }
741
737
  /**
@@ -847,6 +843,10 @@ class DataTableCore {
847
843
  setColumns(columns, rowIndex, eventDetail) {
848
844
  let rowCount = this.rowCount;
849
845
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.objectEach)(columns, (column, columnId) => {
846
+ if (columnId === '__proto__' ||
847
+ columnId === 'constructor') {
848
+ return;
849
+ }
850
850
  this.columns[columnId] = column.slice();
851
851
  rowCount = column.length;
852
852
  });
@@ -885,14 +885,17 @@ class DataTableCore {
885
885
  * @emits #afterSetRows
886
886
  */
887
887
  setRow(row, rowIndex = this.rowCount, insert, eventDetail) {
888
- var _a;
889
888
  const { columns } = this, indexRowCount = insert ? this.rowCount + 1 : rowIndex + 1, rowKeys = Object.keys(row);
890
889
  if (eventDetail?.addColumns !== false) {
891
890
  for (let i = 0, iEnd = rowKeys.length; i < iEnd; i++) {
892
- columns[_a = rowKeys[i]] || (columns[_a] = new Array(this.rowCount));
891
+ const rowKey = rowKeys[i];
892
+ if (!this.isPollutingKey(rowKey) &&
893
+ !Object.hasOwnProperty.call(columns, rowKey)) {
894
+ columns[rowKey] = new Array(this.rowCount);
895
+ }
893
896
  }
894
897
  }
895
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.objectEach)(columns, (column, columnId) => {
898
+ ;(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.objectEach)(columns, (column, columnId) => {
896
899
  if (column) {
897
900
  if (insert) {
898
901
  column = DataTableCore_splice(column, rowIndex, 0, true, [row[columnId]]).array;
@@ -1977,7 +1980,7 @@ function seriesIsValidGroupedDataObject(groupedData) {
1977
1980
  if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(groupedData)) {
1978
1981
  return false;
1979
1982
  }
1980
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.objectEach)(groupedData, (elem) => {
1983
+ ;(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.objectEach)(groupedData, (elem) => {
1981
1984
  result = true;
1982
1985
  if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isArray)(elem) || !elem.length) {
1983
1986
  result = false;
@@ -2175,7 +2178,7 @@ function onAxisSetExtremes() {
2175
2178
  0);
2176
2179
  }
2177
2180
  }
2178
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.syncTimeout)(() => {
2181
+ ;(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.syncTimeout)(() => {
2179
2182
  if (chart.tooltip) {
2180
2183
  chart.tooltip.destroy();
2181
2184
  }
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v13.0.2 (2026-08-27)
2
+ * Highcharts JS v13.1.0 (2026-09-18)
3
3
  * @module highcharts/modules/mouse-wheel-zoom
4
4
  * @requires highcharts
5
5
  *
@@ -10,4 +10,4 @@
10
10
  *
11
11
  * A commercial license may be required depending on use,
12
12
  * see www.highcharts.com/license
13
- */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/mouse-wheel-zoom",["highcharts/highcharts"],function(e){return t(e)}):"object"==typeof exports?exports["highcharts/modules/mouse-wheel-zoom"]=t(e._Highcharts):e.Highcharts=t(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";let t;var o={944(t){t.exports=e}};let r={};function i(e){let t=r[e];if(void 0!==t)return t.exports;let n=r[e]={exports:{}};return o[e](n,n.exports,i),n.exports}i.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{if(Array.isArray(t))for(var o=0;o<t.length;){var r=t[o++],n=t[o++];i.o(e,r)?0===n&&o++:0===n?Object.defineProperty(e,r,{enumerable:!0,value:t[o++]}):Object.defineProperty(e,r,{enumerable:!0,get:n})}else for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let n={};i.d(n,{default:()=>p});var s=i(944),l=i.n(s);let a={backgroundColor:"color",backgroundColors:"color",borderColor:"color",borderRadius:"string",color:"color",fill:"color",fontSize:"string",labels:"string",name:"string",stroke:"color",title:"string"},{getAssignedAxis:h}={annotationsFieldsTypes:a,getAssignedAxis:function(e){return e.filter(e=>{let t=e.axis.getExtremes(),o=t.min,r=t.max,i=e.axis.minPointOffset??0;return(0,s.isNumber)(o)&&(0,s.isNumber)(r)&&e.value>=o-i&&e.value<=r+i&&!e.axis.options.isInternal})[0]},getAxisFromOptions:function(e,t,o){return(0,s.isNumber)(o)?e[t][o]:(0,s.defined)(o)?(0,s.find)(e[t],e=>e.options.id===o):void 0},getFieldType:function(e,t){let o=a[e],r=typeof t;return(0,s.defined)(o)&&(r=o),({string:"text",number:"number",boolean:"checkbox",color:"color"})[r]}},u=[],d={enabled:!0,sensitivity:1.1,showResetButton:!1},c=function(e,o,r,i,n,l,a){let h=a.type??e.zooming.type??"",u=[];"x"===h?u=r:"y"===h?u=i:"xy"===h&&(u=e.axes);let d=e.transform({axes:u,to:{x:n-5,y:l-5,width:10,height:10},from:{x:n-5*o,y:l-5*o,width:10*o,height:10*o},trigger:"mousewheel",allowResetButton:a.showResetButton});return d&&((0,s.defined)(t)&&(0,s.internalClearTimeout)(t),t=setTimeout(()=>{e.pointer?.drop()},400)),d};function f(){var e;let t=(e=this.zooming.mouseWheel,(0,s.isObject)(e)||(e={enabled:e??!0}),(0,s.merge)(d,e));t.enabled&&(0,s.addEvent)(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:o}=this,r=o&&!o.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&r){let r=t.sensitivity||1.1,i=e.detail||(e.deltaY||0)/120,n=h(o.getCoordinates(e).xAxis),s=h(o.getCoordinates(e).yAxis);c(this,Math.pow(r,i),n?[n.axis]:this.xAxis,s?[s.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}let m=l();m.MouseWheelZoom=m.MouseWheelZoom||{compose:function(e){-1===u.indexOf(e)&&(u.push(e),(0,s.addEvent)(e,"afterGetContainer",f))}},m.MouseWheelZoom.compose(m.Chart);let p=l();return n.default})());
13
+ */function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/mouse-wheel-zoom",["highcharts/highcharts"],function(e){return t(e)}):"object"==typeof exports?exports["highcharts/modules/mouse-wheel-zoom"]=t(e._Highcharts):e.Highcharts=t(e.Highcharts)}("u"<typeof window?this:window,e=>(()=>{"use strict";let t;var o={944(t){t.exports=e}};let i={};function r(e){let t=i[e];if(void 0!==t)return t.exports;let s=i[e]={exports:{}};return o[e](s,s.exports,r),s.exports}r.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let s={};r.d(s,{default:()=>p});var n=r(944),l=r.n(n);let a={backgroundColor:"color",backgroundColors:"color",borderColor:"color",borderRadius:"string",color:"color",fill:"color",fontSize:"string",labels:"string",name:"string",stroke:"color",title:"string"},{getAssignedAxis:h}={annotationsFieldsTypes:a,getAssignedAxis:function(e){return e.filter(e=>{let t=e.axis.getExtremes(),o=t.min,i=t.max,r=e.axis.minPointOffset??0;return(0,n.isNumber)(o)&&(0,n.isNumber)(i)&&e.value>=o-r&&e.value<=i+r&&!e.axis.options.isInternal})[0]},getAxisFromOptions:function(e,t,o){return(0,n.isNumber)(o)?e[t][o]:(0,n.defined)(o)?(0,n.find)(e[t],e=>e.options.id===o):void 0},getFieldType:function(e,t){let o=a[e],i=typeof t;return(0,n.defined)(o)&&(i=o),({string:"text",number:"number",boolean:"checkbox",color:"color"})[i]}},u=[],d={enabled:!0,sensitivity:1.1,showResetButton:!1},c=function(e,o,i,r,s,l,a){let h=a.type??e.zooming.type??"",u=[];"x"===h?u=i:"y"===h?u=r:"xy"===h&&(u=e.axes);let d=e.transform({axes:u,to:{x:s-5,y:l-5,width:10,height:10},from:{x:s-5*o,y:l-5*o,width:10*o,height:10*o},trigger:"mousewheel",allowResetButton:a.showResetButton});return d&&((0,n.defined)(t)&&(0,n.internalClearTimeout)(t),t=setTimeout(()=>{e.pointer?.drop()},400)),d};function f(){var e;let t=(e=this.zooming.mouseWheel,(0,n.isObject)(e)||(e={enabled:e??!0}),(0,n.merge)(d,e));t.enabled&&(0,n.addEvent)(this.container,"wheel",e=>{e=this.pointer?.normalize(e)||e;let{pointer:o}=this,i=o&&!o.inClass(e.target,"highcharts-no-mousewheel");if(this.isInsidePlot(e.chartX-this.plotLeft,e.chartY-this.plotTop)&&i){let i=t.sensitivity||1.1,r=e.detail||(e.deltaY||0)/120,s=h(o.getCoordinates(e).xAxis),n=h(o.getCoordinates(e).yAxis);c(this,Math.pow(i,r),s?[s.axis]:this.xAxis,n?[n.axis]:this.yAxis,e.chartX,e.chartY,t)&&e.preventDefault?.()}})}let m=l();m.MouseWheelZoom=m.MouseWheelZoom||{compose:function(e){-1===u.indexOf(e)&&(u.push(e),(0,n.addEvent)(e,"afterGetContainer",f))}},m.MouseWheelZoom.compose(m.Chart);let p=l();return s.default})());
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LicenseRef-Highcharts
2
2
  /**
3
- * @license Highcharts JS v13.0.2 (2026-08-27)
3
+ * @license Highcharts JS v13.1.0 (2026-09-18)
4
4
  * @module highcharts/modules/mouse-wheel-zoom
5
5
  * @requires highcharts
6
6
  *
@@ -61,48 +61,27 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
61
61
  /******/
62
62
  /************************************************************************/
63
63
  /******/ /* webpack/runtime/compat get default export */
64
- /******/ (() => {
65
- /******/ // getDefaultExport function for compatibility with non-harmony modules
66
- /******/ __webpack_require__.n = (module) => {
67
- /******/ const getter = module && module.__esModule ?
68
- /******/ () => (module['default']) :
69
- /******/ () => (module);
70
- /******/ __webpack_require__.d(getter, { a: getter });
71
- /******/ return getter;
72
- /******/ };
73
- /******/ })();
64
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
65
+ /******/ __webpack_require__.n = (module) => {
66
+ /******/ const getter = module && module.__esModule ?
67
+ /******/ () => (module['default']) :
68
+ /******/ () => (module);
69
+ /******/ __webpack_require__.d(getter, { a: getter });
70
+ /******/ return getter;
71
+ /******/ };
74
72
  /******/
75
73
  /******/ /* webpack/runtime/define property getters */
76
- /******/ (() => {
77
- /******/ // define getter/value functions for harmony exports
78
- /******/ __webpack_require__.d = (exports, definition) => {
79
- /******/ if(Array.isArray(definition)) {
80
- /******/ var i = 0;
81
- /******/ while(i < definition.length) {
82
- /******/ var key = definition[i++];
83
- /******/ var binding = definition[i++];
84
- /******/ if(!__webpack_require__.o(exports, key)) {
85
- /******/ if(binding === 0) {
86
- /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
87
- /******/ } else {
88
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
89
- /******/ }
90
- /******/ } else if(binding === 0) { i++; }
91
- /******/ }
92
- /******/ } else {
93
- /******/ for(var key in definition) {
94
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
95
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
96
- /******/ }
97
- /******/ }
74
+ /******/ // define getter/value functions for harmony exports
75
+ /******/ __webpack_require__.d = (exports, definition) => {
76
+ /******/ for(var key in definition) {
77
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
78
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
98
79
  /******/ }
99
- /******/ };
100
- /******/ })();
80
+ /******/ }
81
+ /******/ };
101
82
  /******/
102
83
  /******/ /* webpack/runtime/hasOwnProperty shorthand */
103
- /******/ (() => {
104
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
105
- /******/ })();
84
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop));
106
85
  /******/
107
86
  /************************************************************************/
108
87
  let __webpack_exports__ = {};
@@ -1,5 +1,5 @@
1
1
  !/**
2
- * Highcharts JS v13.0.2 (2026-08-27)
2
+ * Highcharts JS v13.1.0 (2026-09-18)
3
3
  * @module highcharts/modules/navigator
4
4
  * @requires highcharts
5
5
  *
@@ -10,4 +10,4 @@
10
10
  *
11
11
  * A commercial license may be required depending on use,
12
12
  * see www.highcharts.com/license
13
- */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):"function"==typeof define&&define.amd?define("highcharts/modules/navigator",["highcharts/highcharts"],function(t){return e(t,t.Chart,t.Axis,t.SeriesRegistry,t.SVGRenderer)}):"object"==typeof exports?exports["highcharts/modules/navigator"]=e(t._Highcharts,t._Highcharts.Chart,t._Highcharts.Axis,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):t.Highcharts=e(t.Highcharts,t.Highcharts.Chart,t.Highcharts.Axis,t.Highcharts.SeriesRegistry,t.Highcharts.SVGRenderer)}("u"<typeof window?this:window,(t,e,i,s,a)=>(()=>{"use strict";let r;var o,n={532(t){t.exports=i},960(t){t.exports=e},540(t){t.exports=a},512(t){t.exports=s},944(e){e.exports=t}};let h={};function d(t){let e=h[t];if(void 0!==e)return e.exports;let i=h[t]={exports:{}};return n[t](i,i.exports,d),i.exports}d.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{if(Array.isArray(e))for(var i=0;i<e.length;){var s=e[i++],a=e[i++];d.o(t,s)?0===a&&i++:0===a?Object.defineProperty(t,s,{enumerable:!0,value:e[i++]}):Object.defineProperty(t,s,{enumerable:!0,get:a})}else for(var s in e)d.o(e,s)&&!d.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let l={};d.d(l,{default:()=>ta});var c=d(944),g=d.n(c),x=d(960),p=d.n(x),u=d(532),v=d.n(u);let{isTouchDevice:m}=g(),b=[];function f(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function M(){let t,e,i,s=this.legend,a=this.navigator;if(a){t=s&&s.options,e=a.xAxis,i=a.yAxis;let{scrollbarHeight:r,scrollButtonSize:o}=a;this.inverted?(a.left=a.opposite?this.chartWidth-r-a.height:this.spacing[3]+r,a.top=this.plotTop+o):(a.left=e.left??this.plotLeft+o,a.top=a.navigatorOptions.top||this.chartHeight-a.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+(t.margin??10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=a.left:e.options.top=i.options.top=a.top,e.setAxisSize(),i.setAxisSize())}}function E(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this),(t.redraw??!0)&&this.redraw(t.animation))}function A(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function y(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!m&&"x"===this.zooming.type||m&&"x"===this.zooming.pinchType))return!1}function w(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function k(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&((0,c.merge)(!0,this.options.navigator,e),(0,c.merge)(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let O=function(t,e){if((0,c.pushUnique)(b,t)){let i=t.prototype;r=e,i.callbacks.push(w),(0,c.addEvent)(t,"afterAddSeries",f),(0,c.addEvent)(t,"afterSetChartSize",M),(0,c.addEvent)(t,"afterUpdate",E),(0,c.addEvent)(t,"beforeRender",A),(0,c.addEvent)(t,"beforeShowResetZoom",y),(0,c.addEvent)(t,"update",k)}},{isTouchDevice:S}=g();function z(){this.navigatorAxis||(this.navigatorAxis=new D(this))}function T(t){let e,i=this.chart,s=i.options,a=s.navigator,r=this.navigatorAxis,o=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(a?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||S&&"xy"===o)&&this.options.range){let e=r.previousZoom;(0,c.defined)(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class D{static compose(t){t.keepProps.includes("navigatorAxis")||(t.keepProps.push("navigatorAxis"),(0,c.addEvent)(t,"init",z),(0,c.addEvent)(t,"setExtremes",T))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let a=this.axis,r=(a.pointRange||0)/2,o=i??a.translate(t,!0,!a.horiz),n=s??a.translate(e,!0,!a.horiz);return(0,c.defined)(i)||(o=(0,c.correctFloat)(o+r)),(0,c.defined)(s)||(n=(0,c.correctFloat)(n-r)),(0,c.isNumber)(o)&&(0,c.isNumber)(n)||(o=n=void 0),{min:o,max:n}}}var R=d(512);let{seriesTypes:B}=d.n(R)(),P={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"var(--highcharts-neutral-color-5)",borderColor:"var(--highcharts-neutral-color-40)"},maskFill:"color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)",outlineColor:"var(--highcharts-neutral-color-40)",outlineWidth:1,series:{type:void 0===B.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"var(--highcharts-neutral-color-10)",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"var(--highcharts-neutral-color-100)",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},{defaultOptions:C}=g(),{noop:H}=g(),L={radius:0,scope:"stack",where:void 0},W={"navigator-handle":function(t,e,i,s,a={}){var r,o,n,h,d,l;let g=a.width?a.width/2:i,x=(0,c.relativeLength)((r=a.borderRadius,!(0,c.isObject)(r)&&(r={radius:r||0}),(0,c.merge)(L,void 0,r)).radius,Math.min(2*g,s));return[["M",-1.5,(s=a.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...(o=-g-1,n=.5,h=2*g+1,d=s,l={r:x},l?.r?function(t,e,i,s,a){let r=a?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(o,.5,h,d,l):[["M",o,.5],["L",o+h,.5],["L",o+h,.5+d],["L",o,.5+d],["Z"]])]}};var N=d(540),U=d.n(N);let{defaultOptions:I}=g(),{composed:F}=g(),{setFixedRange:X}={setFixedRange:function(t){let e=this.xAxis[0];(0,c.defined)(e.dataMax)&&(0,c.defined)(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function G(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let Y=function(t,e,i){D.compose(e),(0,c.pushUnique)(F,"Navigator")&&(t.prototype.setFixedRange=X,(0,c.extend)(U().prototype.symbols,W),(0,c.extend)(I,{navigator:P}),(0,c.addEvent)(i,"afterUpdate",G))},{composed:_}=g();!function(t){let e;function i(t){let e=t.options?.min??t.min,i=t.options?.max??t.max;return{axisMin:e,axisMax:i,scrollMin:(0,c.defined)(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??((0,c.defined)(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function a(){let t=this;t.options?.scrollbar?.enabled&&(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),(0,c.addEvent)(t.scrollbar,"changed",function(e){let s,a,{axisMin:r,axisMax:o,scrollMin:n,scrollMax:h}=i(t),d=t.toPixels(n),l=t.toPixels(h)-d;if((0,c.defined)(r)&&(0,c.defined)(o))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=Math.min(h,t.toValue(d+l*this.to)),a=Math.max(n,t.toValue(d+l*this.from))):(s=Math.min(h,t.toValue(d+l*(1-this.from))),a=Math.max(n,t.toValue(d+l*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes((0,c.correctFloat)(a),(0,c.correctFloat)(s),!0,i,e)}else this.setRange(this.from,this.to)}))}function r(){let t,e,s,{scrollMin:a,scrollMax:r}=i(this),o=this.scrollbar,n=(this.axisTitleMargin||0)+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(o&&h){if(this.horiz)this.opposite||(h[1]+=n),o.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=n),e=o.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,o.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}if(h[t]+=o.size+(o.options.margin||0),isNaN(a)||isNaN(r)||!(0,c.defined)(this.min)||!(0,c.defined)(this.max)||(0,c.defined)(this.dataMin)&&this.dataMin===this.dataMax)o.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),o.setRange(e,s)}else e=(this.toPixels(this.min)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),s=(this.toPixels(this.max)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,s):o.setRange(1-s,1-e)}}t.compose=function(t,i){(0,c.pushUnique)(_,"Axis.Scrollbar")&&(e=i,(0,c.addEvent)(t,"afterGetOffset",s),(0,c.addEvent)(t,"afterInit",a),(0,c.addEvent)(t,"afterRender",r))}}(o||(o={}));let V=o,j={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"var(--highcharts-neutral-color-20)",barBorderWidth:0,barBorderColor:"var(--highcharts-neutral-color-20)",buttonArrowColor:"var(--highcharts-neutral-color-80)",buttonBackgroundColor:"var(--highcharts-neutral-color-10)",buttonBorderColor:"var(--highcharts-neutral-color-20)",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"var(--highcharts-neutral-color-20)",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:Z}=g(),{composed:q}=g();class ${static compose(t){V.compose(t,$),(0,c.pushUnique)(q,"Scrollbar")&&(0,c.extend)(Z,{scrollbar:j})}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,a=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),o=this.mouseUpHandler.bind(this),n=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",a],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",o],[i,"touchstart",a],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",o]];n.forEach(function(t){c.addEvent.apply(null,t)}),this._events=n}buttonToMaxClick(t){let e=(this.to-this.from)*(this.options.step??.2);this.updatePosition(this.from+e,this.to+e),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=(0,c.correctFloat)(this.to-this.from)*(this.options.step??.2);this.updatePosition((0,c.correctFloat)(this.from-e),(0,c.correctFloat)(this.to-e)),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,(0,c.destroyObjectProperties)(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,a=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:a,height:a,r:s.buttonBorderRadius},o.strokeWidth()));let n=e.path($.swapXY([["M",a/2+(t?-1:1),a/2-3],["L",a/2+(t?-1:1),a/2+3],["L",a/2+(t?2:-2),a/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=(0,c.merge)(j,Z.scrollbar,e),this.options.margin=this.options.margin??10,this.chart=i,this.size=this.options.size??this.options.height,e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",a=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(a[0]+e,a[1]+e),this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:a,margin:r=0,vertical:o}=this.options,n=this.rendered?"animate":"attr",h=s,d=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=d,o?(this.width=this.yOffset=i=d=this.size,this.xOffset=h=0,this.yOffset=d=a?this.size:0,this.barWidth=s-(a?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=a?this.size:0,this.barWidth=i-(a?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:o?0:i-h,translateY:o?s-d:0})}removeEvents(){this._events.forEach(function(t){c.removeEvent.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,a=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=a,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(a),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-(0,c.crisp)(0,r),y:-(0,c.crisp)(0,r)}),this.scrollbarGroup=t.g().add(a),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path($.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-(0,c.crisp)(0,this.scrollbarStrokeWidth),-(0,c.crisp)(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,a=this.options,r=a.vertical,o=a.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!(0,c.defined)(n))return;let d=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=(0,c.correctFloat)(d-i),s<o&&(i=(n-o+s)*t,s=o);let l=Math.floor(i+this.xOffset+this.yOffset),g=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[h]({translateY:l}),this.scrollbar[h]({height:s}),this.scrollbarRifles[h]({translateY:g}),this.scrollbarTop=l,this.scrollbarLeft=0):(this.scrollbarGroup[h]({translateX:l}),this.scrollbar[h]({width:s}),this.scrollbarRifles[h]({translateX:g}),this.scrollbarLeft=l,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===a.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return(this.options.liveRedraw??(g().svg&&!g().isTouchDevice&&!this.chart.boosted))||"mouseup"===t||"touchend"===t||!(0,c.defined)(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,a=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>a?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,(0,c.merge)(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=(0,c.correctFloat)(1-(0,c.correctFloat)(e-t)),e=1),t<0&&(e=(0,c.correctFloat)(e-t),t=0),this.from=t,this.to=e}}$.defaultOptions=j;let{defaultOptions:J}=g(),{isTouchDevice:K}=g();function Q(t,...e){let i=[].filter.call(e,c.isNumber);if(i.length)return Math[t].apply(0,i)}class tt{static compose(t,e,i){O(t,tt),Y(t,e,i)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let a=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})}drawOutline(t,e,i,s){let a=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),o=r/2,n=r%2/2,h=this.scrollButtonSize,d=this.size,l=this.top,c=this.height,g=l-o,x=l+c,p=this.left,u,v;i?(u=l+e+n,e=l+t+n,v=[["M",p+c,l-h-n],["L",p+c,u],["L",p,u],["M",p,e],["L",p+c,e],["L",p+c,l+d+h]],a&&v.push(["M",p+c,u-o],["L",p+c,e+o])):(p-=h,t+=p+h-n,e+=p+h-n,v=[["M",p,g],["L",t,g],["L",t,x],["M",e,x],["L",e,g],["L",p+d+2*h,g]],a&&v.push(["M",t-o,g],["L",e+o,g])),this.outline[s]({d:v})}drawMasks(t,e,i,s){let a,r,o,n,h=this.left,d=this.top,l=this.height;i?(o=[h,h,h],n=[d,d+t,d+e],r=[l,l,l],a=[t,e-t,this.size-e]):(o=[h,h+t,h+e],n=[d,d,d],r=[t,e-t,this.size-e],a=[l,l,l]),this.shades.forEach((t,e)=>{t[s]({x:o[e],y:n[e],width:r[e],height:a[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,a=s.inverted,r=s.renderer,o={cursor:a?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,a)=>{let h=t.shades[a]??(t.shades[a]=r.rect().addClass("highcharts-navigator-mask"+(1===a?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===a&&h.css(o))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=!1,a=e.handles,{height:h,width:d}=a;[0,1].forEach(e=>{let l=a.symbols[e];(i=i||t.handles[e]?.symbolName!==l)&&(t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-d/2-1,0,d,h,a),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n)),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-d/2),rotationOriginY:(h+d)/2}),s.styledMode||t.handles[e].attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.lineWidth,width:a.width,height:a.height,x:-d/2-1,y:0}).css(o)}),i&&(t.partsEventsToUnbind?.forEach(t=>{t()}),t.partsEventsToUnbind=[...t.getPartsEvents("mousedown"),...t.getPartsEvents("touchstart")])}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if((0,c.merge)(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),(0,c.defined)(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push((0,c.addEvent)(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let a=this.chart,r=this.xAxis,o=r.pointRange||0,n=r.navigatorAxis.fake?a.xAxis[0]:r,h=this.navigatorEnabled,d=this.rendered,l=a.inverted,g=a.xAxis[0].minRange,x=a.xAxis[0].options.maxRange,p=this.scrollButtonSize,u,v,m,b=this.scrollbarHeight,f,M;if(this.hasDragged&&!(0,c.defined)(i))return;if(this.isDirty&&this.renderElements(),t=(0,c.correctFloat)(t-o/2),e=(0,c.correctFloat)(e+o/2),!(0,c.isNumber)(t)||!(0,c.isNumber)(e))if(!d)return;else i=0,s=r.width??n.width;this.left=r.left??a.plotLeft+p+(l?a.plotWidth:0);let E=this.size=f=r.len??(l?a.plotHeight:a.plotWidth)-2*p;u=l?b:f+2*p,i=i??r.toPixels(t,!0),s=s??r.toPixels(e,!0),(0,c.isNumber)(i)&&Math.abs(i)!==1/0||(i=0,s=u);let A=r.toValue(i,!0),y=r.toValue(s,!0),w=Math.abs((0,c.correctFloat)(y-A));(0,c.defined)(g)&&w<g?this.grabbedLeft?i=r.toPixels(y-g-o,!0):this.grabbedRight&&(s=r.toPixels(A+g+o,!0)):(0,c.defined)(x)&&(0,c.correctFloat)(w-o)>x&&(this.grabbedLeft?i=r.toPixels(y-x-o,!0):this.grabbedRight&&(s=r.toPixels(A+x+o,!0))),this.zoomedMax=(0,c.clamp)(Math.max(i,s),0,E),this.zoomedMin=(0,c.clamp)(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,E),this.range=this.zoomedMax-this.zoomedMin,E=Math.round(this.zoomedMax);let k=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),M=d&&!this.hasDragged?"animate":"attr",this.drawMasks(k,E,l,M),this.drawOutline(k,E,l,M),this.navigatorOptions.handles?.enabled&&(this.drawHandle(k,0,l,M),this.drawHandle(E,1,l,M))),this.scrollbar&&(l?(m=this.top-p,v=this.left-b+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),b=f+2*p):(m=this.top+(h?this.height:-b),v=this.left-p),this.scrollbar.position(v,m,u,b),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1))),this.rendered=!0,this.isDirty=!1,(0,c.fireEvent)(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,a=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},r.push((0,c.addEvent)(s.renderTo,"mousemove",t),(0,c.addEvent)(a.ownerDocument,"mouseup",e),(0,c.addEvent)(s.renderTo,"touchmove",t),(0,c.addEvent)(a.ownerDocument,"touchend",e)),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push((0,c.addEvent)(i.series[0].xAxis,"foundExtremes",function(){s.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(s=>{e[s].forEach(function(a,r){i.push((0,c.addEvent)(a.element,t,function(t){e[`${s}Mousedown`](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,a=this.zoomedMin,r=this.size,o=this.range,n=this.left,h=t.chartX,d,l,g,x;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=o,this.dragOffset=h-a):(x=h-n-o/2,0===e?x=Math.max(0,x):2===e&&x+o>=r&&(x=r-o,this.reversedExtremes?(x-=o,l=this.getUnionExtremes()?.dataMin):d=this.getUnionExtremes()?.dataMax),x!==a&&(this.fixedWidth=o,g=s.navigatorAxis.toFixedRange(x,x+o,l,d),(0,c.defined)(g.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(g.min,g.max),max:Math.max(g.min,g.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],a=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,a=e.range,r=e.dragOffset,o=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,o&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&r&&(e.hasDragged=!0,h<r?h=r:h>s+r-a&&(h=s+r-a),e.render(0,0,h-r,h-r+a)),e.hasDragged&&(e.scrollbarOptions?.liveRedraw??(!K&&!this.chart.boosted))&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,a,r,o,n=this.chart,h=this.xAxis,d=this.scrollbar,l=t.DOMEvent||t,g=n.inverted,x=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?a=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?s.dataMax:s.dataMin),o=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,r),(0,c.defined)(o.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:l}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&(0,c.isNumber)(this.zoomedMin)&&(0,c.isNumber)(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,g,x),this.outline&&this.drawOutline(i,e,g,x),this.navigatorOptions.handles?.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,g,x),this.drawHandle(e,1,g,x)))}removeEvents(){this.eventsToUnbind?.forEach(t=>{t()}),this.eventsToUnbind=void 0,this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&(0,c.removeEvent)(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,a=e.scrollbar||{},r=a.enabled,o=s&&i.height||0,n=r&&a.height||0,h=a.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=o,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=a,this.setOpposite();let d=this,l=d.baseSeries,g=t.xAxis.length,x=t.yAxis.length,p=l&&l[0]&&l[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,d.navigatorEnabled){let e=this.getXAxisOffsets();d.xAxis=new(v())(t,(0,c.merge)({breaks:p.options.breaks,ordinal:p.options.ordinal,overscroll:p.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:p.options.ordinal?0:p.options.minPadding,maxPadding:p.options.ordinal?0:p.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:o}:{offsets:e,height:o}),"xAxis"),d.yAxis=new(v())(t,(0,c.merge)(i.yAxis,{alignTicks:!1,offset:0,index:x,isInternal:!0,reversed:(i.yAxis&&i.yAxis.reversed)??(t.yAxis[0]&&t.yAxis[0].reversed)??!1,zoomEnabled:!1},t.inverted?{width:o}:{height:o}),"yAxis"),d.xAxis.clippable=!1,d.yAxis.clippable=!1,l||i.series?.data||i.series?.dataTable?d.updateNavigatorSeries(!1):0===t.series.length&&(d.unbindRedraw=(0,c.addEvent)(t,"beforeRedraw",function(){t.series.length>0&&!d.series&&(d.setBaseSeries(),d.unbindRedraw?.())})),d.reversedExtremes=t.inverted&&!d.xAxis.reversed||!t.inverted&&d.xAxis.reversed,d.renderElements(),d.addMouseEvents()}else d.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],a=s.getExtremes(),r=s.len-2*h,o=Q("min",s.options.min,a.dataMin),n=Q("max",s.options.max,a.dataMax)-o;return i?e*n/r+o:r*(e-o)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},d.xAxis.navigatorAxis.axis=d.xAxis,d.xAxis.navigatorAxis.toFixedRange=D.prototype.toFixedRange.bind(d.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=(0,c.merge)(t.options.scrollbar,{vertical:t.inverted});(0,c.isNumber)(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=d.scrollbar=new $(t.renderer,e,t),(0,c.addEvent)(d.scrollbar,"changed",function(t){let e=d.size,i=e*this.to,s=e*this.from;d.hasDragged=d.scrollbar?.hasDragged,d.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){d.onMouseUp(t)})})}d.addBaseSeriesEvents(),d.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=t.opposite??!!(!e&&i.inverted)}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,a=this.xAxis,r=a.options,o=i.options;return t&&null===i.dataMin||(e={dataMin:s.parse(r?.min)??Q("min",s.parse(o.min),i.dataMin,a.dataMin,a.min),dataMax:s.parse(r?.max)??Q("max",s.parse(o.max),i.dataMax,a.dataMax,a.max)}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?(0,c.find)(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,a=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},o=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>a.indexOf(e))||(e&&((0,c.removeEvent)(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,d=i.navigatorOptions.series,l;if(a&&a.length&&a.forEach(t=>{let g=t.navigatorSeries,x=(0,c.extend)({color:t.color,visible:t.visible},(0,c.isArray)(d)?J.navigator.series:d);if(g&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+a.length,l=(n=t.options||{}).navigatorOptions||{},x.dataLabels=(0,c.splat)(x.dataLabels),(h=(0,c.merge)(n,r,x,l)).pointRange=x.pointRange??l.pointRange??J.plotOptions[h.type||"line"]?.pointRange;let p=l.data||x.data,u=l.dataTable||x.dataTable;i.hasNavigatorData=i.hasNavigatorData||!!p||!!u,h.data=p||n.data?.slice(0),h.dataTable=u||n.dataTable,g&&g.options?g.update(h,e):(t.navigatorSeries=s.initSeries(h),(0,c.fireEvent)(t.navigatorSeries,"afterUpdate"),t.navigatorSeries.baseSeries=t,o.push(t.navigatorSeries))}),(d?.data||d?.dataTable)&&!(a&&a.length)||(0,c.isArray)(d)){let t=s.options.colors||[];i.hasNavigatorData=!1,(d=(0,c.splat)(d)).forEach((e,a)=>{r.name="Navigator "+(o.length+1),(h=(0,c.merge)(J.navigator?.series,{color:s.series[a]&&!s.series[a].options.isInternal&&s.series[a].color||t[a]||t[0]},r,e)).data=e.data,h.dataTable=e.dataTable,(h.data||h.dataTable)&&(i.hasNavigatorData=!0,o.push(s.initSeries(h)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push((0,c.addEvent)(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push((0,c.addEvent)(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push((0,c.addEvent)(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push((0,c.addEvent)(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push((0,c.addEvent)(i,"remove",function(){e&&(0,c.erase)(e,i),this.navigatorSeries&&t.series&&((0,c.erase)(t.series,this.navigatorSeries),(0,c.defined)(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),a=s.min,r=s.max,o=s.dataMin,n=s.dataMax,h=r-a,d=i?.stickToMin,l=i?.stickToMax,g=this.ordinal?.convertOverscroll(this.options.overscroll)??0,x=i.series&&i.series[0],p=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(d&&(t=(e=o)+h),l&&(t=n+g,d||(e=Math.max(o,t-h,i.getBaseSeriesMin(x&&x.xData?x.xData[0]:-Number.MAX_VALUE)))),p&&(d||l)&&(0,c.isNumber)(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=(this.chart.options.navigator&&this.chart.options.navigator.stickToMax)??i,t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data||this.options.dataTable,!1,void 0,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,a=s.max,r=s.min,o=s.options.range;return!!((0,c.isNumber)(a)&&(0,c.isNumber)(r))&&(o&&a-i>0?a-i<o:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push((0,c.addEvent)(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),(0,c.addEvent)(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.height+(this.scrollbar?.options.margin||0)+t.scrollbarHeight:0)+(t.navigatorOptions.margin||0)}),(0,c.addEvent)(this,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&((0,c.erase)(this.chart.xAxis,this.xAxis),(0,c.erase)(this.chart.axes,this.xAxis)),this.yAxis&&((0,c.erase)(this.chart.yAxis,this.yAxis),(0,c.erase)(this.chart.axes,this.yAxis)),(this.series||[]).forEach(t=>{t.destroy&&t.destroy()}),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{(0,c.destroyObjectProperties)(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}}let te={chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}};class ti{static navigator(t,e){let i=new ti(t,e);return g().navigators?g().navigators.push(i):g().navigators=[i],i}constructor(t,e){this.boundAxes=[],this.userOptions=e,this.chartOptions=(0,c.merge)(g().getOptions(),te,e.chart,{navigator:e}),this.chartOptions.chart&&e.height&&(this.chartOptions.chart.height=e.height);const i=new(p())(t,this.chartOptions);i.options=(0,c.merge)(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new tt(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof p()?t.xAxis[0]:t;if(!(s instanceof v()))return;let a=this.navigator,{min:r,max:o}=a.xAxis,n=[];if(e){let t=(0,c.addEvent)(s,"setExtremes",t=>{("pan"===t.trigger||"zoom"===t.trigger||"mousewheel"===t.trigger||"rangeSelectorButton"===t.trigger||"rangeSelectorInput"===t.trigger)&&i.setRange(t.min,t.max,!0,"pan"!==t.trigger&&"mousewheel"!==t.trigger,{trigger:s})});n.push(t)}let h=(0,c.addEvent)(a,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});n.push(h);let d=this.boundAxes.filter(function(t){return t.axis===s})[0];if(d||(d={axis:s,callbacks:[]},"yAxis"===s.coll&&(d.oldMin=s.options.min??s.min,d.oldMax=s.options.max??s.max),this.boundAxes.push(d)),d.callbacks=n,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),"yAxis"===s.coll){let{dataMin:t,dataMax:e}=a.xAxis.getExtremes();s.update({min:t,max:e},!1)}s.setExtremes(r,o),(0,c.addEvent)(s,"destroy",t=>{t.keepEvents||this.unbind(s)})}unbind(t,e){if(!t){this.boundAxes.forEach(t=>{this.releaseAxis(t,e)}),this.boundAxes.length=0;return}let i=t instanceof v()?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===i&&(this.releaseAxis(this.boundAxes[t],e),this.boundAxes.splice(t,1))}releaseAxis(t,e=!1){if(t.callbacks.forEach(t=>t()),"yAxis"===t.axis.coll&&e){let e=t.oldMin??void 0,i=t.oldMax??void 0;t.axis.update({min:e,max:i},!1),t.axis.setExtremes(e,i)}}destroy(t){this.boundAxes.forEach(e=>{this.releaseAxis(e,t)}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){this.chartOptions=(0,c.merge)(this.chartOptions,t.height&&{chart:{height:t.height}},t.chart,{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries((0,c.merge)(t,{showInNavigator:t.showInNavigator??!0})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});let{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){let{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:a,max:r}=this.navigator.xAxis.getExtremes();return{min:t??a,max:e??r,dataMin:a,dataMax:r,userMin:i,userMax:s}}setRange(t,e,i,s,a){(0,c.fireEvent)(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:(0,c.merge)(a,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}}let ts=g();ts.StandaloneNavigator=ts.StandaloneNavigator||ti,ts.navigator=ts.StandaloneNavigator.navigator,Y(ts.Chart,ts.Axis,ts.Series);let ta=g();return l.default})());
13
+ */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts.Axis,t._Highcharts.Chart,t._Highcharts.SVGRenderer,t._Highcharts.SeriesRegistry,t._Highcharts):"function"==typeof define&&define.amd?define("highcharts/modules/navigator",["highcharts/highcharts"],function(t){return e(t.Axis,t.Chart,t.SVGRenderer,t.SeriesRegistry,t)}):"object"==typeof exports?exports["highcharts/modules/navigator"]=e(t._Highcharts.Axis,t._Highcharts.Chart,t._Highcharts.SVGRenderer,t._Highcharts.SeriesRegistry,t._Highcharts):t.Highcharts=e(t.Highcharts.Axis,t.Highcharts.Chart,t.Highcharts.SVGRenderer,t.Highcharts.SeriesRegistry,t.Highcharts)}("u"<typeof window?this:window,(t,e,i,s,a)=>(()=>{"use strict";let r;var o,n={532(e){e.exports=t},960(t){t.exports=e},540(t){t.exports=i},512(t){t.exports=s},944(t){t.exports=a}};let h={};function d(t){let e=h[t];if(void 0!==e)return e.exports;let i=h[t]={exports:{}};return n[t](i,i.exports,d),i.exports}d.n=t=>{let e=t&&t.__esModule?()=>t.default:()=>t;return d.d(e,{a:e}),e},d.d=(t,e)=>{for(var i in e)d.o(e,i)&&!d.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},d.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let l={};d.d(l,{default:()=>to});var c=d(944),g=d.n(c),p=d(960),x=d.n(p),u=d(532),v=d.n(u);let{isTouchDevice:m}=g(),b=[];function f(){this.navigator&&this.navigator.setBaseSeries(void 0,!1)}function M(){let t,e,i,s=this.legend,a=this.navigator;if(a){t=s&&s.options,e=a.xAxis,i=a.yAxis;let{scrollbarHeight:r,scrollButtonSize:o}=a;this.inverted?(a.left=a.opposite?this.chartWidth-r-a.height:this.spacing[3]+r,a.top=this.plotTop+o):(a.left=e.left??this.plotLeft+o,a.top=a.navigatorOptions.top||this.chartHeight-a.height-r-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(t&&"bottom"===t.verticalAlign&&"proximate"!==t.layout&&t.enabled&&!t.floating?s.legendHeight+(t.margin??10):0)-(this.titleOffset?this.titleOffset[2]:0)),e&&i&&(this.inverted?e.options.left=i.options.left=a.left:e.options.top=i.options.top=a.top,e.setAxisSize(),i.setAxisSize())}}function E(t){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this),(t.redraw??!0)&&this.redraw(t.animation))}function A(){let t=this.options;(t.navigator.enabled||t.scrollbar.enabled)&&(this.scroller=this.navigator=new r(this))}function y(){let t=this.options,e=t.navigator,i=t.rangeSelector;if((e&&e.enabled||i&&i.enabled)&&(!m&&"x"===this.zooming.type||m&&"x"===this.zooming.pinchType))return!1}function O(t){let e=t.navigator;if(e&&t.xAxis[0]){let i=t.xAxis[0].getExtremes();e.render(i.min,i.max)}}function w(t){let e=t.options.navigator||{},i=t.options.scrollbar||{};!this.navigator&&!this.scroller&&(e.enabled||i.enabled)&&((0,c.merge)(!0,this.options.navigator,e),(0,c.merge)(!0,this.options.scrollbar,i),delete t.options.navigator,delete t.options.scrollbar)}let S=function(t,e){if((0,c.pushUnique)(b,t)){let i=t.prototype;r=e,i.callbacks.push(O),(0,c.addEvent)(t,"afterAddSeries",f),(0,c.addEvent)(t,"afterDrillUp",f),(0,c.addEvent)(t,"afterSetChartSize",M),(0,c.addEvent)(t,"afterUpdate",E),(0,c.addEvent)(t,"beforeRender",A),(0,c.addEvent)(t,"beforeShowResetZoom",y),(0,c.addEvent)(t,"update",w)}},{composed:k,isTouchDevice:z}=g();function T(){this.navigatorAxis||(this.navigatorAxis=new R(this))}function D(t){let e,i=this.chart,s=i.options,a=s.navigator,r=this.navigatorAxis,o=i.zooming.pinchType,n=s.rangeSelector,h=i.zooming.type;if(this.isXAxis&&(a?.enabled||n?.enabled)){if("y"===h&&"zoom"===t.trigger)e=!1;else if(("zoom"===t.trigger&&"xy"===h||z&&"xy"===o)&&this.options.range){let e=r.previousZoom;(0,c.defined)(t.min)?r.previousZoom=[this.min,this.max]:e&&(t.min=e[0],t.max=e[1],r.previousZoom=void 0)}}void 0!==e&&t.preventDefault()}class R{static compose(t){(0,c.pushUnique)(k,"Axis.Navigator")&&((0,c.addEvent)(t,"init",T),(0,c.addEvent)(t,"setExtremes",D))}constructor(t){this.axis=t}destroy(){this.axis=void 0}toFixedRange(t,e,i,s){let a=this.axis,r=(a.pointRange||0)/2,o=i??a.translate(t,!0,!a.horiz),n=s??a.translate(e,!0,!a.horiz);return(0,c.defined)(i)||(o=(0,c.correctFloat)(o+r)),(0,c.defined)(s)||(n=(0,c.correctFloat)(n-r)),(0,c.isNumber)(o)&&(0,c.isNumber)(n)||(o=n=void 0),{min:o,max:n}}}var B=d(512);let{seriesTypes:C}=(d.n(B))(),P={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"var(--highcharts-neutral-color-5)",borderColor:"var(--highcharts-neutral-color-40)"},maskFill:"color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)",outlineColor:"var(--highcharts-neutral-color-40)",outlineWidth:1,series:{type:void 0===C.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"var(--highcharts-neutral-color-10)",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"var(--highcharts-neutral-color-100)",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},{defaultOptions:H}=g(),{noop:L}=g(),N={radius:0,scope:"stack",where:void 0},W={"navigator-handle":function(t,e,i,s,a={}){var r,o,n,h,d;let l=a.width?a.width/2:i,g=(0,c.relativeLength)((r=a.borderRadius,!(0,c.isObject)(r)&&(r={radius:r||0}),(0,c.merge)(N,void 0,r)).radius,Math.min(2*l,s));return[["M",-1.5,(s=a.height||s)/2-3.5],["L",-1.5,s/2+4.5],["M",.5,s/2-3.5],["L",.5,s/2+4.5],...(o=-l-1,n=2*l+1,h=s,d={r:g},d?.r?function(t,e,i,s,a){let r=a?.r||0;return[["M",t+r,e],["L",t+i-r,e],["A",r,r,0,0,1,t+i,e+r],["L",t+i,e+s-r],["A",r,r,0,0,1,t+i-r,e+s],["L",t+r,e+s],["A",r,r,0,0,1,t,e+s-r],["L",t,e+r],["A",r,r,0,0,1,t+r,e],["Z"]]}(o,.5,n,h,d):[["M",o,.5],["L",o+n,.5],["L",o+n,.5+h],["L",o,.5+h],["Z"]])]}};var U=d(540),I=d.n(U);let{defaultOptions:F}=g(),{composed:X}=g(),{setFixedRange:G}={setFixedRange:function(t){let e=this.xAxis[0];(0,c.defined)(e.dataMax)&&(0,c.defined)(e.dataMin)&&t?this.fixedRange=Math.min(t,e.dataMax-e.dataMin):this.fixedRange=t}};function Y(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let _=function(t,e,i){R.compose(e),(0,c.pushUnique)(X,"Navigator")&&(t.prototype.setFixedRange=G,(0,c.extend)(I().prototype.symbols,W),(0,c.extend)(F,{navigator:P}),(0,c.addEvent)(i,"afterUpdate",Y))},{composed:V}=g();!function(t){let e;function i(t){let e=t.options?.min??t.min,i=t.options?.max??t.max;return{axisMin:e,axisMax:i,scrollMin:(0,c.defined)(t.dataMin)?Math.min(e,t.min??1/0,t.dataMin,t.threshold??1/0):e,scrollMax:t.treeGrid?.adjustedMax??((0,c.defined)(t.dataMax)?Math.max(i,t.max??-1/0,t.dataMax,t.threshold??-1/0):i)}}function s(){let t=this.scrollbar,e=t&&!t.options.opposite,i=this.horiz?2:e?3:1;t&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=t.size+(t.options.margin||0))}function a(){let t=this;t.options?.scrollbar?.enabled?(t.options.scrollbar.vertical=!t.horiz,t.options.startOnTick=t.options.endOnTick=!1,t.scrollbar=new e(t.chart.renderer,t.options.scrollbar,t.chart),(0,c.addEvent)(t.scrollbar,"changed",function(e){let s,a,{axisMin:r,axisMax:o,scrollMin:n,scrollMax:h}=i(t),d=t.toPixels(n),l=t.toPixels(h)-d;if((0,c.defined)(r)&&(0,c.defined)(o))if(t.horiz&&!t.reversed||!t.horiz&&t.reversed?(s=Math.min(h,t.toValue(d+l*this.to)),a=Math.max(n,t.toValue(d+l*this.from))):(s=Math.min(h,t.toValue(d+l*(1-this.from))),a=Math.max(n,t.toValue(d+l*(1-this.to)))),this.shouldUpdateExtremes(e.DOMType)){let i="mousemove"!==e.DOMType&&"touchmove"!==e.DOMType&&void 0;t.setExtremes((0,c.correctFloat)(a),(0,c.correctFloat)(s),!0,i,e)}else this.setRange(this.from,this.to)})):t.scrollbar&&(t.scrollbar=t.scrollbar.destroy())}function r(){let t,e,s,{scrollMin:a,scrollMax:r}=i(this),o=this.scrollbar,n=(this.axisTitleMargin||0)+(this.titleOffset||0),h=this.chart.scrollbarsOffsets,d=this.options.margin||0;if(o&&h){if(this.horiz)this.opposite||(h[1]+=n),o.position(this.left,this.top+this.height+2+h[1]-(this.opposite?d:0),this.width,this.height),this.opposite||(h[1]+=d),t=1;else{let e;this.opposite&&(h[0]+=n),e=o.options.opposite?this.left+this.width+2+h[0]-(this.opposite?0:d):this.opposite?0:d,o.position(e,this.top,this.width,this.height),this.opposite&&(h[0]+=d),t=0}if(h[t]+=o.size+(o.options.margin||0),isNaN(a)||isNaN(r)||!(0,c.defined)(this.min)||!(0,c.defined)(this.max)||(0,c.defined)(this.dataMin)&&this.dataMin===this.dataMax)o.setRange(0,1);else if(this.min===this.max){let t=this.pointRange/(this.dataMax+1);e=t*this.min,s=t*(this.max+1),o.setRange(e,s)}else e=(this.toPixels(this.min)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),s=(this.toPixels(this.max)-this.toPixels(a))/(this.toPixels(r)-this.toPixels(a)),this.horiz&&!this.reversed||!this.horiz&&this.reversed?o.setRange(e,s):o.setRange(1-s,1-e)}}t.compose=function(t,i){(0,c.pushUnique)(V,"Axis.Scrollbar")&&(e=i,(0,c.addEvent)(t,"afterGetOffset",s),(0,c.addEvent)(t,"afterInit",a),(0,c.addEvent)(t,"afterRender",r))}}(o||(o={}));let j=o,Z={height:10,barBorderRadius:5,buttonBorderRadius:0,buttonsEnabled:!1,liveRedraw:void 0,margin:void 0,minWidth:6,opposite:!0,step:.2,zIndex:3,barBackgroundColor:"var(--highcharts-neutral-color-20)",barBorderWidth:0,barBorderColor:"var(--highcharts-neutral-color-20)",buttonArrowColor:"var(--highcharts-neutral-color-80)",buttonBackgroundColor:"var(--highcharts-neutral-color-10)",buttonBorderColor:"var(--highcharts-neutral-color-20)",buttonBorderWidth:1,rifleColor:"none",trackBackgroundColor:"rgba(255, 255, 255, 0.001)",trackBorderColor:"var(--highcharts-neutral-color-20)",trackBorderRadius:5,trackBorderWidth:1},{defaultOptions:q}=g(),{composed:$}=g();class J{static compose(t){j.compose(t,J),(0,c.pushUnique)($,"Scrollbar")&&(0,c.extend)(q,{scrollbar:Z})}static swapXY(t,e){return e&&t.forEach(t=>{let e,i=t.length;for(let s=0;s<i;s+=2)"number"==typeof(e=t[s+1])&&(t[s+1]=t[s+2],t[s+2]=e)}),t}constructor(t,e,i){this._events=[],this.chartX=0,this.chartY=0,this.from=0,this.scrollbarButtons=[],this.scrollbarLeft=0,this.scrollbarStrokeWidth=1,this.scrollbarTop=0,this.size=0,this.to=0,this.trackBorderWidth=1,this.x=0,this.y=0,this.init(t,e,i)}addEvents(){let t=this.options.inverted?[1,0]:[0,1],e=this.scrollbarButtons,i=this.scrollbarGroup.element,s=this.track.element,a=this.mouseDownHandler.bind(this),r=this.mouseMoveHandler.bind(this),o=this.mouseUpHandler.bind(this),n=[[e[t[0]].element,"click",this.buttonToMinClick.bind(this)],[e[t[1]].element,"click",this.buttonToMaxClick.bind(this)],[s,"click",this.trackClick.bind(this)],[i,"mousedown",a],[i.ownerDocument,"mousemove",r],[i.ownerDocument,"mouseup",o],[i,"touchstart",a],[i.ownerDocument,"touchmove",r],[i.ownerDocument,"touchend",o]];n.forEach(function(t){c.addEvent.apply(null,t)}),this._events=n}buttonToMaxClick(t){let e=(this.to-this.from)*(this.options.step??.2);this.updatePosition(this.from+e,this.to+e),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}buttonToMinClick(t){let e=(0,c.correctFloat)(this.to-this.from)*(this.options.step??.2);this.updatePosition((0,c.correctFloat)(this.from-e),(0,c.correctFloat)(this.to-e)),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}cursorToScrollbarPosition(t){let e=this.options,i=e.minWidth>this.calculatedWidth?e.minWidth:0;return{chartX:(t.chartX-this.x-this.xOffset)/(this.barWidth-i),chartY:(t.chartY-this.y-this.yOffset)/(this.barWidth-i)}}destroy(){let t=this,e=t.chart.scroller;t.removeEvents(),["track","scrollbarRifles","scrollbar","scrollbarGroup","group"].forEach(function(e){t[e]&&t[e].destroy&&(t[e]=t[e].destroy())}),e&&t===e.scrollbar&&(e.scrollbar=null,(0,c.destroyObjectProperties)(e.scrollbarButtons))}drawScrollbarButton(t){let e=this.renderer,i=this.scrollbarButtons,s=this.options,a=this.size,r=e.g().add(this.group);if(i.push(r),s.buttonsEnabled){let o=e.rect().addClass("highcharts-scrollbar-button").add(r);this.chart.styledMode||o.attr({stroke:s.buttonBorderColor,"stroke-width":s.buttonBorderWidth,fill:s.buttonBackgroundColor}),o.attr(o.crisp({x:-.5,y:-.5,width:a,height:a,r:s.buttonBorderRadius},o.strokeWidth()));let n=e.path(J.swapXY([["M",a/2+(t?-1:1),a/2-3],["L",a/2+(t?-1:1),a/2+3],["L",a/2+(t?2:-2),a/2]],s.vertical)).addClass("highcharts-scrollbar-arrow").add(i[t]);this.chart.styledMode||n.attr({fill:s.buttonArrowColor})}}init(t,e,i){this.scrollbarButtons=[],this.renderer=t,this.userOptions=e,this.options=(0,c.merge)(Z,q.scrollbar,e),this.options.margin=this.options.margin??10,this.chart=i,this.size=this.options.size??this.options.height,e.enabled&&(this.render(),this.addEvents())}mouseDownHandler(t){let e=this.chart.pointer?.normalize(t)||t,i=this.cursorToScrollbarPosition(e);this.chartX=i.chartX,this.chartY=i.chartY,this.initPositions=[this.from,this.to],this.grabbedCenter=!0}mouseMoveHandler(t){let e,i=this.chart.pointer?.normalize(t)||t,s=this.options.vertical?"chartY":"chartX",a=this.initPositions||[];this.grabbedCenter&&(!t.touches||0!==t.touches[0][s])&&(e=this.cursorToScrollbarPosition(i)[s]-this[s],this.hasDragged=!0,this.updatePosition(a[0]+e,a[1]+e),this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}))}mouseUpHandler(t){this.hasDragged&&(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMType:t.type,DOMEvent:t}),this.grabbedCenter=this.hasDragged=this.chartX=this.chartY=null}position(t,e,i,s){let{buttonsEnabled:a,margin:r=0,vertical:o}=this.options,n=this.rendered?"animate":"attr",h=s,d=0;this.group.show(),this.x=t,this.y=e+this.trackBorderWidth,this.width=i,this.height=s,this.xOffset=h,this.yOffset=d,o?(this.width=this.yOffset=i=d=this.size,this.xOffset=h=0,this.yOffset=d=a?this.size:0,this.barWidth=s-(a?2*i:0),this.x=t+=r):(this.height=s=this.size,this.xOffset=h=a?this.size:0,this.barWidth=i-(a?2*s:0),this.y=this.y+r),this.group[n]({translateX:t,translateY:this.y}),this.track[n]({width:i,height:s}),this.scrollbarButtons[1][n]({translateX:o?0:i-h,translateY:o?s-d:0})}removeEvents(){this._events.forEach(function(t){c.removeEvent.apply(null,t)}),this._events.length=0}render(){let t=this.renderer,e=this.options,i=this.size,s=this.chart.styledMode,a=t.g("scrollbar").attr({zIndex:e.zIndex}).hide().add();this.group=a,this.track=t.rect().addClass("highcharts-scrollbar-track").attr({r:e.trackBorderRadius||0,height:i,width:i}).add(a),s||this.track.attr({fill:e.trackBackgroundColor,stroke:e.trackBorderColor,"stroke-width":e.trackBorderWidth});let r=this.trackBorderWidth=this.track.strokeWidth();this.track.attr({x:-(0,c.crisp)(0,r),y:-(0,c.crisp)(0,r)}),this.scrollbarGroup=t.g().add(a),this.scrollbar=t.rect().addClass("highcharts-scrollbar-thumb").attr({height:i-r,width:i-r,r:e.barBorderRadius||0}).add(this.scrollbarGroup),this.scrollbarRifles=t.path(J.swapXY([["M",-3,i/4],["L",-3,2*i/3],["M",0,i/4],["L",0,2*i/3],["M",3,i/4],["L",3,2*i/3]],e.vertical)).addClass("highcharts-scrollbar-rifles").add(this.scrollbarGroup),s||(this.scrollbar.attr({fill:e.barBackgroundColor,stroke:e.barBorderColor,"stroke-width":e.barBorderWidth}),this.scrollbarRifles.attr({stroke:e.rifleColor,"stroke-width":1})),this.scrollbarStrokeWidth=this.scrollbar.strokeWidth(),this.scrollbarGroup.translate(-(0,c.crisp)(0,this.scrollbarStrokeWidth),-(0,c.crisp)(0,this.scrollbarStrokeWidth)),this.drawScrollbarButton(0),this.drawScrollbarButton(1)}setRange(t,e){let i,s,a=this.options,r=a.vertical,o=a.minWidth,n=this.barWidth,h=!this.rendered||this.hasDragged||this.chart.navigator&&this.chart.navigator.hasDragged?"attr":"animate";if(!(0,c.defined)(n))return;let d=n*Math.min(e,1);i=Math.ceil(n*(t=Math.max(t,0))),this.calculatedWidth=s=(0,c.correctFloat)(d-i),s<o&&(i=(n-o+s)*t,s=o);let l=Math.floor(i+this.xOffset+this.yOffset),g=s/2-.5;this.from=t,this.to=e,r?(this.scrollbarGroup[h]({translateY:l}),this.scrollbar[h]({height:s}),this.scrollbarRifles[h]({translateY:g}),this.scrollbarTop=l,this.scrollbarLeft=0):(this.scrollbarGroup[h]({translateX:l}),this.scrollbar[h]({width:s}),this.scrollbarRifles[h]({translateX:g}),this.scrollbarLeft=l,this.scrollbarTop=0),s<=12?this.scrollbarRifles.hide():this.scrollbarRifles.show(),!1===a.showFull&&(t<=0&&e>=1?this.group.hide():this.group.show()),this.rendered=!0}shouldUpdateExtremes(t){return(this.options.liveRedraw??(g().svg&&!g().isTouchDevice&&!this.chart.boosted))||"mouseup"===t||"touchend"===t||!(0,c.defined)(t)}trackClick(t){let e=this.chart.pointer?.normalize(t)||t,i=this.to-this.from,s=this.y+this.scrollbarTop,a=this.x+this.scrollbarLeft;this.options.vertical&&e.chartY>s||!this.options.vertical&&e.chartX>a?this.updatePosition(this.from+i,this.to+i):this.updatePosition(this.from-i,this.to-i),(0,c.fireEvent)(this,"changed",{from:this.from,to:this.to,trigger:"scrollbar",DOMEvent:t})}update(t){this.destroy(),this.init(this.chart.renderer,(0,c.merge)(!0,this.options,t),this.chart)}updatePosition(t,e){e>1&&(t=(0,c.correctFloat)(1-(0,c.correctFloat)(e-t)),e=1),t<0&&(e=(0,c.correctFloat)(e-t),t=0),this.from=t,this.to=e}}J.defaultOptions=Z;let{defaultOptions:K}=g(),{isTouchDevice:Q}=g();function tt(t,...e){let i=[].filter.call(e,c.isNumber);if(i.length)return Math[t].apply(0,i)}let te=class t{static compose(e,i,s){S(e,t),_(e,i,s)}constructor(t){this.isDirty=!1,this.scrollbarHeight=0,this.init(t)}drawHandle(t,e,i,s){let a=this.navigatorOptions.handles.height;this.handles[e][s](i?{translateX:Math.round(this.left+this.height/2),translateY:Math.round(this.top+parseInt(t,10)+.5-a)}:{translateX:Math.round(this.left+parseInt(t,10)),translateY:Math.round(this.top+this.height/2-a/2-1)})}drawOutline(t,e,i,s){let a=this.navigatorOptions.maskInside,r=this.outline.strokeWidth(),o=r/2,n=r%2/2,h=this.scrollButtonSize,d=this.size,l=this.top,c=this.height,g=l-o,p=l+c,x=this.left,u,v;i?(u=l+e+n,e=l+t+n,v=[["M",x+c,l-h-n],["L",x+c,u],["L",x,u],["M",x,e],["L",x+c,e],["L",x+c,l+d+h]],a&&v.push(["M",x+c,u-o],["L",x+c,e+o])):(x-=h,t+=x+h-n,e+=x+h-n,v=[["M",x,g],["L",t,g],["L",t,p],["M",e,p],["L",e,g],["L",x+d+2*h,g]],a&&v.push(["M",t-o,g],["L",e+o,g])),this.outline[s]({d:v})}drawMasks(t,e,i,s){let a,r,o,n,h=this.left,d=this.top,l=this.height;i?(o=[h,h,h],n=[d,d+t,d+e],r=[l,l,l],a=[t,e-t,this.size-e]):(o=[h,h+t,h+e],n=[d,d,d],r=[t,e-t,this.size-e],a=[l,l,l]),this.shades.forEach((t,e)=>{t[s]({x:o[e],y:n[e],width:r[e],height:a[e]})})}renderElements(){let t=this,e=t.navigatorOptions,i=e.maskInside,s=t.chart,a=s.inverted,r=s.renderer,o={cursor:a?"ns-resize":"ew-resize"},n=t.navigatorGroup??(t.navigatorGroup=r.g("navigator").attr({zIndex:8,visibility:"hidden"}).add());if([!i,i,!i].forEach((i,a)=>{let h=t.shades[a]??(t.shades[a]=r.rect().addClass("highcharts-navigator-mask"+(1===a?"-inside":"-outside")).add(n));s.styledMode||(h.attr({fill:i?e.maskFill:"rgba(0,0,0,0)"}),1===a&&h.css(o))}),t.outline||(t.outline=r.path().addClass("highcharts-navigator-outline").add(n)),s.styledMode||t.outline.attr({"stroke-width":e.outlineWidth,stroke:e.outlineColor}),e.handles?.enabled){let i=!1,a=e.handles,{height:h,width:d}=a;[0,1].forEach(e=>{let l=a.symbols[e];(i=i||t.handles[e]?.symbolName!==l)&&(t.handles[e]?.destroy(),t.handles[e]=r.symbol(l,-d/2-1,0,d,h,a),t.handles[e].attr({zIndex:7-e}).addClass("highcharts-navigator-handle highcharts-navigator-handle-"+["left","right"][e]).add(n)),s.inverted&&t.handles[e].attr({rotation:90,rotationOriginX:Math.floor(-d/2),rotationOriginY:(h+d)/2}),s.styledMode||t.handles[e].attr({fill:a.backgroundColor,stroke:a.borderColor,"stroke-width":a.lineWidth,width:a.width,height:a.height,x:-d/2-1,y:0}).css(o)}),i&&(t.partsEventsToUnbind?.forEach(t=>{t()}),t.partsEventsToUnbind=[...t.getPartsEvents("mousedown"),...t.getPartsEvents("touchstart")])}}update(t,e=!1){let i=this.chart,s=i.options.chart.inverted!==i.scrollbar?.options.vertical;if((0,c.merge)(!0,i.options.navigator,t),this.navigatorOptions=i.options.navigator||{},this.setOpposite(),(0,c.defined)(t.enabled)||s)return this.destroy(),this.navigatorEnabled=t.enabled||this.navigatorEnabled,this.init(i);if(this.navigatorEnabled&&(this.isDirty=!0,!1===t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t.adaptToUpdatedData&&this.baseSeries.forEach(t=>{t.eventsToUnbind.push((0,c.addEvent)(t,"updatedData",this.updatedDataHandler))},this),(t.series||t.baseSeries)&&this.setBaseSeries(void 0,!1),t.height||t.xAxis||t.yAxis)){this.height=t.height??this.height;let e=this.getXAxisOffsets();this.xAxis.update({...t.xAxis,offsets:e,[i.inverted?"width":"height"]:this.height,[i.inverted?"height":"width"]:void 0},!1),this.yAxis.update({...t.yAxis,[i.inverted?"width":"height"]:this.height},!1)}e&&i.redraw()}render(t,e,i,s){let a=this.chart,r=this.xAxis,o=r.pointRange||0,n=r.navigatorAxis.fake?a.xAxis[0]:r,h=this.navigatorEnabled,d=this.rendered,l=a.inverted,g=a.xAxis[0].minRange,p=a.xAxis[0].options.maxRange,x=this.scrollButtonSize,u,v,m,b=this.scrollbarHeight,f,M;if(this.hasDragged&&!(0,c.defined)(i))return;if(this.isDirty&&this.renderElements(),t=(0,c.correctFloat)(t-o/2),e=(0,c.correctFloat)(e+o/2),!(0,c.isNumber)(t)||!(0,c.isNumber)(e))if(!d)return;else i=0,s=r.width??n.width;this.left=r.left??a.plotLeft+x+(l?a.plotWidth:0);let E=this.size=f=r.len??(l?a.plotHeight:a.plotWidth)-2*x;u=l?b:f+2*x,i=i??r.toPixels(t,!0),s=s??r.toPixels(e,!0),(0,c.isNumber)(i)&&1/0!==Math.abs(i)||(i=0,s=u);let A=r.toValue(i,!0),y=r.toValue(s,!0),O=Math.abs((0,c.correctFloat)(y-A));(0,c.defined)(g)&&O<g?this.grabbedLeft?i=r.toPixels(y-g-o,!0):this.grabbedRight&&(s=r.toPixels(A+g+o,!0)):(0,c.defined)(p)&&(0,c.correctFloat)(O-o)>p&&(this.grabbedLeft?i=r.toPixels(y-p-o,!0):this.grabbedRight&&(s=r.toPixels(A+p+o,!0))),this.zoomedMax=(0,c.clamp)(Math.max(i,s),0,E),this.zoomedMin=(0,c.clamp)(this.fixedWidth?this.zoomedMax-this.fixedWidth:Math.min(i,s),0,E),this.range=this.zoomedMax-this.zoomedMin,E=Math.round(this.zoomedMax);let w=Math.round(this.zoomedMin);h&&(this.navigatorGroup.attr({visibility:"inherit"}),M=d&&!this.hasDragged?"animate":"attr",this.drawMasks(w,E,l,M),this.drawOutline(w,E,l,M),this.navigatorOptions.handles?.enabled&&(this.drawHandle(w,0,l,M),this.drawHandle(E,1,l,M))),this.scrollbar&&(l?(m=this.top-x,v=this.left-b+(h||!n.opposite?0:(n.titleOffset||0)+n.axisTitleMargin),b=f+2*x):(m=this.top+(h?this.height:-b),v=this.left-x),this.scrollbar.position(v,m,u,b),this.scrollbar.setRange(this.zoomedMin/(f||1),this.zoomedMax/(f||1))),this.rendered=!0,this.isDirty=!1,(0,c.fireEvent)(this,"afterRender")}addMouseEvents(){let t,e,i=this,s=i.chart,a=s.container,r=[];i.mouseMoveHandler=t=function(t){i.onMouseMove(t)},i.mouseUpHandler=e=function(t){i.onMouseUp(t)},r.push((0,c.addEvent)(s.renderTo,"mousemove",t),(0,c.addEvent)(a.ownerDocument,"mouseup",e),(0,c.addEvent)(s.renderTo,"touchmove",t),(0,c.addEvent)(a.ownerDocument,"touchend",e)),i.eventsToUnbind=r,i.series&&i.series[0]&&r.push((0,c.addEvent)(i.series[0].xAxis,"foundExtremes",function(){s.navigator?.modifyNavigatorAxisExtremes()}))}getPartsEvents(t){let e=this,i=[];return["shades","handles"].forEach(s=>{e[s].forEach(function(a,r){i.push((0,c.addEvent)(a.element,t,function(t){e[`${s}Mousedown`](t,r)}))})}),i}shadesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=this.xAxis,a=this.zoomedMin,r=this.size,o=this.range,n=this.left,h=t.chartX,d,l,g,p;i.inverted&&(h=t.chartY,n=this.top),1===e?(this.grabbedCenter=h,this.fixedWidth=o,this.dragOffset=h-a):(p=h-n-o/2,0===e?p=Math.max(0,p):2===e&&p+o>=r&&(p=r-o,this.reversedExtremes?(p-=o,l=this.getUnionExtremes()?.dataMin):d=this.getUnionExtremes()?.dataMax),p!==a&&(this.fixedWidth=o,g=s.navigatorAxis.toFixedRange(p,p+o,l,d),(0,c.defined)(g.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(g.min,g.max),max:Math.max(g.min,g.max),redraw:!0,eventArguments:{trigger:"navigator"}})))}handlesMousedown(t,e){t=this.chart.pointer?.normalize(t)||t;let i=this.chart,s=i.xAxis[0],a=this.reversedExtremes;0===e?(this.grabbedLeft=!0,this.otherHandlePos=this.zoomedMax,this.fixedExtreme=a?s.min:s.max):(this.grabbedRight=!0,this.otherHandlePos=this.zoomedMin,this.fixedExtreme=a?s.max:s.min),i.setFixedRange(void 0)}onMouseMove(t){let e=this,i=e.chart,s=e.navigatorSize,a=e.range,r=e.dragOffset,o=i.inverted,n=e.left,h;(!t.touches||0!==t.touches[0].pageX)&&(h=(t=i.pointer?.normalize(t)||t).chartX,o&&(n=e.top,h=t.chartY),e.grabbedLeft?(e.hasDragged=!0,e.render(0,0,h-n,e.otherHandlePos)):e.grabbedRight?(e.hasDragged=!0,e.render(0,0,e.otherHandlePos,h-n)):e.grabbedCenter&&r&&(e.hasDragged=!0,h<r?h=r:h>s+r-a&&(h=s+r-a),e.render(0,0,h-r,h-r+a)),e.hasDragged&&(e.scrollbarOptions?.liveRedraw??(!Q&&!this.chart.boosted))&&(t.DOMType=t.type,setTimeout(function(){e.onMouseUp(t)},0)))}onMouseUp(t){let e,i,s,a,r,o,n=this.chart,h=this.xAxis,d=this.scrollbar,l=t.DOMEvent||t,g=n.inverted,p=this.rendered&&!this.hasDragged?"animate":"attr";(this.hasDragged&&(!d||!d.hasDragged)||"scrollbar"===t.trigger)&&(s=this.getUnionExtremes(),this.zoomedMin===this.otherHandlePos?a=this.fixedExtreme:this.zoomedMax===this.otherHandlePos&&(r=this.fixedExtreme),this.zoomedMax===this.size&&(r=this.reversedExtremes?s.dataMin:s.dataMax),0===this.zoomedMin&&(a=this.reversedExtremes?s.dataMax:s.dataMin),o=h.navigatorAxis.toFixedRange(this.zoomedMin,this.zoomedMax,a,r),(0,c.defined)(o.min)&&(0,c.fireEvent)(this,"setRange",{min:Math.min(o.min,o.max),max:Math.max(o.min,o.max),redraw:!0,animation:!this.hasDragged&&null,eventArguments:{trigger:"navigator",triggerOp:"navigator-drag",DOMEvent:l}})),"mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&(this.grabbedLeft=this.grabbedRight=this.grabbedCenter=this.fixedWidth=this.fixedExtreme=this.otherHandlePos=this.hasDragged=this.dragOffset=null),this.navigatorEnabled&&(0,c.isNumber)(this.zoomedMin)&&(0,c.isNumber)(this.zoomedMax)&&(i=Math.round(this.zoomedMin),e=Math.round(this.zoomedMax),this.shades&&this.drawMasks(i,e,g,p),this.outline&&this.drawOutline(i,e,g,p),this.navigatorOptions.handles?.enabled&&Object.keys(this.handles).length===this.handles.length&&(this.drawHandle(i,0,g,p),this.drawHandle(e,1,g,p)))}removeEvents(){this.eventsToUnbind?.forEach(t=>{t()}),this.eventsToUnbind=void 0,this.removeBaseSeriesEvents()}removeBaseSeriesEvents(){let t=this.baseSeries||[];this.navigatorEnabled&&t[0]&&(!1!==this.navigatorOptions.adaptToUpdatedData&&t.forEach(function(t){(0,c.removeEvent)(t,"updatedData",this.updatedDataHandler)},this),t[0].xAxis&&(0,c.removeEvent)(t[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes))}getXAxisOffsets(){return this.chart.inverted?[this.scrollButtonSize,0,-this.scrollButtonSize,0]:[0,-this.scrollButtonSize,0,this.scrollButtonSize]}init(t){let e=t.options,i=e.navigator||{},s=i.enabled,a=e.scrollbar||{},r=a.enabled,o=s&&i.height||0,n=r&&a.height||0,h=a.buttonsEnabled&&n||0;this.handles=[],this.shades=[],this.chart=t,this.setBaseSeries(),this.height=o,this.scrollbarHeight=n,this.scrollButtonSize=h,this.scrollbarEnabled=r,this.navigatorEnabled=!!s,this.navigatorOptions=i,this.scrollbarOptions=a,this.setOpposite();let d=this,l=d.baseSeries,g=t.xAxis.length,p=t.yAxis.length,x=l&&l[0]&&l[0].xAxis||t.xAxis[0]||{options:{}};if(t.isDirtyBox=!0,d.navigatorEnabled){let e=this.getXAxisOffsets();d.xAxis=new(v())(t,(0,c.merge)({breaks:x.options.breaks,ordinal:x.options.ordinal,overscroll:x.options.overscroll},i.xAxis,{type:"datetime",yAxis:i.yAxis?.id,index:g,isInternal:!0,offset:0,keepOrdinalPadding:!0,startOnTick:!1,endOnTick:!1,minPadding:x.options.ordinal?0:x.options.minPadding,maxPadding:x.options.ordinal?0:x.options.maxPadding,zoomEnabled:!1},t.inverted?{offsets:e,width:o}:{offsets:e,height:o}),"xAxis"),d.yAxis=new(v())(t,(0,c.merge)(i.yAxis,{alignTicks:!1,offset:0,index:p,isInternal:!0,reversed:(i.yAxis&&i.yAxis.reversed)??(t.yAxis[0]&&t.yAxis[0].reversed)??!1,zoomEnabled:!1},t.inverted?{width:o}:{height:o}),"yAxis"),d.xAxis.clippable=!1,d.yAxis.clippable=!1,l||i.series?.data||i.series?.dataTable?d.updateNavigatorSeries(!1):0===t.series.length&&(d.unbindRedraw=(0,c.addEvent)(t,"beforeRedraw",function(){t.series.length>0&&!d.series&&(d.setBaseSeries(),d.unbindRedraw?.())})),d.reversedExtremes=t.inverted&&!d.xAxis.reversed||!t.inverted&&d.xAxis.reversed,d.renderElements(),d.addMouseEvents()}else d.xAxis={chart:t,navigatorAxis:{fake:!0},translate:function(e,i){let s=t.xAxis[0],a=s.getExtremes(),r=s.len-2*h,o=tt("min",s.options.min,a.dataMin),n=tt("max",s.options.max,a.dataMax)-o;return i?e*n/r+o:r*(e-o)/n},toPixels:function(t){return this.translate(t)},toValue:function(t){return this.translate(t,!0)}},d.xAxis.navigatorAxis.axis=d.xAxis,d.xAxis.navigatorAxis.toFixedRange=R.prototype.toFixedRange.bind(d.xAxis.navigatorAxis);if(t.options.scrollbar?.enabled){let e=(0,c.merge)(t.options.scrollbar,{vertical:t.inverted});(0,c.isNumber)(e.margin)||(e.margin=t.inverted?-3:3),t.scrollbar=d.scrollbar=new J(t.renderer,e,t),(0,c.addEvent)(d.scrollbar,"changed",function(t){let e=d.size,i=e*this.to,s=e*this.from;d.hasDragged=d.scrollbar?.hasDragged,d.render(0,0,s,i),this.shouldUpdateExtremes(t.DOMType)&&setTimeout(function(){d.onMouseUp(t)})})}d.addBaseSeriesEvents(),d.addChartEvents()}setOpposite(){let t=this.navigatorOptions,e=this.navigatorEnabled,i=this.chart;this.opposite=t.opposite??!!(!e&&i.inverted)}getUnionExtremes(t){let e,i=this.chart.xAxis[0],s=this.chart.time,a=this.xAxis,r=a.options,o=i.options;return t&&null===i.dataMin||(e={dataMin:s.parse(r?.min)??tt("min",s.parse(o.min),i.dataMin,a.dataMin,a.min),dataMax:s.parse(r?.max)??tt("max",s.parse(o.max),i.dataMax,a.dataMax,a.max)}),e}setBaseSeries(t,e){let i=this.chart,s=this.baseSeries=[];t=t||i.options.navigator?.baseSeries||(i.series.length?(0,c.find)(i.series,t=>!t.options.isInternal).index:0),(i.series||[]).forEach((e,i)=>{!e.options.isInternal&&(e.options.showInNavigator||(i===t||e.options.id===t)&&!1!==e.options.showInNavigator)&&s.push(e)}),this.xAxis&&!this.xAxis.navigatorAxis.fake&&this.updateNavigatorSeries(!0,e)}updateNavigatorSeries(t,e){let i=this,s=i.chart,a=i.baseSeries,r={enableMouseTracking:!1,index:null,linkedTo:null,group:"nav",padXAxis:!1,xAxis:this.navigatorOptions.xAxis?.id,yAxis:this.navigatorOptions.yAxis?.id,showInLegend:!1,stacking:void 0,isInternal:!0,states:{inactive:{opacity:1}}},o=i.series=(i.series||[]).filter(t=>{let e=t.baseSeries;return!(e&&0>a.indexOf(e))||(e&&((0,c.removeEvent)(e,"updatedData",i.updatedDataHandler),delete e.navigatorSeries),t.chart&&t.destroy(),!1)}),n,h,d=i.navigatorOptions.series,l;if(a&&a.length&&a.forEach(t=>{let g=t.navigatorSeries,p=(0,c.extend)({color:t.color,visible:t.visible},(0,c.isArray)(d)?K.navigator.series:d);if(g&&!1===i.navigatorOptions.adaptToUpdatedData)return;r.name="Navigator "+a.length,l=(n=t.options||{}).navigatorOptions||{},p.dataLabels=(0,c.splat)(p.dataLabels),(h=(0,c.merge)(n,r,p,l)).pointRange=p.pointRange??l.pointRange??K.plotOptions[h.type||"line"]?.pointRange;let x=l.data||p.data,u=l.dataTable||p.dataTable;i.hasNavigatorData=i.hasNavigatorData||!!x||!!u,h.data=x||n.data?.slice(0),h.dataTable=u||n.dataTable,g&&g.options?g.update(h,e):(t.navigatorSeries=s.initSeries(h),(0,c.fireEvent)(t.navigatorSeries,"afterUpdate"),t.navigatorSeries.baseSeries=t,o.push(t.navigatorSeries))}),(d?.data||d?.dataTable)&&!(a&&a.length)||(0,c.isArray)(d)){let t=s.options.colors||[];i.hasNavigatorData=!1,(d=(0,c.splat)(d)).forEach((e,a)=>{r.name="Navigator "+(o.length+1),(h=(0,c.merge)(K.navigator?.series,{color:s.series[a]&&!s.series[a].options.isInternal&&s.series[a].color||t[a]||t[0]},r,e)).data=e.data,h.dataTable=e.dataTable,(h.data||h.dataTable)&&(i.hasNavigatorData=!0,o.push(s.initSeries(h)))})}t&&this.addBaseSeriesEvents()}addBaseSeriesEvents(){let t=this,e=t.baseSeries||[];e[0]&&e[0].xAxis&&e[0].eventsToUnbind.push((0,c.addEvent)(e[0].xAxis,"foundExtremes",this.modifyBaseAxisExtremes)),e.forEach(i=>{i.eventsToUnbind.push((0,c.addEvent)(i,"show",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!0,!1)})),i.eventsToUnbind.push((0,c.addEvent)(i,"hide",function(){this.navigatorSeries&&this.navigatorSeries.setVisible(!1,!1)})),!1!==this.navigatorOptions.adaptToUpdatedData&&i.xAxis&&i.eventsToUnbind.push((0,c.addEvent)(i,"updatedData",this.updatedDataHandler)),i.eventsToUnbind.push((0,c.addEvent)(i,"remove",function(){e&&(0,c.erase)(e,i),this.navigatorSeries&&t.series&&((0,c.erase)(t.series,this.navigatorSeries),(0,c.defined)(this.navigatorSeries.options)&&this.navigatorSeries.remove(!1),delete this.navigatorSeries)}))})}getBaseSeriesMin(t){return this.baseSeries.reduce(function(t,e){return Math.min(t,e.getColumn("x")[0]??t)},t)}modifyNavigatorAxisExtremes(){let t=this.xAxis;if(void 0!==t.getExtremes){let e=this.getUnionExtremes(!0);e&&(e.dataMin!==t.min||e.dataMax!==t.max)&&(t.min=e.dataMin,t.max=e.dataMax)}}modifyBaseAxisExtremes(){let t,e,i=this.chart.navigator,s=this.getExtremes(),a=s.min,r=s.max,o=s.dataMin,n=s.dataMax,h=r-a,d=i?.stickToMin,l=i?.stickToMax,g=this.ordinal?.convertOverscroll(this.options.overscroll)??0,p=i.series&&i.series[0],x=!!this.setExtremes;!(this.eventArgs&&"rangeSelectorButton"===this.eventArgs.trigger)&&(d&&(t=(e=o)+h),l&&(t=n+g,d||(e=Math.max(o,t-h,i.getBaseSeriesMin(p&&p.xData?p.xData[0]:-Number.MAX_VALUE)))),x&&(d||l)&&(0,c.isNumber)(e)&&(this.min=this.userMin=e,this.max=this.userMax=t)),i.stickToMin=i.stickToMax=null}updatedDataHandler(){let t=this.chart.navigator,e=this.navigatorSeries,i=t.reversedExtremes?0===Math.round(t.zoomedMin):Math.round(t.zoomedMax)>=Math.round(t.size);t.stickToMax=(this.chart.options.navigator&&this.chart.options.navigator.stickToMax)??i,t.stickToMin=t.shouldStickToMin(this,t),e&&!t.hasNavigatorData&&(e.options.pointStart=this.getColumn("x")[0],e.setData(this.options.data||this.options.dataTable,!1,void 0,!1))}shouldStickToMin(t,e){let i=e.getBaseSeriesMin(t.getColumn("x")[0]),s=t.xAxis,a=s.max,r=s.min,o=s.options.range;return!!((0,c.isNumber)(a)&&(0,c.isNumber)(r))&&(o&&a-i>0?a-i<o:r<=i)}addChartEvents(){this.eventsToUnbind||(this.eventsToUnbind=[]),this.eventsToUnbind.push((0,c.addEvent)(this.chart,"redraw",function(){let t=this.navigator,e=t&&(t.baseSeries&&t.baseSeries[0]&&t.baseSeries[0].xAxis||this.xAxis[0]);e&&t.render(e.min,e.max)}),(0,c.addEvent)(this.chart,"getMargins",function(){let t=this.navigator,e=t.opposite?"plotTop":"marginBottom";this.inverted&&(e=t.opposite?"marginRight":"plotLeft"),this[e]=(this[e]||0)+(t.navigatorEnabled||!this.inverted?t.height+(this.scrollbar?.options.margin||0)+t.scrollbarHeight:0)+(t.navigatorOptions.margin||0)}),(0,c.addEvent)(this,"setRange",function(t){this.chart.xAxis[0].setExtremes(t.min,t.max,t.redraw,t.animation,t.eventArguments)}))}destroy(){this.removeEvents(),this.xAxis&&((0,c.erase)(this.chart.xAxis,this.xAxis),(0,c.erase)(this.chart.axes,this.xAxis)),this.yAxis&&((0,c.erase)(this.chart.yAxis,this.yAxis),(0,c.erase)(this.chart.axes,this.yAxis)),(0,c.destroyObjectProperties)(this.series||[]),["series","xAxis","yAxis","shades","outline","scrollbarTrack","scrollbarRifles","scrollbarGroup","scrollbar","navigatorGroup","rendered"].forEach(t=>{this[t]&&this[t].destroy&&this[t].destroy(),this[t]=null}),[this.handles].forEach(t=>{(0,c.destroyObjectProperties)(t)}),this.baseSeries.forEach(t=>{t.navigatorSeries=void 0}),this.navigatorEnabled=!1}},ti={chart:{height:70,margin:[0,5,0,5]},exporting:{enabled:!1},legend:{enabled:!1},navigator:{enabled:!1},plotOptions:{series:{states:{hover:{enabled:!1}},marker:{enabled:!1}}},scrollbar:{enabled:!1},title:{text:""},tooltip:{enabled:!1},xAxis:{visible:!1},yAxis:{height:0,visible:!1}};function ts(t,e){return t.chart?((0,c.error)(32,!1,e,{"standaloneNavigator.chart":"use standaloneNavigator.chartOptions"}),(0,c.merge)({chartOptions:t.chart},t)):t}let ta=class t{static navigator(e,i){let s=new t(e,i);return g().navigators?g().navigators.push(s):g().navigators=[s],s}constructor(t,e){this.boundAxes=[],this.userOptions=e=ts(e),this.chartOptions=(0,c.merge)(g().getOptions(),ti,e.chartOptions,{navigator:e}),this.chartOptions.chart&&!this.chartOptions.chart.inverted&&!e.chartOptions?.chart?.height&&e.height&&(this.chartOptions.chart.height=e.height);let i=new(x())(t,this.chartOptions);i.options=(0,c.merge)(i.options,{navigator:{enabled:!0},scrollbar:{enabled:!0}}),this.chartOptions.navigator&&this.chartOptions.scrollbar&&(this.chartOptions.navigator.enabled=!0,this.chartOptions.scrollbar.enabled=!0),this.navigator=new te(i),i.navigator=this.navigator,this.initNavigator()}bind(t,e=!0){let i=this,s=t instanceof x()?t.xAxis[0]:t;if(!(s instanceof v()))return;let a=this.navigator,{min:r,max:o}=a.xAxis,n=[];if(e){let t=(0,c.addEvent)(s,"setExtremes",t=>{("pan"===t.trigger||"zoom"===t.trigger||"mousewheel"===t.trigger||"rangeSelectorButton"===t.trigger||"rangeSelectorInput"===t.trigger)&&i.setRange(t.min,t.max,!0,"pan"!==t.trigger&&"mousewheel"!==t.trigger,{trigger:s})});n.push(t)}let h=(0,c.addEvent)(a,"setRange",t=>{s.setExtremes(t.min,t.max,t.redraw,t.animation)});n.push(h);let d=this.boundAxes.filter(function(t){return t.axis===s})[0];if(d||(d={axis:s,callbacks:[]},"yAxis"===s.coll&&(d.oldMin=s.options.min??s.min,d.oldMax=s.options.max??s.max),this.boundAxes.push(d)),d.callbacks=n,s.series.forEach(t=>{t.options.showInNavigator&&i.addSeries(t.options)}),"yAxis"===s.coll){let{dataMin:t,dataMax:e}=a.xAxis.getExtremes();s.update({min:t,max:e},!1)}s.setExtremes(r,o),(0,c.addEvent)(s,"destroy",()=>{this.unbind(s)})}unbind(t,e){if(!t){this.boundAxes.forEach(t=>{this.releaseAxis(t,e)}),this.boundAxes.length=0;return}let i=t instanceof v()?t:t.xAxis[0];for(let t=this.boundAxes.length-1;t>=0;t--)this.boundAxes[t].axis===i&&(this.releaseAxis(this.boundAxes[t],e),this.boundAxes.splice(t,1))}releaseAxis(t,e=!1){if(t.callbacks.forEach(t=>t()),"yAxis"===t.axis.coll&&e){let e=t.oldMin??void 0,i=t.oldMax??void 0;t.axis.update({min:e,max:i},!1),t.axis.setExtremes(e,i)}}destroy(t){this.boundAxes.forEach(e=>{this.releaseAxis(e,t)}),this.boundAxes.length=0,this.navigator.destroy(),this.navigator.chart.destroy()}update(t,e){t=ts(t,this.navigator.chart),this.userOptions=(0,c.merge)(this.userOptions,t);let i=this.userOptions.chartOptions?.chart;this.chartOptions=(0,c.merge)(this.chartOptions,!t.height||i?.inverted||i?.height?void 0:{chart:{height:t.height}},t.chartOptions,{navigator:t}),this.navigator.chart.update(this.chartOptions,e)}redraw(){this.navigator.chart.redraw()}addSeries(t){this.navigator.chart.addSeries((0,c.merge)(t,{showInNavigator:t.showInNavigator??!0})),this.navigator.setBaseSeries()}initNavigator(){let t=this.navigator;t.top=1,t.xAxis.setScale(),t.yAxis.setScale(),t.xAxis.render(),t.yAxis.render(),t.series?.forEach(t=>{t.translate(),t.render(),t.redraw()});let{min:e,max:i}=this.getInitialExtremes();t.chart.xAxis[0].userMin=e,t.chart.xAxis[0].userMax=i,t.render(e,i)}getRange(){let{min:t,max:e}=this.navigator.chart.xAxis[0].getExtremes(),{userMin:i,userMax:s,min:a,max:r}=this.navigator.xAxis.getExtremes();return{min:t??a,max:e??r,dataMin:a,dataMax:r,userMin:i,userMax:s}}setRange(t,e,i,s,a){(0,c.fireEvent)(this.navigator,"setRange",{min:t,max:e,redraw:i,animation:s,eventArguments:(0,c.merge)(a,{trigger:"navigator"})})}getInitialExtremes(){let{min:t,max:e}=this.navigator.xAxis.getExtremes();return{min:t,max:e}}},tr=g();tr.StandaloneNavigator=tr.StandaloneNavigator||ta,tr.navigator=tr.StandaloneNavigator.navigator,_(tr.Chart,tr.Axis,tr.Series);let to=g();return l.default})());