highcharts 13.0.0 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1148) hide show
  1. package/bower.json +3 -2
  2. package/css/highcharts.css +2 -1
  3. package/es-modules/Accessibility/Accessibility.js +38 -1
  4. package/es-modules/Accessibility/Components/LegendComponent.js +1 -2
  5. package/es-modules/Accessibility/Components/NavigatorComponent.js +1 -2
  6. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -4
  7. package/es-modules/Accessibility/Options/A11yDefaults.js +12 -3
  8. package/es-modules/Accessibility/ProxyElement.js +1 -0
  9. package/es-modules/Core/Animation/AnimationUtilities.js +31 -41
  10. package/es-modules/Core/Animation/Fx.js +16 -19
  11. package/es-modules/Core/Axis/Axis.js +1 -2
  12. package/es-modules/Core/Axis/AxisDefaults.js +12 -2
  13. package/es-modules/Core/Axis/Color/ColorAxis.js +7 -2
  14. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +1 -1
  15. package/es-modules/Core/Axis/GridAxis.js +8 -1
  16. package/es-modules/Core/Axis/OrdinalAxis.js +12 -4
  17. package/es-modules/Core/Axis/RadialAxis.js +9 -14
  18. package/es-modules/Core/Axis/Stacking/StackingAxis.js +1 -2
  19. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +1 -1
  20. package/es-modules/Core/Chart/Chart.js +44 -39
  21. package/es-modules/Core/Chart/ChartDefaults.js +1 -1
  22. package/es-modules/Core/Chart/MapChart.js +0 -5
  23. package/es-modules/Core/Defaults.js +9 -2
  24. package/es-modules/Core/Globals.js +1 -1
  25. package/es-modules/Core/Legend/Legend.js +4 -5
  26. package/es-modules/Core/Pointer.js +11 -1
  27. package/es-modules/Core/Renderer/HTML/AST.js +5 -1
  28. package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -16
  29. package/es-modules/Core/Renderer/SVG/SVGElement.js +1 -2
  30. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -2
  31. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +2 -3
  32. package/es-modules/Core/Series/DataLabel.js +1 -2
  33. package/es-modules/Core/Series/Point.js +28 -21
  34. package/es-modules/Core/Series/Series.js +89 -62
  35. package/es-modules/Core/Series/SeriesDefaults.js +33 -0
  36. package/es-modules/Core/Templating.js +16 -13
  37. package/es-modules/Core/Tooltip.js +1 -2
  38. package/es-modules/Data/DataTableCore.js +1 -1
  39. package/es-modules/Extensions/Annotations/Annotation.js +1 -2
  40. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
  41. package/es-modules/Extensions/Annotations/MockPoint.js +7 -9
  42. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +30 -3
  43. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +2 -2
  44. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -4
  45. package/es-modules/Extensions/Annotations/Types/Measure.js +25 -7
  46. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  47. package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -1
  48. package/es-modules/Extensions/Boost/Boost.js +13 -0
  49. package/es-modules/Extensions/Boost/BoostSeries.js +9 -2
  50. package/es-modules/Extensions/BorderRadius.js +12 -10
  51. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +1 -1
  52. package/es-modules/Extensions/DraggablePoints/DraggableChart.js +1 -2
  53. package/es-modules/Extensions/Drilldown/Drilldown.js +1 -2
  54. package/es-modules/Extensions/Drilldown/DrilldownSeries.js +1 -2
  55. package/es-modules/Extensions/ExportData/ExportData.js +5 -1
  56. package/es-modules/Extensions/Exporting/Exporting.js +21 -21
  57. package/es-modules/Extensions/Exporting/ExportingDefaults.js +32 -0
  58. package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +1 -2
  59. package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +1 -2
  60. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +31 -4
  61. package/es-modules/Extensions/Pane/PaneDefaults.js +1 -1
  62. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +3 -0
  63. package/es-modules/Extensions/ScrollablePlotArea.js +8 -2
  64. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +1 -2
  65. package/es-modules/Extensions/Sonification/SynthPatch.js +1 -1
  66. package/es-modules/Maps/GeoJSONComposition.js +14 -1
  67. package/es-modules/Maps/MapView.js +1 -1
  68. package/es-modules/Series/AreaRange/AreaRangeSeries.js +87 -147
  69. package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +42 -4
  70. package/es-modules/Series/Bellcurve/BellcurveSeries.js +10 -6
  71. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +27 -28
  72. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +33 -1
  73. package/es-modules/Series/Bubble/BubbleSeries.js +15 -0
  74. package/es-modules/Series/Bullet/BulletSeries.js +1 -1
  75. package/es-modules/Series/Candlestick/CandlestickSeries.js +3 -3
  76. package/es-modules/Series/CenteredUtilities.js +5 -4
  77. package/es-modules/Series/ColorMapComposition.js +7 -4
  78. package/es-modules/Series/Column/ColumnPoint.js +2 -0
  79. package/es-modules/Series/Column/ColumnSeries.js +12 -12
  80. package/es-modules/Series/Column/ColumnSeriesDefaults.js +4 -2
  81. package/es-modules/Series/Column3D/Column3DComposition.js +16 -14
  82. package/es-modules/Series/ColumnPyramid/ColumnPyramidPoint.js +18 -0
  83. package/es-modules/Series/ColumnPyramid/ColumnPyramidPointOptions.js +12 -0
  84. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -2
  85. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesOptions.js +12 -0
  86. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +2 -0
  87. package/es-modules/Series/ColumnRange/ColumnRangePointOptions.js +12 -0
  88. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +9 -142
  89. package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +148 -0
  90. package/es-modules/Series/ColumnRange/ColumnRangeSeriesOptions.js +12 -0
  91. package/es-modules/Series/Contour/ContourPoint.js +2 -0
  92. package/es-modules/Series/Contour/ContourSeries.js +1 -0
  93. package/es-modules/Series/Contour/ContourSeriesDefaults.js +7 -0
  94. package/es-modules/Series/Contour/ContourShader.js +9 -1
  95. package/es-modules/Series/CrossSymbol.js +3 -2
  96. package/es-modules/Series/Cylinder/CylinderComposition.js +10 -10
  97. package/es-modules/Series/Cylinder/CylinderPoint.js +2 -0
  98. package/es-modules/Series/Cylinder/CylinderPointOptions.js +15 -0
  99. package/es-modules/Series/Cylinder/CylinderSeries.js +2 -1
  100. package/es-modules/Series/Cylinder/CylinderSeriesOptions.js +15 -0
  101. package/es-modules/Series/Cylinder/SVGElement3DCylinder.js +2 -0
  102. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  103. package/es-modules/Series/DependencyWheel/DependencyWheelPointOptions.js +14 -0
  104. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +8 -8
  105. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesOptions.js +14 -0
  106. package/es-modules/Series/DerivedComposition.js +9 -8
  107. package/es-modules/Series/DotPlot/DotPlotPoint.js +18 -0
  108. package/es-modules/Series/DotPlot/DotPlotPointOptions.js +12 -0
  109. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -2
  110. package/es-modules/Series/DotPlot/DotPlotSeriesOptions.js +12 -0
  111. package/es-modules/Series/DragNodesComposition.js +11 -8
  112. package/es-modules/Series/DrawPointUtilities.js +3 -1
  113. package/es-modules/Series/Dumbbell/DumbbellPoint.js +5 -3
  114. package/es-modules/Series/Dumbbell/DumbbellPointOptions.js +12 -0
  115. package/es-modules/Series/Dumbbell/DumbbellSeries.js +9 -8
  116. package/es-modules/Series/Dumbbell/DumbbellSeriesOptions.js +12 -0
  117. package/es-modules/Series/ErrorBar/ErrorBarPoint.js +18 -0
  118. package/es-modules/Series/ErrorBar/ErrorBarPointOptions.js +12 -0
  119. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +6 -9
  120. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +15 -1
  121. package/es-modules/Series/ErrorBar/ErrorBarSeriesOptions.js +12 -0
  122. package/es-modules/Series/Flags/FlagsSeries.js +5 -14
  123. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -1
  124. package/es-modules/Series/Funnel/FunnelSeries.js +23 -24
  125. package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +12 -0
  126. package/es-modules/Series/Gantt/GanttSeries.js +2 -1
  127. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
  128. package/es-modules/Series/GraphLayoutComposition.js +3 -3
  129. package/es-modules/Series/Histogram/HistogramSeries.js +1 -1
  130. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -9
  131. package/es-modules/Series/Map/MapSeries.js +1 -2
  132. package/es-modules/Series/Map/MapSeriesDefaults.js +11 -1
  133. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +10 -7
  134. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +12 -0
  135. package/es-modules/Series/OHLC/OHLCPoint.js +2 -2
  136. package/es-modules/Series/OHLC/OHLCSeries.js +1 -0
  137. package/es-modules/Series/Organization/OrganizationSeries.js +29 -7
  138. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +11 -4
  139. package/es-modules/Series/Pie/PiePoint.js +1 -2
  140. package/es-modules/Series/PolarComposition.js +5 -7
  141. package/es-modules/Series/Polygon/PolygonSeries.js +2 -2
  142. package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +20 -0
  143. package/es-modules/Series/RangeDataLabel.js +128 -0
  144. package/es-modules/Series/Sankey/SankeySeries.js +2 -2
  145. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +2 -2
  146. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +2 -0
  147. package/es-modules/Series/SimulationSeriesUtilities.js +1 -2
  148. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +2 -2
  149. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +8 -0
  150. package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +12 -6
  151. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -1
  152. package/es-modules/Series/Timeline/TimelineSeries.js +9 -3
  153. package/es-modules/Series/Treegraph/TreegraphSeries.js +22 -13
  154. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +22 -1
  155. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +3 -2
  156. package/es-modules/Series/Vector/VectorSeries.js +7 -9
  157. package/es-modules/Series/Venn/VennSeries.js +3 -4
  158. package/es-modules/Series/Waterfall/WaterfallSeries.js +1 -1
  159. package/es-modules/Series/Windbarb/WindbarbSeries.js +6 -8
  160. package/es-modules/Series/XRange/XRangeSeries.js +8 -8
  161. package/es-modules/Shared/TimeBase.js +5 -6
  162. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -2
  163. package/es-modules/Stock/Navigator/NavigatorDefaults.js +9 -2
  164. package/es-modules/Stock/Navigator/NavigatorSymbols.js +2 -1
  165. package/es-modules/Stock/Navigator/StandaloneNavigator.js +51 -10
  166. package/es-modules/Stock/StockTools/StockToolbar.js +1 -1
  167. package/es-modules/Stock/StockTools/StockToolsBindings.js +7 -7
  168. package/es-modules/Stock/StockTools/StockToolsGui.js +2 -2
  169. package/es-modules/masters/highcharts-3d.src.js +1 -1
  170. package/es-modules/masters/highcharts-autoload.src.js +1 -1
  171. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  172. package/es-modules/masters/highcharts-more.src.js +1 -1
  173. package/es-modules/masters/highcharts.src.js +7 -7
  174. package/es-modules/masters/highmaps.src.js +1 -1
  175. package/es-modules/masters/highstock.src.js +1 -1
  176. package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
  177. package/es-modules/masters/i18n/fr-FR.src.js +1 -1
  178. package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
  179. package/es-modules/masters/i18n/nb-NO.src.js +1 -1
  180. package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
  181. package/es-modules/masters/i18n/zh-CN.src.js +1 -1
  182. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  183. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  184. package/es-modules/masters/indicators/ao.src.js +1 -1
  185. package/es-modules/masters/indicators/apo.src.js +1 -1
  186. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  187. package/es-modules/masters/indicators/aroon.src.js +1 -1
  188. package/es-modules/masters/indicators/atr.src.js +1 -1
  189. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  190. package/es-modules/masters/indicators/cci.src.js +1 -1
  191. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  192. package/es-modules/masters/indicators/cmf.src.js +1 -1
  193. package/es-modules/masters/indicators/cmo.src.js +1 -1
  194. package/es-modules/masters/indicators/dema.src.js +1 -1
  195. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  196. package/es-modules/masters/indicators/dmi.src.js +1 -1
  197. package/es-modules/masters/indicators/dpo.src.js +1 -1
  198. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  199. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  200. package/es-modules/masters/indicators/indicators.src.js +1 -1
  201. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  202. package/es-modules/masters/indicators/klinger.src.js +1 -1
  203. package/es-modules/masters/indicators/macd.src.js +1 -1
  204. package/es-modules/masters/indicators/mfi.src.js +1 -1
  205. package/es-modules/masters/indicators/momentum.src.js +1 -1
  206. package/es-modules/masters/indicators/natr.src.js +1 -1
  207. package/es-modules/masters/indicators/obv.src.js +1 -1
  208. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  209. package/es-modules/masters/indicators/ppo.src.js +1 -1
  210. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  211. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  212. package/es-modules/masters/indicators/psar.src.js +1 -1
  213. package/es-modules/masters/indicators/regressions.src.js +1 -1
  214. package/es-modules/masters/indicators/roc.src.js +1 -1
  215. package/es-modules/masters/indicators/rsi.src.js +1 -1
  216. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  217. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  218. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  219. package/es-modules/masters/indicators/tema.src.js +1 -1
  220. package/es-modules/masters/indicators/trendline.src.js +1 -1
  221. package/es-modules/masters/indicators/trix.src.js +1 -1
  222. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  223. package/es-modules/masters/indicators/vwap.src.js +1 -1
  224. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  225. package/es-modules/masters/indicators/wma.src.js +1 -1
  226. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  227. package/es-modules/masters/modules/accessibility.src.js +1 -1
  228. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  229. package/es-modules/masters/modules/annotations.src.js +1 -1
  230. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  231. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  232. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  233. package/es-modules/masters/modules/boost.src.js +1 -1
  234. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  235. package/es-modules/masters/modules/bullet.src.js +1 -1
  236. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  237. package/es-modules/masters/modules/contour.src.js +1 -1
  238. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  239. package/es-modules/masters/modules/cylinder.src.js +1 -1
  240. package/es-modules/masters/modules/data-sorting.src.js +1 -1
  241. package/es-modules/masters/modules/data-tools.src.js +1 -1
  242. package/es-modules/masters/modules/data.src.js +1 -1
  243. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  244. package/es-modules/masters/modules/debugger.src.js +1 -1
  245. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  246. package/es-modules/masters/modules/dotplot.src.js +1 -1
  247. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  248. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  249. package/es-modules/masters/modules/drilldown.src.js +1 -1
  250. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  251. package/es-modules/masters/modules/export-data.src.js +1 -1
  252. package/es-modules/masters/modules/exporting.src.js +1 -1
  253. package/es-modules/masters/modules/flowmap.src.js +2 -1
  254. package/es-modules/masters/modules/full-screen.src.js +1 -1
  255. package/es-modules/masters/modules/funnel.src.js +1 -1
  256. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  257. package/es-modules/masters/modules/gantt.src.js +1 -1
  258. package/es-modules/masters/modules/geoheatmap.src.js +1 -1
  259. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  260. package/es-modules/masters/modules/heatmap.src.js +1 -1
  261. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  262. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  263. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  264. package/es-modules/masters/modules/item-series.src.js +1 -1
  265. package/es-modules/masters/modules/lollipop.src.js +1 -1
  266. package/es-modules/masters/modules/map.src.js +1 -1
  267. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  268. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  269. package/es-modules/masters/modules/navigator.src.js +1 -1
  270. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  271. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  272. package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
  273. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  274. package/es-modules/masters/modules/organization.src.js +1 -1
  275. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  276. package/es-modules/masters/modules/pareto.src.js +1 -1
  277. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  278. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  279. package/es-modules/masters/modules/pictorial.src.js +1 -1
  280. package/es-modules/masters/modules/pointandfigure.src.js +1 -1
  281. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  282. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  283. package/es-modules/masters/modules/renko.src.js +1 -1
  284. package/es-modules/masters/modules/sankey.src.js +1 -1
  285. package/es-modules/masters/modules/series-label.src.js +1 -1
  286. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  287. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  288. package/es-modules/masters/modules/sonification.src.js +1 -1
  289. package/es-modules/masters/modules/static-scale.src.js +1 -1
  290. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  291. package/es-modules/masters/modules/stock.src.js +1 -1
  292. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  293. package/es-modules/masters/modules/sunburst.src.js +3 -2
  294. package/es-modules/masters/modules/textpath.src.js +1 -1
  295. package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  296. package/es-modules/masters/modules/tilemap.src.js +1 -1
  297. package/es-modules/masters/modules/timeline.src.js +1 -1
  298. package/es-modules/masters/modules/treegraph.src.js +1 -1
  299. package/es-modules/masters/modules/treegrid.src.js +1 -1
  300. package/es-modules/masters/modules/treemap.src.js +1 -1
  301. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  302. package/es-modules/masters/modules/variwide.src.js +1 -1
  303. package/es-modules/masters/modules/vector.src.js +1 -1
  304. package/es-modules/masters/modules/venn.src.js +1 -1
  305. package/es-modules/masters/modules/windbarb.src.js +1 -1
  306. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  307. package/es-modules/masters/modules/xrange.src.js +1 -1
  308. package/es-modules/masters/standalone-navigator.src.js +1 -1
  309. package/es-modules/masters/themes/adaptive.src.js +1 -1
  310. package/es-modules/masters/themes/avocado.src.js +1 -1
  311. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  312. package/es-modules/masters/themes/grid-light.src.js +1 -1
  313. package/es-modules/masters/themes/high-contrast.src.js +1 -1
  314. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  315. package/es-modules/masters/themes/sunset.src.js +1 -1
  316. package/es-modules/tsconfig.tsbuildinfo +1 -1
  317. package/esm/highcharts-3d.js +2 -2
  318. package/esm/highcharts-3d.src.js +40 -25
  319. package/esm/highcharts-autoload.js +2 -2
  320. package/esm/highcharts-autoload.src.js +22 -8
  321. package/esm/highcharts-gantt.js +2 -2
  322. package/esm/highcharts-gantt.src.js +1 -24
  323. package/esm/highcharts-more.js +2 -2
  324. package/esm/highcharts-more.src.js +1109 -926
  325. package/esm/highcharts.js +5 -5
  326. package/esm/highcharts.src.js +396 -314
  327. package/esm/highmaps.js +2 -2
  328. package/esm/highmaps.src.js +1 -24
  329. package/esm/highstock.js +2 -2
  330. package/esm/highstock.src.js +1 -24
  331. package/esm/i18n/fr-FR.js +2 -2
  332. package/esm/i18n/fr-FR.src.js +22 -8
  333. package/esm/i18n/nb-NO.js +2 -2
  334. package/esm/i18n/nb-NO.src.js +22 -8
  335. package/esm/i18n/zh-CN.js +2 -2
  336. package/esm/i18n/zh-CN.src.js +22 -8
  337. package/esm/indicators/acceleration-bands.js +2 -2
  338. package/esm/indicators/acceleration-bands.src.js +22 -8
  339. package/esm/indicators/accumulation-distribution.js +2 -2
  340. package/esm/indicators/accumulation-distribution.src.js +22 -8
  341. package/esm/indicators/ao.js +2 -2
  342. package/esm/indicators/ao.src.js +22 -8
  343. package/esm/indicators/apo.js +2 -2
  344. package/esm/indicators/apo.src.js +22 -8
  345. package/esm/indicators/aroon-oscillator.js +2 -2
  346. package/esm/indicators/aroon-oscillator.src.js +22 -8
  347. package/esm/indicators/aroon.js +2 -2
  348. package/esm/indicators/aroon.src.js +22 -8
  349. package/esm/indicators/atr.js +2 -2
  350. package/esm/indicators/atr.src.js +22 -8
  351. package/esm/indicators/bollinger-bands.js +2 -2
  352. package/esm/indicators/bollinger-bands.src.js +22 -8
  353. package/esm/indicators/cci.js +2 -2
  354. package/esm/indicators/cci.src.js +22 -8
  355. package/esm/indicators/chaikin.js +2 -2
  356. package/esm/indicators/chaikin.src.js +22 -8
  357. package/esm/indicators/cmf.js +2 -2
  358. package/esm/indicators/cmf.src.js +22 -8
  359. package/esm/indicators/cmo.js +2 -2
  360. package/esm/indicators/cmo.src.js +22 -8
  361. package/esm/indicators/dema.js +2 -2
  362. package/esm/indicators/dema.src.js +22 -8
  363. package/esm/indicators/disparity-index.js +2 -2
  364. package/esm/indicators/disparity-index.src.js +22 -8
  365. package/esm/indicators/dmi.js +2 -2
  366. package/esm/indicators/dmi.src.js +22 -8
  367. package/esm/indicators/dpo.js +2 -2
  368. package/esm/indicators/dpo.src.js +22 -8
  369. package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
  370. package/esm/indicators/ichimoku-kinko-hyo.src.js +22 -8
  371. package/esm/indicators/indicators-all.js +2 -2
  372. package/esm/indicators/indicators-all.src.js +24 -11
  373. package/esm/indicators/indicators.js +2 -2
  374. package/esm/indicators/indicators.src.js +23 -9
  375. package/esm/indicators/keltner-channels.js +2 -2
  376. package/esm/indicators/keltner-channels.src.js +22 -8
  377. package/esm/indicators/klinger.js +2 -2
  378. package/esm/indicators/klinger.src.js +22 -8
  379. package/esm/indicators/macd.js +2 -2
  380. package/esm/indicators/macd.src.js +22 -8
  381. package/esm/indicators/mfi.js +2 -2
  382. package/esm/indicators/mfi.src.js +22 -8
  383. package/esm/indicators/momentum.js +2 -2
  384. package/esm/indicators/momentum.src.js +22 -8
  385. package/esm/indicators/natr.js +2 -2
  386. package/esm/indicators/natr.src.js +22 -8
  387. package/esm/indicators/obv.js +2 -2
  388. package/esm/indicators/obv.src.js +22 -8
  389. package/esm/indicators/pivot-points.js +2 -2
  390. package/esm/indicators/pivot-points.src.js +22 -8
  391. package/esm/indicators/ppo.js +2 -2
  392. package/esm/indicators/ppo.src.js +22 -8
  393. package/esm/indicators/price-channel.js +2 -2
  394. package/esm/indicators/price-channel.src.js +22 -8
  395. package/esm/indicators/price-envelopes.js +2 -2
  396. package/esm/indicators/price-envelopes.src.js +22 -8
  397. package/esm/indicators/psar.js +2 -2
  398. package/esm/indicators/psar.src.js +22 -8
  399. package/esm/indicators/regressions.js +2 -2
  400. package/esm/indicators/regressions.src.js +22 -8
  401. package/esm/indicators/roc.js +2 -2
  402. package/esm/indicators/roc.src.js +22 -8
  403. package/esm/indicators/rsi.js +2 -2
  404. package/esm/indicators/rsi.src.js +22 -8
  405. package/esm/indicators/slow-stochastic.js +2 -2
  406. package/esm/indicators/slow-stochastic.src.js +22 -8
  407. package/esm/indicators/stochastic.js +2 -2
  408. package/esm/indicators/stochastic.src.js +22 -8
  409. package/esm/indicators/supertrend.js +2 -2
  410. package/esm/indicators/supertrend.src.js +22 -8
  411. package/esm/indicators/tema.js +2 -2
  412. package/esm/indicators/tema.src.js +22 -8
  413. package/esm/indicators/trendline.js +2 -2
  414. package/esm/indicators/trendline.src.js +22 -8
  415. package/esm/indicators/trix.js +2 -2
  416. package/esm/indicators/trix.src.js +22 -8
  417. package/esm/indicators/volume-by-price.js +2 -2
  418. package/esm/indicators/volume-by-price.src.js +23 -10
  419. package/esm/indicators/vwap.js +2 -2
  420. package/esm/indicators/vwap.src.js +22 -8
  421. package/esm/indicators/williams-r.js +2 -2
  422. package/esm/indicators/williams-r.src.js +22 -8
  423. package/esm/indicators/wma.js +2 -2
  424. package/esm/indicators/wma.src.js +22 -8
  425. package/esm/indicators/zigzag.js +2 -2
  426. package/esm/indicators/zigzag.src.js +22 -8
  427. package/esm/modules/accessibility.js +2 -2
  428. package/esm/modules/accessibility.src.js +498 -32
  429. package/esm/modules/annotations-advanced.js +11 -11
  430. package/esm/modules/annotations-advanced.src.js +201 -141
  431. package/esm/modules/annotations.js +11 -11
  432. package/esm/modules/annotations.src.js +165 -127
  433. package/esm/modules/arc-diagram.js +2 -2
  434. package/esm/modules/arc-diagram.src.js +22 -8
  435. package/esm/modules/arrow-symbols.js +3 -3
  436. package/esm/modules/arrow-symbols.src.js +22 -8
  437. package/esm/modules/boost-canvas.js +2 -2
  438. package/esm/modules/boost-canvas.src.js +32 -11
  439. package/esm/modules/boost.js +2 -2
  440. package/esm/modules/boost.src.js +45 -11
  441. package/esm/modules/broken-axis.js +2 -2
  442. package/esm/modules/broken-axis.src.js +22 -8
  443. package/esm/modules/bullet.js +2 -2
  444. package/esm/modules/bullet.src.js +23 -9
  445. package/esm/modules/coloraxis.js +2 -2
  446. package/esm/modules/coloraxis.src.js +30 -11
  447. package/esm/modules/contour.js +3 -3
  448. package/esm/modules/contour.src.js +46 -13
  449. package/esm/modules/current-date-indicator.js +2 -2
  450. package/esm/modules/current-date-indicator.src.js +22 -8
  451. package/esm/modules/cylinder.js +2 -2
  452. package/esm/modules/cylinder.src.js +38 -19
  453. package/esm/modules/data-sorting.js +2 -2
  454. package/esm/modules/data-sorting.src.js +22 -8
  455. package/esm/modules/data-tools.js +2 -2
  456. package/esm/modules/data-tools.src.js +25 -11
  457. package/esm/modules/data.js +4 -4
  458. package/esm/modules/data.src.js +23 -9
  459. package/esm/modules/datagrouping.js +2 -2
  460. package/esm/modules/datagrouping.src.js +23 -9
  461. package/esm/modules/debugger.js +2 -2
  462. package/esm/modules/debugger.src.js +22 -8
  463. package/esm/modules/dependency-wheel.js +2 -2
  464. package/esm/modules/dependency-wheel.src.js +428 -17
  465. package/esm/modules/dotplot.js +2 -2
  466. package/esm/modules/dotplot.src.js +25 -10
  467. package/esm/modules/drag-panes.js +2 -2
  468. package/esm/modules/drag-panes.src.js +22 -8
  469. package/esm/modules/draggable-points.js +2 -2
  470. package/esm/modules/draggable-points.src.js +23 -10
  471. package/esm/modules/drilldown.js +2 -2
  472. package/esm/modules/drilldown.src.js +34 -22
  473. package/esm/modules/dumbbell.js +2 -2
  474. package/esm/modules/dumbbell.src.js +36 -19
  475. package/esm/modules/export-data.js +2 -2
  476. package/esm/modules/export-data.src.js +27 -9
  477. package/esm/modules/exporting.js +2 -2
  478. package/esm/modules/exporting.src.js +77 -31
  479. package/esm/modules/flowmap.js +3 -2
  480. package/esm/modules/flowmap.src.js +23 -8
  481. package/esm/modules/full-screen.js +2 -2
  482. package/esm/modules/full-screen.src.js +22 -8
  483. package/esm/modules/funnel.js +2 -2
  484. package/esm/modules/funnel.src.js +72 -41
  485. package/esm/modules/funnel3d.js +2 -2
  486. package/esm/modules/funnel3d.src.js +22 -8
  487. package/esm/modules/gantt.js +2 -2
  488. package/esm/modules/gantt.src.js +450 -25
  489. package/esm/modules/geoheatmap.js +2 -2
  490. package/esm/modules/geoheatmap.src.js +28 -14
  491. package/esm/modules/grid-axis.js +2 -2
  492. package/esm/modules/grid-axis.src.js +30 -9
  493. package/esm/modules/heatmap.js +2 -2
  494. package/esm/modules/heatmap.src.js +29 -12
  495. package/esm/modules/heikinashi.js +2 -2
  496. package/esm/modules/heikinashi.src.js +22 -8
  497. package/esm/modules/histogram-bellcurve.js +2 -2
  498. package/esm/modules/histogram-bellcurve.src.js +42 -23
  499. package/esm/modules/hollowcandlestick.js +2 -2
  500. package/esm/modules/hollowcandlestick.src.js +31 -17
  501. package/esm/modules/item-series.js +2 -2
  502. package/esm/modules/item-series.src.js +55 -8
  503. package/esm/modules/lollipop.js +2 -2
  504. package/esm/modules/lollipop.src.js +22 -8
  505. package/esm/modules/map.js +2 -2
  506. package/esm/modules/map.src.js +84 -35
  507. package/esm/modules/marker-clusters.js +2 -2
  508. package/esm/modules/marker-clusters.src.js +25 -13
  509. package/esm/modules/mouse-wheel-zoom.js +2 -2
  510. package/esm/modules/mouse-wheel-zoom.src.js +52 -11
  511. package/esm/modules/navigator.js +2 -2
  512. package/esm/modules/navigator.src.js +488 -30
  513. package/esm/modules/networkgraph.js +2 -2
  514. package/esm/modules/networkgraph.src.js +57 -26
  515. package/esm/modules/no-data-to-display.js +2 -2
  516. package/esm/modules/no-data-to-display.src.js +22 -8
  517. package/esm/modules/non-cartesian-zoom.js +2 -2
  518. package/esm/modules/non-cartesian-zoom.src.js +22 -8
  519. package/esm/modules/offline-exporting.js +2 -2
  520. package/esm/modules/offline-exporting.src.js +53 -12
  521. package/esm/modules/organization.js +4 -2
  522. package/esm/modules/organization.src.js +61 -18
  523. package/esm/modules/parallel-coordinates.js +2 -2
  524. package/esm/modules/parallel-coordinates.src.js +25 -8
  525. package/esm/modules/pareto.js +2 -2
  526. package/esm/modules/pareto.src.js +31 -16
  527. package/esm/modules/pathfinder.js +2 -2
  528. package/esm/modules/pathfinder.src.js +22 -8
  529. package/esm/modules/pattern-fill.js +2 -2
  530. package/esm/modules/pattern-fill.src.js +22 -8
  531. package/esm/modules/pictorial.js +2 -2
  532. package/esm/modules/pictorial.src.js +27 -14
  533. package/esm/modules/pointandfigure.js +2 -2
  534. package/esm/modules/pointandfigure.src.js +26 -11
  535. package/esm/modules/price-indicator.js +2 -2
  536. package/esm/modules/price-indicator.src.js +22 -8
  537. package/esm/modules/pyramid3d.js +2 -2
  538. package/esm/modules/pyramid3d.src.js +22 -8
  539. package/esm/modules/renko.js +2 -2
  540. package/esm/modules/renko.src.js +22 -8
  541. package/esm/modules/sankey.js +2 -2
  542. package/esm/modules/sankey.src.js +26 -12
  543. package/esm/modules/series-label.js +2 -2
  544. package/esm/modules/series-label.src.js +25 -12
  545. package/esm/modules/series-on-point.js +2 -2
  546. package/esm/modules/series-on-point.src.js +23 -9
  547. package/esm/modules/solid-gauge.js +2 -2
  548. package/esm/modules/solid-gauge.src.js +39 -19
  549. package/esm/modules/sonification.js +2 -2
  550. package/esm/modules/sonification.src.js +27 -12
  551. package/esm/modules/static-scale.js +2 -2
  552. package/esm/modules/static-scale.src.js +22 -8
  553. package/esm/modules/stock-tools.js +3 -3
  554. package/esm/modules/stock-tools.src.js +59 -18
  555. package/esm/modules/stock.js +2 -2
  556. package/esm/modules/stock.src.js +465 -47
  557. package/esm/modules/streamgraph.js +2 -2
  558. package/esm/modules/streamgraph.src.js +22 -8
  559. package/esm/modules/sunburst.js +2 -2
  560. package/esm/modules/sunburst.src.js +70 -20
  561. package/esm/modules/textpath.js +2 -2
  562. package/esm/modules/textpath.src.js +22 -8
  563. package/esm/modules/tiledwebmap.js +3 -3
  564. package/esm/modules/tiledwebmap.src.js +37 -14
  565. package/esm/modules/tilemap.js +2 -2
  566. package/esm/modules/tilemap.src.js +25 -10
  567. package/esm/modules/timeline.js +2 -2
  568. package/esm/modules/timeline.src.js +31 -11
  569. package/esm/modules/treegraph.js +2 -2
  570. package/esm/modules/treegraph.src.js +43 -20
  571. package/esm/modules/treegrid.js +2 -2
  572. package/esm/modules/treegrid.src.js +31 -10
  573. package/esm/modules/treemap.js +2 -2
  574. package/esm/modules/treemap.src.js +55 -15
  575. package/esm/modules/variable-pie.js +2 -2
  576. package/esm/modules/variable-pie.src.js +25 -10
  577. package/esm/modules/variwide.js +2 -2
  578. package/esm/modules/variwide.src.js +22 -8
  579. package/esm/modules/vector.js +2 -2
  580. package/esm/modules/vector.src.js +28 -16
  581. package/esm/modules/venn.js +2 -2
  582. package/esm/modules/venn.src.js +28 -13
  583. package/esm/modules/windbarb.js +2 -2
  584. package/esm/modules/windbarb.src.js +28 -16
  585. package/esm/modules/wordcloud.js +2 -2
  586. package/esm/modules/wordcloud.src.js +25 -9
  587. package/esm/modules/xrange.js +2 -2
  588. package/esm/modules/xrange.src.js +29 -15
  589. package/esm/standalone-navigator.js +5 -5
  590. package/esm/standalone-navigator.src.js +461 -329
  591. package/esm/themes/adaptive.js +3 -3
  592. package/esm/themes/adaptive.src.js +22 -8
  593. package/esm/themes/avocado.js +2 -2
  594. package/esm/themes/avocado.src.js +22 -8
  595. package/esm/themes/dark-unica.js +2 -2
  596. package/esm/themes/dark-unica.src.js +22 -8
  597. package/esm/themes/grid-light.js +2 -2
  598. package/esm/themes/grid-light.src.js +22 -8
  599. package/esm/themes/high-contrast.js +2 -2
  600. package/esm/themes/high-contrast.src.js +22 -8
  601. package/esm/themes/sand-signika.js +2 -2
  602. package/esm/themes/sand-signika.src.js +22 -8
  603. package/esm/themes/sunset.js +2 -2
  604. package/esm/themes/sunset.src.js +22 -8
  605. package/highcharts-3d.js +2 -2
  606. package/highcharts-3d.src.js +78 -62
  607. package/highcharts-autoload.d.ts +7 -3
  608. package/highcharts-autoload.js +4 -4
  609. package/highcharts-autoload.src.d.ts +7 -3
  610. package/highcharts-autoload.src.js +418 -298
  611. package/highcharts-gantt.js +4 -4
  612. package/highcharts-gantt.src.js +458 -318
  613. package/highcharts-more.d.ts +7 -3
  614. package/highcharts-more.js +2 -2
  615. package/highcharts-more.src.d.ts +7 -3
  616. package/highcharts-more.src.js +1224 -1040
  617. package/highcharts.d.ts +34734 -25643
  618. package/highcharts.js +4 -4
  619. package/highcharts.src.d.ts +34734 -25643
  620. package/highcharts.src.js +417 -297
  621. package/highmaps.js +4 -4
  622. package/highmaps.src.js +482 -320
  623. package/highstock.js +4 -4
  624. package/highstock.src.js +497 -337
  625. package/i18n/fr-FR.js +2 -2
  626. package/i18n/fr-FR.src.js +32 -16
  627. package/i18n/nb-NO.js +2 -2
  628. package/i18n/nb-NO.src.js +32 -16
  629. package/i18n/zh-CN.js +2 -2
  630. package/i18n/zh-CN.src.js +32 -16
  631. package/indicators/acceleration-bands.js +2 -2
  632. package/indicators/acceleration-bands.src.js +31 -16
  633. package/indicators/accumulation-distribution.js +2 -2
  634. package/indicators/accumulation-distribution.src.js +31 -16
  635. package/indicators/ao.js +2 -2
  636. package/indicators/ao.src.js +31 -16
  637. package/indicators/apo.js +2 -2
  638. package/indicators/apo.src.js +31 -16
  639. package/indicators/aroon-oscillator.js +2 -2
  640. package/indicators/aroon-oscillator.src.js +31 -16
  641. package/indicators/aroon.js +2 -2
  642. package/indicators/aroon.src.js +31 -16
  643. package/indicators/atr.js +2 -2
  644. package/indicators/atr.src.js +31 -16
  645. package/indicators/bollinger-bands.js +2 -2
  646. package/indicators/bollinger-bands.src.js +31 -16
  647. package/indicators/cci.js +2 -2
  648. package/indicators/cci.src.js +31 -16
  649. package/indicators/chaikin.js +2 -2
  650. package/indicators/chaikin.src.js +31 -16
  651. package/indicators/cmf.js +2 -2
  652. package/indicators/cmf.src.js +31 -16
  653. package/indicators/cmo.js +2 -2
  654. package/indicators/cmo.src.js +31 -16
  655. package/indicators/dema.js +2 -2
  656. package/indicators/dema.src.js +31 -16
  657. package/indicators/disparity-index.js +2 -2
  658. package/indicators/disparity-index.src.js +31 -16
  659. package/indicators/dmi.js +2 -2
  660. package/indicators/dmi.src.js +31 -16
  661. package/indicators/dpo.js +2 -2
  662. package/indicators/dpo.src.js +31 -16
  663. package/indicators/ichimoku-kinko-hyo.js +2 -2
  664. package/indicators/ichimoku-kinko-hyo.src.js +41 -26
  665. package/indicators/indicators-all.js +2 -2
  666. package/indicators/indicators-all.src.js +45 -31
  667. package/indicators/indicators.js +2 -2
  668. package/indicators/indicators.src.js +38 -23
  669. package/indicators/keltner-channels.js +2 -2
  670. package/indicators/keltner-channels.src.js +31 -16
  671. package/indicators/klinger.js +2 -2
  672. package/indicators/klinger.src.js +31 -16
  673. package/indicators/macd.js +2 -2
  674. package/indicators/macd.src.js +31 -16
  675. package/indicators/mfi.js +2 -2
  676. package/indicators/mfi.src.js +31 -16
  677. package/indicators/momentum.js +2 -2
  678. package/indicators/momentum.src.js +31 -16
  679. package/indicators/natr.js +2 -2
  680. package/indicators/natr.src.js +31 -16
  681. package/indicators/obv.js +2 -2
  682. package/indicators/obv.src.js +31 -16
  683. package/indicators/pivot-points.js +2 -2
  684. package/indicators/pivot-points.src.js +31 -16
  685. package/indicators/ppo.js +2 -2
  686. package/indicators/ppo.src.js +31 -16
  687. package/indicators/price-channel.js +2 -2
  688. package/indicators/price-channel.src.js +31 -16
  689. package/indicators/price-envelopes.js +2 -2
  690. package/indicators/price-envelopes.src.js +31 -16
  691. package/indicators/psar.js +2 -2
  692. package/indicators/psar.src.js +31 -16
  693. package/indicators/regressions.js +2 -2
  694. package/indicators/regressions.src.js +31 -16
  695. package/indicators/roc.js +2 -2
  696. package/indicators/roc.src.js +31 -16
  697. package/indicators/rsi.js +2 -2
  698. package/indicators/rsi.src.js +31 -16
  699. package/indicators/slow-stochastic.js +2 -2
  700. package/indicators/slow-stochastic.src.js +31 -16
  701. package/indicators/stochastic.js +2 -2
  702. package/indicators/stochastic.src.js +31 -16
  703. package/indicators/supertrend.js +2 -2
  704. package/indicators/supertrend.src.js +31 -16
  705. package/indicators/tema.js +2 -2
  706. package/indicators/tema.src.js +31 -16
  707. package/indicators/trendline.js +2 -2
  708. package/indicators/trendline.src.js +31 -16
  709. package/indicators/trix.js +2 -2
  710. package/indicators/trix.src.js +31 -16
  711. package/indicators/volume-by-price.js +2 -2
  712. package/indicators/volume-by-price.src.js +32 -18
  713. package/indicators/vwap.js +2 -2
  714. package/indicators/vwap.src.js +31 -16
  715. package/indicators/williams-r.js +2 -2
  716. package/indicators/williams-r.src.js +31 -16
  717. package/indicators/wma.js +2 -2
  718. package/indicators/wma.src.js +31 -16
  719. package/indicators/zigzag.js +2 -2
  720. package/indicators/zigzag.src.js +31 -16
  721. package/modules/accessibility.d.ts +47 -0
  722. package/modules/accessibility.js +2 -2
  723. package/modules/accessibility.src.d.ts +47 -0
  724. package/modules/accessibility.src.js +537 -70
  725. package/modules/annotations-advanced.js +11 -11
  726. package/modules/annotations-advanced.src.js +223 -162
  727. package/modules/annotations.js +11 -11
  728. package/modules/annotations.src.js +187 -148
  729. package/modules/arc-diagram.js +2 -2
  730. package/modules/arc-diagram.src.js +43 -28
  731. package/modules/arrow-symbols.js +2 -2
  732. package/modules/arrow-symbols.src.js +28 -13
  733. package/modules/boost-canvas.js +2 -2
  734. package/modules/boost-canvas.src.js +41 -19
  735. package/modules/boost.js +2 -2
  736. package/modules/boost.src.js +54 -19
  737. package/modules/broken-axis.js +2 -2
  738. package/modules/broken-axis.src.js +31 -16
  739. package/modules/bullet.js +2 -2
  740. package/modules/bullet.src.js +35 -20
  741. package/modules/coloraxis.js +2 -2
  742. package/modules/coloraxis.src.js +48 -28
  743. package/modules/contour.js +5 -5
  744. package/modules/contour.src.js +74 -34
  745. package/modules/current-date-indicator.js +2 -2
  746. package/modules/current-date-indicator.src.js +28 -13
  747. package/modules/cylinder.js +2 -2
  748. package/modules/cylinder.src.js +59 -39
  749. package/modules/data-sorting.js +2 -2
  750. package/modules/data-sorting.src.js +28 -13
  751. package/modules/data-tools.js +2 -2
  752. package/modules/data-tools.src.js +31 -16
  753. package/modules/data.js +2 -2
  754. package/modules/data.src.js +50 -35
  755. package/modules/datagrouping.js +2 -2
  756. package/modules/datagrouping.src.js +37 -22
  757. package/modules/debugger.js +2 -2
  758. package/modules/debugger.src.js +28 -13
  759. package/modules/dependency-wheel.d.ts +7 -1
  760. package/modules/dependency-wheel.js +2 -2
  761. package/modules/dependency-wheel.src.d.ts +7 -1
  762. package/modules/dependency-wheel.src.js +440 -28
  763. package/modules/dotplot.js +2 -2
  764. package/modules/dotplot.src.js +34 -18
  765. package/modules/drag-panes.js +2 -2
  766. package/modules/drag-panes.src.js +28 -13
  767. package/modules/draggable-points.js +2 -2
  768. package/modules/draggable-points.src.js +29 -15
  769. package/modules/drilldown.js +2 -2
  770. package/modules/drilldown.src.js +45 -32
  771. package/modules/dumbbell.js +2 -2
  772. package/modules/dumbbell.src.js +50 -32
  773. package/modules/export-data.d.ts +66 -1
  774. package/modules/export-data.js +2 -2
  775. package/modules/export-data.src.d.ts +66 -1
  776. package/modules/export-data.src.js +41 -22
  777. package/modules/exporting.d.ts +0 -103
  778. package/modules/exporting.js +2 -2
  779. package/modules/exporting.src.d.ts +0 -103
  780. package/modules/exporting.src.js +91 -44
  781. package/modules/flowmap.js +3 -2
  782. package/modules/flowmap.src.js +32 -16
  783. package/modules/full-screen.js +2 -2
  784. package/modules/full-screen.src.js +31 -16
  785. package/modules/funnel.d.ts +3 -3
  786. package/modules/funnel.js +2 -2
  787. package/modules/funnel.src.d.ts +3 -3
  788. package/modules/funnel.src.js +81 -49
  789. package/modules/funnel3d.js +2 -2
  790. package/modules/funnel3d.src.js +43 -28
  791. package/modules/gantt.d.ts +47 -0
  792. package/modules/gantt.js +8 -8
  793. package/modules/gantt.src.d.ts +47 -0
  794. package/modules/gantt.src.js +510 -81
  795. package/modules/geoheatmap.d.ts +13 -0
  796. package/modules/geoheatmap.js +2 -2
  797. package/modules/geoheatmap.src.d.ts +13 -0
  798. package/modules/geoheatmap.src.js +37 -22
  799. package/modules/grid-axis.js +2 -2
  800. package/modules/grid-axis.src.js +39 -17
  801. package/modules/heatmap.js +4 -4
  802. package/modules/heatmap.src.js +64 -40
  803. package/modules/heikinashi.js +2 -2
  804. package/modules/heikinashi.src.js +31 -16
  805. package/modules/histogram-bellcurve.js +2 -2
  806. package/modules/histogram-bellcurve.src.js +56 -36
  807. package/modules/hollowcandlestick.js +2 -2
  808. package/modules/hollowcandlestick.src.js +45 -30
  809. package/modules/item-series.js +2 -2
  810. package/modules/item-series.src.js +64 -16
  811. package/modules/lollipop.js +2 -2
  812. package/modules/lollipop.src.js +36 -21
  813. package/modules/map.d.ts +0 -8
  814. package/modules/map.js +4 -4
  815. package/modules/map.src.d.ts +0 -8
  816. package/modules/map.src.js +131 -74
  817. package/modules/marker-clusters.js +2 -2
  818. package/modules/marker-clusters.src.js +31 -18
  819. package/modules/mouse-wheel-zoom.js +2 -2
  820. package/modules/mouse-wheel-zoom.src.js +58 -16
  821. package/modules/navigator.d.ts +47 -0
  822. package/modules/navigator.js +2 -2
  823. package/modules/navigator.src.d.ts +47 -0
  824. package/modules/navigator.src.js +510 -51
  825. package/modules/networkgraph.js +2 -2
  826. package/modules/networkgraph.src.js +69 -37
  827. package/modules/no-data-to-display.js +2 -2
  828. package/modules/no-data-to-display.src.js +31 -16
  829. package/modules/non-cartesian-zoom.js +2 -2
  830. package/modules/non-cartesian-zoom.src.js +28 -13
  831. package/modules/offline-exporting.js +2 -2
  832. package/modules/offline-exporting.src.js +67 -25
  833. package/modules/organization.js +4 -2
  834. package/modules/organization.src.js +73 -29
  835. package/modules/parallel-coordinates.js +2 -2
  836. package/modules/parallel-coordinates.src.js +36 -18
  837. package/modules/pareto.js +2 -2
  838. package/modules/pareto.src.js +45 -29
  839. package/modules/pathfinder.js +2 -2
  840. package/modules/pathfinder.src.js +31 -16
  841. package/modules/pattern-fill.js +2 -2
  842. package/modules/pattern-fill.src.js +28 -13
  843. package/modules/pictorial.js +2 -2
  844. package/modules/pictorial.src.js +53 -38
  845. package/modules/pointandfigure.js +2 -2
  846. package/modules/pointandfigure.src.js +35 -19
  847. package/modules/price-indicator.js +2 -2
  848. package/modules/price-indicator.src.js +28 -13
  849. package/modules/pyramid3d.js +2 -2
  850. package/modules/pyramid3d.src.js +31 -16
  851. package/modules/renko.js +2 -2
  852. package/modules/renko.src.js +34 -19
  853. package/modules/sankey.js +2 -2
  854. package/modules/sankey.src.js +47 -32
  855. package/modules/series-label.js +2 -2
  856. package/modules/series-label.src.js +36 -22
  857. package/modules/series-on-point.js +2 -2
  858. package/modules/series-on-point.src.js +40 -25
  859. package/modules/solid-gauge.d.ts +3 -3
  860. package/modules/solid-gauge.js +2 -2
  861. package/modules/solid-gauge.src.d.ts +3 -3
  862. package/modules/solid-gauge.src.js +53 -32
  863. package/modules/sonification.js +2 -2
  864. package/modules/sonification.src.js +38 -22
  865. package/modules/static-scale.js +2 -2
  866. package/modules/static-scale.src.js +28 -13
  867. package/modules/stock-tools.js +3 -3
  868. package/modules/stock-tools.src.js +76 -34
  869. package/modules/stock.d.ts +47 -0
  870. package/modules/stock.js +6 -6
  871. package/modules/stock.src.d.ts +47 -0
  872. package/modules/stock.src.js +549 -100
  873. package/modules/streamgraph.js +2 -2
  874. package/modules/streamgraph.src.js +31 -16
  875. package/modules/sunburst.js +2 -2
  876. package/modules/sunburst.src.js +97 -46
  877. package/modules/textpath.js +2 -2
  878. package/modules/textpath.src.js +28 -13
  879. package/modules/tiledwebmap.js +3 -3
  880. package/modules/tiledwebmap.src.js +58 -27
  881. package/modules/tilemap.js +2 -2
  882. package/modules/tilemap.src.js +39 -23
  883. package/modules/timeline.js +2 -2
  884. package/modules/timeline.src.js +43 -22
  885. package/modules/treegraph.js +2 -2
  886. package/modules/treegraph.src.js +67 -43
  887. package/modules/treegrid.js +2 -2
  888. package/modules/treegrid.src.js +49 -27
  889. package/modules/treemap.js +2 -2
  890. package/modules/treemap.src.js +82 -41
  891. package/modules/variable-pie.js +2 -2
  892. package/modules/variable-pie.src.js +34 -18
  893. package/modules/variwide.js +2 -2
  894. package/modules/variwide.src.js +31 -16
  895. package/modules/vector.js +2 -2
  896. package/modules/vector.src.js +37 -24
  897. package/modules/venn.js +2 -2
  898. package/modules/venn.src.js +42 -26
  899. package/modules/windbarb.js +2 -2
  900. package/modules/windbarb.src.js +50 -37
  901. package/modules/wordcloud.js +2 -2
  902. package/modules/wordcloud.src.js +34 -17
  903. package/modules/xrange.js +2 -2
  904. package/modules/xrange.src.js +43 -28
  905. package/options/abands.d.ts +722 -83
  906. package/options/abands.src.d.ts +722 -83
  907. package/options/ad.d.ts +381 -26
  908. package/options/ad.src.d.ts +381 -26
  909. package/options/ao.d.ts +744 -70
  910. package/options/ao.src.d.ts +744 -70
  911. package/options/apo.d.ts +381 -26
  912. package/options/apo.src.d.ts +381 -26
  913. package/options/arcdiagram.d.ts +80 -534
  914. package/options/arcdiagram.src.d.ts +80 -534
  915. package/options/area.d.ts +432 -129
  916. package/options/area.src.d.ts +432 -129
  917. package/options/arearange.d.ts +46 -4
  918. package/options/arearange.src.d.ts +46 -4
  919. package/options/areaspline.d.ts +141 -866
  920. package/options/areaspline.src.d.ts +141 -866
  921. package/options/areasplinerange.d.ts +221 -871
  922. package/options/areasplinerange.src.d.ts +221 -871
  923. package/options/aroon.d.ts +432 -124
  924. package/options/aroon.src.d.ts +432 -124
  925. package/options/aroonoscillator.d.ts +127 -689
  926. package/options/aroonoscillator.src.d.ts +127 -689
  927. package/options/atr.d.ts +381 -71
  928. package/options/atr.src.d.ts +381 -71
  929. package/options/bar.d.ts +103 -12
  930. package/options/bar.src.d.ts +103 -12
  931. package/options/bb.d.ts +87 -762
  932. package/options/bb.src.d.ts +87 -762
  933. package/options/bellcurve.d.ts +87 -364
  934. package/options/bellcurve.src.d.ts +87 -364
  935. package/options/boxplot.d.ts +82 -13
  936. package/options/boxplot.src.d.ts +82 -13
  937. package/options/bubble.d.ts +83 -874
  938. package/options/bubble.src.d.ts +83 -874
  939. package/options/bullet.d.ts +354 -717
  940. package/options/bullet.src.d.ts +354 -717
  941. package/options/candlestick.d.ts +99 -1214
  942. package/options/candlestick.src.d.ts +99 -1214
  943. package/options/cci.d.ts +381 -26
  944. package/options/cci.src.d.ts +381 -26
  945. package/options/chaikin.d.ts +728 -83
  946. package/options/chaikin.src.d.ts +728 -83
  947. package/options/cmf.d.ts +381 -26
  948. package/options/cmf.src.d.ts +381 -26
  949. package/options/cmo.d.ts +730 -79
  950. package/options/cmo.src.d.ts +730 -79
  951. package/options/column.d.ts +1265 -99
  952. package/options/column.src.d.ts +1265 -99
  953. package/options/columnpyramid.d.ts +102 -1158
  954. package/options/columnpyramid.src.d.ts +102 -1158
  955. package/options/columnrange.d.ts +952 -95
  956. package/options/columnrange.src.d.ts +952 -95
  957. package/options/contour.d.ts +31 -443
  958. package/options/contour.src.d.ts +31 -443
  959. package/options/cylinder.d.ts +100 -12
  960. package/options/cylinder.src.d.ts +100 -12
  961. package/options/dema.d.ts +80 -736
  962. package/options/dema.src.d.ts +80 -736
  963. package/options/dependencywheel.d.ts +599 -218
  964. package/options/dependencywheel.src.d.ts +599 -218
  965. package/options/disparityindex.d.ts +84 -365
  966. package/options/disparityindex.src.d.ts +84 -365
  967. package/options/dmi.d.ts +86 -775
  968. package/options/dmi.src.d.ts +86 -775
  969. package/options/dpo.d.ts +83 -365
  970. package/options/dpo.src.d.ts +83 -365
  971. package/options/dumbbell.d.ts +27 -4
  972. package/options/dumbbell.src.d.ts +27 -4
  973. package/options/ema.d.ts +81 -703
  974. package/options/ema.src.d.ts +81 -703
  975. package/options/errorbar.d.ts +91 -1161
  976. package/options/errorbar.src.d.ts +91 -1161
  977. package/options/flags.d.ts +98 -1192
  978. package/options/flags.src.d.ts +98 -1192
  979. package/options/flowmap.d.ts +48 -373
  980. package/options/flowmap.src.d.ts +48 -373
  981. package/options/funnel.d.ts +40 -3
  982. package/options/funnel.src.d.ts +40 -3
  983. package/options/gantt.d.ts +37 -40
  984. package/options/gantt.src.d.ts +37 -40
  985. package/options/gauge.d.ts +398 -472
  986. package/options/gauge.src.d.ts +398 -472
  987. package/options/geoheatmap.d.ts +462 -63
  988. package/options/geoheatmap.src.d.ts +462 -63
  989. package/options/heatmap.d.ts +31 -380
  990. package/options/heatmap.src.d.ts +31 -380
  991. package/options/heikinashi.d.ts +20 -2
  992. package/options/heikinashi.src.d.ts +20 -2
  993. package/options/hlc.d.ts +20 -2
  994. package/options/hlc.src.d.ts +20 -2
  995. package/options/ikh.d.ts +750 -103
  996. package/options/ikh.src.d.ts +750 -103
  997. package/options/item.d.ts +34 -74
  998. package/options/item.src.d.ts +34 -74
  999. package/options/keltnerchannels.d.ts +87 -708
  1000. package/options/keltnerchannels.src.d.ts +87 -708
  1001. package/options/klinger.d.ts +34 -365
  1002. package/options/klinger.src.d.ts +34 -365
  1003. package/options/line.d.ts +151 -851
  1004. package/options/line.src.d.ts +151 -851
  1005. package/options/linearregression.d.ts +960 -85
  1006. package/options/linearregression.src.d.ts +960 -85
  1007. package/options/linearregressionangle.d.ts +96 -699
  1008. package/options/linearregressionangle.src.d.ts +96 -699
  1009. package/options/linearregressionintercept.d.ts +381 -26
  1010. package/options/linearregressionintercept.src.d.ts +381 -26
  1011. package/options/linearregressionslope.d.ts +381 -26
  1012. package/options/linearregressionslope.src.d.ts +381 -26
  1013. package/options/lollipop.d.ts +214 -851
  1014. package/options/lollipop.src.d.ts +214 -851
  1015. package/options/macd.d.ts +386 -83
  1016. package/options/macd.src.d.ts +386 -83
  1017. package/options/map.d.ts +470 -36
  1018. package/options/map.src.d.ts +470 -36
  1019. package/options/mapbubble.d.ts +43 -532
  1020. package/options/mapbubble.src.d.ts +43 -532
  1021. package/options/mapline.d.ts +135 -58
  1022. package/options/mapline.src.d.ts +135 -58
  1023. package/options/mappoint.d.ts +205 -283
  1024. package/options/mappoint.src.d.ts +205 -283
  1025. package/options/mfi.d.ts +772 -82
  1026. package/options/mfi.src.d.ts +772 -82
  1027. package/options/momentum.d.ts +381 -71
  1028. package/options/momentum.src.d.ts +381 -71
  1029. package/options/natr.d.ts +776 -75
  1030. package/options/natr.src.d.ts +776 -75
  1031. package/options/networkgraph.d.ts +184 -207
  1032. package/options/networkgraph.src.d.ts +184 -207
  1033. package/options/obv.d.ts +426 -26
  1034. package/options/obv.src.d.ts +426 -26
  1035. package/options/ohlc.d.ts +77 -14
  1036. package/options/ohlc.src.d.ts +77 -14
  1037. package/options/packedbubble.d.ts +76 -696
  1038. package/options/packedbubble.src.d.ts +76 -696
  1039. package/options/pareto.d.ts +28 -364
  1040. package/options/pareto.src.d.ts +28 -364
  1041. package/options/pc.d.ts +724 -85
  1042. package/options/pc.src.d.ts +724 -85
  1043. package/options/pictorial.d.ts +1093 -58
  1044. package/options/pictorial.src.d.ts +1093 -58
  1045. package/options/pie.d.ts +595 -129
  1046. package/options/pie.src.d.ts +595 -129
  1047. package/options/pivotpoints.d.ts +34 -365
  1048. package/options/pivotpoints.src.d.ts +34 -365
  1049. package/options/pointandfigure.d.ts +10 -50
  1050. package/options/pointandfigure.src.d.ts +10 -50
  1051. package/options/polygon.d.ts +803 -74
  1052. package/options/polygon.src.d.ts +803 -74
  1053. package/options/ppo.d.ts +34 -365
  1054. package/options/ppo.src.d.ts +34 -365
  1055. package/options/priceenvelopes.d.ts +93 -719
  1056. package/options/priceenvelopes.src.d.ts +93 -719
  1057. package/options/psar.d.ts +34 -365
  1058. package/options/psar.src.d.ts +34 -365
  1059. package/options/pyramid.d.ts +35 -3
  1060. package/options/pyramid.src.d.ts +35 -3
  1061. package/options/renko.d.ts +25 -2
  1062. package/options/renko.src.d.ts +25 -2
  1063. package/options/roc.d.ts +78 -712
  1064. package/options/roc.src.d.ts +78 -712
  1065. package/options/rsi.d.ts +34 -365
  1066. package/options/rsi.src.d.ts +34 -365
  1067. package/options/sankey.d.ts +27 -5
  1068. package/options/sankey.src.d.ts +27 -5
  1069. package/options/scatter.d.ts +896 -290
  1070. package/options/scatter.src.d.ts +896 -290
  1071. package/options/series.d.ts +938 -83
  1072. package/options/series.src.d.ts +938 -83
  1073. package/options/slowstochastic.d.ts +381 -26
  1074. package/options/slowstochastic.src.d.ts +381 -26
  1075. package/options/sma.d.ts +729 -79
  1076. package/options/sma.src.d.ts +729 -79
  1077. package/options/solidgauge.d.ts +882 -105
  1078. package/options/solidgauge.src.d.ts +882 -105
  1079. package/options/spline.d.ts +389 -90
  1080. package/options/spline.src.d.ts +389 -90
  1081. package/options/stochastic.d.ts +83 -716
  1082. package/options/stochastic.src.d.ts +83 -716
  1083. package/options/streamgraph.d.ts +97 -364
  1084. package/options/streamgraph.src.d.ts +97 -364
  1085. package/options/sunburst.d.ts +87 -19
  1086. package/options/sunburst.src.d.ts +87 -19
  1087. package/options/supertrend.d.ts +77 -749
  1088. package/options/supertrend.src.d.ts +77 -749
  1089. package/options/tema.d.ts +83 -365
  1090. package/options/tema.src.d.ts +83 -365
  1091. package/options/tiledwebmap.d.ts +13 -72
  1092. package/options/tiledwebmap.src.d.ts +13 -72
  1093. package/options/tilemap.d.ts +372 -533
  1094. package/options/tilemap.src.d.ts +372 -533
  1095. package/options/timeline.d.ts +49 -154
  1096. package/options/timeline.src.d.ts +49 -154
  1097. package/options/treegraph.d.ts +174 -696
  1098. package/options/treegraph.src.d.ts +174 -696
  1099. package/options/treemap.d.ts +468 -1079
  1100. package/options/treemap.src.d.ts +468 -1079
  1101. package/options/trendline.d.ts +381 -26
  1102. package/options/trendline.src.d.ts +381 -26
  1103. package/options/trix.d.ts +712 -82
  1104. package/options/trix.src.d.ts +712 -82
  1105. package/options/variablepie.d.ts +130 -587
  1106. package/options/variablepie.src.d.ts +130 -587
  1107. package/options/variwide.d.ts +1123 -94
  1108. package/options/variwide.src.d.ts +1123 -94
  1109. package/options/vbp.d.ts +57 -383
  1110. package/options/vbp.src.d.ts +57 -383
  1111. package/options/vector.d.ts +22 -58
  1112. package/options/vector.src.d.ts +22 -58
  1113. package/options/venn.d.ts +32 -78
  1114. package/options/venn.src.d.ts +32 -78
  1115. package/options/vwap.d.ts +122 -703
  1116. package/options/vwap.src.d.ts +122 -703
  1117. package/options/waterfall.d.ts +139 -1150
  1118. package/options/waterfall.src.d.ts +139 -1150
  1119. package/options/williamsr.d.ts +381 -76
  1120. package/options/williamsr.src.d.ts +381 -76
  1121. package/options/windbarb.d.ts +39 -2
  1122. package/options/windbarb.src.d.ts +39 -2
  1123. package/options/wma.d.ts +78 -704
  1124. package/options/wma.src.d.ts +78 -704
  1125. package/options/wordcloud.d.ts +98 -595
  1126. package/options/wordcloud.src.d.ts +98 -595
  1127. package/options/xrange.d.ts +166 -1056
  1128. package/options/xrange.src.d.ts +166 -1056
  1129. package/options/zigzag.d.ts +34 -410
  1130. package/options/zigzag.src.d.ts +34 -410
  1131. package/package.json +3 -2
  1132. package/standalone-navigator.js +4 -4
  1133. package/standalone-navigator.src.js +482 -312
  1134. package/themes/adaptive.js +2 -2
  1135. package/themes/adaptive.src.js +33 -18
  1136. package/themes/avocado.js +2 -2
  1137. package/themes/avocado.src.js +28 -13
  1138. package/themes/dark-unica.js +2 -2
  1139. package/themes/dark-unica.src.js +28 -13
  1140. package/themes/grid-light.js +2 -2
  1141. package/themes/grid-light.src.js +28 -13
  1142. package/themes/high-contrast.js +2 -2
  1143. package/themes/high-contrast.src.js +28 -13
  1144. package/themes/sand-signika.js +2 -2
  1145. package/themes/sand-signika.src.js +28 -13
  1146. package/themes/sunset.js +2 -2
  1147. package/themes/sunset.src.js +28 -13
  1148. package/css/.stylelintrc.json +0 -8
package/highstock.src.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LicenseRef-Highcharts
2
2
  /**
3
- * @license Highcharts Stock v13.0.0 (2026-06-11)
3
+ * @license Highcharts Stock v13.0.1 (2026-08-17)
4
4
  * @module highcharts/highstock
5
5
  *
6
6
  * (c) 2009-2026 Highsoft AS
@@ -21,16 +21,31 @@
21
21
  return /******/ (() => { // webpackBootstrap
22
22
  /******/ "use strict";
23
23
  /******/ // The require scope
24
- /******/ var __webpack_require__ = {};
24
+ /******/ const __webpack_require__ = {};
25
25
  /******/
26
26
  /************************************************************************/
27
27
  /******/ /* webpack/runtime/define property getters */
28
28
  /******/ (() => {
29
- /******/ // define getter functions for harmony exports
29
+ /******/ // define getter/value functions for harmony exports
30
30
  /******/ __webpack_require__.d = (exports, definition) => {
31
- /******/ for(var key in definition) {
32
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
33
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
31
+ /******/ if(Array.isArray(definition)) {
32
+ /******/ var i = 0;
33
+ /******/ while(i < definition.length) {
34
+ /******/ var key = definition[i++];
35
+ /******/ var binding = definition[i++];
36
+ /******/ if(!__webpack_require__.o(exports, key)) {
37
+ /******/ if(binding === 0) {
38
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
39
+ /******/ } else {
40
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
41
+ /******/ }
42
+ /******/ } else if(binding === 0) { i++; }
43
+ /******/ }
44
+ /******/ } else {
45
+ /******/ for(var key in definition) {
46
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
47
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
48
+ /******/ }
34
49
  /******/ }
35
50
  /******/ }
36
51
  /******/ };
@@ -42,7 +57,7 @@ return /******/ (() => { // webpackBootstrap
42
57
  /******/ })();
43
58
  /******/
44
59
  /************************************************************************/
45
- var __webpack_exports__ = {};
60
+ let __webpack_exports__ = {};
46
61
 
47
62
  // EXPORTS
48
63
  __webpack_require__.d(__webpack_exports__, {
@@ -78,7 +93,7 @@ var Globals;
78
93
  * Constants
79
94
  *
80
95
  * */
81
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.0', Globals.win = (typeof window !== 'undefined' ?
96
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.1', Globals.win = (typeof window !== 'undefined' ?
82
97
  window :
83
98
  {}), // eslint-disable-line node/no-unsupported-features/es-builtins
84
99
  Globals.doc = Globals.win.document, Globals.svg = !!Globals.doc?.createElementNS?.(Globals.SVG_NS, 'svg')?.createSVGRect, Globals.pageLang = Globals.doc?.documentElement?.closest('[lang]')?.lang, Globals.userAgent = Globals.win.navigator?.userAgent || '', Globals.isChrome = Globals.win.chrome, Globals.isFirefox = Globals.userAgent.indexOf('Firefox') !== -1, Globals.isMS = /(edge|msie|trident)/i.test(Globals.userAgent) && !Globals.win.opera, Globals.isSafari = !Globals.isChrome && Globals.userAgent.indexOf('Safari') !== -1, Globals.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(Globals.userAgent), Globals.isWebKit = Globals.userAgent.indexOf('AppleWebKit') !== -1, Globals.deg2rad = Math.PI * 2 / 360, Globals.marginNames = [
@@ -993,7 +1008,7 @@ const ChartDefaults = {
993
1008
  * @type {Highcharts.ColorType}
994
1009
  * @since 2.1.7
995
1010
  */
996
- selectionMarkerFill: 'color-mix(var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
1011
+ selectionMarkerFill: 'color-mix(in srgb, var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
997
1012
  /**
998
1013
  * Whether to apply a drop shadow to the global series group. This causes
999
1014
  * all the series to have the same shadow. Contrary to the `series.shadow`
@@ -3956,17 +3971,16 @@ class TimeBase {
3956
3971
  // eslint-disable-next-line new-cap
3957
3972
  let d = this.Date.UTC(year, month, date, hours, minutes || 0, seconds || 0, milliseconds || 0);
3958
3973
  if (this.timezone !== 'UTC') {
3959
- const offset = this.getTimezoneOffset(d);
3974
+ const offset = this.getTimezoneOffset(d), localHours = (hours - offset / timeUnits.hour + 24) % 24;
3960
3975
  d += offset;
3961
- // Adjustments close to DST transitions
3962
3976
  if (
3963
- // Optimize for speed by limiting the number of calls to
3964
- // `getTimezoneOffset`. According to
3977
+ // Limit the number of calls to `getTimezoneOffset` to months
3978
+ // where DST changes may occur. According to
3965
3979
  // https://en.wikipedia.org/wiki/Daylight_saving_time_by_country,
3966
3980
  // DST change may only occur in these months.
3967
3981
  [2, 3, 8, 9, 10, 11].indexOf(month) !== -1 &&
3968
- // DST transitions occur only in the night-time
3969
- (hours < 5 || hours > 20)) {
3982
+ // DST changes only occur at night (#24420)
3983
+ (localHours < 5 || localHours > 20)) {
3970
3984
  const newOffset = this.getTimezoneOffset(d);
3971
3985
  if (offset !== newOffset) {
3972
3986
  d += newOffset - offset;
@@ -6703,6 +6717,9 @@ const defaultOptions = {
6703
6717
  * below the column, but as `followTouchMove` is true, the tooltip will
6704
6718
  * jump from column to column as the user swipes across the plot area.
6705
6719
  *
6720
+ * @sample {highcharts} highcharts/tooltip/followtouchmove/
6721
+ * Tooltip follows touch move
6722
+ *
6706
6723
  * @type {boolean}
6707
6724
  * @default {highcharts} true
6708
6725
  * @default {highstock} true
@@ -7485,10 +7502,14 @@ const defaultOptions = {
7485
7502
  * @type {Highcharts.CSSObject}
7486
7503
  */
7487
7504
  style: {
7488
- /** @type {Highcharts.ColorType} */
7505
+ /**
7506
+ * @type {Highcharts.ColorType}
7507
+ */
7489
7508
  color: 'var(--highcharts-neutral-color-80)',
7490
7509
  cursor: 'default',
7491
- /** @type {number|string} */
7510
+ /**
7511
+ * @type {number|string}
7512
+ */
7492
7513
  fontSize: '0.8em'
7493
7514
  },
7494
7515
  /**
@@ -8411,24 +8432,22 @@ class Fx {
8411
8432
  */
8412
8433
  update() {
8413
8434
  const elem = this.elem, prop = this.prop, // If destroyed, it is null
8414
- now = this.now, step = this.options.step;
8435
+ now = this.now ?? 1, step = this.options.step;
8415
8436
  // Animation setter defined from outside
8416
8437
  if (this[prop + 'Setter']) {
8417
8438
  this[prop + 'Setter']();
8418
8439
  // Other animations on SVGElement
8419
8440
  }
8420
- else if (elem.attr) {
8441
+ else if (elem && elem.attr) {
8421
8442
  if (elem.element) {
8422
- elem.attr(prop, now, null, true);
8443
+ elem.attr(prop, now, void 0, true);
8423
8444
  }
8424
8445
  // HTML styles, raw HTML content like container size
8425
8446
  }
8426
- else {
8427
- elem.style[prop] = now + this.unit;
8428
- }
8429
- if (step) {
8430
- step.call(elem, now, this);
8447
+ else if (elem) {
8448
+ elem.style[prop] = now + (this.unit || '');
8431
8449
  }
8450
+ step?.call(elem, now, this);
8432
8451
  }
8433
8452
  /**
8434
8453
  * Run an animation.
@@ -8446,12 +8465,10 @@ class Fx {
8446
8465
  *
8447
8466
  */
8448
8467
  run(from, to, unit) {
8449
- const self = this, options = self.options, timer = function (gotoEnd) {
8450
- return timer.stopped ? false : self.step(gotoEnd);
8451
- }, requestAnimationFrame = Fx_win.requestAnimationFrame ||
8468
+ const { elem, options } = this, { complete, curAnim = {} } = options, timer = (gotoEnd) => (timer.stopped ? false : this.step(gotoEnd)), requestAnimationFrame = Fx_win.requestAnimationFrame ||
8452
8469
  function (step) {
8453
8470
  setTimeout(step, 13);
8454
- }, step = function () {
8471
+ }, step = () => {
8455
8472
  for (let i = 0; i < Fx.timers.length; i++) {
8456
8473
  if (!Fx.timers[i]()) {
8457
8474
  Fx.timers.splice(i--, 1);
@@ -8461,11 +8478,11 @@ class Fx {
8461
8478
  requestAnimationFrame(step);
8462
8479
  }
8463
8480
  };
8464
- if (from === to && !this.elem['forceAnimate:' + this.prop]) {
8465
- delete options.curAnim[this.prop];
8466
- if (options.complete &&
8467
- Object.keys(options.curAnim).length === 0) {
8468
- options.complete.call(this.elem);
8481
+ if (from === to && !elem['forceAnimate:' + this.prop]) {
8482
+ delete curAnim[this.prop];
8483
+ if (complete &&
8484
+ Object.keys(curAnim).length === 0) {
8485
+ complete.call(elem);
8469
8486
  }
8470
8487
  }
8471
8488
  else { // #7166
@@ -8475,7 +8492,7 @@ class Fx {
8475
8492
  this.unit = unit;
8476
8493
  this.now = this.start;
8477
8494
  this.pos = 0;
8478
- timer.elem = this.elem;
8495
+ timer.elem = elem;
8479
8496
  timer.prop = this.prop;
8480
8497
  if (timer() && Fx.timers.push(timer) === 1) {
8481
8498
  requestAnimationFrame(step);
@@ -8496,7 +8513,8 @@ class Fx {
8496
8513
  step(gotoEnd) {
8497
8514
  const t = +new Date(), options = this.options, elem = this.elem, complete = options.complete, duration = options.duration, curAnim = options.curAnim;
8498
8515
  let ret, done;
8499
- if (!!elem.attr && !elem.element) { // #2616, element is destroyed
8516
+ // #2616, element is destroyed
8517
+ if (elem?.attr && !elem.element) {
8500
8518
  ret = false;
8501
8519
  }
8502
8520
  else if (gotoEnd || t >= duration + this.startTime) {
@@ -8786,6 +8804,11 @@ function getDeferredAnimation(chart, animation, series) {
8786
8804
  /**
8787
8805
  * The global animate method, which uses Fx to create individual animators.
8788
8806
  *
8807
+ * @sample highcharts/members/renderer-basic
8808
+ * SVG elements with animation
8809
+ * @sample highcharts/members/animate
8810
+ * Animation without an owner element
8811
+ *
8789
8812
  * @function Highcharts.animate
8790
8813
  *
8791
8814
  * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el
@@ -8801,14 +8824,12 @@ function getDeferredAnimation(chart, animation, series) {
8801
8824
  *
8802
8825
  * @return {void}
8803
8826
  */
8804
- function animate(el, params, opt) {
8805
- let start, unit = '', end, fx, args;
8827
+ function animate(el, params = { pos: 1 }, opt) {
8806
8828
  if (!isObject(opt)) { // Number or undefined/null
8807
- args = arguments;
8808
8829
  opt = {
8809
- duration: args[2],
8810
- easing: args[3],
8811
- complete: args[4]
8830
+ duration: arguments[2],
8831
+ easing: arguments[3],
8832
+ complete: arguments[4]
8812
8833
  };
8813
8834
  }
8814
8835
  if (!isNumber(opt.duration)) {
@@ -8818,22 +8839,23 @@ function animate(el, params, opt) {
8818
8839
  opt.easing :
8819
8840
  (Math[opt.easing] || Math.easeInOutSine);
8820
8841
  opt.curAnim = merge(params);
8821
- objectEach(params, function (val, prop) {
8842
+ objectEach(params, (val, prop) => {
8822
8843
  // Stop current running animation of this property
8823
- stop(el, prop);
8824
- fx = new Animation_Fx(el, opt, prop);
8825
- end = void 0;
8826
- if (prop === 'd' && isArray(params.d)) {
8827
- fx.paths = fx.initPath(el, el.pathArray, params.d);
8828
- fx.toD = params.d;
8829
- start = 0;
8844
+ if (el) {
8845
+ stop(el, prop);
8846
+ }
8847
+ const fx = new Animation_Fx(el, opt, prop), d = params.d;
8848
+ let start = 0, end = void 0, unit = '';
8849
+ if (prop === 'd' && isArray(d)) {
8850
+ fx.paths = fx.initPath(el, el.pathArray, d);
8851
+ fx.toD = d;
8830
8852
  end = 1;
8831
8853
  }
8832
- else if (el.attr) {
8854
+ else if (el?.attr) {
8833
8855
  start = el.attr(prop);
8834
8856
  }
8835
- else {
8836
- start = parseFloat(getStyle(el, prop)) || 0;
8857
+ else if (el) {
8858
+ start = +(getStyle(el, prop) || 0);
8837
8859
  if (prop !== 'opacity') {
8838
8860
  unit = 'px';
8839
8861
  }
@@ -8844,7 +8866,10 @@ function animate(el, params, opt) {
8844
8866
  if (typeof end === 'string' && end.match('px')) {
8845
8867
  end = end.replace(/px/g, ''); // #4351
8846
8868
  }
8847
- fx.run(start, end, unit);
8869
+ // Empty dashstyle animation crashes treemap on hover
8870
+ if (defined(end)) {
8871
+ fx.run(start, end, unit);
8872
+ }
8848
8873
  });
8849
8874
  }
8850
8875
  /**
@@ -8868,28 +8893,11 @@ function animate(el, params, opt) {
8868
8893
  * improvement in all cases where we stop the animation from .attr. Instead of
8869
8894
  * stopping everything, we can just stop the actual attributes we're setting.
8870
8895
  */
8871
- function stop(el, prop) {
8872
- let i = Animation_Fx.timers.length;
8873
- // Remove timers related to this element (#4519)
8874
- while (i--) {
8875
- if (Animation_Fx.timers[i].elem === el && (!prop || prop === Animation_Fx.timers[i].prop)) {
8876
- Animation_Fx.timers[i].stopped = true; // #4667
8877
- }
8896
+ const stop = (el, prop) => Animation_Fx.timers.forEach((timer) => {
8897
+ if (timer.elem === el && (!prop || prop === timer.prop)) {
8898
+ timer.stopped = true; // #4667
8878
8899
  }
8879
- }
8880
- const animationExports = {
8881
- animate,
8882
- animObject,
8883
- getDeferredAnimation,
8884
- setAnimation,
8885
- stop
8886
- };
8887
- /* *
8888
- *
8889
- * Default Export
8890
- *
8891
- * */
8892
- /* harmony default export */ const AnimationUtilities = (animationExports);
8900
+ });
8893
8901
  /* *
8894
8902
  *
8895
8903
  * API Options
@@ -9194,7 +9202,9 @@ class AST {
9194
9202
  doc = { body };
9195
9203
  }
9196
9204
  const appendChildNodes = (node, addTo) => {
9197
- const tagName = node.nodeName.toLowerCase();
9205
+ // Preserve the camelCase of SVG tags via localName (#24702).
9206
+ const tagName = node.localName ||
9207
+ node.nodeName.toLowerCase();
9198
9208
  // Add allowed tags
9199
9209
  const astNode = {
9200
9210
  tagName
@@ -9308,6 +9318,8 @@ AST.allowedAttributes = [
9308
9318
  'src',
9309
9319
  'startOffset',
9310
9320
  'stdDeviation',
9321
+ 'stop-color',
9322
+ 'stop-opacity',
9311
9323
  'stroke-linecap',
9312
9324
  'stroke-width',
9313
9325
  'stroke',
@@ -9911,9 +9923,7 @@ const Templating = {
9911
9923
  * API Declarations
9912
9924
  * */
9913
9925
  /**
9914
- * @interface Highcharts.Templating
9915
- *
9916
- * The Highcharts.Templating interface provides a structure for defining
9926
+ * The Highcharts.TemplatingObject interface provides a structure for defining
9917
9927
  * helpers. Helpers can be used as conditional blocks or functions within
9918
9928
  * expressions. Highcharts includes several built-in helpers and supports
9919
9929
  * the addition of custom helpers.
@@ -9921,16 +9931,21 @@ const Templating = {
9921
9931
  * @see [More information](
9922
9932
  * https://www.highcharts.com/docs/chart-concepts/templating#helpers)
9923
9933
  *
9924
- * @example
9925
- * // Define a custom helper to return the absolute value of a number
9926
- * Highcharts.Templating.helpers.abs = value => Math.abs(value);
9927
- *
9928
- * // Usage in a format string
9929
- * format: 'Absolute value: {abs point.y}'
9930
- *
9931
- * @name Highcharts.Templating#helpers
9932
- * @type {Record<string, Function>}
9933
- */
9934
+ * @interface Highcharts.TemplatingObject
9935
+ */ /**
9936
+ * @example
9937
+ * // Define a custom helper to return the absolute value of a number
9938
+ * Highcharts.Templating.helpers.abs = value => Math.abs(value);
9939
+ *
9940
+ * // Usage in a format string
9941
+ * format: 'Absolute value: {abs point.y}'
9942
+ *
9943
+ * @name Highcharts.TemplatingObject#helpers
9944
+ * @type {Record<string, Function>}
9945
+ */ /**
9946
+ * @name Highcharts.Templating
9947
+ * @type {Highcharts.TemplatingObject}
9948
+ */
9934
9949
  (''); // Keeps doclets above in file
9935
9950
 
9936
9951
  ;// ./code/es-modules/Core/Renderer/RendererUtilities.js
@@ -10139,7 +10154,6 @@ var RendererUtilities;
10139
10154
  * */
10140
10155
 
10141
10156
 
10142
- const { animate: SVGElement_animate, animObject: SVGElement_animObject, stop: SVGElement_stop } = AnimationUtilities;
10143
10157
 
10144
10158
 
10145
10159
  const { deg2rad, doc: SVGElement_doc, svg, SVG_NS: SVGElement_SVG_NS, win: SVGElement_win, isFirefox } = Core_Globals;
@@ -10423,7 +10437,7 @@ class SVGElement {
10423
10437
  * Returns the SVGElement for chaining.
10424
10438
  */
10425
10439
  animate(params, options, complete) {
10426
- const animOptions = SVGElement_animObject(pick(options, this.renderer.globalAnimation, true)), deferTime = animOptions.defer;
10440
+ const animOptions = animObject(pick(options, this.renderer.globalAnimation, true)), deferTime = animOptions.defer;
10427
10441
  // When the page is hidden save resources in the background by not
10428
10442
  // running animation at all (#9749).
10429
10443
  if (SVGElement_doc.hidden) {
@@ -10438,7 +10452,7 @@ class SVGElement {
10438
10452
  // If defer option is defined delay the animation #12901
10439
10453
  syncTimeout(() => {
10440
10454
  if (this.element) {
10441
- SVGElement_animate(this, params, animOptions);
10455
+ animate(this, params, animOptions);
10442
10456
  }
10443
10457
  }, deferTime);
10444
10458
  }
@@ -10612,7 +10626,7 @@ class SVGElement {
10612
10626
  // Unless .attr is from the animator update, stop current
10613
10627
  // running animation of this property
10614
10628
  if (!continueAnimation) {
10615
- SVGElement_stop(this, key);
10629
+ stop(this, key);
10616
10630
  }
10617
10631
  // Special handling of symbol attributes
10618
10632
  if (this.symbolName &&
@@ -10932,7 +10946,7 @@ class SVGElement {
10932
10946
  // Remove events
10933
10947
  element.onclick = element.onmouseout = element.onmouseover =
10934
10948
  element.onmousemove = element.point = null;
10935
- SVGElement_stop(wrapper); // Stop running animations
10949
+ stop(wrapper); // Stop running animations
10936
10950
  if (wrapper.clipPath && ownerSVGElement) {
10937
10951
  const clipPath = wrapper.clipPath;
10938
10952
  // Look for existing references to this clipPath and remove them
@@ -13844,7 +13858,7 @@ class SVGRenderer {
13844
13858
  this.url = this.getReferenceURL();
13845
13859
  // Add description
13846
13860
  const desc = this.createElement('desc').add();
13847
- desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.0'));
13861
+ desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.1'));
13848
13862
  this.defs = this.createElement('defs').add();
13849
13863
  this.allowHTML = allowHTML;
13850
13864
  this.forExport = forExport;
@@ -15635,7 +15649,11 @@ class HTMLElement extends SVG_SVGElement {
15635
15649
  .attr({
15636
15650
  text: str,
15637
15651
  x: Math.round(x),
15638
- y: Math.round(y)
15652
+ y: Math.round(y),
15653
+ // The namespace attribute is required for serialization
15654
+ // (export and side-by-side comparison), otherwise it
15655
+ // inherits the SVG namespace from foreignObject.
15656
+ xmlns: 'http://www.w3.org/1999/xhtml'
15639
15657
  });
15640
15658
  };
15641
15659
  }
@@ -15815,8 +15833,10 @@ class HTMLElement extends SVG_SVGElement {
15815
15833
  foreignObject.attr({
15816
15834
  x: x + (this.xCorr || 0),
15817
15835
  y: y + (this.yCorr || 0),
15818
- // Add 4px to avoid ellipsis, since the body adds 3 px right
15819
- // margin. We need one more because of rounding.
15836
+ // Add 4px to avoid ellipsis. In v13.0.0 we had a body inside
15837
+ // the foreignObject with a 3px right margin. This was later
15838
+ // removed, but we still need to add a few pixels to avoid
15839
+ // ellipsis.
15820
15840
  width: element.offsetWidth + 4,
15821
15841
  // Add 1px to account for subpixel bounding boxes
15822
15842
  height: element.offsetHeight + 1,
@@ -15836,25 +15856,16 @@ class HTMLElement extends SVG_SVGElement {
15836
15856
  this.cTT = currentTextTransform;
15837
15857
  }
15838
15858
  /**
15839
- * Add the element to a group wrapper. For HTML elements, a parallel div
15840
- * will be created for each ancestor SVG `g` element.
15859
+ * Add the element to the foreign object
15841
15860
  *
15842
15861
  * @internal
15843
15862
  */
15844
15863
  add(parentGroup) {
15845
- const { foreignObject, renderer } = this;
15864
+ const { foreignObject } = this;
15846
15865
  // Foreign object
15847
15866
  foreignObject.add(parentGroup);
15848
- super.add(
15849
- // Create a body inside the foreignObject
15850
- renderer.createElement('body')
15851
- .attr({ xmlns: 'http://www.w3.org/1999/xhtml' })
15852
- .css({
15853
- background: 'transparent',
15854
- // 3px is to avoid clipping on the right
15855
- margin: '0 3px 0 0'
15856
- })
15857
- .add(foreignObject));
15867
+ // Add this.element to the foreign objct
15868
+ super.add(foreignObject);
15858
15869
  if (this.alignOnAdd) {
15859
15870
  this.updateTransform();
15860
15871
  }
@@ -15889,10 +15900,20 @@ class HTMLElement extends SVG_SVGElement {
15889
15900
  this[key] = value;
15890
15901
  this.doTransform = true;
15891
15902
  }
15903
+ /**
15904
+ * Apply visibility/opacity to the foreignObject; the HTML element
15905
+ * ignores them.
15906
+ * @internal
15907
+ */
15908
+ visibilitySetter(value, key) {
15909
+ this.foreignObject.attr({ [key]: value });
15910
+ this[key] = value;
15911
+ }
15892
15912
  }
15893
15913
  // Some shared setters
15894
15914
  const proto = HTMLElement.prototype;
15895
15915
  proto.ySetter = proto.xSetter;
15916
+ proto.opacitySetter = proto.visibilitySetter;
15896
15917
  /* *
15897
15918
  *
15898
15919
  * Default Export
@@ -16433,6 +16454,7 @@ var AxisDefaults;
16433
16454
  */
16434
16455
  dateTimeLabelFormats: {
16435
16456
  /**
16457
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16436
16458
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16437
16459
  */
16438
16460
  millisecond: {
@@ -16458,6 +16480,7 @@ var AxisDefaults;
16458
16480
  range: false
16459
16481
  },
16460
16482
  /**
16483
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16461
16484
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16462
16485
  */
16463
16486
  second: {
@@ -16483,6 +16506,7 @@ var AxisDefaults;
16483
16506
  range: false
16484
16507
  },
16485
16508
  /**
16509
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16486
16510
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16487
16511
  */
16488
16512
  minute: {
@@ -16508,6 +16532,7 @@ var AxisDefaults;
16508
16532
  range: false
16509
16533
  },
16510
16534
  /**
16535
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16511
16536
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16512
16537
  */
16513
16538
  hour: {
@@ -16540,6 +16565,7 @@ var AxisDefaults;
16540
16565
  range: false
16541
16566
  },
16542
16567
  /**
16568
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16543
16569
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16544
16570
  */
16545
16571
  day: {
@@ -16562,6 +16588,7 @@ var AxisDefaults;
16562
16588
  boundary: '%[eb]'
16563
16589
  },
16564
16590
  /**
16591
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16565
16592
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16566
16593
  */
16567
16594
  week: {
@@ -16577,6 +16604,7 @@ var AxisDefaults;
16577
16604
  main: '%[eb]'
16578
16605
  },
16579
16606
  /**
16607
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16580
16608
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16581
16609
  */
16582
16610
  month: {
@@ -16599,6 +16627,7 @@ var AxisDefaults;
16599
16627
  boundary: void 0
16600
16628
  },
16601
16629
  /**
16630
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16602
16631
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16603
16632
  */
16604
16633
  year: {
@@ -17414,7 +17443,7 @@ var AxisDefaults;
17414
17443
  * @sample {highstock} stock/xaxis/offset/
17415
17444
  * Y axis offset by 70 px
17416
17445
  *
17417
- * @type {number}
17446
+ * @type {number|string}
17418
17447
  */
17419
17448
  offset: void 0,
17420
17449
  /**
@@ -19064,7 +19093,9 @@ var AxisDefaults;
19064
19093
  * @product highcharts
19065
19094
  */
19066
19095
  style: {
19067
- /** @type {Highcharts.ColorType} */
19096
+ /**
19097
+ * @type {Highcharts.ColorType}
19098
+ */
19068
19099
  color: 'var(--highcharts-neutral-color-100)',
19069
19100
  /**
19070
19101
  * @type {number|string}
@@ -19847,7 +19878,6 @@ class Tick {
19847
19878
  * */
19848
19879
 
19849
19880
 
19850
- const { animObject: Axis_animObject } = AnimationUtilities;
19851
19881
 
19852
19882
  const { xAxis, yAxis } = Axis_AxisDefaults;
19853
19883
 
@@ -22453,7 +22483,7 @@ class Axis {
22453
22483
  * @emits Highcharts.Axis#event:afterRender
22454
22484
  */
22455
22485
  render() {
22456
- const axis = this, chart = axis.chart, log = axis.logarithmic, renderer = chart.renderer, options = axis.options, isLinked = axis.isLinked, tickPositions = axis.tickPositions, axisTitle = axis.axisTitle, ticks = axis.ticks, minorTicks = axis.minorTicks, alternateBands = axis.alternateBands, stackLabelOptions = options.stackLabels, alternateGridColor = options.alternateGridColor, crossing = options.crossing, tickmarkOffset = axis.tickmarkOffset, axisLine = axis.axisLine, showAxis = axis.showAxis, animation = Axis_animObject(renderer.globalAnimation);
22486
+ const axis = this, chart = axis.chart, log = axis.logarithmic, renderer = chart.renderer, options = axis.options, isLinked = axis.isLinked, tickPositions = axis.tickPositions, axisTitle = axis.axisTitle, ticks = axis.ticks, minorTicks = axis.minorTicks, alternateBands = axis.alternateBands, stackLabelOptions = options.stackLabels, alternateGridColor = options.alternateGridColor, crossing = options.crossing, tickmarkOffset = axis.tickmarkOffset, axisLine = axis.axisLine, showAxis = axis.showAxis, animation = animObject(renderer.globalAnimation);
22457
22487
  let from, to;
22458
22488
  // Reset
22459
22489
  axis.labelEdge.length = 0;
@@ -22804,7 +22834,7 @@ class Axis {
22804
22834
  }
22805
22835
  cross
22806
22836
  .show()
22807
- .animate({ d: path }, Axis_animObject(options?.animation));
22837
+ .animate({ d: path }, animObject(options?.animation));
22808
22838
  if (categorized && !options.width) {
22809
22839
  cross.attr({
22810
22840
  'stroke-width': this.transA
@@ -24842,7 +24872,6 @@ class PlotLineOrBand {
24842
24872
  * */
24843
24873
 
24844
24874
 
24845
- const { animObject: Tooltip_animObject } = AnimationUtilities;
24846
24875
 
24847
24876
  const { format: Tooltip_format } = Core_Templating;
24848
24877
 
@@ -25543,7 +25572,7 @@ class Tooltip {
25543
25572
  * @param {number} anchorY
25544
25573
  */
25545
25574
  move(x, y, anchorX, anchorY) {
25546
- const { followPointer, options } = this, animation = Tooltip_animObject(!followPointer &&
25575
+ const { followPointer, options } = this, animation = animObject(!followPointer &&
25547
25576
  !this.isHidden &&
25548
25577
  !options.fixed &&
25549
25578
  options.animation), skipAnchor = followPointer || (this.len || 0) > 1, attr = { x, y };
@@ -26291,7 +26320,6 @@ class Tooltip {
26291
26320
 
26292
26321
 
26293
26322
 
26294
- const { animObject: Point_animObject } = AnimationUtilities;
26295
26323
 
26296
26324
  const { defaultOptions: Point_defaultOptions } = Defaults;
26297
26325
 
@@ -26631,10 +26659,15 @@ class Point {
26631
26659
  *
26632
26660
  * @internal
26633
26661
  * @function Highcharts.Point#destroy
26662
+ *
26663
+ * @param {boolean} [sync]
26664
+ * Whether to destroy the point synchronously. Used internally from
26665
+ * series.destroy, where condemned points may cause animation errors
26666
+ * (#24976).
26634
26667
  */
26635
- destroy() {
26636
- if (!this.condemned) {
26637
- const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } = Point_animObject(globalAnimation);
26668
+ destroy(sync) {
26669
+ if (!this.destroyed && !this.condemned) {
26670
+ const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } = animObject(globalAnimation);
26638
26671
  /**
26639
26672
  * Allow to call after animation.
26640
26673
  * @internal
@@ -26651,6 +26684,7 @@ class Point {
26651
26684
  for (const prop in point) { // eslint-disable-line guard-for-in
26652
26685
  delete point[prop];
26653
26686
  }
26687
+ this.destroyed = true;
26654
26688
  };
26655
26689
  if (point.legendItem) {
26656
26690
  // Pies have legend items
@@ -26667,7 +26701,7 @@ class Point {
26667
26701
  point.onMouseOut();
26668
26702
  }
26669
26703
  // Remove properties after animation
26670
- if (duration && series.condemnedPoints) {
26704
+ if (duration && !sync && series.condemnedPoints) {
26671
26705
  series.condemnedPoints.push(this);
26672
26706
  this.graphic?.addClass('highcharts-point-condemned');
26673
26707
  setTimeout(destroyPoint, duration);
@@ -26790,14 +26824,15 @@ class Point {
26790
26824
  *
26791
26825
  * @function Highcharts.Point#getZone
26792
26826
  *
26793
- * @return {Highcharts.SeriesZonesOptionsObject}
26794
- * The zone item.
26827
+ * @return {Highcharts.SeriesZonesOptionsObject|undefined}
26828
+ * The zone item, or `undefined` if the series has no zones.
26795
26829
  */
26796
26830
  getZone() {
26797
26831
  const series = this.series, zones = series.zones, zoneAxis = series.zoneAxis || 'y';
26798
26832
  let zone, i = 0;
26799
26833
  zone = zones[i];
26800
- while (this[zoneAxis] >= zone.value) {
26834
+ while (i < zones.length &&
26835
+ this[zoneAxis] >= zone.value) {
26801
26836
  zone = zones[++i];
26802
26837
  }
26803
26838
  // For resetting or reusing the point (#8100)
@@ -27337,9 +27372,8 @@ class Point {
27337
27372
  * @emits Highcharts.Point#event:afterSetState
27338
27373
  */
27339
27374
  setState(state, move) {
27340
- const point = this, series = point.series, previousState = point.state, stateOptions = (series.options.states[state || 'normal'] ||
27341
- {}), markerOptions = (Point_defaultOptions.plotOptions[series.type].marker &&
27342
- series.options.marker), normalDisabled = (markerOptions && markerOptions.enabled === false), markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
27375
+ const point = this, series = point.series, previousState = point.state, stateOptions = series.options.states?.[state || 'normal'] || {}, markerOptions = (Point_defaultOptions.plotOptions?.[series.type]?.marker &&
27376
+ series.options.marker), normalDisabled = markerOptions?.enabled === false, markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
27343
27377
  {}, stateDisabled = markerStateOptions.enabled === false, pointMarker = point.marker || {}, chart = series.chart, hasMarkers = (markerOptions && series.markerAttribs);
27344
27378
  let halo = series.halo, markerAttribs, pointAttribs, pointAttribsAnimation, stateMarkerGraphic = series.stateMarkerGraphic, newSymbol;
27345
27379
  state = state || ''; // Empty string
@@ -27352,13 +27386,10 @@ class Point {
27352
27386
  (stateOptions.enabled === false) ||
27353
27387
  // General point marker's state options is disabled
27354
27388
  (state && (stateDisabled ||
27355
- (normalDisabled &&
27356
- markerStateOptions.enabled === false))) ||
27389
+ (normalDisabled && markerStateOptions.enabled === false))) ||
27357
27390
  // Individual point marker's state options is disabled
27358
27391
  (state &&
27359
- pointMarker.states &&
27360
- pointMarker.states[state] &&
27361
- pointMarker.states[state].enabled === false) // #1610
27392
+ pointMarker.states?.[state]?.enabled === false) // #1610
27362
27393
  ) {
27363
27394
  return;
27364
27395
  }
@@ -27377,7 +27408,8 @@ class Point {
27377
27408
  }
27378
27409
  if (!chart.styledMode) {
27379
27410
  pointAttribs = series.pointAttribs(point, state);
27380
- pointAttribsAnimation = pick(chart.options.chart.animation, stateOptions.animation);
27411
+ pointAttribsAnimation = (chart.options.chart.animation ??
27412
+ stateOptions.animation);
27381
27413
  const opacity = pointAttribs.opacity;
27382
27414
  // Some inactive points (e.g. slices in pie) should apply
27383
27415
  // opacity also for their labels
@@ -27395,9 +27427,11 @@ class Point {
27395
27427
  point.graphic.animate(pointAttribs, pointAttribsAnimation);
27396
27428
  }
27397
27429
  if (markerAttribs) {
27398
- point.graphic.animate(markerAttribs, pick(
27430
+ point.graphic.animate(markerAttribs, (
27399
27431
  // Turn off globally:
27400
- chart.options.chart.animation, markerStateOptions.animation, markerOptions.animation));
27432
+ chart.options.chart.animation ??
27433
+ markerStateOptions.animation ??
27434
+ markerOptions.animation));
27401
27435
  }
27402
27436
  // Zooming in from a range with no markers to a range with markers
27403
27437
  if (stateMarkerGraphic) {
@@ -27446,10 +27480,12 @@ class Point {
27446
27480
  }
27447
27481
  }
27448
27482
  // Show me your halo
27449
- const haloOptions = stateOptions.halo;
27483
+ const haloOptions = isObject(stateOptions.halo) ?
27484
+ stateOptions.halo :
27485
+ {};
27450
27486
  const markerGraphic = (point.graphic || stateMarkerGraphic);
27451
27487
  const markerVisibility = markerGraphic?.visibility || 'inherit';
27452
- if (haloOptions?.size &&
27488
+ if (haloOptions.size &&
27453
27489
  markerGraphic &&
27454
27490
  markerVisibility !== 'hidden' &&
27455
27491
  !point.isCluster) {
@@ -27979,6 +28015,11 @@ class Pointer {
27979
28015
  }
27980
28016
  }
27981
28017
  }
28018
+ // Run a final transform with a drop trigger to display the reset
28019
+ // zoom button after a pinch gesture (#22128)
28020
+ if (e?.type === 'touchend' && this.hasDragged) {
28021
+ chart.transform({ trigger: 'drop' });
28022
+ }
27982
28023
  if (redraw) {
27983
28024
  chart.redraw();
27984
28025
  }
@@ -28622,6 +28663,9 @@ class Pointer {
28622
28663
  from: boxFromTouches(lastTouches),
28623
28664
  trigger: e.type
28624
28665
  });
28666
+ // Record a truthy value in order to trigger the final transform
28667
+ // in the drop function
28668
+ pointer.hasDragged = 1;
28625
28669
  });
28626
28670
  if (pointer.res) {
28627
28671
  pointer.res = false;
@@ -29113,7 +29157,9 @@ class Pointer {
29113
29157
  // If inside, capture touch-drag and display tooltip. If not inside,
29114
29158
  // allow dragging the finger to scroll the page
29115
29159
  if ((chart.tooltip?.options.followTouchMove ?? true) &&
29116
- isInside) {
29160
+ isInside &&
29161
+ e.type === 'touchmove' &&
29162
+ !(chart.scrollablePixelsX || chart.scrollablePixelsY)) {
29117
29163
  e.preventDefault();
29118
29164
  }
29119
29165
  }
@@ -29585,7 +29631,7 @@ class DataTableCore {
29585
29631
  * Fetches the given column by the canonical column ID. Simplified version
29586
29632
  * of the full `DataTable.getRow` method, always returning by reference.
29587
29633
  *
29588
- * @function Highcharts.DataTable#setColumn
29634
+ * @function Highcharts.DataTable#getColumn
29589
29635
  *
29590
29636
  * @param {string} columnId
29591
29637
  * ID of the column to get.
@@ -30321,6 +30367,10 @@ const seriesDefaults = {
30321
30367
  * ```
30322
30368
  *
30323
30369
  * @type {Highcharts.DataMappingOptionsObject}
30370
+ * @sample highcharts/datatable/datamapping
30371
+ * Basic data mapping
30372
+ * @sample highcharts/datatable/datamapping-dynamic
30373
+ * Data mapping with dynamic updates
30324
30374
  * @sample {highcharts} highcharts/datatable/series-datatable-multiple
30325
30375
  * Series with two data tables
30326
30376
  * @sample {highcharts} highcharts/datatable/nested-keys
@@ -30331,6 +30381,29 @@ const seriesDefaults = {
30331
30381
  * @since 13.0.0
30332
30382
  * @apioption plotOptions.series.dataMapping
30333
30383
  */
30384
+ /**
30385
+ * Options for a specific series-level data table or an array of data
30386
+ * tables. The `dataTable` option can be either a configuration object or an
30387
+ * instance of the `DataTable` class. If a `DataTable` instance is passed,
30388
+ * it will be used directly. If a configuration object or an array is
30389
+ * passed, a new `DataTable` instance will be created based on the provided
30390
+ * configuration.
30391
+ *
30392
+ * @type {Highcharts.DataTable|Highcharts.DataTableOptionsObject|Array<Highcharts.DataTable|Highcharts.DataTableOptionsObject>}
30393
+ * @sample {highcharts} highcharts/datatable/series-datatable/
30394
+ * Series with one data table each
30395
+ * @sample {highcharts} highcharts/datatable/series-datatable-multiple/
30396
+ * Series with two data tables
30397
+ * @sample {highstock} stock/datatable/series-datatable/
30398
+ * Series with one data table each
30399
+ * @sample {highstock} stock/datatable/series-datatable-multiple/
30400
+ * Series with two data tables
30401
+ * @sample {highmaps} maps/datatable/series-datatable
30402
+ * Series-level data table
30403
+ *
30404
+ * @since 13.0.0
30405
+ * @apioption plotOptions.series.dataTable
30406
+ */
30334
30407
  /**
30335
30408
  * Enable or disable the mouse tracking for a specific series. This
30336
30409
  * includes point tooltips and click events on graphs and points. For
@@ -31214,6 +31287,7 @@ const seriesDefaults = {
31214
31287
  * `series.allowPointSelect` option to true.
31215
31288
  *
31216
31289
  * @declare Highcharts.PointStatesSelectOptionsObject
31290
+ * @extends plotOptions.series.marker.states.hover
31217
31291
  */
31218
31292
  select: {
31219
31293
  /**
@@ -31790,6 +31864,7 @@ const seriesDefaults = {
31790
31864
  * @sample {highmaps} maps/plotoptions/series-datalabels-box/
31791
31865
  * Data labels box options
31792
31866
  *
31867
+ * @type {number|Array<number>}
31793
31868
  * @since 2.2.1
31794
31869
  */
31795
31870
  padding: [1, 3],
@@ -31991,6 +32066,9 @@ const seriesDefaults = {
31991
32066
  /**
31992
32067
  * A collection of options for different series states.
31993
32068
  *
32069
+ * In addition to the options documented under each state, any option from
32070
+ * the parent series type can be set, with exception of `data` and `states`.
32071
+ *
31994
32072
  * @declare Highcharts.SeriesStatesOptionsObject
31995
32073
  */
31996
32074
  states: {
@@ -32164,6 +32242,7 @@ const seriesDefaults = {
32164
32242
  * Disabled inactive state
32165
32243
  *
32166
32244
  * @declare Highcharts.SeriesStatesInactiveOptionsObject
32245
+ * @extends plotOptions.series.states.hover
32167
32246
  */
32168
32247
  inactive: {
32169
32248
  /**
@@ -32564,7 +32643,6 @@ var SeriesRegistry;
32564
32643
  * */
32565
32644
 
32566
32645
 
32567
- const { animObject: Series_animObject, setAnimation: Series_setAnimation } = AnimationUtilities;
32568
32646
 
32569
32647
 
32570
32648
  const { defaultOptions: Series_defaultOptions } = Defaults;
@@ -32702,6 +32780,13 @@ class Series {
32702
32780
  * @type {number|undefined}
32703
32781
  * @readonly
32704
32782
  */
32783
+ /**
32784
+ * The main group for the series' graphics.
32785
+ *
32786
+ * @name Highcharts.Series#group
32787
+ * @type {Highcharts.SVGElement}
32788
+ * @readonly
32789
+ */
32705
32790
  /**
32706
32791
  * Contains the series' index in the `Chart.series` array.
32707
32792
  *
@@ -32834,10 +32919,12 @@ class Series {
32834
32919
  */
32835
32920
  series.options = series.setOptions(userOptions);
32836
32921
  const options = series.options, visible = options.visible !== false;
32837
- // Create the data table
32838
- this.dataTable ?? (this.dataTable = options.dataTable?.isDataTable ?
32839
- options.dataTable :
32840
- new Data_DataTableCore(options.dataTable));
32922
+ // Create the data table or use the one passed as option
32923
+ this.dataTable ?? (this.dataTable = isArray(options.dataTable) ?
32924
+ new Data_DataTableCore() :
32925
+ options.dataTable?.isDataTable ?
32926
+ options.dataTable :
32927
+ new Data_DataTableCore(options.dataTable));
32841
32928
  /**
32842
32929
  * All child series that are linked to the current series through the
32843
32930
  * [linkedTo](https://api.highcharts.com/highcharts/series.line.linkedTo)
@@ -33219,7 +33306,7 @@ class Series {
33219
33306
  */
33220
33307
  getSymbol() {
33221
33308
  const seriesMarkerOption = this.options.marker;
33222
- this.getCyclic('symbol', seriesMarkerOption.symbol, this.chart.options.symbols);
33309
+ this.getCyclic('symbol', seriesMarkerOption?.symbol, this.chart.options.symbols);
33223
33310
  }
33224
33311
  /**
33225
33312
  * Shorthand to get one of the series' data columns from `Series.dataTable`.
@@ -33415,9 +33502,10 @@ class Series {
33415
33502
  if (!oldData[i].destroyed && !oldData[i].condemned) {
33416
33503
  const pOptions = dataTable.getRowObject(i);
33417
33504
  if (pOptions) {
33505
+ // Remove undefined properties, but preserve explicit
33506
+ // nulls (#24872)
33418
33507
  Object.keys(pOptions).forEach((key) => {
33419
- if (!defined(pOptions[key]) /* ||
33420
- pOptions[key] === oldData[i].options[key]*/) {
33508
+ if (pOptions[key] === void 0) {
33421
33509
  delete pOptions[key];
33422
33510
  }
33423
33511
  });
@@ -33822,8 +33910,12 @@ class Series {
33822
33910
  }
33823
33911
  }
33824
33912
  }
33825
- // Find the closest distance between processed points
33826
- xData = this.getColumn('x', true);
33913
+ // Find the closest distance between processed points. When the data was
33914
+ // cropped (or set out of range), read x from the freshly cropped local
33915
+ // `modified` table, #24858.
33916
+ if (modified !== table) {
33917
+ xData = modified.getColumn('x', true) || [];
33918
+ }
33827
33919
  const closestPointRange = getClosestDistance([
33828
33920
  logarithmic ?
33829
33921
  xData.map(logarithmic.log2lin) :
@@ -34028,9 +34120,9 @@ class Series {
34028
34120
  * Force getting extremes of a total series data range.
34029
34121
  */
34030
34122
  getExtremes(yData, forceExtremesFromAll) {
34031
- const { xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
34123
+ const { options, xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
34032
34124
  this.getExtremesFromAll ||
34033
- this.options.getExtremesFromAll, // #4599, #21003
34125
+ options.getExtremesFromAll, // #4599, #21003
34034
34126
  table = getExtremesFromAll && this.cropped ?
34035
34127
  this.dataTable :
34036
34128
  this.dataTable.getModified(), rowCount = table.rowCount, customData = yData || this.stackedYData, yAxisData = customData ?
@@ -34040,7 +34132,12 @@ class Series {
34040
34132
  // non-sorted data like scatter (#7639).
34041
34133
  shoulder = this.requireSorting && !this.is('column') ?
34042
34134
  1 : 0,
34043
- // #2117, need to compensate for log X axis
34135
+ // Used only for `cumulativeStart` (#24608)
34136
+ excludeShoulder = options.cumulative &&
34137
+ options.cumulativeStart &&
34138
+ shoulder &&
34139
+ !getExtremesFromAll,
34140
+ // Compensate for log X axis (#2117)
34044
34141
  positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false, doAll = getExtremesFromAll ||
34045
34142
  this.cropped ||
34046
34143
  !xAxis; // For colorAxis support
@@ -34052,10 +34149,10 @@ class Series {
34052
34149
  }
34053
34150
  for (i = 0; i < rowCount; i++) {
34054
34151
  x = xData[i];
34055
- // Check if it is within the selected x axis range
34056
- if (doAll ||
34152
+ // Check if it is within the selected x-axis range
34153
+ if ((doAll ||
34057
34154
  ((xData[i + shoulder] || x) >= xMin &&
34058
- (xData[i - shoulder] || x) <= xMax)) {
34155
+ (xData[i - shoulder] || x) <= xMax)) && (!excludeShoulder || x >= xMin)) {
34059
34156
  for (const values of yAxisData) {
34060
34157
  const val = values[i];
34061
34158
  // For points within the visible range, including the
@@ -34124,7 +34221,7 @@ class Series {
34124
34221
  */
34125
34222
  translate() {
34126
34223
  this.generatePoints();
34127
- const series = this, { options, xAxis, yAxis } = series, { stacking, threshold } = options, { hasRendered, polar } = series.chart, points = series.points.concat(series.condemnedPoints), dataLength = points.length, pointPlacement = series.pointPlacementToXValue(), // #7860
34224
+ const series = this, { hasRendered, options, xAxis, yAxis } = series, { stacking, threshold } = options, { polar } = series.chart, points = series.points.concat(series.condemnedPoints), dataLength = points.length, pointPlacement = series.pointPlacementToXValue(), // #7860
34128
34225
  dynamicallyPlaced = Boolean(pointPlacement), stackThreshold = options.startFromThreshold ? threshold : 0, nullYSubstitute = (options?.nullInteraction &&
34129
34226
  yAxis.len);
34130
34227
  let i, plotX, lastPlotX, stackIndicator, closestPointRangePx = Number.MAX_VALUE;
@@ -34317,7 +34414,7 @@ class Series {
34317
34414
  * Initialize the animation.
34318
34415
  */
34319
34416
  animate(init) {
34320
- const { chart, group, markerGroup } = this, inverted = chart.inverted, animation = Series_animObject(this.options.animation),
34417
+ const { chart, group, markerGroup } = this, inverted = chart.inverted, animation = animObject(this.options.animation),
34321
34418
  // The key for temporary animation clips
34322
34419
  animationClipKey = [
34323
34420
  this.getSharedClipKey(),
@@ -34413,10 +34510,11 @@ class Series {
34413
34510
  */
34414
34511
  drawPoints(points) {
34415
34512
  points || (points = this.points.concat(this.condemnedPoints));
34416
- const series = this, chart = series.chart, styledMode = chart.styledMode, { colorAxis, options } = series, seriesMarkerOptions = options.marker, nullInteraction = options.nullInteraction, markerGroup = series[series.specialGroup || 'markerGroup'], xAxis = series.xAxis, globallyEnabled = pick(seriesMarkerOptions.enabled, !xAxis || xAxis.isRadial ? true : null,
34417
- // Use larger or equal as radius is null in bubbles (#6321)
34418
- series.closestPointRangePx >= (seriesMarkerOptions.enabledThreshold *
34419
- seriesMarkerOptions.radius));
34513
+ const series = this, chart = series.chart, styledMode = chart.styledMode, { colorAxis, options } = series, seriesMarkerOptions = options.marker || {}, nullInteraction = options.nullInteraction, markerGroup = series[series.specialGroup || 'markerGroup'], xAxis = series.xAxis, globallyEnabled = seriesMarkerOptions.enabled ??
34514
+ (!xAxis || xAxis.isRadial ? true : null) ??
34515
+ // Use larger or equal as radius is null in bubbles (#6321)
34516
+ ((series.closestPointRangePx ?? -Infinity) >= ((seriesMarkerOptions.enabledThreshold ?? 2) *
34517
+ seriesMarkerOptions.radius));
34420
34518
  let i, point, graphic, verb, pointMarkerOptions, hasPointMarker, markerAttribs;
34421
34519
  if (seriesMarkerOptions.enabled !== false ||
34422
34520
  series._hasPointMarkers) {
@@ -34434,7 +34532,7 @@ class Series {
34434
34532
  if (shouldDrawMarker) {
34435
34533
  // Shortcuts
34436
34534
  const symbol = pick(pointMarkerOptions.symbol, series.symbol, 'rect');
34437
- markerAttribs = series.markerAttribs(point, (point.selected && 'select'));
34535
+ markerAttribs = series.markerAttribs(point, point.selected ? 'select' : '');
34438
34536
  const isInside = point.isInside !== false;
34439
34537
  if (!graphic &&
34440
34538
  isInside &&
@@ -34499,15 +34597,17 @@ class Series {
34499
34597
  * A hash containing those attributes that are not settable from CSS.
34500
34598
  */
34501
34599
  markerAttribs(point, state) {
34502
- const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
34600
+ const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker ?? {}, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
34503
34601
  seriesMarkerOptions.symbol), attribs = {};
34504
- let seriesStateOptions, pointStateOptions, radius = pick(pointMarkerOptions.radius, seriesMarkerOptions?.radius);
34602
+ let seriesStateOptions, pointStateOptions, radius = pointMarkerOptions.radius ??
34603
+ seriesMarkerOptions.radius;
34505
34604
  // Handle hover and select states
34506
34605
  if (state) {
34507
- seriesStateOptions = seriesMarkerOptions?.states?.[state];
34606
+ seriesStateOptions = seriesMarkerOptions.states?.[state];
34508
34607
  pointStateOptions = pointMarkerOptions.states?.[state];
34509
- radius = pick(pointStateOptions?.radius, seriesStateOptions?.radius, radius && radius + (seriesStateOptions?.radiusPlus ||
34510
- 0));
34608
+ radius = pointStateOptions?.radius ??
34609
+ seriesStateOptions?.radius ??
34610
+ (radius && radius + (seriesStateOptions?.radiusPlus || 0));
34511
34611
  }
34512
34612
  point.hasImage = symbol && symbol.indexOf('url') === 0;
34513
34613
  if (point.hasImage) {
@@ -34520,7 +34620,7 @@ class Series {
34520
34620
  0 :
34521
34621
  symbol === 'rect' ?
34522
34622
  // Rectangle symbols need crisp edges, others don't
34523
- seriesMarkerOptions?.lineWidth || 0 :
34623
+ seriesMarkerOptions.lineWidth || 0 :
34524
34624
  1);
34525
34625
  }
34526
34626
  attribs.x = pos[0] - radius;
@@ -34551,8 +34651,9 @@ class Series {
34551
34651
  * The presentational attributes to be set on the point.
34552
34652
  */
34553
34653
  pointAttribs(point, state) {
34554
- const options = this.options, seriesMarkerOptions = options.marker, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
34555
- let seriesStateOptions, pointStateOptions, color = this.color, fill, stroke, strokeWidth = pick(pointMarkerOptions.lineWidth, seriesMarkerOptions.lineWidth), opacity = (point?.isNull && options.nullInteraction) ? 0 : 1;
34654
+ const options = this.options, seriesMarkerOptions = options.marker ?? {}, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
34655
+ let color = this.color, fill, stroke, strokeWidth = pointMarkerOptions.lineWidth ??
34656
+ seriesMarkerOptions.lineWidth, opacity = (point?.isNull && options.nullInteraction) ? 0 : 1;
34556
34657
  color = (pointColorOption ||
34557
34658
  zoneColor ||
34558
34659
  pointColor ||
@@ -34565,19 +34666,22 @@ class Series {
34565
34666
  color);
34566
34667
  // Handle hover and select states
34567
34668
  state = state || 'normal';
34568
- if (state) {
34569
- seriesStateOptions = (seriesMarkerOptions.states[state] || {});
34570
- pointStateOptions = (pointMarkerOptions.states &&
34571
- pointMarkerOptions.states[state]) || {};
34572
- strokeWidth = pick(pointStateOptions.lineWidth, seriesStateOptions.lineWidth, strokeWidth + pick(pointStateOptions.lineWidthPlus, seriesStateOptions.lineWidthPlus, 0));
34573
- fill = (pointStateOptions.fillColor ||
34574
- seriesStateOptions.fillColor ||
34575
- fill);
34576
- stroke = (pointStateOptions.lineColor ||
34577
- seriesStateOptions.lineColor ||
34578
- stroke);
34579
- opacity = pick(pointStateOptions.opacity, seriesStateOptions.opacity, opacity);
34580
- }
34669
+ const seriesStateOptions = seriesMarkerOptions.states?.[state] || {};
34670
+ const pointStateOptions = pointMarkerOptions.states?.[state] || {};
34671
+ strokeWidth = pointStateOptions.lineWidth ??
34672
+ seriesStateOptions.lineWidth ??
34673
+ (strokeWidth || 0) + (pointStateOptions.lineWidthPlus ??
34674
+ seriesStateOptions.lineWidthPlus ??
34675
+ 0);
34676
+ fill = (pointStateOptions.fillColor ||
34677
+ seriesStateOptions.fillColor ||
34678
+ fill);
34679
+ stroke = (pointStateOptions.lineColor ||
34680
+ seriesStateOptions.lineColor ||
34681
+ stroke);
34682
+ opacity = (pointStateOptions.opacity ??
34683
+ seriesStateOptions.opacity ??
34684
+ opacity);
34581
34685
  return {
34582
34686
  'stroke': stroke,
34583
34687
  'stroke-width': strokeWidth,
@@ -34616,7 +34720,7 @@ class Series {
34616
34720
  // Destroy all points with their elements
34617
34721
  i = data.length;
34618
34722
  while (i--) {
34619
- data[i]?.destroy?.();
34723
+ data[i]?.destroy?.(true);
34620
34724
  }
34621
34725
  for (const zone of series.zones || []) {
34622
34726
  // Destroy SVGElement's but preserve primitive props (#20426)
@@ -34643,7 +34747,7 @@ class Series {
34643
34747
  erase(chart.series, series);
34644
34748
  chart.orderItems('series');
34645
34749
  // Clear all members
34646
- objectEach(series, function (val, prop) {
34750
+ objectEach(series, function (_val, prop) {
34647
34751
  if (!keepEventsForUpdate || prop !== 'hcEvents') {
34648
34752
  delete series[prop];
34649
34753
  }
@@ -34919,7 +35023,7 @@ class Series {
34919
35023
  * @emits Highcharts.Series#event:afterRender
34920
35024
  */
34921
35025
  render() {
34922
- const series = this, { chart, options, hasRendered } = series, animOptions = Series_animObject(options.animation), visibility = series.visible ?
35026
+ const series = this, { chart, options, hasRendered } = series, animOptions = animObject(options.animation), visibility = series.visible ?
34923
35027
  'inherit' : 'hidden', // #2597
34924
35028
  zIndex = options.zIndex, chartSeriesGroup = chart.seriesGroup;
34925
35029
  let animDuration = series.finishedAnimating ?
@@ -35021,7 +35125,7 @@ class Series {
35021
35125
  *
35022
35126
  * @function Highcharts.Series#searchPoint
35023
35127
  *
35024
- * @param {Highcharts.PointerEvent} e
35128
+ * @param {PointerEvent} e
35025
35129
  * The normalized pointer event
35026
35130
  * @param {boolean} [compareX=false]
35027
35131
  * Search only by the X value, not Y
@@ -35053,7 +35157,7 @@ class Series {
35053
35157
  // Prevent multiple k-d-trees from being built simultaneously
35054
35158
  // (#6235)
35055
35159
  this.buildingKdTree = true;
35056
- const series = this, seriesOptions = series.options, dimensions = seriesOptions.findNearestPointBy
35160
+ const series = this, seriesOptions = series.options, dimensions = (seriesOptions.findNearestPointBy ?? '')
35057
35161
  .indexOf('y') > -1 ? 2 : 1;
35058
35162
  /**
35059
35163
  * Internal function
@@ -35103,7 +35207,7 @@ class Series {
35103
35207
  * The point to search for.
35104
35208
  * @param {boolean} [compareX=false]
35105
35209
  * Search only by the X value, not Y.
35106
- * @param {Highcharts.PointerEvent} [e]
35210
+ * @param {PointerEvent} [e]
35107
35211
  * The normalized pointer event.
35108
35212
  * @param {Function} [suppliedPointEvaluator]
35109
35213
  * A custom point evaluator function.
@@ -35309,11 +35413,13 @@ class Series {
35309
35413
  * Both X and Y values given
35310
35414
  * @sample highcharts/members/series-addpoint-pie/
35311
35415
  * Append pie slice
35312
- * @sample stock/members/series-addpoint/
35416
+ * @sample highcharts/datatable/datamapping-dynamic
35417
+ * Alternative approach with data table
35418
+ * @sample {highstock} stock/members/series-addpoint/
35313
35419
  * Append 100 points in Highcharts Stock
35314
- * @sample stock/members/series-addpoint-shift/
35420
+ * @sample {highstock} stock/members/series-addpoint-shift/
35315
35421
  * Append and shift in Highcharts Stock
35316
- * @sample maps/members/series-addpoint/
35422
+ * @sample {highmaps} maps/members/series-addpoint/
35317
35423
  * Add a point in Highmaps
35318
35424
  *
35319
35425
  * @function Highcharts.Series#addPoint
@@ -35459,7 +35565,7 @@ class Series {
35459
35565
  chart.redraw();
35460
35566
  }
35461
35567
  };
35462
- Series_setAnimation(animation, chart);
35568
+ setAnimation(animation, chart);
35463
35569
  redraw = pick(redraw, true);
35464
35570
  // Fire the event with a default handler of removing the point
35465
35571
  if (point) {
@@ -35813,10 +35919,10 @@ class Series {
35813
35919
  * Determines if state should be inherited by points too.
35814
35920
  */
35815
35921
  setState(state, inherit) {
35816
- const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions } = options,
35922
+ const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions = {} } = options,
35817
35923
  // By default a quick animation to hover/inactive,
35818
35924
  // slower to un-hover
35819
- stateAnimation = pick(stateOptions?.[state || 'normal']?.animation, series.chart.options.chart.animation);
35925
+ stateAnimation = pick(stateOptions[state || 'normal']?.animation, series.chart.options.chart.animation);
35820
35926
  let { lineWidth, opacity } = options;
35821
35927
  state = state || '';
35822
35928
  if (series.state !== state) {
@@ -35843,9 +35949,13 @@ class Series {
35843
35949
  return;
35844
35950
  }
35845
35951
  if (state) {
35846
- lineWidth = (stateOptions[state].lineWidth ||
35847
- lineWidth + (stateOptions[state].lineWidthPlus || 0)); // #4035
35848
- opacity = pick(stateOptions[state].opacity, opacity);
35952
+ lineWidth = stateOptions[state]?.lineWidth ?? (!isNumber(lineWidth) ?
35953
+ void 0 :
35954
+ // Increase by lineWidthPlus only when lineWidth
35955
+ // is a number.
35956
+ (lineWidth +
35957
+ (stateOptions?.[state]?.lineWidthPlus || 0))); // #4035
35958
+ opacity = stateOptions[state]?.opacity ?? opacity;
35849
35959
  }
35850
35960
  if (graph && !graph.dashstyle && isNumber(lineWidth)) {
35851
35961
  // Animate the graph stroke-width
@@ -35889,11 +35999,7 @@ class Series {
35889
35999
  * Can be either `hover` or undefined to set to normal state.
35890
36000
  */
35891
36001
  setAllPointsToState(state) {
35892
- this.points.forEach(function (point) {
35893
- if (point.setState) {
35894
- point.setState(state);
35895
- }
35896
- });
36002
+ this.points.forEach((point) => point.setState?.(state));
35897
36003
  }
35898
36004
  /**
35899
36005
  * Show or hide the series.
@@ -36574,7 +36680,6 @@ Series_SeriesRegistry.series = Series;
36574
36680
  * */
36575
36681
 
36576
36682
 
36577
- const { animObject: Legend_animObject, setAnimation: Legend_setAnimation } = AnimationUtilities;
36578
36683
 
36579
36684
  const { registerEventOptions: Legend_registerEventOptions } = Core_Foundation;
36580
36685
 
@@ -37577,7 +37682,7 @@ class Legend {
37577
37682
  }
37578
37683
  if (currentPage > 0) {
37579
37684
  if (typeof animation !== 'undefined') {
37580
- Legend_setAnimation(animation, chart);
37685
+ setAnimation(animation, chart);
37581
37686
  }
37582
37687
  this.nav.attr({
37583
37688
  translateX: padding,
@@ -37634,7 +37739,7 @@ class Legend {
37634
37739
  this.currentPage = currentPage;
37635
37740
  this.positionCheckboxes();
37636
37741
  // Fire event after scroll animation is complete
37637
- const animOptions = Legend_animObject(pick(animation, chart.renderer.globalAnimation, true));
37742
+ const animOptions = animObject(pick(animation, chart.renderer.globalAnimation, true));
37638
37743
  syncTimeout(() => {
37639
37744
  fireEvent(this, 'afterScroll', { currentPage });
37640
37745
  }, animOptions.duration);
@@ -37844,7 +37949,7 @@ class Legend {
37844
37949
  */ /**
37845
37950
  * Related browser event.
37846
37951
  * @name Highcharts.LegendItemClickEventObject#browserEvent
37847
- * @type {Highcharts.PointerEvent}
37952
+ * @type {PointerEvent}
37848
37953
  */ /**
37849
37954
  * Prevent the default action of toggle the visibility of the series or point.
37850
37955
  * @name Highcharts.LegendItemClickEventObject#preventDefault
@@ -37895,7 +38000,7 @@ class Legend {
37895
38000
  */ /**
37896
38001
  * Related browser event.
37897
38002
  * @name Highcharts.PointLegendItemClickEventObject#browserEvent
37898
- * @type {Highcharts.PointerEvent}
38003
+ * @type {PointerEvent}
37899
38004
  */ /**
37900
38005
  * Whether the default action has been prevented (`true`) or not.
37901
38006
  * @name Highcharts.PointLegendItemClickEventObject#defaultPrevented
@@ -37951,7 +38056,7 @@ class Legend {
37951
38056
  */ /**
37952
38057
  * Related browser event.
37953
38058
  * @name Highcharts.SeriesLegendItemClickEventObject#browserEvent
37954
- * @type {Highcharts.PointerEvent}
38059
+ * @type {PointerEvent}
37955
38060
  */ /**
37956
38061
  * Whether the default action has been prevented (`true`) or not.
37957
38062
  * @name Highcharts.SeriesLegendItemClickEventObject#defaultPrevented
@@ -37985,7 +38090,6 @@ class Legend {
37985
38090
  * */
37986
38091
 
37987
38092
 
37988
- const { animate: Chart_animate, animObject: Chart_animObject, setAnimation: Chart_setAnimation } = AnimationUtilities;
37989
38093
 
37990
38094
 
37991
38095
  const { defaultOptions: Chart_defaultOptions } = Defaults;
@@ -38463,7 +38567,7 @@ class Chart {
38463
38567
  redraw(animation) {
38464
38568
  fireEvent(this, 'beforeRedraw');
38465
38569
  const chart = this, axes = chart.hasCartesianSeries ? chart.axes : chart.colorAxis || [], series = chart.series, pointer = chart.pointer, legend = chart.legend, legendUserOptions = chart.userOptions.legend, renderer = chart.renderer, isHiddenChart = renderer.isHidden(), afterRedraw = [];
38466
- let hasDirtyStacks, hasStackedSeries, i, isDirtyBox = chart.isDirtyBox, redrawLegend = chart.isDirtyLegend, serie;
38570
+ let hasDirtyStacks, hasStackedSeries, i, redrawLegend = chart.isDirtyLegend, serie;
38467
38571
  renderer.rootFontSize = renderer.boxWrapper.getStyle('font-size');
38468
38572
  // Handle responsive rules, not only on resize (#6130)
38469
38573
  if (chart.setResponsive) {
@@ -38472,7 +38576,7 @@ class Chart {
38472
38576
  // Set the global animation. When chart.hasRendered is not true, the
38473
38577
  // redraw call comes from a responsive rule and animation should not
38474
38578
  // occur.
38475
- Chart_setAnimation(chart.hasRendered ? animation : false, chart);
38579
+ setAnimation(chart.hasRendered ? animation : false, chart);
38476
38580
  if (isHiddenChart) {
38477
38581
  chart.temporaryDisplay();
38478
38582
  }
@@ -38535,6 +38639,7 @@ class Chart {
38535
38639
  });
38536
38640
  chart.getMargins(); // #3098
38537
38641
  // If one axis is dirty, all axes must be redrawn (#792, #2169)
38642
+ let isDirtyBox = chart.isDirtyBox;
38538
38643
  axes.forEach(function (axis) {
38539
38644
  if (axis.isDirty) {
38540
38645
  isDirtyBox = true;
@@ -39070,11 +39175,8 @@ class Chart {
39070
39175
  const chartHeight = chart.chartHeight;
39071
39176
  let chartWidth = chart.chartWidth;
39072
39177
  // Allow table cells and flex-boxes to shrink without the chart
39073
- // blocking them out (#6427) but skip in styled mode so inline styles
39074
- // don't override user CSS on renderTo
39075
- if (!chart.styledMode) {
39076
- css(renderTo, { overflow: 'hidden' });
39077
- }
39178
+ // blocking them out (#6427)
39179
+ css(renderTo, { overflow: 'hidden' });
39078
39180
  // Create the inner container
39079
39181
  if (!chart.styledMode) {
39080
39182
  containerStyle = extend({
@@ -39131,7 +39233,7 @@ class Chart {
39131
39233
  // first ResizeObserver reflow
39132
39234
  chart.containerBox = chart.getContainerBox();
39133
39235
  // Set the initial animation from the options
39134
- Chart_setAnimation(void 0, chart);
39236
+ setAnimation(void 0, chart);
39135
39237
  chart.setClassName(optionsChart.className);
39136
39238
  if (!chart.styledMode) {
39137
39239
  chart.renderer.setStyle(optionsChart.style);
@@ -39326,7 +39428,7 @@ class Chart {
39326
39428
  // Handle the isResizing counter
39327
39429
  chart.isResizing += 1;
39328
39430
  // Set the animation for the current process
39329
- Chart_setAnimation(animation, chart);
39431
+ setAnimation(animation, chart);
39330
39432
  const globalAnimation = renderer.globalAnimation;
39331
39433
  chart.oldChartHeight = chart.chartHeight;
39332
39434
  chart.oldChartWidth = chart.chartWidth;
@@ -39345,7 +39447,7 @@ class Chart {
39345
39447
  // Resize the container with the global animation applied if enabled
39346
39448
  // (#2503)
39347
39449
  if (!chart.styledMode) {
39348
- (globalAnimation ? Chart_animate : css)(chart.container, {
39450
+ (globalAnimation ? animate : css)(chart.container, {
39349
39451
  width: `${chartWidth + scrollablePixelsX}px`,
39350
39452
  height: `${chartHeight + scrollablePixelsY}px`
39351
39453
  }, globalAnimation);
@@ -39371,7 +39473,7 @@ class Chart {
39371
39473
  if (chart) {
39372
39474
  fireEvent(chart, 'endResize');
39373
39475
  }
39374
- }, Chart_animObject(globalAnimation).duration);
39476
+ }, animObject(globalAnimation).duration);
39375
39477
  }
39376
39478
  // Handle resizing counter even if we've re-rendered or not (#20548).
39377
39479
  chart.isResizing -= 1;
@@ -40240,7 +40342,7 @@ class Chart {
40240
40342
  opacity: 0,
40241
40343
  display: ''
40242
40344
  });
40243
- Chart_animate(loadingDiv, {
40345
+ animate(loadingDiv, {
40244
40346
  opacity: loadingStyle.opacity ?? 0.5
40245
40347
  }, {
40246
40348
  duration: loadingOptions?.showDuration ?? 0
@@ -40268,7 +40370,7 @@ class Chart {
40268
40370
  loadingDiv.className =
40269
40371
  'highcharts-loading highcharts-loading-hidden';
40270
40372
  if (!this.styledMode) {
40271
- Chart_animate(loadingDiv, {
40373
+ animate(loadingDiv, {
40272
40374
  opacity: 0
40273
40375
  }, {
40274
40376
  duration: options.loading?.hideDuration ?? 100,
@@ -40300,6 +40402,9 @@ class Chart {
40300
40402
  * Note that when changing series data, `chart.update` may mutate the passed
40301
40403
  * data options.
40302
40404
  *
40405
+ * If the given options don't differ from the current chart options, the
40406
+ * update is skipped and the `afterUpdate` event is not emitted.
40407
+ *
40303
40408
  * See also the
40304
40409
  * [responsive option set](https://api.highcharts.com/highcharts/responsive).
40305
40410
  * Switching between `responsive.rules` basically runs `chart.update` under
@@ -40344,14 +40449,24 @@ class Chart {
40344
40449
  caption: 'setCaption'
40345
40450
  }, isResponsiveOptions = options.isResponsiveOptions, itemsForRemoval = [];
40346
40451
  let updateAllAxes, updateAllSeries, runSetSize;
40347
- fireEvent(chart, 'update', { options: options });
40452
+ options = diffObjects(options, chart.options);
40453
+ const e = {
40454
+ options,
40455
+ // Event handlers can turn this on or off to control further
40456
+ // processing
40457
+ hasChanged: !!Object.keys(options).length
40458
+ };
40459
+ fireEvent(chart, 'update', e);
40460
+ // If no changes are detected, stop further processing (#24805).
40461
+ if (!e.hasChanged) {
40462
+ return;
40463
+ }
40348
40464
  // If there are responsive rules in action, undo the responsive rules
40349
40465
  // before we apply the updated options and replay the responsive rules
40350
40466
  // on top from the chart.redraw function (#9617).
40351
40467
  if (!isResponsiveOptions) {
40352
40468
  chart.setResponsive(false, true);
40353
40469
  }
40354
- options = diffObjects(options, chart.options);
40355
40470
  chart.userOptions = merge(chart.userOptions, options);
40356
40471
  // If the top-level chart option is present, some special updates are
40357
40472
  // required
@@ -40530,7 +40645,7 @@ class Chart {
40530
40645
  (isNumber(newHeight) && newHeight !== chart.chartHeight)) {
40531
40646
  chart.setSize(newWidth, newHeight, animation);
40532
40647
  }
40533
- else if (pick(redraw, true)) {
40648
+ else if (redraw ?? true) {
40534
40649
  chart.redraw(animation);
40535
40650
  }
40536
40651
  fireEvent(chart, 'afterUpdate', {
@@ -40579,15 +40694,11 @@ class Chart {
40579
40694
  showResetZoom() {
40580
40695
  const chart = this, lang = chart.options.lang, btnOptions = chart.zooming.resetButton, theme = btnOptions.theme, alignTo = (btnOptions.relativeTo === 'chart' ||
40581
40696
  btnOptions.relativeTo === 'spacingBox' ?
40582
- null :
40697
+ void 0 :
40583
40698
  'plotBox');
40584
- /** @internal */
40585
- function zoomOut() {
40586
- chart.zoomOut();
40587
- }
40588
- fireEvent(this, 'beforeShowResetZoom', null, function () {
40699
+ fireEvent(this, 'beforeShowResetZoom', void 0, () => {
40589
40700
  chart.resetZoomButton = chart.renderer
40590
- .button(lang.resetZoom, null, null, zoomOut, theme)
40701
+ .button(lang.resetZoom, 0, 0, () => chart.zoomOut(), theme)
40591
40702
  .attr({
40592
40703
  align: btnOptions.position.align,
40593
40704
  title: lang.resetZoomTitle
@@ -40665,7 +40776,7 @@ class Chart {
40665
40776
  * @function Highcharts.Chart#transform
40666
40777
  */
40667
40778
  transform(params) {
40668
- const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, { inverted, time } = this;
40779
+ const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, { time } = this;
40669
40780
  // Remove active points for shared tooltip
40670
40781
  this.hoverPoints?.forEach((point) => point.setState());
40671
40782
  fireEvent(this, 'transform', params);
@@ -40676,10 +40787,10 @@ class Chart {
40676
40787
  scale = Math.abs(toLength) < 10 ?
40677
40788
  1 :
40678
40789
  toLength / fromLength, fromCenter = (from[xy] || 0) + fromLength / 2 - axis.pos, toCenter = (to[xy] ?? axis.pos) +
40679
- toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = (reversed && !inverted) ||
40680
- (!reversed && inverted) ?
40681
- -1 :
40682
- 1, minPx = move;
40790
+ toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = ((horiz && !reversed) ||
40791
+ (!horiz && reversed)) ?
40792
+ 1 :
40793
+ -1, minPx = move;
40683
40794
  // Zooming in multiple panes, zoom only in the pane that receives
40684
40795
  // the input
40685
40796
  if (!reset && (fromCenter < 0 || fromCenter > axis.len)) {
@@ -40688,17 +40799,11 @@ class Chart {
40688
40799
  // Adjust offset to ensure selection zoom triggers correctly
40689
40800
  // (#22945)
40690
40801
  // Set offset to 0 for ordinal axis only when zooming out, (#24545).
40691
- const offset = (axis.chart.polar || (axis.isOrdinal && scale <= 1)) ?
40802
+ const offset = (selection || axis.chart.polar ||
40803
+ (axis.isOrdinal && scale <= 1)) ?
40692
40804
  0 :
40693
40805
  (minPointOffset * pointRangeDirection || 0), eventMin = axis.toValue(minPx, true), eventMax = axis.toValue(minPx + len / scale, true);
40694
40806
  let newMin = eventMin + offset, newMax = eventMax - offset, allExtremes = axis.allExtremes;
40695
- if (selection) {
40696
- selection[axis.coll].push({
40697
- axis,
40698
- min: Math.min(eventMin, eventMax),
40699
- max: Math.max(eventMin, eventMax)
40700
- });
40701
- }
40702
40807
  if (newMin > newMax) {
40703
40808
  [newMin, newMax] = [newMax, newMin];
40704
40809
  }
@@ -40755,14 +40860,15 @@ class Chart {
40755
40860
  }
40756
40861
  // Set new extremes if they are actually new
40757
40862
  if (reset || (axis.series.length &&
40758
- (newMin !== min || newMax !== max) &&
40759
- newMin >= floor &&
40760
- newMax <= ceiling)) {
40863
+ (selection ||
40864
+ ((newMin !== min || newMax !== max) &&
40865
+ newMin >= floor &&
40866
+ newMax <= ceiling)))) {
40761
40867
  if (selection) {
40762
40868
  selection[axis.coll].push({
40763
40869
  axis,
40764
- min: newMin,
40765
- max: newMax
40870
+ min: Math.min(eventMin, eventMax),
40871
+ max: Math.max(eventMin, eventMax)
40766
40872
  });
40767
40873
  }
40768
40874
  else {
@@ -40770,11 +40876,14 @@ class Chart {
40770
40876
  // disallow certain axis padding options that would make
40771
40877
  // panning/zooming hard. Reset and redraw after the
40772
40878
  // operation has finished.
40773
- axis.isPanning = trigger !== 'zoom';
40879
+ axis.isPanning = trigger !== 'zoom' &&
40880
+ trigger !== 'drop';
40774
40881
  if (axis.isPanning && trigger !== 'mousewheel') {
40775
40882
  isAnyAxisPanning = true; // #21319
40776
40883
  }
40777
- axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
40884
+ if (trigger !== 'drop') {
40885
+ axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
40886
+ }
40778
40887
  if (!reset &&
40779
40888
  (newMin > floor || newMax < ceiling)) {
40780
40889
  displayButton = allowResetButton;
@@ -40805,7 +40914,8 @@ class Chart {
40805
40914
  });
40806
40915
  }
40807
40916
  else {
40808
- // Show or hide the Reset zoom button, but not while panning
40917
+ // Show or hide the Reset zoom button, but not while
40918
+ // panning.
40809
40919
  if (displayButton &&
40810
40920
  !isAnyAxisPanning &&
40811
40921
  !this.resetZoomButton) {
@@ -41047,7 +41157,6 @@ extend(Chart.prototype, {
41047
41157
  */
41048
41158
 
41049
41159
 
41050
- const { stop: ScrollablePlotArea_stop } = AnimationUtilities;
41051
41160
 
41052
41161
  const { composed: ScrollablePlotArea_composed } = Core_Globals;
41053
41162
 
@@ -41213,7 +41322,7 @@ class ScrollablePlotArea {
41213
41322
  this.moveFixedElements();
41214
41323
  }
41215
41324
  // Increase the size of the scrollable renderer and background
41216
- ScrollablePlotArea_stop(chart.container);
41325
+ stop(chart.container);
41217
41326
  css(container, {
41218
41327
  width: `${scrollableWidth}px`,
41219
41328
  height: `${scrollableHeight}px`
@@ -41370,6 +41479,13 @@ ScrollablePlotArea.fixedSelectors = [
41370
41479
  * vertical scrolling, depending on whether the `minWidth` or `minHeight`
41371
41480
  * option is set.
41372
41481
  *
41482
+ * **Note:** Because native browser scrollbars are used, they may
41483
+ * overlap with fixed chart elements such as credits or the chart
41484
+ * border. To avoid this collision, it is recommended to manually add
41485
+ * extra space to the corresponding side using `chart.spacingBottom`
41486
+ * (for horizontal scrollbars) or `chart.spacingRight` (for vertical
41487
+ * scrollbars).
41488
+ *
41373
41489
  * @sample highcharts/chart/scrollable-plotarea
41374
41490
  * Scrollable plot area
41375
41491
  * @sample highcharts/chart/scrollable-plotarea-vertical
@@ -41720,7 +41836,6 @@ class StackItem {
41720
41836
  * */
41721
41837
 
41722
41838
 
41723
- const { getDeferredAnimation: StackingAxis_getDeferredAnimation } = AnimationUtilities;
41724
41839
 
41725
41840
  const { series: { prototype: seriesProto } } = Series_SeriesRegistry;
41726
41841
 
@@ -42064,7 +42179,7 @@ class AxisAdditions {
42064
42179
  }
42065
42180
  /** @internal */
42066
42181
  renderStackTotals() {
42067
- const stacking = this, axis = stacking.axis, chart = axis.chart, renderer = chart.renderer, stacks = stacking.stacks, stackLabelsAnim = axis.options.stackLabels?.animation, animationConfig = StackingAxis_getDeferredAnimation(chart, stackLabelsAnim || false), stackTotalGroup = stacking.stackTotalGroup = (stacking.stackTotalGroup ||
42182
+ const stacking = this, axis = stacking.axis, chart = axis.chart, renderer = chart.renderer, stacks = stacking.stacks, stackLabelsAnim = axis.options.stackLabels?.animation, animationConfig = getDeferredAnimation(chart, stackLabelsAnim || false), stackTotalGroup = stacking.stackTotalGroup = (stacking.stackTotalGroup ||
42068
42183
  renderer
42069
42184
  .g('stack-labels')
42070
42185
  .attr({
@@ -43817,6 +43932,8 @@ const ColumnSeriesDefaults = {
43817
43932
  * 0.25
43818
43933
  * @sample {highcharts} highcharts/plotoptions/column-pointpadding-none/
43819
43934
  * 0 for tightly packed columns
43935
+ * @sample {highcharts} highcharts/plotoptions/pie-pointpadding/
43936
+ * Pie point padding plugin
43820
43937
  *
43821
43938
  * @product highcharts highstock gantt
43822
43939
  */
@@ -44148,12 +44265,12 @@ const ColumnSeriesDefaults = {
44148
44265
  */
44149
44266
  /**
44150
44267
  * @excluding halo, lineWidth, lineWidthPlus, marker
44151
- * @product highcharts highstock
44268
+ * @product highcharts highstock gantt
44152
44269
  * @apioption series.column.states.hover
44153
44270
  */
44154
44271
  /**
44155
44272
  * @excluding halo, lineWidth, lineWidthPlus, marker
44156
- * @product highcharts highstock
44273
+ * @product highcharts highstock gantt
44157
44274
  * @apioption series.column.states.select
44158
44275
  */
44159
44276
  /**
@@ -44183,7 +44300,6 @@ const ColumnSeriesDefaults = {
44183
44300
  * */
44184
44301
 
44185
44302
 
44186
- const { animObject: ColumnSeries_animObject } = AnimationUtilities;
44187
44303
 
44188
44304
  const { parse: ColumnSeries_color } = Color_Color;
44189
44305
 
@@ -44254,7 +44370,7 @@ class ColumnSeries extends Series_Series {
44254
44370
  }
44255
44371
  else { // Run the animation
44256
44372
  translateStart = Number(series.group.attr(translateProp));
44257
- series.group.animate({ scaleY: 1 }, extend(ColumnSeries_animObject(series.options.animation), {
44373
+ series.group.animate({ scaleY: 1 }, extend(animObject(series.options.animation), {
44258
44374
  // Do the scale synchronously to ensure smooth
44259
44375
  // updating (#5030, #7228)
44260
44376
  step: function (val, fx) {
@@ -44590,11 +44706,11 @@ class ColumnSeries extends Series_Series {
44590
44706
  */
44591
44707
  pointAttribs(point, state) {
44592
44708
  const options = this.options, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth';
44593
- let stateOptions, zone, brightness, fill = (point && point.color) || this.color,
44709
+ let stateOptions, zone, brightness, fill = point?.color || this.color,
44594
44710
  // Set to fill when borderColor null:
44595
- stroke = ((point && point[strokeOption]) ||
44711
+ stroke = (point?.[strokeOption] ||
44596
44712
  options[strokeOption] ||
44597
- fill), dashstyle = (point && point.options.dashStyle) || options.dashStyle, strokeWidth = (point?.[strokeWidthOption]) ??
44713
+ fill), dashstyle = point?.options.dashStyle || options.dashStyle, strokeWidth = point?.[strokeWidthOption] ??
44598
44714
  options[strokeWidthOption] ??
44599
44715
  this[strokeWidthOption] ?? 1, opacity = (point?.isNull && options.nullInteraction) ?
44600
44716
  0 :
@@ -44615,7 +44731,7 @@ class ColumnSeries extends Series_Series {
44615
44731
  }
44616
44732
  // Select or hover states
44617
44733
  if (state && point) {
44618
- stateOptions = merge(options.states[state],
44734
+ stateOptions = merge(options.states?.[state],
44619
44735
  // #6401
44620
44736
  point.options.states?.[state] || {});
44621
44737
  brightness = stateOptions.brightness;
@@ -44625,14 +44741,13 @@ class ColumnSeries extends Series_Series {
44625
44741
  .brighten(stateOptions.brightness)
44626
44742
  .get()) || fill;
44627
44743
  stroke = stateOptions[strokeOption] || stroke;
44628
- strokeWidth =
44629
- stateOptions[strokeWidthOption] || strokeWidth;
44744
+ strokeWidth = stateOptions[strokeWidthOption] || strokeWidth;
44630
44745
  dashstyle = stateOptions.dashStyle || dashstyle;
44631
- opacity = pick(stateOptions.opacity, opacity);
44746
+ opacity = stateOptions.opacity ?? opacity;
44632
44747
  }
44633
44748
  const ret = {
44634
- fill: fill,
44635
- stroke: stroke,
44749
+ fill,
44750
+ stroke,
44636
44751
  'stroke-width': strokeWidth,
44637
44752
  opacity: point?.condemned ? 0 : opacity
44638
44753
  };
@@ -44673,6 +44788,7 @@ class ColumnSeries extends Series_Series {
44673
44788
  initialAttr = merge(shapeArgs, point.getOrigin(point.origin, shapeArgs));
44674
44789
  if (!styledMode) {
44675
44790
  initialAttr.opacity = 0;
44791
+ initialAttr['stroke-width'] = 0;
44676
44792
  }
44677
44793
  shouldUpdate = true;
44678
44794
  verb = 'animate';
@@ -44688,7 +44804,7 @@ class ColumnSeries extends Series_Series {
44688
44804
  }
44689
44805
  // Presentational
44690
44806
  if (!styledMode) {
44691
- graphic[verb](series.pointAttribs(point, (point.selected && 'select')))
44807
+ graphic[verb](series.pointAttribs(point, point.selected ? 'select' : ''))
44692
44808
  .shadow(point.allowShadow !== false && options.shadow);
44693
44809
  }
44694
44810
  graphic
@@ -44812,6 +44928,7 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
44812
44928
  * Default Export
44813
44929
  *
44814
44930
  * */
44931
+ /** @internal */
44815
44932
  /* harmony default export */ const Column_ColumnSeries = (ColumnSeries);
44816
44933
  /* *
44817
44934
  *
@@ -44848,7 +44965,6 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
44848
44965
  * */
44849
44966
 
44850
44967
 
44851
- const { getDeferredAnimation: DataLabel_getDeferredAnimation } = AnimationUtilities;
44852
44968
 
44853
44969
  const { format: DataLabel_format } = Core_Templating;
44854
44970
 
@@ -45165,7 +45281,7 @@ var DataLabel;
45165
45281
  'var(--highcharts-background-color)'), groupByIndex = [], seriesDlOptions = mergedDataLabelOptions(series);
45166
45282
  // Resolve the animation
45167
45283
  const { animation, defer } = seriesDlOptions[0], animationConfig = defer ?
45168
- DataLabel_getDeferredAnimation(chart, animation, series) :
45284
+ getDeferredAnimation(chart, animation, series) :
45169
45285
  { defer: 0, duration: 0 };
45170
45286
  fireEvent(this, 'drawDataLabels');
45171
45287
  if (series.hasDataLabels?.()) {
@@ -45931,6 +46047,8 @@ const ScatterSeriesDefaults = {
45931
46047
  * Arrays of datetime x and y
45932
46048
  * @sample {highcharts} highcharts/series/data-array-of-name-value/
45933
46049
  * Arrays of point.name and y
46050
+ * @sample {highcharts} highcharts/series-scatter/scatter-cluster/
46051
+ * Computed clusters
45934
46052
  * @sample {highcharts} highcharts/series/data-array-of-objects/
45935
46053
  * Config objects
45936
46054
  *
@@ -46079,7 +46197,7 @@ Series_SeriesRegistry.registerSeriesType('scatter', ScatterSeries);
46079
46197
  const { deg2rad: CenteredUtilities_deg2rad } = Core_Globals;
46080
46198
 
46081
46199
  /**
46082
- * @private
46200
+ * @internal
46083
46201
  */
46084
46202
  var CenteredUtilities;
46085
46203
  (function (CenteredUtilities) {
@@ -46097,7 +46215,7 @@ var CenteredUtilities;
46097
46215
  * Get the center of the pie based on the size and center options relative
46098
46216
  * to the plot area. Borrowed by the polar and gauge series types.
46099
46217
  *
46100
- * @private
46218
+ * @internal
46101
46219
  * @function Highcharts.CenteredSeriesMixin.getCenter
46102
46220
  */
46103
46221
  function getCenter() {
@@ -46142,7 +46260,7 @@ var CenteredUtilities;
46142
46260
  * GetStartAndEndRadians - Calculates start and end angles in radians.
46143
46261
  * Used in series types such as pie and sunburst.
46144
46262
  *
46145
- * @private
46263
+ * @internal
46146
46264
  * @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
46147
46265
  *
46148
46266
  * @param {number} [start]
@@ -46174,6 +46292,7 @@ var CenteredUtilities;
46174
46292
  * Default Export
46175
46293
  *
46176
46294
  * */
46295
+ /** @internal */
46177
46296
  /* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
46178
46297
  /* *
46179
46298
  *
@@ -46181,7 +46300,7 @@ var CenteredUtilities;
46181
46300
  *
46182
46301
  * */
46183
46302
  /**
46184
- * @private
46303
+ * @internal
46185
46304
  * @interface Highcharts.RadianAngles
46186
46305
  */ /**
46187
46306
  * @name Highcharts.RadianAngles#end
@@ -46206,7 +46325,6 @@ var CenteredUtilities;
46206
46325
  * */
46207
46326
 
46208
46327
 
46209
- const { setAnimation: PiePoint_setAnimation } = AnimationUtilities;
46210
46328
 
46211
46329
 
46212
46330
  /* *
@@ -46314,7 +46432,7 @@ class PiePoint extends Series_Point {
46314
46432
  */
46315
46433
  slice(sliced, redraw, animation) {
46316
46434
  const series = this.series, chart = series.chart;
46317
- PiePoint_setAnimation(animation, chart);
46435
+ setAnimation(animation, chart);
46318
46436
  // Redraw is true by default
46319
46437
  redraw = pick(redraw, true);
46320
46438
  this.sliced = this.options.sliced = sliced ?? !this.sliced;
@@ -48452,7 +48570,7 @@ function BorderRadius_arc(x, y, w, h, options = {}) {
48452
48570
  if (options.open || !options.borderRadius) {
48453
48571
  return path;
48454
48572
  }
48455
- const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(options.borderRadius || 0, r - innerR),
48573
+ const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
48456
48574
  // Cap to half the sector radius
48457
48575
  (r - innerR) / 2,
48458
48576
  // For smaller pie slices, cap to the largest small circle that
@@ -48478,7 +48596,7 @@ function seriesOnAfterColumnTranslate() {
48478
48596
  if (this.options.borderRadius &&
48479
48597
  !(this.chart.is3d && this.chart.is3d())) {
48480
48598
  const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
48481
- ?.borderRadius, borderRadius = optionsToObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
48599
+ ?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
48482
48600
  for (const point of this.points) {
48483
48601
  const { shapeArgs } = point;
48484
48602
  if (point.shapeType === 'roundedRect' && shapeArgs) {
@@ -48550,8 +48668,12 @@ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
48550
48668
  symbols.roundedRect = BorderRadius_roundedRect;
48551
48669
  }
48552
48670
  }
48553
- /** @internal */
48554
- function optionsToObject(options, seriesBROptions) {
48671
+ /**
48672
+ * Utility function to get the full border radius options object, from a simple
48673
+ * number or a partial options object.
48674
+ * @internal
48675
+ */
48676
+ function borderRadiusObject(options, seriesBROptions) {
48555
48677
  if (!isObject(options)) {
48556
48678
  options = { radius: options || 0 };
48557
48679
  }
@@ -48559,7 +48681,7 @@ function optionsToObject(options, seriesBROptions) {
48559
48681
  }
48560
48682
  /** @internal */
48561
48683
  function pieSeriesOnAfterTranslate() {
48562
- const borderRadius = optionsToObject(this.options.borderRadius);
48684
+ const borderRadius = borderRadiusObject(this.options.borderRadius);
48563
48685
  for (const point of this.points) {
48564
48686
  const shapeArgs = point.shapeArgs;
48565
48687
  if (shapeArgs) {
@@ -48678,7 +48800,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
48678
48800
  * Column and pie with rounded border
48679
48801
  *
48680
48802
  * @name Highcharts.BorderRadiusOptionsObject#radius
48681
- * @type {string|number}
48803
+ * @type {string|number|undefined}
48682
48804
  */ /**
48683
48805
  * The scope of the rounding for column charts or plot bands. In a stacked
48684
48806
  * column chart, the value `point` means each single point will get rounded
@@ -48693,8 +48815,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
48693
48815
  * Rounded columns
48694
48816
  *
48695
48817
  * @name Highcharts.BorderRadiusOptionsObject#scope
48696
- * @validvalue ["individual", "point", "stack"]
48697
- * @type {string}
48818
+ * @type {"individual"|"point"|"stack"|undefined}
48698
48819
  */ /**
48699
48820
  * For column charts, where in the point or stack to apply rounding. The `end`
48700
48821
  * value means only those corners at the point value will be rounded, leaving
@@ -48705,8 +48826,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
48705
48826
  * Rounding on all corners
48706
48827
  *
48707
48828
  * @name Highcharts.BorderRadiusOptionsObject#where
48708
- * @validvalue ["all", "end"]
48709
- * @type {string}
48829
+ * @type {"all"|"end"|undefined}
48710
48830
  * @default end
48711
48831
  */
48712
48832
  (''); // Keeps doclets above in JS file
@@ -48982,7 +49102,7 @@ var Responsive;
48982
49102
  ;// ./code/es-modules/masters/highcharts.src.js
48983
49103
  // SPDX-License-Identifier: LicenseRef-Highcharts
48984
49104
  /**
48985
- * @license Highcharts JS v13.0.0 (2026-06-11)
49105
+ * @license Highcharts JS v13.0.1 (2026-08-17)
48986
49106
  * @module highcharts/highcharts
48987
49107
  *
48988
49108
  * (c) 2009-2026 Highsoft AS
@@ -49063,8 +49183,8 @@ G.Time = Core_Time;
49063
49183
  G.Tooltip = Core_Tooltip;
49064
49184
  // Utilities
49065
49185
  G.addEvent = addEvent;
49066
- G.animObject = AnimationUtilities.animObject;
49067
- G.animate = AnimationUtilities.animate;
49186
+ G.animObject = animObject;
49187
+ G.animate = animate;
49068
49188
  G.arrayMax = arrayMax;
49069
49189
  G.arrayMin = arrayMin;
49070
49190
  G.attr = attr;
@@ -49091,7 +49211,7 @@ G.fireEvent = fireEvent;
49091
49211
  G.format = Core_Templating.format;
49092
49212
  G.getAlignFactor = getAlignFactor;
49093
49213
  G.getClosestDistance = getClosestDistance;
49094
- G.getDeferredAnimation = AnimationUtilities.getDeferredAnimation;
49214
+ G.getDeferredAnimation = getDeferredAnimation;
49095
49215
  G.getMagnitude = getMagnitude;
49096
49216
  G.getNestedProperty = getNestedProperty;
49097
49217
  G.getOptions = Defaults.getOptions;
@@ -49118,11 +49238,11 @@ G.relativeLength = relativeLength;
49118
49238
  G.removeEvent = removeEvent;
49119
49239
  G.replaceNested = replaceNested;
49120
49240
  G.seriesType = Series_SeriesRegistry.seriesType;
49121
- G.setAnimation = AnimationUtilities.setAnimation;
49241
+ G.setAnimation = setAnimation;
49122
49242
  G.setOptions = Defaults.setOptions;
49123
49243
  G.splat = splat;
49124
49244
  G.stableSort = stableSort;
49125
- G.stop = AnimationUtilities.stop;
49245
+ G.stop = stop;
49126
49246
  G.syncTimeout = syncTimeout;
49127
49247
  G.time = Defaults.defaultTime;
49128
49248
  G.ucfirst = ucfirst;
@@ -50227,7 +50347,7 @@ const NavigatorDefaults = {
50227
50347
  *
50228
50348
  * @type {Highcharts.ColorType}
50229
50349
  */
50230
- maskFill: 'color-mix(var(--highcharts-highlight-color-60) 30%, transparent)',
50350
+ maskFill: 'color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)', // eslint-disable-line max-len
50231
50351
  /**
50232
50352
  * The color of the line marking the currently zoomed area in the
50233
50353
  * navigator.
@@ -50366,11 +50486,18 @@ const NavigatorDefaults = {
50366
50486
  id: 'highcharts-navigator-series',
50367
50487
  className: 'highcharts-navigator-series',
50368
50488
  /**
50369
- * Sets the fill color of the navigator series.
50489
+ * Sets the color of the navigator series.
50370
50490
  *
50371
50491
  * @type {Highcharts.ColorType}
50372
50492
  * @apioption navigator.series.color
50373
50493
  */
50494
+ /**
50495
+ * Sets the fill color of the navigator series. Applies to series
50496
+ * types with a filled area, like the default `areaspline`.
50497
+ *
50498
+ * @type {Highcharts.ColorType}
50499
+ * @apioption navigator.series.fillColor
50500
+ */
50374
50501
  /**
50375
50502
  * Line color for the navigator series. Allows setting the color
50376
50503
  * while disallowing the default candlestick setting.
@@ -50570,6 +50697,7 @@ const NavigatorDefaults = {
50570
50697
 
50571
50698
 
50572
50699
 
50700
+
50573
50701
  /* *
50574
50702
  *
50575
50703
  * Constants
@@ -50580,7 +50708,7 @@ const NavigatorDefaults = {
50580
50708
  * @internal
50581
50709
  */
50582
50710
  function navigatorHandle(_x, _y, width, height, options = {}) {
50583
- const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(options.borderRadius || 0, Math.min(halfWidth * 2, height));
50711
+ const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(borderRadiusObject(options.borderRadius).radius, Math.min(halfWidth * 2, height));
50584
50712
  height = options.height || height;
50585
50713
  return [
50586
50714
  ['M', -markerPosition, height / 2 - 3.5],
@@ -53704,11 +53832,19 @@ var OrdinalAxis;
53704
53832
  // Make sure panning to the edges does not decrease the zoomed range
53705
53833
  if ((min <= dataMin && movedUnits <= 0) ||
53706
53834
  (max >= dataMax + overscroll && movedUnits >= 0)) {
53707
- e.preventDefault();
53708
- return;
53835
+ // At the x-axis data edge, with vertical panning enabled, fall
53836
+ // back to the base pan so the y-axis can still be panned,
53837
+ // otherwise block panning past the edge, #24716
53838
+ if (panning && /y/.test(panning.type)) {
53839
+ runBase = true;
53840
+ }
53841
+ else {
53842
+ e.preventDefault();
53843
+ return;
53844
+ }
53845
+ // We have an ordinal axis, but the data is equally spaced
53709
53846
  }
53710
- // We have an ordinal axis, but the data is equally spaced
53711
- if (!extendedAxis.ordinal.positions) {
53847
+ else if (!extendedAxis.ordinal.positions) {
53712
53848
  runBase = true;
53713
53849
  }
53714
53850
  else if (Math.abs(movedUnits) > 1) {
@@ -57980,8 +58116,8 @@ class OHLCPoint extends OHLCPoint_HLCSeries.prototype.pointClass {
57980
58116
  * @private
57981
58117
  * @function Highcharts.seriesTypes.ohlc#getZone
57982
58118
  *
57983
- * @return {Highcharts.SeriesZonesOptionsObject}
57984
- * The zone item.
58119
+ * @return {Highcharts.SeriesZonesOptionsObject|undefined}
58120
+ * The zone item, or `undefined` if the series has no zones.
57985
58121
  */
57986
58122
  getZone() {
57987
58123
  const zone = super.getZone();
@@ -58205,6 +58341,7 @@ const { hlc: OHLCSeries_HLCSeries } = Series_SeriesRegistry.seriesTypes;
58205
58341
  function onSeriesAfterSetOptions(e) {
58206
58342
  const options = e.options, dataGrouping = options.dataGrouping;
58207
58343
  if (dataGrouping &&
58344
+ !dataGrouping.approximation &&
58208
58345
  options.useOhlcData &&
58209
58346
  options.id !== 'highcharts-navigator-series') {
58210
58347
  dataGrouping.approximation = 'ohlc';
@@ -58546,11 +58683,11 @@ class CandlestickSeries extends CandlestickSeries_OHLCSeries {
58546
58683
  (isUp ? (options.upLineColor || stroke) : stroke);
58547
58684
  // Select or hover states
58548
58685
  if (state) {
58549
- const stateOptions = options.states[state];
58686
+ const stateOptions = options.states?.[state] || {};
58550
58687
  attribs.fill = stateOptions.color || attribs.fill;
58551
58688
  attribs.stroke = stateOptions.lineColor || attribs.stroke;
58552
- attribs['stroke-width'] =
58553
- stateOptions.lineWidth || attribs['stroke-width'];
58689
+ attribs['stroke-width'] = stateOptions.lineWidth ||
58690
+ attribs['stroke-width'];
58554
58691
  }
58555
58692
  return attribs;
58556
58693
  }
@@ -58766,8 +58903,9 @@ const FlagsSeriesDefaults = {
58766
58903
  * @sample {highstock} stock/plotoptions/flags/
58767
58904
  * Different shapes
58768
58905
  *
58769
- * @type {Highcharts.FlagsShapeValue}
58906
+ * @declare Highcharts.FlagsShapeValue
58770
58907
  * @product highstock
58908
+ * @type {"circlepin"|"flag"|"squarepin"}
58771
58909
  */
58772
58910
  shape: 'flag',
58773
58911
  /**
@@ -59551,12 +59689,12 @@ class FlagsSeries extends FlagsSeries_ColumnSeries {
59551
59689
  * @private
59552
59690
  */
59553
59691
  pointAttribs(point, state) {
59554
- const options = this.options, color = (point && point.color) || this.color;
59555
- let lineColor = options.lineColor, lineWidth = (point && point.lineWidth), fill = (point && point.fillColor) || options.fillColor;
59692
+ const options = this.options, color = point?.color || this.color;
59693
+ let lineColor = options.lineColor, lineWidth = point?.lineWidth, fill = point?.fillColor || options.fillColor;
59556
59694
  if (state) {
59557
- fill = options.states[state].fillColor;
59558
- lineColor = options.states[state].lineColor;
59559
- lineWidth = options.states[state].lineWidth;
59695
+ fill = options.states?.[state]?.fillColor;
59696
+ lineColor = options.states?.[state]?.lineColor;
59697
+ lineWidth = options.states?.[state]?.lineWidth;
59560
59698
  }
59561
59699
  return {
59562
59700
  fill: fill || color,
@@ -59607,15 +59745,6 @@ Series_SeriesRegistry.registerSeriesType('flags', FlagsSeries);
59607
59745
  *
59608
59746
  * */
59609
59747
  /* harmony default export */ const Flags_FlagsSeries = (FlagsSeries);
59610
- /* *
59611
- *
59612
- * API Declarations
59613
- *
59614
- * */
59615
- /**
59616
- * @typedef {"circlepin"|"flag"|"squarepin"} Highcharts.FlagsShapeValue
59617
- */
59618
- ''; // Detach doclets above
59619
59748
 
59620
59749
  ;// ./code/es-modules/Core/Axis/BrokenAxis.js
59621
59750
  /* *
@@ -60239,9 +60368,10 @@ var BrokenAxis;
60239
60368
  /* harmony default export */ const Axis_BrokenAxis = (BrokenAxis);
60240
60369
 
60241
60370
  ;// ./code/es-modules/masters/modules/broken-axis.src.js
60371
+ /* unused harmony import specifier */ var Highcharts;
60242
60372
  // SPDX-License-Identifier: LicenseRef-Highcharts
60243
60373
  /**
60244
- * @license Highcharts JS v13.0.0 (2026-06-11)
60374
+ * @license Highcharts JS v13.0.1 (2026-08-17)
60245
60375
  * @module highcharts/modules/broken-axis
60246
60376
  * @requires highcharts
60247
60377
  *
@@ -61724,9 +61854,10 @@ const DataGroupingComposition = {
61724
61854
  ''; // Required by JSDoc parsing
61725
61855
 
61726
61856
  ;// ./code/es-modules/masters/modules/datagrouping.src.js
61857
+ /* unused harmony import specifier */ var datagrouping_src_Highcharts;
61727
61858
  // SPDX-License-Identifier: LicenseRef-Highcharts
61728
61859
  /**
61729
- * @license Highstock JS v13.0.0 (2026-06-11)
61860
+ * @license Highstock JS v13.0.1 (2026-08-17)
61730
61861
  * @module highcharts/modules/datagrouping
61731
61862
  * @requires highcharts
61732
61863
  *
@@ -61750,7 +61881,7 @@ datagrouping_src_G.dataGrouping.approximationDefaults = (datagrouping_src_G.data
61750
61881
  datagrouping_src_G.dataGrouping.approximations = (datagrouping_src_G.dataGrouping.approximations ||
61751
61882
  DataGrouping_ApproximationRegistry);
61752
61883
  DataGrouping.compose(datagrouping_src_G.Axis, datagrouping_src_G.Series, datagrouping_src_G.Tooltip);
61753
- /* harmony default export */ const datagrouping_src = ((/* unused pure expression or super */ null && (Highcharts)));
61884
+ /* harmony default export */ const datagrouping_src = ((/* unused pure expression or super */ null && (datagrouping_src_Highcharts)));
61754
61885
 
61755
61886
  ;// ./code/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js
61756
61887
  /* *
@@ -61819,6 +61950,32 @@ function getAssignedAxis(coords) {
61819
61950
  !coord.axis.options.isInternal;
61820
61951
  })[0]; // If the axes overlap, return the first axis that was found.
61821
61952
  }
61953
+ /**
61954
+ * Resolve an axis from an annotation option that can reference it either by its
61955
+ * index (number) or by its id (string).
61956
+ *
61957
+ * @internal
61958
+ *
61959
+ * @param {Highcharts.Chart} chart
61960
+ * The chart instance.
61961
+ *
61962
+ * @param {'xAxis'|'yAxis'} coll
61963
+ * The axis collection to look in.
61964
+ *
61965
+ * @param {number|string|undefined} idOrIndex
61966
+ * The axis index or id.
61967
+ *
61968
+ * @return {Highcharts.Axis|undefined}
61969
+ * The matching axis, or `undefined` if none was found.
61970
+ */
61971
+ function getAxisFromOptions(chart, coll, idOrIndex) {
61972
+ if (isNumber(idOrIndex)) {
61973
+ return chart[coll][idOrIndex];
61974
+ }
61975
+ return defined(idOrIndex) ?
61976
+ find(chart[coll], (axis) => axis.options.id === idOrIndex) :
61977
+ void 0;
61978
+ }
61822
61979
  /**
61823
61980
  * Get field type according to value
61824
61981
  *
@@ -61846,13 +62003,14 @@ function getFieldType(key, value) {
61846
62003
  *
61847
62004
  * */
61848
62005
  /** @internal */
61849
- const NavigationBindingUtilities = {
62006
+ const NavigationBindingsUtilities = {
61850
62007
  annotationsFieldsTypes,
61851
62008
  getAssignedAxis,
62009
+ getAxisFromOptions,
61852
62010
  getFieldType
61853
62011
  };
61854
62012
  /** @internal */
61855
- /* harmony default export */ const NavigationBindingsUtilities = (NavigationBindingUtilities);
62013
+ /* harmony default export */ const Annotations_NavigationBindingsUtilities = (NavigationBindingsUtilities);
61856
62014
 
61857
62015
  ;// ./code/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js
61858
62016
  /* *
@@ -61869,7 +62027,7 @@ const NavigationBindingUtilities = {
61869
62027
 
61870
62028
 
61871
62029
 
61872
- const { getAssignedAxis: MouseWheelZoom_getAssignedAxis } = NavigationBindingsUtilities;
62030
+ const { getAssignedAxis: MouseWheelZoom_getAssignedAxis } = Annotations_NavigationBindingsUtilities;
61873
62031
  /* *
61874
62032
  *
61875
62033
  * Constants
@@ -61887,7 +62045,7 @@ let wheelTimer;
61887
62045
  *
61888
62046
  * */
61889
62047
  /** @internal */
61890
- const MouseWheelZoom_optionsToObject = (options) => {
62048
+ const optionsToObject = (options) => {
61891
62049
  if (!isObject(options)) {
61892
62050
  options = {
61893
62051
  enabled: options ?? true
@@ -61944,7 +62102,7 @@ const zoomBy = function (chart, howMuch, xAxis, yAxis, mouseX, mouseY, options)
61944
62102
  };
61945
62103
  /** @internal */
61946
62104
  function onAfterGetContainer() {
61947
- const wheelZoomOptions = MouseWheelZoom_optionsToObject(this.zooming.mouseWheel);
62105
+ const wheelZoomOptions = optionsToObject(this.zooming.mouseWheel);
61948
62106
  if (wheelZoomOptions.enabled) {
61949
62107
  addEvent(this.container, 'wheel', (e) => {
61950
62108
  e = this.pointer?.normalize(e) || e;
@@ -62061,9 +62219,10 @@ const MouseWheelZoomComposition = {
62061
62219
  (''); // Keeps doclets above in JS file
62062
62220
 
62063
62221
  ;// ./code/es-modules/masters/modules/mouse-wheel-zoom.src.js
62222
+ /* unused harmony import specifier */ var mouse_wheel_zoom_src_Highcharts;
62064
62223
  // SPDX-License-Identifier: LicenseRef-Highcharts
62065
62224
  /**
62066
- * @license Highcharts JS v13.0.0 (2026-06-11)
62225
+ * @license Highcharts JS v13.0.1 (2026-08-17)
62067
62226
  * @module highcharts/modules/mouse-wheel-zoom
62068
62227
  * @requires highcharts
62069
62228
  *
@@ -62081,12 +62240,13 @@ const MouseWheelZoomComposition = {
62081
62240
  const mouse_wheel_zoom_src_G = Core_Globals;
62082
62241
  mouse_wheel_zoom_src_G.MouseWheelZoom = mouse_wheel_zoom_src_G.MouseWheelZoom || MouseWheelZoom;
62083
62242
  mouse_wheel_zoom_src_G.MouseWheelZoom.compose(mouse_wheel_zoom_src_G.Chart);
62084
- /* harmony default export */ const mouse_wheel_zoom_src = ((/* unused pure expression or super */ null && (Highcharts)));
62243
+ /* harmony default export */ const mouse_wheel_zoom_src = ((/* unused pure expression or super */ null && (mouse_wheel_zoom_src_Highcharts)));
62085
62244
 
62086
62245
  ;// ./code/es-modules/masters/modules/stock.src.js
62246
+ /* unused harmony import specifier */ var stock_src_Highcharts;
62087
62247
  // SPDX-License-Identifier: LicenseRef-Highcharts
62088
62248
  /**
62089
- * @license Highstock JS v13.0.0 (2026-06-11)
62249
+ * @license Highstock JS v13.0.1 (2026-08-17)
62090
62250
  * @module highcharts/modules/stock
62091
62251
  * @requires highcharts
62092
62252
  *
@@ -62134,7 +62294,7 @@ stock_src_G.OrdinalAxis.compose(stock_src_G.Axis, stock_src_G.Series, stock_src_
62134
62294
  stock_src_G.RangeSelector.compose(stock_src_G.Axis, stock_src_G.Chart);
62135
62295
  stock_src_G.Scrollbar.compose(stock_src_G.Axis);
62136
62296
  stock_src_G.StockChart.compose(stock_src_G.Chart, stock_src_G.Axis, stock_src_G.Series, stock_src_G.SVGRenderer);
62137
- /* harmony default export */ const stock_src = ((/* unused pure expression or super */ null && (Highcharts)));
62297
+ /* harmony default export */ const stock_src = ((/* unused pure expression or super */ null && (stock_src_Highcharts)));
62138
62298
 
62139
62299
  ;// ./code/es-modules/masters/highstock.src.js
62140
62300