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
@@ -1,6 +1,6 @@
1
1
  // SPDX-License-Identifier: LicenseRef-Highcharts
2
2
  /**
3
- * @license Highcharts Gantt JS v13.0.0 (2026-06-11)
3
+ * @license Highcharts Gantt JS v13.0.1 (2026-08-17)
4
4
  * @module highcharts/highcharts-gantt
5
5
  *
6
6
  * (c) 2017-2026 Highsoft AS
@@ -27,16 +27,31 @@
27
27
  return /******/ (() => { // webpackBootstrap
28
28
  /******/ "use strict";
29
29
  /******/ // The require scope
30
- /******/ var __webpack_require__ = {};
30
+ /******/ const __webpack_require__ = {};
31
31
  /******/
32
32
  /************************************************************************/
33
33
  /******/ /* webpack/runtime/define property getters */
34
34
  /******/ (() => {
35
- /******/ // define getter functions for harmony exports
35
+ /******/ // define getter/value functions for harmony exports
36
36
  /******/ __webpack_require__.d = (exports, definition) => {
37
- /******/ for(var key in definition) {
38
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
39
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
37
+ /******/ if(Array.isArray(definition)) {
38
+ /******/ var i = 0;
39
+ /******/ while(i < definition.length) {
40
+ /******/ var key = definition[i++];
41
+ /******/ var binding = definition[i++];
42
+ /******/ if(!__webpack_require__.o(exports, key)) {
43
+ /******/ if(binding === 0) {
44
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
45
+ /******/ } else {
46
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
47
+ /******/ }
48
+ /******/ } else if(binding === 0) { i++; }
49
+ /******/ }
50
+ /******/ } else {
51
+ /******/ for(var key in definition) {
52
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
53
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
54
+ /******/ }
40
55
  /******/ }
41
56
  /******/ }
42
57
  /******/ };
@@ -48,7 +63,7 @@ return /******/ (() => { // webpackBootstrap
48
63
  /******/ })();
49
64
  /******/
50
65
  /************************************************************************/
51
- var __webpack_exports__ = {};
66
+ let __webpack_exports__ = {};
52
67
 
53
68
  // EXPORTS
54
69
  __webpack_require__.d(__webpack_exports__, {
@@ -84,7 +99,7 @@ var Globals;
84
99
  * Constants
85
100
  *
86
101
  * */
87
- Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.0', Globals.win = (typeof window !== 'undefined' ?
102
+ Globals.SVG_NS = 'http://www.w3.org/2000/svg', Globals.product = 'Highcharts', Globals.version = '13.0.1', Globals.win = (typeof window !== 'undefined' ?
88
103
  window :
89
104
  {}), // eslint-disable-line node/no-unsupported-features/es-builtins
90
105
  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 = [
@@ -999,7 +1014,7 @@ const ChartDefaults = {
999
1014
  * @type {Highcharts.ColorType}
1000
1015
  * @since 2.1.7
1001
1016
  */
1002
- selectionMarkerFill: 'color-mix(var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
1017
+ selectionMarkerFill: 'color-mix(in srgb, var(--highcharts-highlight-color-80) 25%, transparent)', // eslint-disable-line max-len
1003
1018
  /**
1004
1019
  * Whether to apply a drop shadow to the global series group. This causes
1005
1020
  * all the series to have the same shadow. Contrary to the `series.shadow`
@@ -3962,17 +3977,16 @@ class TimeBase {
3962
3977
  // eslint-disable-next-line new-cap
3963
3978
  let d = this.Date.UTC(year, month, date, hours, minutes || 0, seconds || 0, milliseconds || 0);
3964
3979
  if (this.timezone !== 'UTC') {
3965
- const offset = this.getTimezoneOffset(d);
3980
+ const offset = this.getTimezoneOffset(d), localHours = (hours - offset / timeUnits.hour + 24) % 24;
3966
3981
  d += offset;
3967
- // Adjustments close to DST transitions
3968
3982
  if (
3969
- // Optimize for speed by limiting the number of calls to
3970
- // `getTimezoneOffset`. According to
3983
+ // Limit the number of calls to `getTimezoneOffset` to months
3984
+ // where DST changes may occur. According to
3971
3985
  // https://en.wikipedia.org/wiki/Daylight_saving_time_by_country,
3972
3986
  // DST change may only occur in these months.
3973
3987
  [2, 3, 8, 9, 10, 11].indexOf(month) !== -1 &&
3974
- // DST transitions occur only in the night-time
3975
- (hours < 5 || hours > 20)) {
3988
+ // DST changes only occur at night (#24420)
3989
+ (localHours < 5 || localHours > 20)) {
3976
3990
  const newOffset = this.getTimezoneOffset(d);
3977
3991
  if (offset !== newOffset) {
3978
3992
  d += newOffset - offset;
@@ -6709,6 +6723,9 @@ const defaultOptions = {
6709
6723
  * below the column, but as `followTouchMove` is true, the tooltip will
6710
6724
  * jump from column to column as the user swipes across the plot area.
6711
6725
  *
6726
+ * @sample {highcharts} highcharts/tooltip/followtouchmove/
6727
+ * Tooltip follows touch move
6728
+ *
6712
6729
  * @type {boolean}
6713
6730
  * @default {highcharts} true
6714
6731
  * @default {highstock} true
@@ -7491,10 +7508,14 @@ const defaultOptions = {
7491
7508
  * @type {Highcharts.CSSObject}
7492
7509
  */
7493
7510
  style: {
7494
- /** @type {Highcharts.ColorType} */
7511
+ /**
7512
+ * @type {Highcharts.ColorType}
7513
+ */
7495
7514
  color: 'var(--highcharts-neutral-color-80)',
7496
7515
  cursor: 'default',
7497
- /** @type {number|string} */
7516
+ /**
7517
+ * @type {number|string}
7518
+ */
7498
7519
  fontSize: '0.8em'
7499
7520
  },
7500
7521
  /**
@@ -8417,24 +8438,22 @@ class Fx {
8417
8438
  */
8418
8439
  update() {
8419
8440
  const elem = this.elem, prop = this.prop, // If destroyed, it is null
8420
- now = this.now, step = this.options.step;
8441
+ now = this.now ?? 1, step = this.options.step;
8421
8442
  // Animation setter defined from outside
8422
8443
  if (this[prop + 'Setter']) {
8423
8444
  this[prop + 'Setter']();
8424
8445
  // Other animations on SVGElement
8425
8446
  }
8426
- else if (elem.attr) {
8447
+ else if (elem && elem.attr) {
8427
8448
  if (elem.element) {
8428
- elem.attr(prop, now, null, true);
8449
+ elem.attr(prop, now, void 0, true);
8429
8450
  }
8430
8451
  // HTML styles, raw HTML content like container size
8431
8452
  }
8432
- else {
8433
- elem.style[prop] = now + this.unit;
8434
- }
8435
- if (step) {
8436
- step.call(elem, now, this);
8453
+ else if (elem) {
8454
+ elem.style[prop] = now + (this.unit || '');
8437
8455
  }
8456
+ step?.call(elem, now, this);
8438
8457
  }
8439
8458
  /**
8440
8459
  * Run an animation.
@@ -8452,12 +8471,10 @@ class Fx {
8452
8471
  *
8453
8472
  */
8454
8473
  run(from, to, unit) {
8455
- const self = this, options = self.options, timer = function (gotoEnd) {
8456
- return timer.stopped ? false : self.step(gotoEnd);
8457
- }, requestAnimationFrame = Fx_win.requestAnimationFrame ||
8474
+ const { elem, options } = this, { complete, curAnim = {} } = options, timer = (gotoEnd) => (timer.stopped ? false : this.step(gotoEnd)), requestAnimationFrame = Fx_win.requestAnimationFrame ||
8458
8475
  function (step) {
8459
8476
  setTimeout(step, 13);
8460
- }, step = function () {
8477
+ }, step = () => {
8461
8478
  for (let i = 0; i < Fx.timers.length; i++) {
8462
8479
  if (!Fx.timers[i]()) {
8463
8480
  Fx.timers.splice(i--, 1);
@@ -8467,11 +8484,11 @@ class Fx {
8467
8484
  requestAnimationFrame(step);
8468
8485
  }
8469
8486
  };
8470
- if (from === to && !this.elem['forceAnimate:' + this.prop]) {
8471
- delete options.curAnim[this.prop];
8472
- if (options.complete &&
8473
- Object.keys(options.curAnim).length === 0) {
8474
- options.complete.call(this.elem);
8487
+ if (from === to && !elem['forceAnimate:' + this.prop]) {
8488
+ delete curAnim[this.prop];
8489
+ if (complete &&
8490
+ Object.keys(curAnim).length === 0) {
8491
+ complete.call(elem);
8475
8492
  }
8476
8493
  }
8477
8494
  else { // #7166
@@ -8481,7 +8498,7 @@ class Fx {
8481
8498
  this.unit = unit;
8482
8499
  this.now = this.start;
8483
8500
  this.pos = 0;
8484
- timer.elem = this.elem;
8501
+ timer.elem = elem;
8485
8502
  timer.prop = this.prop;
8486
8503
  if (timer() && Fx.timers.push(timer) === 1) {
8487
8504
  requestAnimationFrame(step);
@@ -8502,7 +8519,8 @@ class Fx {
8502
8519
  step(gotoEnd) {
8503
8520
  const t = +new Date(), options = this.options, elem = this.elem, complete = options.complete, duration = options.duration, curAnim = options.curAnim;
8504
8521
  let ret, done;
8505
- if (!!elem.attr && !elem.element) { // #2616, element is destroyed
8522
+ // #2616, element is destroyed
8523
+ if (elem?.attr && !elem.element) {
8506
8524
  ret = false;
8507
8525
  }
8508
8526
  else if (gotoEnd || t >= duration + this.startTime) {
@@ -8792,6 +8810,11 @@ function getDeferredAnimation(chart, animation, series) {
8792
8810
  /**
8793
8811
  * The global animate method, which uses Fx to create individual animators.
8794
8812
  *
8813
+ * @sample highcharts/members/renderer-basic
8814
+ * SVG elements with animation
8815
+ * @sample highcharts/members/animate
8816
+ * Animation without an owner element
8817
+ *
8795
8818
  * @function Highcharts.animate
8796
8819
  *
8797
8820
  * @param {Highcharts.HTMLDOMElement|Highcharts.SVGElement} el
@@ -8807,14 +8830,12 @@ function getDeferredAnimation(chart, animation, series) {
8807
8830
  *
8808
8831
  * @return {void}
8809
8832
  */
8810
- function animate(el, params, opt) {
8811
- let start, unit = '', end, fx, args;
8833
+ function animate(el, params = { pos: 1 }, opt) {
8812
8834
  if (!isObject(opt)) { // Number or undefined/null
8813
- args = arguments;
8814
8835
  opt = {
8815
- duration: args[2],
8816
- easing: args[3],
8817
- complete: args[4]
8836
+ duration: arguments[2],
8837
+ easing: arguments[3],
8838
+ complete: arguments[4]
8818
8839
  };
8819
8840
  }
8820
8841
  if (!isNumber(opt.duration)) {
@@ -8824,22 +8845,23 @@ function animate(el, params, opt) {
8824
8845
  opt.easing :
8825
8846
  (Math[opt.easing] || Math.easeInOutSine);
8826
8847
  opt.curAnim = merge(params);
8827
- objectEach(params, function (val, prop) {
8848
+ objectEach(params, (val, prop) => {
8828
8849
  // Stop current running animation of this property
8829
- stop(el, prop);
8830
- fx = new Animation_Fx(el, opt, prop);
8831
- end = void 0;
8832
- if (prop === 'd' && isArray(params.d)) {
8833
- fx.paths = fx.initPath(el, el.pathArray, params.d);
8834
- fx.toD = params.d;
8835
- start = 0;
8850
+ if (el) {
8851
+ stop(el, prop);
8852
+ }
8853
+ const fx = new Animation_Fx(el, opt, prop), d = params.d;
8854
+ let start = 0, end = void 0, unit = '';
8855
+ if (prop === 'd' && isArray(d)) {
8856
+ fx.paths = fx.initPath(el, el.pathArray, d);
8857
+ fx.toD = d;
8836
8858
  end = 1;
8837
8859
  }
8838
- else if (el.attr) {
8860
+ else if (el?.attr) {
8839
8861
  start = el.attr(prop);
8840
8862
  }
8841
- else {
8842
- start = parseFloat(getStyle(el, prop)) || 0;
8863
+ else if (el) {
8864
+ start = +(getStyle(el, prop) || 0);
8843
8865
  if (prop !== 'opacity') {
8844
8866
  unit = 'px';
8845
8867
  }
@@ -8850,7 +8872,10 @@ function animate(el, params, opt) {
8850
8872
  if (typeof end === 'string' && end.match('px')) {
8851
8873
  end = end.replace(/px/g, ''); // #4351
8852
8874
  }
8853
- fx.run(start, end, unit);
8875
+ // Empty dashstyle animation crashes treemap on hover
8876
+ if (defined(end)) {
8877
+ fx.run(start, end, unit);
8878
+ }
8854
8879
  });
8855
8880
  }
8856
8881
  /**
@@ -8874,28 +8899,11 @@ function animate(el, params, opt) {
8874
8899
  * improvement in all cases where we stop the animation from .attr. Instead of
8875
8900
  * stopping everything, we can just stop the actual attributes we're setting.
8876
8901
  */
8877
- function stop(el, prop) {
8878
- let i = Animation_Fx.timers.length;
8879
- // Remove timers related to this element (#4519)
8880
- while (i--) {
8881
- if (Animation_Fx.timers[i].elem === el && (!prop || prop === Animation_Fx.timers[i].prop)) {
8882
- Animation_Fx.timers[i].stopped = true; // #4667
8883
- }
8902
+ const stop = (el, prop) => Animation_Fx.timers.forEach((timer) => {
8903
+ if (timer.elem === el && (!prop || prop === timer.prop)) {
8904
+ timer.stopped = true; // #4667
8884
8905
  }
8885
- }
8886
- const animationExports = {
8887
- animate,
8888
- animObject,
8889
- getDeferredAnimation,
8890
- setAnimation,
8891
- stop
8892
- };
8893
- /* *
8894
- *
8895
- * Default Export
8896
- *
8897
- * */
8898
- /* harmony default export */ const AnimationUtilities = (animationExports);
8906
+ });
8899
8907
  /* *
8900
8908
  *
8901
8909
  * API Options
@@ -9200,7 +9208,9 @@ class AST {
9200
9208
  doc = { body };
9201
9209
  }
9202
9210
  const appendChildNodes = (node, addTo) => {
9203
- const tagName = node.nodeName.toLowerCase();
9211
+ // Preserve the camelCase of SVG tags via localName (#24702).
9212
+ const tagName = node.localName ||
9213
+ node.nodeName.toLowerCase();
9204
9214
  // Add allowed tags
9205
9215
  const astNode = {
9206
9216
  tagName
@@ -9314,6 +9324,8 @@ AST.allowedAttributes = [
9314
9324
  'src',
9315
9325
  'startOffset',
9316
9326
  'stdDeviation',
9327
+ 'stop-color',
9328
+ 'stop-opacity',
9317
9329
  'stroke-linecap',
9318
9330
  'stroke-width',
9319
9331
  'stroke',
@@ -9917,9 +9929,7 @@ const Templating = {
9917
9929
  * API Declarations
9918
9930
  * */
9919
9931
  /**
9920
- * @interface Highcharts.Templating
9921
- *
9922
- * The Highcharts.Templating interface provides a structure for defining
9932
+ * The Highcharts.TemplatingObject interface provides a structure for defining
9923
9933
  * helpers. Helpers can be used as conditional blocks or functions within
9924
9934
  * expressions. Highcharts includes several built-in helpers and supports
9925
9935
  * the addition of custom helpers.
@@ -9927,16 +9937,21 @@ const Templating = {
9927
9937
  * @see [More information](
9928
9938
  * https://www.highcharts.com/docs/chart-concepts/templating#helpers)
9929
9939
  *
9930
- * @example
9931
- * // Define a custom helper to return the absolute value of a number
9932
- * Highcharts.Templating.helpers.abs = value => Math.abs(value);
9933
- *
9934
- * // Usage in a format string
9935
- * format: 'Absolute value: {abs point.y}'
9936
- *
9937
- * @name Highcharts.Templating#helpers
9938
- * @type {Record<string, Function>}
9939
- */
9940
+ * @interface Highcharts.TemplatingObject
9941
+ */ /**
9942
+ * @example
9943
+ * // Define a custom helper to return the absolute value of a number
9944
+ * Highcharts.Templating.helpers.abs = value => Math.abs(value);
9945
+ *
9946
+ * // Usage in a format string
9947
+ * format: 'Absolute value: {abs point.y}'
9948
+ *
9949
+ * @name Highcharts.TemplatingObject#helpers
9950
+ * @type {Record<string, Function>}
9951
+ */ /**
9952
+ * @name Highcharts.Templating
9953
+ * @type {Highcharts.TemplatingObject}
9954
+ */
9940
9955
  (''); // Keeps doclets above in file
9941
9956
 
9942
9957
  ;// ./code/es-modules/Core/Renderer/RendererUtilities.js
@@ -10145,7 +10160,6 @@ var RendererUtilities;
10145
10160
  * */
10146
10161
 
10147
10162
 
10148
- const { animate: SVGElement_animate, animObject: SVGElement_animObject, stop: SVGElement_stop } = AnimationUtilities;
10149
10163
 
10150
10164
 
10151
10165
  const { deg2rad, doc: SVGElement_doc, svg, SVG_NS: SVGElement_SVG_NS, win: SVGElement_win, isFirefox } = Core_Globals;
@@ -10429,7 +10443,7 @@ class SVGElement {
10429
10443
  * Returns the SVGElement for chaining.
10430
10444
  */
10431
10445
  animate(params, options, complete) {
10432
- const animOptions = SVGElement_animObject(pick(options, this.renderer.globalAnimation, true)), deferTime = animOptions.defer;
10446
+ const animOptions = animObject(pick(options, this.renderer.globalAnimation, true)), deferTime = animOptions.defer;
10433
10447
  // When the page is hidden save resources in the background by not
10434
10448
  // running animation at all (#9749).
10435
10449
  if (SVGElement_doc.hidden) {
@@ -10444,7 +10458,7 @@ class SVGElement {
10444
10458
  // If defer option is defined delay the animation #12901
10445
10459
  syncTimeout(() => {
10446
10460
  if (this.element) {
10447
- SVGElement_animate(this, params, animOptions);
10461
+ animate(this, params, animOptions);
10448
10462
  }
10449
10463
  }, deferTime);
10450
10464
  }
@@ -10618,7 +10632,7 @@ class SVGElement {
10618
10632
  // Unless .attr is from the animator update, stop current
10619
10633
  // running animation of this property
10620
10634
  if (!continueAnimation) {
10621
- SVGElement_stop(this, key);
10635
+ stop(this, key);
10622
10636
  }
10623
10637
  // Special handling of symbol attributes
10624
10638
  if (this.symbolName &&
@@ -10938,7 +10952,7 @@ class SVGElement {
10938
10952
  // Remove events
10939
10953
  element.onclick = element.onmouseout = element.onmouseover =
10940
10954
  element.onmousemove = element.point = null;
10941
- SVGElement_stop(wrapper); // Stop running animations
10955
+ stop(wrapper); // Stop running animations
10942
10956
  if (wrapper.clipPath && ownerSVGElement) {
10943
10957
  const clipPath = wrapper.clipPath;
10944
10958
  // Look for existing references to this clipPath and remove them
@@ -13850,7 +13864,7 @@ class SVGRenderer {
13850
13864
  this.url = this.getReferenceURL();
13851
13865
  // Add description
13852
13866
  const desc = this.createElement('desc').add();
13853
- desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.0'));
13867
+ desc.element.appendChild(SVGRenderer_doc.createTextNode('Created with Highcharts 13.0.1'));
13854
13868
  this.defs = this.createElement('defs').add();
13855
13869
  this.allowHTML = allowHTML;
13856
13870
  this.forExport = forExport;
@@ -15641,7 +15655,11 @@ class HTMLElement extends SVG_SVGElement {
15641
15655
  .attr({
15642
15656
  text: str,
15643
15657
  x: Math.round(x),
15644
- y: Math.round(y)
15658
+ y: Math.round(y),
15659
+ // The namespace attribute is required for serialization
15660
+ // (export and side-by-side comparison), otherwise it
15661
+ // inherits the SVG namespace from foreignObject.
15662
+ xmlns: 'http://www.w3.org/1999/xhtml'
15645
15663
  });
15646
15664
  };
15647
15665
  }
@@ -15821,8 +15839,10 @@ class HTMLElement extends SVG_SVGElement {
15821
15839
  foreignObject.attr({
15822
15840
  x: x + (this.xCorr || 0),
15823
15841
  y: y + (this.yCorr || 0),
15824
- // Add 4px to avoid ellipsis, since the body adds 3 px right
15825
- // margin. We need one more because of rounding.
15842
+ // Add 4px to avoid ellipsis. In v13.0.0 we had a body inside
15843
+ // the foreignObject with a 3px right margin. This was later
15844
+ // removed, but we still need to add a few pixels to avoid
15845
+ // ellipsis.
15826
15846
  width: element.offsetWidth + 4,
15827
15847
  // Add 1px to account for subpixel bounding boxes
15828
15848
  height: element.offsetHeight + 1,
@@ -15842,25 +15862,16 @@ class HTMLElement extends SVG_SVGElement {
15842
15862
  this.cTT = currentTextTransform;
15843
15863
  }
15844
15864
  /**
15845
- * Add the element to a group wrapper. For HTML elements, a parallel div
15846
- * will be created for each ancestor SVG `g` element.
15865
+ * Add the element to the foreign object
15847
15866
  *
15848
15867
  * @internal
15849
15868
  */
15850
15869
  add(parentGroup) {
15851
- const { foreignObject, renderer } = this;
15870
+ const { foreignObject } = this;
15852
15871
  // Foreign object
15853
15872
  foreignObject.add(parentGroup);
15854
- super.add(
15855
- // Create a body inside the foreignObject
15856
- renderer.createElement('body')
15857
- .attr({ xmlns: 'http://www.w3.org/1999/xhtml' })
15858
- .css({
15859
- background: 'transparent',
15860
- // 3px is to avoid clipping on the right
15861
- margin: '0 3px 0 0'
15862
- })
15863
- .add(foreignObject));
15873
+ // Add this.element to the foreign objct
15874
+ super.add(foreignObject);
15864
15875
  if (this.alignOnAdd) {
15865
15876
  this.updateTransform();
15866
15877
  }
@@ -15895,10 +15906,20 @@ class HTMLElement extends SVG_SVGElement {
15895
15906
  this[key] = value;
15896
15907
  this.doTransform = true;
15897
15908
  }
15909
+ /**
15910
+ * Apply visibility/opacity to the foreignObject; the HTML element
15911
+ * ignores them.
15912
+ * @internal
15913
+ */
15914
+ visibilitySetter(value, key) {
15915
+ this.foreignObject.attr({ [key]: value });
15916
+ this[key] = value;
15917
+ }
15898
15918
  }
15899
15919
  // Some shared setters
15900
15920
  const proto = HTMLElement.prototype;
15901
15921
  proto.ySetter = proto.xSetter;
15922
+ proto.opacitySetter = proto.visibilitySetter;
15902
15923
  /* *
15903
15924
  *
15904
15925
  * Default Export
@@ -16439,6 +16460,7 @@ var AxisDefaults;
16439
16460
  */
16440
16461
  dateTimeLabelFormats: {
16441
16462
  /**
16463
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16442
16464
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16443
16465
  */
16444
16466
  millisecond: {
@@ -16464,6 +16486,7 @@ var AxisDefaults;
16464
16486
  range: false
16465
16487
  },
16466
16488
  /**
16489
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16467
16490
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16468
16491
  */
16469
16492
  second: {
@@ -16489,6 +16512,7 @@ var AxisDefaults;
16489
16512
  range: false
16490
16513
  },
16491
16514
  /**
16515
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16492
16516
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16493
16517
  */
16494
16518
  minute: {
@@ -16514,6 +16538,7 @@ var AxisDefaults;
16514
16538
  range: false
16515
16539
  },
16516
16540
  /**
16541
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16517
16542
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16518
16543
  */
16519
16544
  hour: {
@@ -16546,6 +16571,7 @@ var AxisDefaults;
16546
16571
  range: false
16547
16572
  },
16548
16573
  /**
16574
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16549
16575
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16550
16576
  */
16551
16577
  day: {
@@ -16568,6 +16594,7 @@ var AxisDefaults;
16568
16594
  boundary: '%[eb]'
16569
16595
  },
16570
16596
  /**
16597
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16571
16598
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16572
16599
  */
16573
16600
  week: {
@@ -16583,6 +16610,7 @@ var AxisDefaults;
16583
16610
  main: '%[eb]'
16584
16611
  },
16585
16612
  /**
16613
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16586
16614
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16587
16615
  */
16588
16616
  month: {
@@ -16605,6 +16633,7 @@ var AxisDefaults;
16605
16633
  boundary: void 0
16606
16634
  },
16607
16635
  /**
16636
+ * @type {Highcharts.AxisDateTimeLabelFormatsOptionsObject|string}
16608
16637
  * @declare Highcharts.AxisDateTimeLabelFormatsOptionsObject
16609
16638
  */
16610
16639
  year: {
@@ -17420,7 +17449,7 @@ var AxisDefaults;
17420
17449
  * @sample {highstock} stock/xaxis/offset/
17421
17450
  * Y axis offset by 70 px
17422
17451
  *
17423
- * @type {number}
17452
+ * @type {number|string}
17424
17453
  */
17425
17454
  offset: void 0,
17426
17455
  /**
@@ -19070,7 +19099,9 @@ var AxisDefaults;
19070
19099
  * @product highcharts
19071
19100
  */
19072
19101
  style: {
19073
- /** @type {Highcharts.ColorType} */
19102
+ /**
19103
+ * @type {Highcharts.ColorType}
19104
+ */
19074
19105
  color: 'var(--highcharts-neutral-color-100)',
19075
19106
  /**
19076
19107
  * @type {number|string}
@@ -19853,7 +19884,6 @@ class Tick {
19853
19884
  * */
19854
19885
 
19855
19886
 
19856
- const { animObject: Axis_animObject } = AnimationUtilities;
19857
19887
 
19858
19888
  const { xAxis, yAxis } = Axis_AxisDefaults;
19859
19889
 
@@ -22459,7 +22489,7 @@ class Axis {
22459
22489
  * @emits Highcharts.Axis#event:afterRender
22460
22490
  */
22461
22491
  render() {
22462
- 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);
22492
+ 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);
22463
22493
  let from, to;
22464
22494
  // Reset
22465
22495
  axis.labelEdge.length = 0;
@@ -22810,7 +22840,7 @@ class Axis {
22810
22840
  }
22811
22841
  cross
22812
22842
  .show()
22813
- .animate({ d: path }, Axis_animObject(options?.animation));
22843
+ .animate({ d: path }, animObject(options?.animation));
22814
22844
  if (categorized && !options.width) {
22815
22845
  cross.attr({
22816
22846
  'stroke-width': this.transA
@@ -24848,7 +24878,6 @@ class PlotLineOrBand {
24848
24878
  * */
24849
24879
 
24850
24880
 
24851
- const { animObject: Tooltip_animObject } = AnimationUtilities;
24852
24881
 
24853
24882
  const { format: Tooltip_format } = Core_Templating;
24854
24883
 
@@ -25549,7 +25578,7 @@ class Tooltip {
25549
25578
  * @param {number} anchorY
25550
25579
  */
25551
25580
  move(x, y, anchorX, anchorY) {
25552
- const { followPointer, options } = this, animation = Tooltip_animObject(!followPointer &&
25581
+ const { followPointer, options } = this, animation = animObject(!followPointer &&
25553
25582
  !this.isHidden &&
25554
25583
  !options.fixed &&
25555
25584
  options.animation), skipAnchor = followPointer || (this.len || 0) > 1, attr = { x, y };
@@ -26297,7 +26326,6 @@ class Tooltip {
26297
26326
 
26298
26327
 
26299
26328
 
26300
- const { animObject: Point_animObject } = AnimationUtilities;
26301
26329
 
26302
26330
  const { defaultOptions: Point_defaultOptions } = Defaults;
26303
26331
 
@@ -26637,10 +26665,15 @@ class Point {
26637
26665
  *
26638
26666
  * @internal
26639
26667
  * @function Highcharts.Point#destroy
26668
+ *
26669
+ * @param {boolean} [sync]
26670
+ * Whether to destroy the point synchronously. Used internally from
26671
+ * series.destroy, where condemned points may cause animation errors
26672
+ * (#24976).
26640
26673
  */
26641
- destroy() {
26642
- if (!this.condemned) {
26643
- const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } = Point_animObject(globalAnimation);
26674
+ destroy(sync) {
26675
+ if (!this.destroyed && !this.condemned) {
26676
+ const point = this, series = point.series, chart = series.chart, hoverPoints = chart.hoverPoints, globalAnimation = point.series.chart.renderer.globalAnimation, { duration } = animObject(globalAnimation);
26644
26677
  /**
26645
26678
  * Allow to call after animation.
26646
26679
  * @internal
@@ -26657,6 +26690,7 @@ class Point {
26657
26690
  for (const prop in point) { // eslint-disable-line guard-for-in
26658
26691
  delete point[prop];
26659
26692
  }
26693
+ this.destroyed = true;
26660
26694
  };
26661
26695
  if (point.legendItem) {
26662
26696
  // Pies have legend items
@@ -26673,7 +26707,7 @@ class Point {
26673
26707
  point.onMouseOut();
26674
26708
  }
26675
26709
  // Remove properties after animation
26676
- if (duration && series.condemnedPoints) {
26710
+ if (duration && !sync && series.condemnedPoints) {
26677
26711
  series.condemnedPoints.push(this);
26678
26712
  this.graphic?.addClass('highcharts-point-condemned');
26679
26713
  setTimeout(destroyPoint, duration);
@@ -26796,14 +26830,15 @@ class Point {
26796
26830
  *
26797
26831
  * @function Highcharts.Point#getZone
26798
26832
  *
26799
- * @return {Highcharts.SeriesZonesOptionsObject}
26800
- * The zone item.
26833
+ * @return {Highcharts.SeriesZonesOptionsObject|undefined}
26834
+ * The zone item, or `undefined` if the series has no zones.
26801
26835
  */
26802
26836
  getZone() {
26803
26837
  const series = this.series, zones = series.zones, zoneAxis = series.zoneAxis || 'y';
26804
26838
  let zone, i = 0;
26805
26839
  zone = zones[i];
26806
- while (this[zoneAxis] >= zone.value) {
26840
+ while (i < zones.length &&
26841
+ this[zoneAxis] >= zone.value) {
26807
26842
  zone = zones[++i];
26808
26843
  }
26809
26844
  // For resetting or reusing the point (#8100)
@@ -27343,9 +27378,8 @@ class Point {
27343
27378
  * @emits Highcharts.Point#event:afterSetState
27344
27379
  */
27345
27380
  setState(state, move) {
27346
- const point = this, series = point.series, previousState = point.state, stateOptions = (series.options.states[state || 'normal'] ||
27347
- {}), markerOptions = (Point_defaultOptions.plotOptions[series.type].marker &&
27348
- series.options.marker), normalDisabled = (markerOptions && markerOptions.enabled === false), markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
27381
+ const point = this, series = point.series, previousState = point.state, stateOptions = series.options.states?.[state || 'normal'] || {}, markerOptions = (Point_defaultOptions.plotOptions?.[series.type]?.marker &&
27382
+ series.options.marker), normalDisabled = markerOptions?.enabled === false, markerStateOptions = markerOptions?.states?.[state || 'normal'] ||
27349
27383
  {}, stateDisabled = markerStateOptions.enabled === false, pointMarker = point.marker || {}, chart = series.chart, hasMarkers = (markerOptions && series.markerAttribs);
27350
27384
  let halo = series.halo, markerAttribs, pointAttribs, pointAttribsAnimation, stateMarkerGraphic = series.stateMarkerGraphic, newSymbol;
27351
27385
  state = state || ''; // Empty string
@@ -27358,13 +27392,10 @@ class Point {
27358
27392
  (stateOptions.enabled === false) ||
27359
27393
  // General point marker's state options is disabled
27360
27394
  (state && (stateDisabled ||
27361
- (normalDisabled &&
27362
- markerStateOptions.enabled === false))) ||
27395
+ (normalDisabled && markerStateOptions.enabled === false))) ||
27363
27396
  // Individual point marker's state options is disabled
27364
27397
  (state &&
27365
- pointMarker.states &&
27366
- pointMarker.states[state] &&
27367
- pointMarker.states[state].enabled === false) // #1610
27398
+ pointMarker.states?.[state]?.enabled === false) // #1610
27368
27399
  ) {
27369
27400
  return;
27370
27401
  }
@@ -27383,7 +27414,8 @@ class Point {
27383
27414
  }
27384
27415
  if (!chart.styledMode) {
27385
27416
  pointAttribs = series.pointAttribs(point, state);
27386
- pointAttribsAnimation = pick(chart.options.chart.animation, stateOptions.animation);
27417
+ pointAttribsAnimation = (chart.options.chart.animation ??
27418
+ stateOptions.animation);
27387
27419
  const opacity = pointAttribs.opacity;
27388
27420
  // Some inactive points (e.g. slices in pie) should apply
27389
27421
  // opacity also for their labels
@@ -27401,9 +27433,11 @@ class Point {
27401
27433
  point.graphic.animate(pointAttribs, pointAttribsAnimation);
27402
27434
  }
27403
27435
  if (markerAttribs) {
27404
- point.graphic.animate(markerAttribs, pick(
27436
+ point.graphic.animate(markerAttribs, (
27405
27437
  // Turn off globally:
27406
- chart.options.chart.animation, markerStateOptions.animation, markerOptions.animation));
27438
+ chart.options.chart.animation ??
27439
+ markerStateOptions.animation ??
27440
+ markerOptions.animation));
27407
27441
  }
27408
27442
  // Zooming in from a range with no markers to a range with markers
27409
27443
  if (stateMarkerGraphic) {
@@ -27452,10 +27486,12 @@ class Point {
27452
27486
  }
27453
27487
  }
27454
27488
  // Show me your halo
27455
- const haloOptions = stateOptions.halo;
27489
+ const haloOptions = isObject(stateOptions.halo) ?
27490
+ stateOptions.halo :
27491
+ {};
27456
27492
  const markerGraphic = (point.graphic || stateMarkerGraphic);
27457
27493
  const markerVisibility = markerGraphic?.visibility || 'inherit';
27458
- if (haloOptions?.size &&
27494
+ if (haloOptions.size &&
27459
27495
  markerGraphic &&
27460
27496
  markerVisibility !== 'hidden' &&
27461
27497
  !point.isCluster) {
@@ -27985,6 +28021,11 @@ class Pointer {
27985
28021
  }
27986
28022
  }
27987
28023
  }
28024
+ // Run a final transform with a drop trigger to display the reset
28025
+ // zoom button after a pinch gesture (#22128)
28026
+ if (e?.type === 'touchend' && this.hasDragged) {
28027
+ chart.transform({ trigger: 'drop' });
28028
+ }
27988
28029
  if (redraw) {
27989
28030
  chart.redraw();
27990
28031
  }
@@ -28628,6 +28669,9 @@ class Pointer {
28628
28669
  from: boxFromTouches(lastTouches),
28629
28670
  trigger: e.type
28630
28671
  });
28672
+ // Record a truthy value in order to trigger the final transform
28673
+ // in the drop function
28674
+ pointer.hasDragged = 1;
28631
28675
  });
28632
28676
  if (pointer.res) {
28633
28677
  pointer.res = false;
@@ -29119,7 +29163,9 @@ class Pointer {
29119
29163
  // If inside, capture touch-drag and display tooltip. If not inside,
29120
29164
  // allow dragging the finger to scroll the page
29121
29165
  if ((chart.tooltip?.options.followTouchMove ?? true) &&
29122
- isInside) {
29166
+ isInside &&
29167
+ e.type === 'touchmove' &&
29168
+ !(chart.scrollablePixelsX || chart.scrollablePixelsY)) {
29123
29169
  e.preventDefault();
29124
29170
  }
29125
29171
  }
@@ -29591,7 +29637,7 @@ class DataTableCore {
29591
29637
  * Fetches the given column by the canonical column ID. Simplified version
29592
29638
  * of the full `DataTable.getRow` method, always returning by reference.
29593
29639
  *
29594
- * @function Highcharts.DataTable#setColumn
29640
+ * @function Highcharts.DataTable#getColumn
29595
29641
  *
29596
29642
  * @param {string} columnId
29597
29643
  * ID of the column to get.
@@ -30327,6 +30373,10 @@ const seriesDefaults = {
30327
30373
  * ```
30328
30374
  *
30329
30375
  * @type {Highcharts.DataMappingOptionsObject}
30376
+ * @sample highcharts/datatable/datamapping
30377
+ * Basic data mapping
30378
+ * @sample highcharts/datatable/datamapping-dynamic
30379
+ * Data mapping with dynamic updates
30330
30380
  * @sample {highcharts} highcharts/datatable/series-datatable-multiple
30331
30381
  * Series with two data tables
30332
30382
  * @sample {highcharts} highcharts/datatable/nested-keys
@@ -30337,6 +30387,29 @@ const seriesDefaults = {
30337
30387
  * @since 13.0.0
30338
30388
  * @apioption plotOptions.series.dataMapping
30339
30389
  */
30390
+ /**
30391
+ * Options for a specific series-level data table or an array of data
30392
+ * tables. The `dataTable` option can be either a configuration object or an
30393
+ * instance of the `DataTable` class. If a `DataTable` instance is passed,
30394
+ * it will be used directly. If a configuration object or an array is
30395
+ * passed, a new `DataTable` instance will be created based on the provided
30396
+ * configuration.
30397
+ *
30398
+ * @type {Highcharts.DataTable|Highcharts.DataTableOptionsObject|Array<Highcharts.DataTable|Highcharts.DataTableOptionsObject>}
30399
+ * @sample {highcharts} highcharts/datatable/series-datatable/
30400
+ * Series with one data table each
30401
+ * @sample {highcharts} highcharts/datatable/series-datatable-multiple/
30402
+ * Series with two data tables
30403
+ * @sample {highstock} stock/datatable/series-datatable/
30404
+ * Series with one data table each
30405
+ * @sample {highstock} stock/datatable/series-datatable-multiple/
30406
+ * Series with two data tables
30407
+ * @sample {highmaps} maps/datatable/series-datatable
30408
+ * Series-level data table
30409
+ *
30410
+ * @since 13.0.0
30411
+ * @apioption plotOptions.series.dataTable
30412
+ */
30340
30413
  /**
30341
30414
  * Enable or disable the mouse tracking for a specific series. This
30342
30415
  * includes point tooltips and click events on graphs and points. For
@@ -31220,6 +31293,7 @@ const seriesDefaults = {
31220
31293
  * `series.allowPointSelect` option to true.
31221
31294
  *
31222
31295
  * @declare Highcharts.PointStatesSelectOptionsObject
31296
+ * @extends plotOptions.series.marker.states.hover
31223
31297
  */
31224
31298
  select: {
31225
31299
  /**
@@ -31796,6 +31870,7 @@ const seriesDefaults = {
31796
31870
  * @sample {highmaps} maps/plotoptions/series-datalabels-box/
31797
31871
  * Data labels box options
31798
31872
  *
31873
+ * @type {number|Array<number>}
31799
31874
  * @since 2.2.1
31800
31875
  */
31801
31876
  padding: [1, 3],
@@ -31997,6 +32072,9 @@ const seriesDefaults = {
31997
32072
  /**
31998
32073
  * A collection of options for different series states.
31999
32074
  *
32075
+ * In addition to the options documented under each state, any option from
32076
+ * the parent series type can be set, with exception of `data` and `states`.
32077
+ *
32000
32078
  * @declare Highcharts.SeriesStatesOptionsObject
32001
32079
  */
32002
32080
  states: {
@@ -32170,6 +32248,7 @@ const seriesDefaults = {
32170
32248
  * Disabled inactive state
32171
32249
  *
32172
32250
  * @declare Highcharts.SeriesStatesInactiveOptionsObject
32251
+ * @extends plotOptions.series.states.hover
32173
32252
  */
32174
32253
  inactive: {
32175
32254
  /**
@@ -32570,7 +32649,6 @@ var SeriesRegistry;
32570
32649
  * */
32571
32650
 
32572
32651
 
32573
- const { animObject: Series_animObject, setAnimation: Series_setAnimation } = AnimationUtilities;
32574
32652
 
32575
32653
 
32576
32654
  const { defaultOptions: Series_defaultOptions } = Defaults;
@@ -32708,6 +32786,13 @@ class Series {
32708
32786
  * @type {number|undefined}
32709
32787
  * @readonly
32710
32788
  */
32789
+ /**
32790
+ * The main group for the series' graphics.
32791
+ *
32792
+ * @name Highcharts.Series#group
32793
+ * @type {Highcharts.SVGElement}
32794
+ * @readonly
32795
+ */
32711
32796
  /**
32712
32797
  * Contains the series' index in the `Chart.series` array.
32713
32798
  *
@@ -32840,10 +32925,12 @@ class Series {
32840
32925
  */
32841
32926
  series.options = series.setOptions(userOptions);
32842
32927
  const options = series.options, visible = options.visible !== false;
32843
- // Create the data table
32844
- this.dataTable ?? (this.dataTable = options.dataTable?.isDataTable ?
32845
- options.dataTable :
32846
- new Data_DataTableCore(options.dataTable));
32928
+ // Create the data table or use the one passed as option
32929
+ this.dataTable ?? (this.dataTable = isArray(options.dataTable) ?
32930
+ new Data_DataTableCore() :
32931
+ options.dataTable?.isDataTable ?
32932
+ options.dataTable :
32933
+ new Data_DataTableCore(options.dataTable));
32847
32934
  /**
32848
32935
  * All child series that are linked to the current series through the
32849
32936
  * [linkedTo](https://api.highcharts.com/highcharts/series.line.linkedTo)
@@ -33225,7 +33312,7 @@ class Series {
33225
33312
  */
33226
33313
  getSymbol() {
33227
33314
  const seriesMarkerOption = this.options.marker;
33228
- this.getCyclic('symbol', seriesMarkerOption.symbol, this.chart.options.symbols);
33315
+ this.getCyclic('symbol', seriesMarkerOption?.symbol, this.chart.options.symbols);
33229
33316
  }
33230
33317
  /**
33231
33318
  * Shorthand to get one of the series' data columns from `Series.dataTable`.
@@ -33421,9 +33508,10 @@ class Series {
33421
33508
  if (!oldData[i].destroyed && !oldData[i].condemned) {
33422
33509
  const pOptions = dataTable.getRowObject(i);
33423
33510
  if (pOptions) {
33511
+ // Remove undefined properties, but preserve explicit
33512
+ // nulls (#24872)
33424
33513
  Object.keys(pOptions).forEach((key) => {
33425
- if (!defined(pOptions[key]) /* ||
33426
- pOptions[key] === oldData[i].options[key]*/) {
33514
+ if (pOptions[key] === void 0) {
33427
33515
  delete pOptions[key];
33428
33516
  }
33429
33517
  });
@@ -33828,8 +33916,12 @@ class Series {
33828
33916
  }
33829
33917
  }
33830
33918
  }
33831
- // Find the closest distance between processed points
33832
- xData = this.getColumn('x', true);
33919
+ // Find the closest distance between processed points. When the data was
33920
+ // cropped (or set out of range), read x from the freshly cropped local
33921
+ // `modified` table, #24858.
33922
+ if (modified !== table) {
33923
+ xData = modified.getColumn('x', true) || [];
33924
+ }
33833
33925
  const closestPointRange = getClosestDistance([
33834
33926
  logarithmic ?
33835
33927
  xData.map(logarithmic.log2lin) :
@@ -34034,9 +34126,9 @@ class Series {
34034
34126
  * Force getting extremes of a total series data range.
34035
34127
  */
34036
34128
  getExtremes(yData, forceExtremesFromAll) {
34037
- const { xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
34129
+ const { options, xAxis, yAxis } = this, getExtremesFromAll = forceExtremesFromAll ||
34038
34130
  this.getExtremesFromAll ||
34039
- this.options.getExtremesFromAll, // #4599, #21003
34131
+ options.getExtremesFromAll, // #4599, #21003
34040
34132
  table = getExtremesFromAll && this.cropped ?
34041
34133
  this.dataTable :
34042
34134
  this.dataTable.getModified(), rowCount = table.rowCount, customData = yData || this.stackedYData, yAxisData = customData ?
@@ -34046,7 +34138,12 @@ class Series {
34046
34138
  // non-sorted data like scatter (#7639).
34047
34139
  shoulder = this.requireSorting && !this.is('column') ?
34048
34140
  1 : 0,
34049
- // #2117, need to compensate for log X axis
34141
+ // Used only for `cumulativeStart` (#24608)
34142
+ excludeShoulder = options.cumulative &&
34143
+ options.cumulativeStart &&
34144
+ shoulder &&
34145
+ !getExtremesFromAll,
34146
+ // Compensate for log X axis (#2117)
34050
34147
  positiveValuesOnly = yAxis ? yAxis.positiveValuesOnly : false, doAll = getExtremesFromAll ||
34051
34148
  this.cropped ||
34052
34149
  !xAxis; // For colorAxis support
@@ -34058,10 +34155,10 @@ class Series {
34058
34155
  }
34059
34156
  for (i = 0; i < rowCount; i++) {
34060
34157
  x = xData[i];
34061
- // Check if it is within the selected x axis range
34062
- if (doAll ||
34158
+ // Check if it is within the selected x-axis range
34159
+ if ((doAll ||
34063
34160
  ((xData[i + shoulder] || x) >= xMin &&
34064
- (xData[i - shoulder] || x) <= xMax)) {
34161
+ (xData[i - shoulder] || x) <= xMax)) && (!excludeShoulder || x >= xMin)) {
34065
34162
  for (const values of yAxisData) {
34066
34163
  const val = values[i];
34067
34164
  // For points within the visible range, including the
@@ -34130,7 +34227,7 @@ class Series {
34130
34227
  */
34131
34228
  translate() {
34132
34229
  this.generatePoints();
34133
- 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
34230
+ 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
34134
34231
  dynamicallyPlaced = Boolean(pointPlacement), stackThreshold = options.startFromThreshold ? threshold : 0, nullYSubstitute = (options?.nullInteraction &&
34135
34232
  yAxis.len);
34136
34233
  let i, plotX, lastPlotX, stackIndicator, closestPointRangePx = Number.MAX_VALUE;
@@ -34323,7 +34420,7 @@ class Series {
34323
34420
  * Initialize the animation.
34324
34421
  */
34325
34422
  animate(init) {
34326
- const { chart, group, markerGroup } = this, inverted = chart.inverted, animation = Series_animObject(this.options.animation),
34423
+ const { chart, group, markerGroup } = this, inverted = chart.inverted, animation = animObject(this.options.animation),
34327
34424
  // The key for temporary animation clips
34328
34425
  animationClipKey = [
34329
34426
  this.getSharedClipKey(),
@@ -34419,10 +34516,11 @@ class Series {
34419
34516
  */
34420
34517
  drawPoints(points) {
34421
34518
  points || (points = this.points.concat(this.condemnedPoints));
34422
- 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,
34423
- // Use larger or equal as radius is null in bubbles (#6321)
34424
- series.closestPointRangePx >= (seriesMarkerOptions.enabledThreshold *
34425
- seriesMarkerOptions.radius));
34519
+ 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 ??
34520
+ (!xAxis || xAxis.isRadial ? true : null) ??
34521
+ // Use larger or equal as radius is null in bubbles (#6321)
34522
+ ((series.closestPointRangePx ?? -Infinity) >= ((seriesMarkerOptions.enabledThreshold ?? 2) *
34523
+ seriesMarkerOptions.radius));
34426
34524
  let i, point, graphic, verb, pointMarkerOptions, hasPointMarker, markerAttribs;
34427
34525
  if (seriesMarkerOptions.enabled !== false ||
34428
34526
  series._hasPointMarkers) {
@@ -34440,7 +34538,7 @@ class Series {
34440
34538
  if (shouldDrawMarker) {
34441
34539
  // Shortcuts
34442
34540
  const symbol = pick(pointMarkerOptions.symbol, series.symbol, 'rect');
34443
- markerAttribs = series.markerAttribs(point, (point.selected && 'select'));
34541
+ markerAttribs = series.markerAttribs(point, point.selected ? 'select' : '');
34444
34542
  const isInside = point.isInside !== false;
34445
34543
  if (!graphic &&
34446
34544
  isInside &&
@@ -34505,15 +34603,17 @@ class Series {
34505
34603
  * A hash containing those attributes that are not settable from CSS.
34506
34604
  */
34507
34605
  markerAttribs(point, state) {
34508
- const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
34606
+ const seriesOptions = this.options, seriesMarkerOptions = seriesOptions.marker ?? {}, pointMarkerOptions = point.marker || {}, symbol = (pointMarkerOptions.symbol ||
34509
34607
  seriesMarkerOptions.symbol), attribs = {};
34510
- let seriesStateOptions, pointStateOptions, radius = pick(pointMarkerOptions.radius, seriesMarkerOptions?.radius);
34608
+ let seriesStateOptions, pointStateOptions, radius = pointMarkerOptions.radius ??
34609
+ seriesMarkerOptions.radius;
34511
34610
  // Handle hover and select states
34512
34611
  if (state) {
34513
- seriesStateOptions = seriesMarkerOptions?.states?.[state];
34612
+ seriesStateOptions = seriesMarkerOptions.states?.[state];
34514
34613
  pointStateOptions = pointMarkerOptions.states?.[state];
34515
- radius = pick(pointStateOptions?.radius, seriesStateOptions?.radius, radius && radius + (seriesStateOptions?.radiusPlus ||
34516
- 0));
34614
+ radius = pointStateOptions?.radius ??
34615
+ seriesStateOptions?.radius ??
34616
+ (radius && radius + (seriesStateOptions?.radiusPlus || 0));
34517
34617
  }
34518
34618
  point.hasImage = symbol && symbol.indexOf('url') === 0;
34519
34619
  if (point.hasImage) {
@@ -34526,7 +34626,7 @@ class Series {
34526
34626
  0 :
34527
34627
  symbol === 'rect' ?
34528
34628
  // Rectangle symbols need crisp edges, others don't
34529
- seriesMarkerOptions?.lineWidth || 0 :
34629
+ seriesMarkerOptions.lineWidth || 0 :
34530
34630
  1);
34531
34631
  }
34532
34632
  attribs.x = pos[0] - radius;
@@ -34557,8 +34657,9 @@ class Series {
34557
34657
  * The presentational attributes to be set on the point.
34558
34658
  */
34559
34659
  pointAttribs(point, state) {
34560
- const options = this.options, seriesMarkerOptions = options.marker, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
34561
- let seriesStateOptions, pointStateOptions, color = this.color, fill, stroke, strokeWidth = pick(pointMarkerOptions.lineWidth, seriesMarkerOptions.lineWidth), opacity = (point?.isNull && options.nullInteraction) ? 0 : 1;
34660
+ const options = this.options, seriesMarkerOptions = options.marker ?? {}, pointOptions = point?.options, pointMarkerOptions = pointOptions?.marker || {}, pointColorOption = pointOptions?.color, pointColor = point?.color, zoneColor = point?.zone?.color;
34661
+ let color = this.color, fill, stroke, strokeWidth = pointMarkerOptions.lineWidth ??
34662
+ seriesMarkerOptions.lineWidth, opacity = (point?.isNull && options.nullInteraction) ? 0 : 1;
34562
34663
  color = (pointColorOption ||
34563
34664
  zoneColor ||
34564
34665
  pointColor ||
@@ -34571,19 +34672,22 @@ class Series {
34571
34672
  color);
34572
34673
  // Handle hover and select states
34573
34674
  state = state || 'normal';
34574
- if (state) {
34575
- seriesStateOptions = (seriesMarkerOptions.states[state] || {});
34576
- pointStateOptions = (pointMarkerOptions.states &&
34577
- pointMarkerOptions.states[state]) || {};
34578
- strokeWidth = pick(pointStateOptions.lineWidth, seriesStateOptions.lineWidth, strokeWidth + pick(pointStateOptions.lineWidthPlus, seriesStateOptions.lineWidthPlus, 0));
34579
- fill = (pointStateOptions.fillColor ||
34580
- seriesStateOptions.fillColor ||
34581
- fill);
34582
- stroke = (pointStateOptions.lineColor ||
34583
- seriesStateOptions.lineColor ||
34584
- stroke);
34585
- opacity = pick(pointStateOptions.opacity, seriesStateOptions.opacity, opacity);
34586
- }
34675
+ const seriesStateOptions = seriesMarkerOptions.states?.[state] || {};
34676
+ const pointStateOptions = pointMarkerOptions.states?.[state] || {};
34677
+ strokeWidth = pointStateOptions.lineWidth ??
34678
+ seriesStateOptions.lineWidth ??
34679
+ (strokeWidth || 0) + (pointStateOptions.lineWidthPlus ??
34680
+ seriesStateOptions.lineWidthPlus ??
34681
+ 0);
34682
+ fill = (pointStateOptions.fillColor ||
34683
+ seriesStateOptions.fillColor ||
34684
+ fill);
34685
+ stroke = (pointStateOptions.lineColor ||
34686
+ seriesStateOptions.lineColor ||
34687
+ stroke);
34688
+ opacity = (pointStateOptions.opacity ??
34689
+ seriesStateOptions.opacity ??
34690
+ opacity);
34587
34691
  return {
34588
34692
  'stroke': stroke,
34589
34693
  'stroke-width': strokeWidth,
@@ -34622,7 +34726,7 @@ class Series {
34622
34726
  // Destroy all points with their elements
34623
34727
  i = data.length;
34624
34728
  while (i--) {
34625
- data[i]?.destroy?.();
34729
+ data[i]?.destroy?.(true);
34626
34730
  }
34627
34731
  for (const zone of series.zones || []) {
34628
34732
  // Destroy SVGElement's but preserve primitive props (#20426)
@@ -34649,7 +34753,7 @@ class Series {
34649
34753
  erase(chart.series, series);
34650
34754
  chart.orderItems('series');
34651
34755
  // Clear all members
34652
- objectEach(series, function (val, prop) {
34756
+ objectEach(series, function (_val, prop) {
34653
34757
  if (!keepEventsForUpdate || prop !== 'hcEvents') {
34654
34758
  delete series[prop];
34655
34759
  }
@@ -34925,7 +35029,7 @@ class Series {
34925
35029
  * @emits Highcharts.Series#event:afterRender
34926
35030
  */
34927
35031
  render() {
34928
- const series = this, { chart, options, hasRendered } = series, animOptions = Series_animObject(options.animation), visibility = series.visible ?
35032
+ const series = this, { chart, options, hasRendered } = series, animOptions = animObject(options.animation), visibility = series.visible ?
34929
35033
  'inherit' : 'hidden', // #2597
34930
35034
  zIndex = options.zIndex, chartSeriesGroup = chart.seriesGroup;
34931
35035
  let animDuration = series.finishedAnimating ?
@@ -35027,7 +35131,7 @@ class Series {
35027
35131
  *
35028
35132
  * @function Highcharts.Series#searchPoint
35029
35133
  *
35030
- * @param {Highcharts.PointerEvent} e
35134
+ * @param {PointerEvent} e
35031
35135
  * The normalized pointer event
35032
35136
  * @param {boolean} [compareX=false]
35033
35137
  * Search only by the X value, not Y
@@ -35059,7 +35163,7 @@ class Series {
35059
35163
  // Prevent multiple k-d-trees from being built simultaneously
35060
35164
  // (#6235)
35061
35165
  this.buildingKdTree = true;
35062
- const series = this, seriesOptions = series.options, dimensions = seriesOptions.findNearestPointBy
35166
+ const series = this, seriesOptions = series.options, dimensions = (seriesOptions.findNearestPointBy ?? '')
35063
35167
  .indexOf('y') > -1 ? 2 : 1;
35064
35168
  /**
35065
35169
  * Internal function
@@ -35109,7 +35213,7 @@ class Series {
35109
35213
  * The point to search for.
35110
35214
  * @param {boolean} [compareX=false]
35111
35215
  * Search only by the X value, not Y.
35112
- * @param {Highcharts.PointerEvent} [e]
35216
+ * @param {PointerEvent} [e]
35113
35217
  * The normalized pointer event.
35114
35218
  * @param {Function} [suppliedPointEvaluator]
35115
35219
  * A custom point evaluator function.
@@ -35315,11 +35419,13 @@ class Series {
35315
35419
  * Both X and Y values given
35316
35420
  * @sample highcharts/members/series-addpoint-pie/
35317
35421
  * Append pie slice
35318
- * @sample stock/members/series-addpoint/
35422
+ * @sample highcharts/datatable/datamapping-dynamic
35423
+ * Alternative approach with data table
35424
+ * @sample {highstock} stock/members/series-addpoint/
35319
35425
  * Append 100 points in Highcharts Stock
35320
- * @sample stock/members/series-addpoint-shift/
35426
+ * @sample {highstock} stock/members/series-addpoint-shift/
35321
35427
  * Append and shift in Highcharts Stock
35322
- * @sample maps/members/series-addpoint/
35428
+ * @sample {highmaps} maps/members/series-addpoint/
35323
35429
  * Add a point in Highmaps
35324
35430
  *
35325
35431
  * @function Highcharts.Series#addPoint
@@ -35465,7 +35571,7 @@ class Series {
35465
35571
  chart.redraw();
35466
35572
  }
35467
35573
  };
35468
- Series_setAnimation(animation, chart);
35574
+ setAnimation(animation, chart);
35469
35575
  redraw = pick(redraw, true);
35470
35576
  // Fire the event with a default handler of removing the point
35471
35577
  if (point) {
@@ -35819,10 +35925,10 @@ class Series {
35819
35925
  * Determines if state should be inherited by points too.
35820
35926
  */
35821
35927
  setState(state, inherit) {
35822
- const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions } = options,
35928
+ const series = this, { graph, options } = series, { inactiveOtherPoints, states: stateOptions = {} } = options,
35823
35929
  // By default a quick animation to hover/inactive,
35824
35930
  // slower to un-hover
35825
- stateAnimation = pick(stateOptions?.[state || 'normal']?.animation, series.chart.options.chart.animation);
35931
+ stateAnimation = pick(stateOptions[state || 'normal']?.animation, series.chart.options.chart.animation);
35826
35932
  let { lineWidth, opacity } = options;
35827
35933
  state = state || '';
35828
35934
  if (series.state !== state) {
@@ -35849,9 +35955,13 @@ class Series {
35849
35955
  return;
35850
35956
  }
35851
35957
  if (state) {
35852
- lineWidth = (stateOptions[state].lineWidth ||
35853
- lineWidth + (stateOptions[state].lineWidthPlus || 0)); // #4035
35854
- opacity = pick(stateOptions[state].opacity, opacity);
35958
+ lineWidth = stateOptions[state]?.lineWidth ?? (!isNumber(lineWidth) ?
35959
+ void 0 :
35960
+ // Increase by lineWidthPlus only when lineWidth
35961
+ // is a number.
35962
+ (lineWidth +
35963
+ (stateOptions?.[state]?.lineWidthPlus || 0))); // #4035
35964
+ opacity = stateOptions[state]?.opacity ?? opacity;
35855
35965
  }
35856
35966
  if (graph && !graph.dashstyle && isNumber(lineWidth)) {
35857
35967
  // Animate the graph stroke-width
@@ -35895,11 +36005,7 @@ class Series {
35895
36005
  * Can be either `hover` or undefined to set to normal state.
35896
36006
  */
35897
36007
  setAllPointsToState(state) {
35898
- this.points.forEach(function (point) {
35899
- if (point.setState) {
35900
- point.setState(state);
35901
- }
35902
- });
36008
+ this.points.forEach((point) => point.setState?.(state));
35903
36009
  }
35904
36010
  /**
35905
36011
  * Show or hide the series.
@@ -36580,7 +36686,6 @@ Series_SeriesRegistry.series = Series;
36580
36686
  * */
36581
36687
 
36582
36688
 
36583
- const { animObject: Legend_animObject, setAnimation: Legend_setAnimation } = AnimationUtilities;
36584
36689
 
36585
36690
  const { registerEventOptions: Legend_registerEventOptions } = Core_Foundation;
36586
36691
 
@@ -37583,7 +37688,7 @@ class Legend {
37583
37688
  }
37584
37689
  if (currentPage > 0) {
37585
37690
  if (typeof animation !== 'undefined') {
37586
- Legend_setAnimation(animation, chart);
37691
+ setAnimation(animation, chart);
37587
37692
  }
37588
37693
  this.nav.attr({
37589
37694
  translateX: padding,
@@ -37640,7 +37745,7 @@ class Legend {
37640
37745
  this.currentPage = currentPage;
37641
37746
  this.positionCheckboxes();
37642
37747
  // Fire event after scroll animation is complete
37643
- const animOptions = Legend_animObject(pick(animation, chart.renderer.globalAnimation, true));
37748
+ const animOptions = animObject(pick(animation, chart.renderer.globalAnimation, true));
37644
37749
  syncTimeout(() => {
37645
37750
  fireEvent(this, 'afterScroll', { currentPage });
37646
37751
  }, animOptions.duration);
@@ -37850,7 +37955,7 @@ class Legend {
37850
37955
  */ /**
37851
37956
  * Related browser event.
37852
37957
  * @name Highcharts.LegendItemClickEventObject#browserEvent
37853
- * @type {Highcharts.PointerEvent}
37958
+ * @type {PointerEvent}
37854
37959
  */ /**
37855
37960
  * Prevent the default action of toggle the visibility of the series or point.
37856
37961
  * @name Highcharts.LegendItemClickEventObject#preventDefault
@@ -37901,7 +38006,7 @@ class Legend {
37901
38006
  */ /**
37902
38007
  * Related browser event.
37903
38008
  * @name Highcharts.PointLegendItemClickEventObject#browserEvent
37904
- * @type {Highcharts.PointerEvent}
38009
+ * @type {PointerEvent}
37905
38010
  */ /**
37906
38011
  * Whether the default action has been prevented (`true`) or not.
37907
38012
  * @name Highcharts.PointLegendItemClickEventObject#defaultPrevented
@@ -37957,7 +38062,7 @@ class Legend {
37957
38062
  */ /**
37958
38063
  * Related browser event.
37959
38064
  * @name Highcharts.SeriesLegendItemClickEventObject#browserEvent
37960
- * @type {Highcharts.PointerEvent}
38065
+ * @type {PointerEvent}
37961
38066
  */ /**
37962
38067
  * Whether the default action has been prevented (`true`) or not.
37963
38068
  * @name Highcharts.SeriesLegendItemClickEventObject#defaultPrevented
@@ -37991,7 +38096,6 @@ class Legend {
37991
38096
  * */
37992
38097
 
37993
38098
 
37994
- const { animate: Chart_animate, animObject: Chart_animObject, setAnimation: Chart_setAnimation } = AnimationUtilities;
37995
38099
 
37996
38100
 
37997
38101
  const { defaultOptions: Chart_defaultOptions } = Defaults;
@@ -38469,7 +38573,7 @@ class Chart {
38469
38573
  redraw(animation) {
38470
38574
  fireEvent(this, 'beforeRedraw');
38471
38575
  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 = [];
38472
- let hasDirtyStacks, hasStackedSeries, i, isDirtyBox = chart.isDirtyBox, redrawLegend = chart.isDirtyLegend, serie;
38576
+ let hasDirtyStacks, hasStackedSeries, i, redrawLegend = chart.isDirtyLegend, serie;
38473
38577
  renderer.rootFontSize = renderer.boxWrapper.getStyle('font-size');
38474
38578
  // Handle responsive rules, not only on resize (#6130)
38475
38579
  if (chart.setResponsive) {
@@ -38478,7 +38582,7 @@ class Chart {
38478
38582
  // Set the global animation. When chart.hasRendered is not true, the
38479
38583
  // redraw call comes from a responsive rule and animation should not
38480
38584
  // occur.
38481
- Chart_setAnimation(chart.hasRendered ? animation : false, chart);
38585
+ setAnimation(chart.hasRendered ? animation : false, chart);
38482
38586
  if (isHiddenChart) {
38483
38587
  chart.temporaryDisplay();
38484
38588
  }
@@ -38541,6 +38645,7 @@ class Chart {
38541
38645
  });
38542
38646
  chart.getMargins(); // #3098
38543
38647
  // If one axis is dirty, all axes must be redrawn (#792, #2169)
38648
+ let isDirtyBox = chart.isDirtyBox;
38544
38649
  axes.forEach(function (axis) {
38545
38650
  if (axis.isDirty) {
38546
38651
  isDirtyBox = true;
@@ -39076,11 +39181,8 @@ class Chart {
39076
39181
  const chartHeight = chart.chartHeight;
39077
39182
  let chartWidth = chart.chartWidth;
39078
39183
  // Allow table cells and flex-boxes to shrink without the chart
39079
- // blocking them out (#6427) but skip in styled mode so inline styles
39080
- // don't override user CSS on renderTo
39081
- if (!chart.styledMode) {
39082
- css(renderTo, { overflow: 'hidden' });
39083
- }
39184
+ // blocking them out (#6427)
39185
+ css(renderTo, { overflow: 'hidden' });
39084
39186
  // Create the inner container
39085
39187
  if (!chart.styledMode) {
39086
39188
  containerStyle = extend({
@@ -39137,7 +39239,7 @@ class Chart {
39137
39239
  // first ResizeObserver reflow
39138
39240
  chart.containerBox = chart.getContainerBox();
39139
39241
  // Set the initial animation from the options
39140
- Chart_setAnimation(void 0, chart);
39242
+ setAnimation(void 0, chart);
39141
39243
  chart.setClassName(optionsChart.className);
39142
39244
  if (!chart.styledMode) {
39143
39245
  chart.renderer.setStyle(optionsChart.style);
@@ -39332,7 +39434,7 @@ class Chart {
39332
39434
  // Handle the isResizing counter
39333
39435
  chart.isResizing += 1;
39334
39436
  // Set the animation for the current process
39335
- Chart_setAnimation(animation, chart);
39437
+ setAnimation(animation, chart);
39336
39438
  const globalAnimation = renderer.globalAnimation;
39337
39439
  chart.oldChartHeight = chart.chartHeight;
39338
39440
  chart.oldChartWidth = chart.chartWidth;
@@ -39351,7 +39453,7 @@ class Chart {
39351
39453
  // Resize the container with the global animation applied if enabled
39352
39454
  // (#2503)
39353
39455
  if (!chart.styledMode) {
39354
- (globalAnimation ? Chart_animate : css)(chart.container, {
39456
+ (globalAnimation ? animate : css)(chart.container, {
39355
39457
  width: `${chartWidth + scrollablePixelsX}px`,
39356
39458
  height: `${chartHeight + scrollablePixelsY}px`
39357
39459
  }, globalAnimation);
@@ -39377,7 +39479,7 @@ class Chart {
39377
39479
  if (chart) {
39378
39480
  fireEvent(chart, 'endResize');
39379
39481
  }
39380
- }, Chart_animObject(globalAnimation).duration);
39482
+ }, animObject(globalAnimation).duration);
39381
39483
  }
39382
39484
  // Handle resizing counter even if we've re-rendered or not (#20548).
39383
39485
  chart.isResizing -= 1;
@@ -40246,7 +40348,7 @@ class Chart {
40246
40348
  opacity: 0,
40247
40349
  display: ''
40248
40350
  });
40249
- Chart_animate(loadingDiv, {
40351
+ animate(loadingDiv, {
40250
40352
  opacity: loadingStyle.opacity ?? 0.5
40251
40353
  }, {
40252
40354
  duration: loadingOptions?.showDuration ?? 0
@@ -40274,7 +40376,7 @@ class Chart {
40274
40376
  loadingDiv.className =
40275
40377
  'highcharts-loading highcharts-loading-hidden';
40276
40378
  if (!this.styledMode) {
40277
- Chart_animate(loadingDiv, {
40379
+ animate(loadingDiv, {
40278
40380
  opacity: 0
40279
40381
  }, {
40280
40382
  duration: options.loading?.hideDuration ?? 100,
@@ -40306,6 +40408,9 @@ class Chart {
40306
40408
  * Note that when changing series data, `chart.update` may mutate the passed
40307
40409
  * data options.
40308
40410
  *
40411
+ * If the given options don't differ from the current chart options, the
40412
+ * update is skipped and the `afterUpdate` event is not emitted.
40413
+ *
40309
40414
  * See also the
40310
40415
  * [responsive option set](https://api.highcharts.com/highcharts/responsive).
40311
40416
  * Switching between `responsive.rules` basically runs `chart.update` under
@@ -40350,14 +40455,24 @@ class Chart {
40350
40455
  caption: 'setCaption'
40351
40456
  }, isResponsiveOptions = options.isResponsiveOptions, itemsForRemoval = [];
40352
40457
  let updateAllAxes, updateAllSeries, runSetSize;
40353
- fireEvent(chart, 'update', { options: options });
40458
+ options = diffObjects(options, chart.options);
40459
+ const e = {
40460
+ options,
40461
+ // Event handlers can turn this on or off to control further
40462
+ // processing
40463
+ hasChanged: !!Object.keys(options).length
40464
+ };
40465
+ fireEvent(chart, 'update', e);
40466
+ // If no changes are detected, stop further processing (#24805).
40467
+ if (!e.hasChanged) {
40468
+ return;
40469
+ }
40354
40470
  // If there are responsive rules in action, undo the responsive rules
40355
40471
  // before we apply the updated options and replay the responsive rules
40356
40472
  // on top from the chart.redraw function (#9617).
40357
40473
  if (!isResponsiveOptions) {
40358
40474
  chart.setResponsive(false, true);
40359
40475
  }
40360
- options = diffObjects(options, chart.options);
40361
40476
  chart.userOptions = merge(chart.userOptions, options);
40362
40477
  // If the top-level chart option is present, some special updates are
40363
40478
  // required
@@ -40536,7 +40651,7 @@ class Chart {
40536
40651
  (isNumber(newHeight) && newHeight !== chart.chartHeight)) {
40537
40652
  chart.setSize(newWidth, newHeight, animation);
40538
40653
  }
40539
- else if (pick(redraw, true)) {
40654
+ else if (redraw ?? true) {
40540
40655
  chart.redraw(animation);
40541
40656
  }
40542
40657
  fireEvent(chart, 'afterUpdate', {
@@ -40585,15 +40700,11 @@ class Chart {
40585
40700
  showResetZoom() {
40586
40701
  const chart = this, lang = chart.options.lang, btnOptions = chart.zooming.resetButton, theme = btnOptions.theme, alignTo = (btnOptions.relativeTo === 'chart' ||
40587
40702
  btnOptions.relativeTo === 'spacingBox' ?
40588
- null :
40703
+ void 0 :
40589
40704
  'plotBox');
40590
- /** @internal */
40591
- function zoomOut() {
40592
- chart.zoomOut();
40593
- }
40594
- fireEvent(this, 'beforeShowResetZoom', null, function () {
40705
+ fireEvent(this, 'beforeShowResetZoom', void 0, () => {
40595
40706
  chart.resetZoomButton = chart.renderer
40596
- .button(lang.resetZoom, null, null, zoomOut, theme)
40707
+ .button(lang.resetZoom, 0, 0, () => chart.zoomOut(), theme)
40597
40708
  .attr({
40598
40709
  align: btnOptions.position.align,
40599
40710
  title: lang.resetZoomTitle
@@ -40671,7 +40782,7 @@ class Chart {
40671
40782
  * @function Highcharts.Chart#transform
40672
40783
  */
40673
40784
  transform(params) {
40674
- const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, { inverted, time } = this;
40785
+ const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger, allowResetButton = true } = params, { time } = this;
40675
40786
  // Remove active points for shared tooltip
40676
40787
  this.hoverPoints?.forEach((point) => point.setState());
40677
40788
  fireEvent(this, 'transform', params);
@@ -40682,10 +40793,10 @@ class Chart {
40682
40793
  scale = Math.abs(toLength) < 10 ?
40683
40794
  1 :
40684
40795
  toLength / fromLength, fromCenter = (from[xy] || 0) + fromLength / 2 - axis.pos, toCenter = (to[xy] ?? axis.pos) +
40685
- toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = (reversed && !inverted) ||
40686
- (!reversed && inverted) ?
40687
- -1 :
40688
- 1, minPx = move;
40796
+ toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = ((horiz && !reversed) ||
40797
+ (!horiz && reversed)) ?
40798
+ 1 :
40799
+ -1, minPx = move;
40689
40800
  // Zooming in multiple panes, zoom only in the pane that receives
40690
40801
  // the input
40691
40802
  if (!reset && (fromCenter < 0 || fromCenter > axis.len)) {
@@ -40694,17 +40805,11 @@ class Chart {
40694
40805
  // Adjust offset to ensure selection zoom triggers correctly
40695
40806
  // (#22945)
40696
40807
  // Set offset to 0 for ordinal axis only when zooming out, (#24545).
40697
- const offset = (axis.chart.polar || (axis.isOrdinal && scale <= 1)) ?
40808
+ const offset = (selection || axis.chart.polar ||
40809
+ (axis.isOrdinal && scale <= 1)) ?
40698
40810
  0 :
40699
40811
  (minPointOffset * pointRangeDirection || 0), eventMin = axis.toValue(minPx, true), eventMax = axis.toValue(minPx + len / scale, true);
40700
40812
  let newMin = eventMin + offset, newMax = eventMax - offset, allExtremes = axis.allExtremes;
40701
- if (selection) {
40702
- selection[axis.coll].push({
40703
- axis,
40704
- min: Math.min(eventMin, eventMax),
40705
- max: Math.max(eventMin, eventMax)
40706
- });
40707
- }
40708
40813
  if (newMin > newMax) {
40709
40814
  [newMin, newMax] = [newMax, newMin];
40710
40815
  }
@@ -40761,14 +40866,15 @@ class Chart {
40761
40866
  }
40762
40867
  // Set new extremes if they are actually new
40763
40868
  if (reset || (axis.series.length &&
40764
- (newMin !== min || newMax !== max) &&
40765
- newMin >= floor &&
40766
- newMax <= ceiling)) {
40869
+ (selection ||
40870
+ ((newMin !== min || newMax !== max) &&
40871
+ newMin >= floor &&
40872
+ newMax <= ceiling)))) {
40767
40873
  if (selection) {
40768
40874
  selection[axis.coll].push({
40769
40875
  axis,
40770
- min: newMin,
40771
- max: newMax
40876
+ min: Math.min(eventMin, eventMax),
40877
+ max: Math.max(eventMin, eventMax)
40772
40878
  });
40773
40879
  }
40774
40880
  else {
@@ -40776,11 +40882,14 @@ class Chart {
40776
40882
  // disallow certain axis padding options that would make
40777
40883
  // panning/zooming hard. Reset and redraw after the
40778
40884
  // operation has finished.
40779
- axis.isPanning = trigger !== 'zoom';
40885
+ axis.isPanning = trigger !== 'zoom' &&
40886
+ trigger !== 'drop';
40780
40887
  if (axis.isPanning && trigger !== 'mousewheel') {
40781
40888
  isAnyAxisPanning = true; // #21319
40782
40889
  }
40783
- axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
40890
+ if (trigger !== 'drop') {
40891
+ axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
40892
+ }
40784
40893
  if (!reset &&
40785
40894
  (newMin > floor || newMax < ceiling)) {
40786
40895
  displayButton = allowResetButton;
@@ -40811,7 +40920,8 @@ class Chart {
40811
40920
  });
40812
40921
  }
40813
40922
  else {
40814
- // Show or hide the Reset zoom button, but not while panning
40923
+ // Show or hide the Reset zoom button, but not while
40924
+ // panning.
40815
40925
  if (displayButton &&
40816
40926
  !isAnyAxisPanning &&
40817
40927
  !this.resetZoomButton) {
@@ -41053,7 +41163,6 @@ extend(Chart.prototype, {
41053
41163
  */
41054
41164
 
41055
41165
 
41056
- const { stop: ScrollablePlotArea_stop } = AnimationUtilities;
41057
41166
 
41058
41167
  const { composed: ScrollablePlotArea_composed } = Core_Globals;
41059
41168
 
@@ -41219,7 +41328,7 @@ class ScrollablePlotArea {
41219
41328
  this.moveFixedElements();
41220
41329
  }
41221
41330
  // Increase the size of the scrollable renderer and background
41222
- ScrollablePlotArea_stop(chart.container);
41331
+ stop(chart.container);
41223
41332
  css(container, {
41224
41333
  width: `${scrollableWidth}px`,
41225
41334
  height: `${scrollableHeight}px`
@@ -41376,6 +41485,13 @@ ScrollablePlotArea.fixedSelectors = [
41376
41485
  * vertical scrolling, depending on whether the `minWidth` or `minHeight`
41377
41486
  * option is set.
41378
41487
  *
41488
+ * **Note:** Because native browser scrollbars are used, they may
41489
+ * overlap with fixed chart elements such as credits or the chart
41490
+ * border. To avoid this collision, it is recommended to manually add
41491
+ * extra space to the corresponding side using `chart.spacingBottom`
41492
+ * (for horizontal scrollbars) or `chart.spacingRight` (for vertical
41493
+ * scrollbars).
41494
+ *
41379
41495
  * @sample highcharts/chart/scrollable-plotarea
41380
41496
  * Scrollable plot area
41381
41497
  * @sample highcharts/chart/scrollable-plotarea-vertical
@@ -41726,7 +41842,6 @@ class StackItem {
41726
41842
  * */
41727
41843
 
41728
41844
 
41729
- const { getDeferredAnimation: StackingAxis_getDeferredAnimation } = AnimationUtilities;
41730
41845
 
41731
41846
  const { series: { prototype: seriesProto } } = Series_SeriesRegistry;
41732
41847
 
@@ -42070,7 +42185,7 @@ class AxisAdditions {
42070
42185
  }
42071
42186
  /** @internal */
42072
42187
  renderStackTotals() {
42073
- 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 ||
42188
+ 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 ||
42074
42189
  renderer
42075
42190
  .g('stack-labels')
42076
42191
  .attr({
@@ -43823,6 +43938,8 @@ const ColumnSeriesDefaults = {
43823
43938
  * 0.25
43824
43939
  * @sample {highcharts} highcharts/plotoptions/column-pointpadding-none/
43825
43940
  * 0 for tightly packed columns
43941
+ * @sample {highcharts} highcharts/plotoptions/pie-pointpadding/
43942
+ * Pie point padding plugin
43826
43943
  *
43827
43944
  * @product highcharts highstock gantt
43828
43945
  */
@@ -44154,12 +44271,12 @@ const ColumnSeriesDefaults = {
44154
44271
  */
44155
44272
  /**
44156
44273
  * @excluding halo, lineWidth, lineWidthPlus, marker
44157
- * @product highcharts highstock
44274
+ * @product highcharts highstock gantt
44158
44275
  * @apioption series.column.states.hover
44159
44276
  */
44160
44277
  /**
44161
44278
  * @excluding halo, lineWidth, lineWidthPlus, marker
44162
- * @product highcharts highstock
44279
+ * @product highcharts highstock gantt
44163
44280
  * @apioption series.column.states.select
44164
44281
  */
44165
44282
  /**
@@ -44189,7 +44306,6 @@ const ColumnSeriesDefaults = {
44189
44306
  * */
44190
44307
 
44191
44308
 
44192
- const { animObject: ColumnSeries_animObject } = AnimationUtilities;
44193
44309
 
44194
44310
  const { parse: ColumnSeries_color } = Color_Color;
44195
44311
 
@@ -44260,7 +44376,7 @@ class ColumnSeries extends Series_Series {
44260
44376
  }
44261
44377
  else { // Run the animation
44262
44378
  translateStart = Number(series.group.attr(translateProp));
44263
- series.group.animate({ scaleY: 1 }, extend(ColumnSeries_animObject(series.options.animation), {
44379
+ series.group.animate({ scaleY: 1 }, extend(animObject(series.options.animation), {
44264
44380
  // Do the scale synchronously to ensure smooth
44265
44381
  // updating (#5030, #7228)
44266
44382
  step: function (val, fx) {
@@ -44596,11 +44712,11 @@ class ColumnSeries extends Series_Series {
44596
44712
  */
44597
44713
  pointAttribs(point, state) {
44598
44714
  const options = this.options, p2o = this.pointAttrToOptions || {}, strokeOption = p2o.stroke || 'borderColor', strokeWidthOption = p2o['stroke-width'] || 'borderWidth';
44599
- let stateOptions, zone, brightness, fill = (point && point.color) || this.color,
44715
+ let stateOptions, zone, brightness, fill = point?.color || this.color,
44600
44716
  // Set to fill when borderColor null:
44601
- stroke = ((point && point[strokeOption]) ||
44717
+ stroke = (point?.[strokeOption] ||
44602
44718
  options[strokeOption] ||
44603
- fill), dashstyle = (point && point.options.dashStyle) || options.dashStyle, strokeWidth = (point?.[strokeWidthOption]) ??
44719
+ fill), dashstyle = point?.options.dashStyle || options.dashStyle, strokeWidth = point?.[strokeWidthOption] ??
44604
44720
  options[strokeWidthOption] ??
44605
44721
  this[strokeWidthOption] ?? 1, opacity = (point?.isNull && options.nullInteraction) ?
44606
44722
  0 :
@@ -44621,7 +44737,7 @@ class ColumnSeries extends Series_Series {
44621
44737
  }
44622
44738
  // Select or hover states
44623
44739
  if (state && point) {
44624
- stateOptions = merge(options.states[state],
44740
+ stateOptions = merge(options.states?.[state],
44625
44741
  // #6401
44626
44742
  point.options.states?.[state] || {});
44627
44743
  brightness = stateOptions.brightness;
@@ -44631,14 +44747,13 @@ class ColumnSeries extends Series_Series {
44631
44747
  .brighten(stateOptions.brightness)
44632
44748
  .get()) || fill;
44633
44749
  stroke = stateOptions[strokeOption] || stroke;
44634
- strokeWidth =
44635
- stateOptions[strokeWidthOption] || strokeWidth;
44750
+ strokeWidth = stateOptions[strokeWidthOption] || strokeWidth;
44636
44751
  dashstyle = stateOptions.dashStyle || dashstyle;
44637
- opacity = pick(stateOptions.opacity, opacity);
44752
+ opacity = stateOptions.opacity ?? opacity;
44638
44753
  }
44639
44754
  const ret = {
44640
- fill: fill,
44641
- stroke: stroke,
44755
+ fill,
44756
+ stroke,
44642
44757
  'stroke-width': strokeWidth,
44643
44758
  opacity: point?.condemned ? 0 : opacity
44644
44759
  };
@@ -44679,6 +44794,7 @@ class ColumnSeries extends Series_Series {
44679
44794
  initialAttr = merge(shapeArgs, point.getOrigin(point.origin, shapeArgs));
44680
44795
  if (!styledMode) {
44681
44796
  initialAttr.opacity = 0;
44797
+ initialAttr['stroke-width'] = 0;
44682
44798
  }
44683
44799
  shouldUpdate = true;
44684
44800
  verb = 'animate';
@@ -44694,7 +44810,7 @@ class ColumnSeries extends Series_Series {
44694
44810
  }
44695
44811
  // Presentational
44696
44812
  if (!styledMode) {
44697
- graphic[verb](series.pointAttribs(point, (point.selected && 'select')))
44813
+ graphic[verb](series.pointAttribs(point, point.selected ? 'select' : ''))
44698
44814
  .shadow(point.allowShadow !== false && options.shadow);
44699
44815
  }
44700
44816
  graphic
@@ -44818,6 +44934,7 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
44818
44934
  * Default Export
44819
44935
  *
44820
44936
  * */
44937
+ /** @internal */
44821
44938
  /* harmony default export */ const Column_ColumnSeries = (ColumnSeries);
44822
44939
  /* *
44823
44940
  *
@@ -44854,7 +44971,6 @@ Series_SeriesRegistry.registerSeriesType('column', ColumnSeries);
44854
44971
  * */
44855
44972
 
44856
44973
 
44857
- const { getDeferredAnimation: DataLabel_getDeferredAnimation } = AnimationUtilities;
44858
44974
 
44859
44975
  const { format: DataLabel_format } = Core_Templating;
44860
44976
 
@@ -45171,7 +45287,7 @@ var DataLabel;
45171
45287
  'var(--highcharts-background-color)'), groupByIndex = [], seriesDlOptions = mergedDataLabelOptions(series);
45172
45288
  // Resolve the animation
45173
45289
  const { animation, defer } = seriesDlOptions[0], animationConfig = defer ?
45174
- DataLabel_getDeferredAnimation(chart, animation, series) :
45290
+ getDeferredAnimation(chart, animation, series) :
45175
45291
  { defer: 0, duration: 0 };
45176
45292
  fireEvent(this, 'drawDataLabels');
45177
45293
  if (series.hasDataLabels?.()) {
@@ -45937,6 +46053,8 @@ const ScatterSeriesDefaults = {
45937
46053
  * Arrays of datetime x and y
45938
46054
  * @sample {highcharts} highcharts/series/data-array-of-name-value/
45939
46055
  * Arrays of point.name and y
46056
+ * @sample {highcharts} highcharts/series-scatter/scatter-cluster/
46057
+ * Computed clusters
45940
46058
  * @sample {highcharts} highcharts/series/data-array-of-objects/
45941
46059
  * Config objects
45942
46060
  *
@@ -46085,7 +46203,7 @@ Series_SeriesRegistry.registerSeriesType('scatter', ScatterSeries);
46085
46203
  const { deg2rad: CenteredUtilities_deg2rad } = Core_Globals;
46086
46204
 
46087
46205
  /**
46088
- * @private
46206
+ * @internal
46089
46207
  */
46090
46208
  var CenteredUtilities;
46091
46209
  (function (CenteredUtilities) {
@@ -46103,7 +46221,7 @@ var CenteredUtilities;
46103
46221
  * Get the center of the pie based on the size and center options relative
46104
46222
  * to the plot area. Borrowed by the polar and gauge series types.
46105
46223
  *
46106
- * @private
46224
+ * @internal
46107
46225
  * @function Highcharts.CenteredSeriesMixin.getCenter
46108
46226
  */
46109
46227
  function getCenter() {
@@ -46148,7 +46266,7 @@ var CenteredUtilities;
46148
46266
  * GetStartAndEndRadians - Calculates start and end angles in radians.
46149
46267
  * Used in series types such as pie and sunburst.
46150
46268
  *
46151
- * @private
46269
+ * @internal
46152
46270
  * @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
46153
46271
  *
46154
46272
  * @param {number} [start]
@@ -46180,6 +46298,7 @@ var CenteredUtilities;
46180
46298
  * Default Export
46181
46299
  *
46182
46300
  * */
46301
+ /** @internal */
46183
46302
  /* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
46184
46303
  /* *
46185
46304
  *
@@ -46187,7 +46306,7 @@ var CenteredUtilities;
46187
46306
  *
46188
46307
  * */
46189
46308
  /**
46190
- * @private
46309
+ * @internal
46191
46310
  * @interface Highcharts.RadianAngles
46192
46311
  */ /**
46193
46312
  * @name Highcharts.RadianAngles#end
@@ -46212,7 +46331,6 @@ var CenteredUtilities;
46212
46331
  * */
46213
46332
 
46214
46333
 
46215
- const { setAnimation: PiePoint_setAnimation } = AnimationUtilities;
46216
46334
 
46217
46335
 
46218
46336
  /* *
@@ -46320,7 +46438,7 @@ class PiePoint extends Series_Point {
46320
46438
  */
46321
46439
  slice(sliced, redraw, animation) {
46322
46440
  const series = this.series, chart = series.chart;
46323
- PiePoint_setAnimation(animation, chart);
46441
+ setAnimation(animation, chart);
46324
46442
  // Redraw is true by default
46325
46443
  redraw = pick(redraw, true);
46326
46444
  this.sliced = this.options.sliced = sliced ?? !this.sliced;
@@ -48458,7 +48576,7 @@ function BorderRadius_arc(x, y, w, h, options = {}) {
48458
48576
  if (options.open || !options.borderRadius) {
48459
48577
  return path;
48460
48578
  }
48461
- const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(options.borderRadius || 0, r - innerR),
48579
+ const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
48462
48580
  // Cap to half the sector radius
48463
48581
  (r - innerR) / 2,
48464
48582
  // For smaller pie slices, cap to the largest small circle that
@@ -48484,7 +48602,7 @@ function seriesOnAfterColumnTranslate() {
48484
48602
  if (this.options.borderRadius &&
48485
48603
  !(this.chart.is3d && this.chart.is3d())) {
48486
48604
  const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
48487
- ?.borderRadius, borderRadius = optionsToObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
48605
+ ?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
48488
48606
  for (const point of this.points) {
48489
48607
  const { shapeArgs } = point;
48490
48608
  if (point.shapeType === 'roundedRect' && shapeArgs) {
@@ -48556,8 +48674,12 @@ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
48556
48674
  symbols.roundedRect = BorderRadius_roundedRect;
48557
48675
  }
48558
48676
  }
48559
- /** @internal */
48560
- function optionsToObject(options, seriesBROptions) {
48677
+ /**
48678
+ * Utility function to get the full border radius options object, from a simple
48679
+ * number or a partial options object.
48680
+ * @internal
48681
+ */
48682
+ function borderRadiusObject(options, seriesBROptions) {
48561
48683
  if (!isObject(options)) {
48562
48684
  options = { radius: options || 0 };
48563
48685
  }
@@ -48565,7 +48687,7 @@ function optionsToObject(options, seriesBROptions) {
48565
48687
  }
48566
48688
  /** @internal */
48567
48689
  function pieSeriesOnAfterTranslate() {
48568
- const borderRadius = optionsToObject(this.options.borderRadius);
48690
+ const borderRadius = borderRadiusObject(this.options.borderRadius);
48569
48691
  for (const point of this.points) {
48570
48692
  const shapeArgs = point.shapeArgs;
48571
48693
  if (shapeArgs) {
@@ -48684,7 +48806,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
48684
48806
  * Column and pie with rounded border
48685
48807
  *
48686
48808
  * @name Highcharts.BorderRadiusOptionsObject#radius
48687
- * @type {string|number}
48809
+ * @type {string|number|undefined}
48688
48810
  */ /**
48689
48811
  * The scope of the rounding for column charts or plot bands. In a stacked
48690
48812
  * column chart, the value `point` means each single point will get rounded
@@ -48699,8 +48821,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
48699
48821
  * Rounded columns
48700
48822
  *
48701
48823
  * @name Highcharts.BorderRadiusOptionsObject#scope
48702
- * @validvalue ["individual", "point", "stack"]
48703
- * @type {string}
48824
+ * @type {"individual"|"point"|"stack"|undefined}
48704
48825
  */ /**
48705
48826
  * For column charts, where in the point or stack to apply rounding. The `end`
48706
48827
  * value means only those corners at the point value will be rounded, leaving
@@ -48711,8 +48832,7 @@ function BorderRadius_roundedRect(x, y, width, height, options = {}) {
48711
48832
  * Rounding on all corners
48712
48833
  *
48713
48834
  * @name Highcharts.BorderRadiusOptionsObject#where
48714
- * @validvalue ["all", "end"]
48715
- * @type {string}
48835
+ * @type {"all"|"end"|undefined}
48716
48836
  * @default end
48717
48837
  */
48718
48838
  (''); // Keeps doclets above in JS file
@@ -48988,7 +49108,7 @@ var Responsive;
48988
49108
  ;// ./code/es-modules/masters/highcharts.src.js
48989
49109
  // SPDX-License-Identifier: LicenseRef-Highcharts
48990
49110
  /**
48991
- * @license Highcharts JS v13.0.0 (2026-06-11)
49111
+ * @license Highcharts JS v13.0.1 (2026-08-17)
48992
49112
  * @module highcharts/highcharts
48993
49113
  *
48994
49114
  * (c) 2009-2026 Highsoft AS
@@ -49069,8 +49189,8 @@ G.Time = Core_Time;
49069
49189
  G.Tooltip = Core_Tooltip;
49070
49190
  // Utilities
49071
49191
  G.addEvent = addEvent;
49072
- G.animObject = AnimationUtilities.animObject;
49073
- G.animate = AnimationUtilities.animate;
49192
+ G.animObject = animObject;
49193
+ G.animate = animate;
49074
49194
  G.arrayMax = arrayMax;
49075
49195
  G.arrayMin = arrayMin;
49076
49196
  G.attr = attr;
@@ -49097,7 +49217,7 @@ G.fireEvent = fireEvent;
49097
49217
  G.format = Core_Templating.format;
49098
49218
  G.getAlignFactor = getAlignFactor;
49099
49219
  G.getClosestDistance = getClosestDistance;
49100
- G.getDeferredAnimation = AnimationUtilities.getDeferredAnimation;
49220
+ G.getDeferredAnimation = getDeferredAnimation;
49101
49221
  G.getMagnitude = getMagnitude;
49102
49222
  G.getNestedProperty = getNestedProperty;
49103
49223
  G.getOptions = Defaults.getOptions;
@@ -49124,11 +49244,11 @@ G.relativeLength = relativeLength;
49124
49244
  G.removeEvent = removeEvent;
49125
49245
  G.replaceNested = replaceNested;
49126
49246
  G.seriesType = Series_SeriesRegistry.seriesType;
49127
- G.setAnimation = AnimationUtilities.setAnimation;
49247
+ G.setAnimation = setAnimation;
49128
49248
  G.setOptions = Defaults.setOptions;
49129
49249
  G.splat = splat;
49130
49250
  G.stableSort = stableSort;
49131
- G.stop = AnimationUtilities.stop;
49251
+ G.stop = stop;
49132
49252
  G.syncTimeout = syncTimeout;
49133
49253
  G.time = Defaults.defaultTime;
49134
49254
  G.ucfirst = ucfirst;
@@ -50508,7 +50628,7 @@ const NavigatorDefaults = {
50508
50628
  *
50509
50629
  * @type {Highcharts.ColorType}
50510
50630
  */
50511
- maskFill: 'color-mix(var(--highcharts-highlight-color-60) 30%, transparent)',
50631
+ maskFill: 'color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)', // eslint-disable-line max-len
50512
50632
  /**
50513
50633
  * The color of the line marking the currently zoomed area in the
50514
50634
  * navigator.
@@ -50647,11 +50767,18 @@ const NavigatorDefaults = {
50647
50767
  id: 'highcharts-navigator-series',
50648
50768
  className: 'highcharts-navigator-series',
50649
50769
  /**
50650
- * Sets the fill color of the navigator series.
50770
+ * Sets the color of the navigator series.
50651
50771
  *
50652
50772
  * @type {Highcharts.ColorType}
50653
50773
  * @apioption navigator.series.color
50654
50774
  */
50775
+ /**
50776
+ * Sets the fill color of the navigator series. Applies to series
50777
+ * types with a filled area, like the default `areaspline`.
50778
+ *
50779
+ * @type {Highcharts.ColorType}
50780
+ * @apioption navigator.series.fillColor
50781
+ */
50655
50782
  /**
50656
50783
  * Line color for the navigator series. Allows setting the color
50657
50784
  * while disallowing the default candlestick setting.
@@ -50851,6 +50978,7 @@ const NavigatorDefaults = {
50851
50978
 
50852
50979
 
50853
50980
 
50981
+
50854
50982
  /* *
50855
50983
  *
50856
50984
  * Constants
@@ -50861,7 +50989,7 @@ const NavigatorDefaults = {
50861
50989
  * @internal
50862
50990
  */
50863
50991
  function navigatorHandle(_x, _y, width, height, options = {}) {
50864
- const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(options.borderRadius || 0, Math.min(halfWidth * 2, height));
50992
+ const halfWidth = options.width ? options.width / 2 : width, markerPosition = 1.5, r = relativeLength(borderRadiusObject(options.borderRadius).radius, Math.min(halfWidth * 2, height));
50865
50993
  height = options.height || height;
50866
50994
  return [
50867
50995
  ['M', -markerPosition, height / 2 - 3.5],
@@ -57854,9 +57982,10 @@ Pathfinder.prototype.algorithms = PathfinderAlgorithms;
57854
57982
  ''; // Keeps doclets above in JS file
57855
57983
 
57856
57984
  ;// ./code/es-modules/masters/modules/pathfinder.src.js
57985
+ /* unused harmony import specifier */ var Highcharts;
57857
57986
  // SPDX-License-Identifier: LicenseRef-Highcharts
57858
57987
  /**
57859
- * @license Highcharts Gantt JS v13.0.0 (2026-06-11)
57988
+ * @license Highcharts Gantt JS v13.0.1 (2026-08-17)
57860
57989
  * @module highcharts/modules/pathfinder
57861
57990
  * @requires highcharts
57862
57991
  *
@@ -57984,9 +58113,10 @@ function chartAdjustHeight() {
57984
58113
  ''; // Keeps doclets above in JS file
57985
58114
 
57986
58115
  ;// ./code/es-modules/masters/modules/static-scale.src.js
58116
+ /* unused harmony import specifier */ var static_scale_src_Highcharts;
57987
58117
  // SPDX-License-Identifier: LicenseRef-Highcharts
57988
58118
  /**
57989
- * @license Highcharts Gantt JS v13.0.0 (2026-06-11)
58119
+ * @license Highcharts Gantt JS v13.0.1 (2026-08-17)
57990
58120
  * @module highcharts/modules/static-scale
57991
58121
  * @requires highcharts
57992
58122
  *
@@ -58003,7 +58133,7 @@ function chartAdjustHeight() {
58003
58133
 
58004
58134
  const static_scale_src_G = Core_Globals;
58005
58135
  composeStaticScale(static_scale_src_G.Axis, static_scale_src_G.Chart);
58006
- /* harmony default export */ const static_scale_src = ((/* unused pure expression or super */ null && (Highcharts)));
58136
+ /* harmony default export */ const static_scale_src = ((/* unused pure expression or super */ null && (static_scale_src_Highcharts)));
58007
58137
 
58008
58138
  ;// ./code/es-modules/Series/XRange/XRangeSeriesDefaults.js
58009
58139
  /* *
@@ -58401,7 +58531,7 @@ function onAxisAfterGetSeriesExtremes() {
58401
58531
  const time = this.chart.time;
58402
58532
  let dataMax, modMax;
58403
58533
  if (this.isXAxis) {
58404
- dataMax = pick(this.dataMax, -Number.MAX_VALUE);
58534
+ dataMax = this.dataMax ?? -Number.MAX_VALUE;
58405
58535
  for (const series of this.series) {
58406
58536
  const column = (series.dataTable.getColumn('x2', true) ||
58407
58537
  series.dataTable.getColumn('end', true) ||
@@ -58526,7 +58656,7 @@ class XRangeSeries extends XRangeSeries_ColumnSeries {
58526
58656
  }
58527
58657
  alignDataLabel(point) {
58528
58658
  const oldPlotX = point.plotX;
58529
- point.plotX = pick(point.dlBox?.centerX, point.plotX);
58659
+ point.plotX = point.dlBox?.centerX ?? point.plotX;
58530
58660
  if (point.dataLabel && point.shapeArgs?.width) {
58531
58661
  point.dataLabel.css({
58532
58662
  width: `${point.shapeArgs.width}px`
@@ -58539,9 +58669,9 @@ class XRangeSeries extends XRangeSeries_ColumnSeries {
58539
58669
  * @private
58540
58670
  */
58541
58671
  translatePoint(point) {
58542
- const xAxis = this.xAxis, yAxis = this.yAxis, metrics = this.columnMetrics, options = this.options, minPointLength = options.minPointLength || 0, oldColWidth = (point.shapeArgs?.width || 0) / 2, seriesXOffset = this.pointXOffset = metrics.offset, posX = pick(point.x2, point.x + (point.len || 0)), borderRadius = options.borderRadius, plotTop = this.chart.plotTop, plotLeft = this.chart.plotLeft;
58672
+ const xAxis = this.xAxis, yAxis = this.yAxis, metrics = this.columnMetrics, options = this.options, minPointLength = options.minPointLength || 0, oldColWidth = (point.shapeArgs?.width || 0) / 2, seriesXOffset = this.pointXOffset = metrics.offset, posX = point.x2 ?? (point.x + (point.len || 0)), borderRadius = options.borderRadius, plotTop = this.chart.plotTop, plotLeft = this.chart.plotLeft;
58543
58673
  let plotX = point.plotX, plotX2 = xAxis.translate(posX, 0, 0, 0, 1);
58544
- const length = Math.abs(plotX2 - plotX), inverted = this.chart.inverted, borderWidth = pick(options.borderWidth, 1);
58674
+ const length = Math.abs(plotX2 - plotX), inverted = this.chart.inverted, borderWidth = options.borderWidth ?? 1;
58545
58675
  let widthDifference, partialFill, yOffset = metrics.offset, pointHeight = Math.round(metrics.width), dlLeft, dlRight, dlWidth, clipRectWidth;
58546
58676
  if (minPointLength) {
58547
58677
  widthDifference = minPointLength - length;
@@ -58671,9 +58801,9 @@ class XRangeSeries extends XRangeSeries_ColumnSeries {
58671
58801
  * 'animate' (animates changes) or 'attr' (sets options)
58672
58802
  */
58673
58803
  drawPoint(point, verb) {
58674
- const seriesOpts = this.options, renderer = this.chart.renderer, type = point.shapeType, shapeArgs = point.shapeArgs, partShapeArgs = point.partShapeArgs, clipRectArgs = point.clipRectArgs, pointState = point.state, stateOpts = (seriesOpts.states[pointState || 'normal'] ||
58675
- {}), pointStateVerb = typeof pointState === 'undefined' ?
58676
- 'attr' : verb, pointAttr = this.pointAttribs(point, pointState), animation = pick(this.chart.options.chart.animation, stateOpts.animation);
58804
+ const seriesOpts = this.options, renderer = this.chart.renderer, type = point.shapeType, shapeArgs = point.shapeArgs, partShapeArgs = point.partShapeArgs, clipRectArgs = point.clipRectArgs, pointState = point.state, stateOpts = seriesOpts.states?.[pointState || 'normal'] || {}, pointStateVerb = typeof pointState === 'undefined' ?
58805
+ 'attr' : verb, pointAttr = this.pointAttribs(point, pointState), animation = (this.chart.options.chart.animation ??
58806
+ stateOpts.animation);
58677
58807
  let graphic = point.graphic, pfOptions = point.partialFill;
58678
58808
  if (!point.isNull && point.visible !== false) {
58679
58809
  const className = point.getClassName();
@@ -58799,9 +58929,10 @@ Series_SeriesRegistry.registerSeriesType('xrange', XRangeSeries);
58799
58929
  /* harmony default export */ const XRange_XRangeSeries = (XRangeSeries);
58800
58930
 
58801
58931
  ;// ./code/es-modules/masters/modules/xrange.src.js
58932
+ /* unused harmony import specifier */ var xrange_src_Highcharts;
58802
58933
  // SPDX-License-Identifier: LicenseRef-Highcharts
58803
58934
  /**
58804
- * @license Highcharts JS v13.0.0 (2026-06-11)
58935
+ * @license Highcharts JS v13.0.1 (2026-08-17)
58805
58936
  * @module highcharts/modules/xrange
58806
58937
  * @requires highcharts
58807
58938
  *
@@ -58818,7 +58949,7 @@ Series_SeriesRegistry.registerSeriesType('xrange', XRangeSeries);
58818
58949
 
58819
58950
  const xrange_src_G = Core_Globals;
58820
58951
  XRange_XRangeSeries.compose(xrange_src_G.Axis);
58821
- /* harmony default export */ const xrange_src = ((/* unused pure expression or super */ null && (Highcharts)));
58952
+ /* harmony default export */ const xrange_src = ((/* unused pure expression or super */ null && (xrange_src_Highcharts)));
58822
58953
 
58823
58954
  ;// ./code/es-modules/Series/Gantt/GanttPoint.js
58824
58955
  /* *
@@ -60414,6 +60545,11 @@ function GridAxis_onChartAfterSetChartSize() {
60414
60545
  /** @internal */
60415
60546
  function onDestroy(e) {
60416
60547
  const { grid } = this;
60548
+ // Axes created before the Gantt module was loaded have no grid
60549
+ // additions to be destroyed (#24644).
60550
+ if (!grid) {
60551
+ return;
60552
+ }
60417
60553
  (grid.columns || []).forEach((column) => column.destroy(e.keepEvents));
60418
60554
  grid.columns = void 0;
60419
60555
  }
@@ -60433,7 +60569,9 @@ function onInit(e) {
60433
60569
  }
60434
60570
  axis.hiddenLabels = [];
60435
60571
  axis.hiddenMarks = [];
60436
- axis.clippable = false;
60572
+ if (gridOptions.enabled) {
60573
+ axis.clippable = false;
60574
+ }
60437
60575
  }
60438
60576
  /**
60439
60577
  * Center tick labels in cells.
@@ -61786,7 +61924,7 @@ function wrapInit(proceed, chart, userOptions, coll) {
61786
61924
  if (isTreeGrid) {
61787
61925
  // Add event for updating the categories of a treegrid.
61788
61926
  // NOTE Preferably these events should be set on the axis.
61789
- addEvent(chart, 'beforeRender', onBeforeRender);
61927
+ addEvent(chart, 'beforeRender', onBeforeRender, { order: 0 });
61790
61928
  addEvent(chart, 'beforeRedraw', onBeforeRender);
61791
61929
  // Add new collapsed nodes on addSeries
61792
61930
  addEvent(chart, 'addSeries', function (e) {
@@ -62204,7 +62342,8 @@ class GanttSeries extends GanttSeries_XRangeSeries {
62204
62342
  if (columnName === 'x') {
62205
62343
  const startColumn = super.getColumn('start');
62206
62344
  if (startColumn.length) {
62207
- return startColumn.map((val) => time.parse(val) || 0);
62345
+ return startColumn.map((val) => time.parse(val) ?? NaN // #24849
62346
+ );
62208
62347
  }
62209
62348
  }
62210
62349
  return super.getColumn.apply(this, arguments);
@@ -62298,9 +62437,10 @@ Series_SeriesRegistry.registerSeriesType('gantt', GanttSeries);
62298
62437
  /* harmony default export */ const Gantt_GanttSeries = (GanttSeries);
62299
62438
 
62300
62439
  ;// ./code/es-modules/masters/modules/gantt.src.js
62440
+ /* unused harmony import specifier */ var gantt_src_Highcharts;
62301
62441
  // SPDX-License-Identifier: LicenseRef-Highcharts
62302
62442
  /**
62303
- * @license Highcharts Gantt JS v13.0.0 (2026-06-11)
62443
+ * @license Highcharts Gantt JS v13.0.1 (2026-08-17)
62304
62444
  * @module highcharts/modules/gantt
62305
62445
  * @requires highcharts
62306
62446
  *
@@ -62342,7 +62482,7 @@ Gantt_GanttSeries.compose(gantt_src_G.Axis, gantt_src_G.Chart, gantt_src_G.Serie
62342
62482
  gantt_src_G.Navigator.compose(gantt_src_G.Chart, gantt_src_G.Axis, gantt_src_G.Series);
62343
62483
  gantt_src_G.RangeSelector.compose(gantt_src_G.Axis, gantt_src_G.Chart);
62344
62484
  gantt_src_G.Scrollbar.compose(gantt_src_G.Axis);
62345
- /* harmony default export */ const gantt_src = ((/* unused pure expression or super */ null && (Highcharts)));
62485
+ /* harmony default export */ const gantt_src = ((/* unused pure expression or super */ null && (gantt_src_Highcharts)));
62346
62486
 
62347
62487
  ;// ./code/es-modules/masters/highcharts-gantt.src.js
62348
62488