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 JS v13.0.0 (2026-06-11)
3
+ * @license Highcharts JS v13.0.1 (2026-08-17)
4
4
  * @module highcharts/highcharts-more
5
5
  * @requires highcharts
6
6
  *
@@ -23,90 +23,90 @@ return /******/ (() => { // webpackBootstrap
23
23
  /******/ "use strict";
24
24
  /******/ var __webpack_modules__ = ({
25
25
 
26
- /***/ 28:
27
- /***/ ((module) => {
26
+ /***/ 960
27
+ (module) {
28
28
 
29
- module.exports = __WEBPACK_EXTERNAL_MODULE__28__;
29
+ module.exports = __WEBPACK_EXTERNAL_MODULE__960__;
30
30
 
31
- /***/ }),
31
+ /***/ },
32
32
 
33
- /***/ 184:
34
- /***/ ((module) => {
33
+ /***/ 620
34
+ (module) {
35
35
 
36
- module.exports = __WEBPACK_EXTERNAL_MODULE__184__;
36
+ module.exports = __WEBPACK_EXTERNAL_MODULE__620__;
37
37
 
38
- /***/ }),
38
+ /***/ },
39
39
 
40
- /***/ 260:
41
- /***/ ((module) => {
40
+ /***/ 260
41
+ (module) {
42
42
 
43
43
  module.exports = __WEBPACK_EXTERNAL_MODULE__260__;
44
44
 
45
- /***/ }),
45
+ /***/ },
46
46
 
47
- /***/ 448:
48
- /***/ ((module) => {
47
+ /***/ 28
48
+ (module) {
49
49
 
50
- module.exports = __WEBPACK_EXTERNAL_MODULE__448__;
50
+ module.exports = __WEBPACK_EXTERNAL_MODULE__28__;
51
51
 
52
- /***/ }),
52
+ /***/ },
53
53
 
54
- /***/ 512:
55
- /***/ ((module) => {
54
+ /***/ 448
55
+ (module) {
56
56
 
57
- module.exports = __WEBPACK_EXTERNAL_MODULE__512__;
57
+ module.exports = __WEBPACK_EXTERNAL_MODULE__448__;
58
58
 
59
- /***/ }),
59
+ /***/ },
60
60
 
61
- /***/ 620:
62
- /***/ ((module) => {
61
+ /***/ 820
62
+ (module) {
63
63
 
64
- module.exports = __WEBPACK_EXTERNAL_MODULE__620__;
64
+ module.exports = __WEBPACK_EXTERNAL_MODULE__820__;
65
65
 
66
- /***/ }),
66
+ /***/ },
67
67
 
68
- /***/ 820:
69
- /***/ ((module) => {
68
+ /***/ 512
69
+ (module) {
70
70
 
71
- module.exports = __WEBPACK_EXTERNAL_MODULE__820__;
71
+ module.exports = __WEBPACK_EXTERNAL_MODULE__512__;
72
72
 
73
- /***/ }),
73
+ /***/ },
74
74
 
75
- /***/ 944:
76
- /***/ ((module) => {
75
+ /***/ 184
76
+ (module) {
77
77
 
78
- module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
78
+ module.exports = __WEBPACK_EXTERNAL_MODULE__184__;
79
79
 
80
- /***/ }),
80
+ /***/ },
81
81
 
82
- /***/ 960:
83
- /***/ ((module) => {
82
+ /***/ 984
83
+ (module) {
84
84
 
85
- module.exports = __WEBPACK_EXTERNAL_MODULE__960__;
85
+ module.exports = __WEBPACK_EXTERNAL_MODULE__984__;
86
86
 
87
- /***/ }),
87
+ /***/ },
88
88
 
89
- /***/ 984:
90
- /***/ ((module) => {
89
+ /***/ 944
90
+ (module) {
91
91
 
92
- module.exports = __WEBPACK_EXTERNAL_MODULE__984__;
92
+ module.exports = __WEBPACK_EXTERNAL_MODULE__944__;
93
93
 
94
- /***/ })
94
+ /***/ }
95
95
 
96
96
  /******/ });
97
97
  /************************************************************************/
98
98
  /******/ // The module cache
99
- /******/ var __webpack_module_cache__ = {};
99
+ /******/ const __webpack_module_cache__ = {};
100
100
  /******/
101
101
  /******/ // The require function
102
102
  /******/ function __webpack_require__(moduleId) {
103
103
  /******/ // Check if module is in cache
104
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
104
+ /******/ const cachedModule = __webpack_module_cache__[moduleId];
105
105
  /******/ if (cachedModule !== undefined) {
106
106
  /******/ return cachedModule.exports;
107
107
  /******/ }
108
108
  /******/ // Create a new module (and put it into the cache)
109
- /******/ var module = __webpack_module_cache__[moduleId] = {
109
+ /******/ const module = __webpack_module_cache__[moduleId] = {
110
110
  /******/ // no module.id needed
111
111
  /******/ // no module.loaded needed
112
112
  /******/ exports: {}
@@ -124,7 +124,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__984__;
124
124
  /******/ (() => {
125
125
  /******/ // getDefaultExport function for compatibility with non-harmony modules
126
126
  /******/ __webpack_require__.n = (module) => {
127
- /******/ var getter = module && module.__esModule ?
127
+ /******/ const getter = module && module.__esModule ?
128
128
  /******/ () => (module['default']) :
129
129
  /******/ () => (module);
130
130
  /******/ __webpack_require__.d(getter, { a: getter });
@@ -134,11 +134,26 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__984__;
134
134
  /******/
135
135
  /******/ /* webpack/runtime/define property getters */
136
136
  /******/ (() => {
137
- /******/ // define getter functions for harmony exports
137
+ /******/ // define getter/value functions for harmony exports
138
138
  /******/ __webpack_require__.d = (exports, definition) => {
139
- /******/ for(var key in definition) {
140
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
141
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
139
+ /******/ if(Array.isArray(definition)) {
140
+ /******/ var i = 0;
141
+ /******/ while(i < definition.length) {
142
+ /******/ var key = definition[i++];
143
+ /******/ var binding = definition[i++];
144
+ /******/ if(!__webpack_require__.o(exports, key)) {
145
+ /******/ if(binding === 0) {
146
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
147
+ /******/ } else {
148
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
149
+ /******/ }
150
+ /******/ } else if(binding === 0) { i++; }
151
+ /******/ }
152
+ /******/ } else {
153
+ /******/ for(var key in definition) {
154
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
155
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
156
+ /******/ }
142
157
  /******/ }
143
158
  /******/ }
144
159
  /******/ };
@@ -150,7 +165,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__984__;
150
165
  /******/ })();
151
166
  /******/
152
167
  /************************************************************************/
153
- var __webpack_exports__ = {};
168
+ let __webpack_exports__ = {};
154
169
 
155
170
  // EXPORTS
156
171
  __webpack_require__.d(__webpack_exports__, {
@@ -180,7 +195,7 @@ var highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highc
180
195
  const { deg2rad } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
181
196
 
182
197
  /**
183
- * @private
198
+ * @internal
184
199
  */
185
200
  var CenteredUtilities;
186
201
  (function (CenteredUtilities) {
@@ -198,7 +213,7 @@ var CenteredUtilities;
198
213
  * Get the center of the pie based on the size and center options relative
199
214
  * to the plot area. Borrowed by the polar and gauge series types.
200
215
  *
201
- * @private
216
+ * @internal
202
217
  * @function Highcharts.CenteredSeriesMixin.getCenter
203
218
  */
204
219
  function getCenter() {
@@ -243,7 +258,7 @@ var CenteredUtilities;
243
258
  * GetStartAndEndRadians - Calculates start and end angles in radians.
244
259
  * Used in series types such as pie and sunburst.
245
260
  *
246
- * @private
261
+ * @internal
247
262
  * @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
248
263
  *
249
264
  * @param {number} [start]
@@ -275,6 +290,7 @@ var CenteredUtilities;
275
290
  * Default Export
276
291
  *
277
292
  * */
293
+ /** @internal */
278
294
  /* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
279
295
  /* *
280
296
  *
@@ -282,7 +298,7 @@ var CenteredUtilities;
282
298
  *
283
299
  * */
284
300
  /**
285
- * @private
301
+ * @internal
286
302
  * @interface Highcharts.RadianAngles
287
303
  */ /**
288
304
  * @name Highcharts.RadianAngles#end
@@ -464,7 +480,7 @@ const { defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_
464
480
  * @sample {highcharts} highcharts/series-solidgauge/pane-borderradius
465
481
  * Solid gauge with background settings
466
482
  *
467
- * @type {*|Array<*>}
483
+ * @type {null|*|Array<*>}
468
484
  * @requires highcharts-more
469
485
  * @optionparent pane.background
470
486
  */
@@ -1148,6 +1164,139 @@ class AreaRangePoint extends AreaPoint {
1148
1164
  */
1149
1165
  ''; // Keeps doclets above in JS file.
1150
1166
 
1167
+ // EXTERNAL MODULE: external {"amd":["highcharts/highcharts","Series","types","column"],"commonjs":["highcharts","Series","types","column"],"commonjs2":["highcharts","Series","types","column"],"root":["Highcharts","Series","types","column"]}
1168
+ var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_ = __webpack_require__(448);
1169
+ var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_default = /*#__PURE__*/__webpack_require__.n(highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_);
1170
+ ;// ./code/es-modules/Series/RangeDataLabel.js
1171
+ /* *
1172
+ *
1173
+ * (c) 2010-2026 Highsoft AS
1174
+ * Author: Andrzej Buleczka
1175
+ *
1176
+ * */
1177
+
1178
+
1179
+
1180
+ /* *
1181
+ *
1182
+ * Declarations
1183
+ *
1184
+ * */
1185
+ var RangeDataLabel;
1186
+ (function (RangeDataLabel) {
1187
+ const plotYKeys = {
1188
+ close: ['plotClose'],
1189
+ high: ['highPlot', 'plotHigh'],
1190
+ low: ['lowPlot', 'plotLow'],
1191
+ median: ['medianPlot'],
1192
+ open: ['plotOpen'],
1193
+ q1: ['q1Plot'],
1194
+ q3: ['q3Plot'],
1195
+ y: ['plotY']
1196
+ };
1197
+ /* *
1198
+ *
1199
+ * Functions
1200
+ *
1201
+ * */
1202
+ function getPointPlotY(point, pointValKey) {
1203
+ const keys = plotYKeys[pointValKey] ?? [];
1204
+ for (const key of keys) {
1205
+ const value = point[key];
1206
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(value)) {
1207
+ return value;
1208
+ }
1209
+ }
1210
+ }
1211
+ function getBelow(point, options, plotY) {
1212
+ const plotHigh = getPointPlotY(point, 'high'), plotLow = getPointPlotY(point, 'low');
1213
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(plotHigh) && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(plotLow)) {
1214
+ return options.inside ?
1215
+ plotY === Math.min(plotHigh, plotLow) :
1216
+ plotY === Math.max(plotHigh, plotLow);
1217
+ }
1218
+ return false;
1219
+ }
1220
+ function compose(SeriesClass) {
1221
+ const seriesProto = SeriesClass.prototype;
1222
+ seriesProto.alignDataLabel = alignDataLabel;
1223
+ return SeriesClass;
1224
+ }
1225
+ RangeDataLabel.compose = compose;
1226
+ /**
1227
+ * Default formatter for range series data labels. Renders the value of
1228
+ * the point key the label is aligned to, so the legacy high and low
1229
+ * labels keep showing their respective values without an explicit format.
1230
+ * Does not modify `point.y`. Falls back to `point.y` (the value of
1231
+ * `series.pointValKey`) for an unresolved key.
1232
+ * @internal
1233
+ */
1234
+ function formatter(options) {
1235
+ const rawValue = options.alignToKey ?
1236
+ this.getNestedProperty(options.alignToKey) :
1237
+ this.y, value = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(rawValue) ? rawValue : this.y;
1238
+ return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(value) ?
1239
+ this.series.chart.numberFormatter(value, -1) :
1240
+ '';
1241
+ }
1242
+ RangeDataLabel.formatter = formatter;
1243
+ /**
1244
+ * Rewrite a label's `format` so that `{y}` and `{point.y}` references
1245
+ * resolve to the value of the point key the label is aligned to, keeping
1246
+ * the legacy per-label `{y}` behavior of range data labels.
1247
+ * @internal
1248
+ */
1249
+ function applyAlignToKeyValue(options) {
1250
+ const { alignToKey, format } = options;
1251
+ // An explicit `format` ignores `alignToKey`, so its `{y}` (and
1252
+ // `{point.y}`) tokens point at the whole point. Rewrite them to the
1253
+ // aligned key so each range label keeps rendering its own value.
1254
+ // The default formatter already reads `alignToKey`.
1255
+ if (alignToKey && format) {
1256
+ options.format = format.replace(/\{(?:point\.)?y([:}])/g, '{point.' + alignToKey + '$1');
1257
+ }
1258
+ }
1259
+ RangeDataLabel.applyAlignToKeyValue = applyAlignToKeyValue;
1260
+ function resolveAlignToKey(series, rawKey) {
1261
+ return rawKey && series.pointArrayMap.indexOf(rawKey) > -1 ?
1262
+ rawKey :
1263
+ series.pointValKey;
1264
+ }
1265
+ RangeDataLabel.resolveAlignToKey = resolveAlignToKey;
1266
+ function alignDataLabel(point, dataLabel, options, alignTo, isNew) {
1267
+ const series = this, alignToKey = resolveAlignToKey(series, options.alignToKey), plotY = getPointPlotY(point, alignToKey), shapeArgs = point.shapeArgs, originalPlotY = point.plotY, originalDlBox = point.dlBox, originalBelow = point.below;
1268
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(plotY)) {
1269
+ point.plotY = plotY;
1270
+ if (shapeArgs && !options.inside) {
1271
+ point.dlBox = {
1272
+ x: shapeArgs.x ?? 0,
1273
+ y: (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(plotY, series.borderWidth, series.chart.inverted),
1274
+ width: shapeArgs.width ?? 0,
1275
+ height: 0
1276
+ };
1277
+ }
1278
+ const below = point.below = getBelow(point, options, plotY);
1279
+ if (series.chart.inverted) {
1280
+ options.align ?? (options.align = below ? 'right' : 'left');
1281
+ }
1282
+ else {
1283
+ options.verticalAlign ?? (options.verticalAlign = below ? 'top' : 'bottom');
1284
+ }
1285
+ }
1286
+ highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_default().prototype.alignDataLabel.call(series, point, dataLabel, options, alignTo, isNew);
1287
+ point.plotY = originalPlotY;
1288
+ point.dlBox = originalDlBox;
1289
+ point.below = originalBelow;
1290
+ }
1291
+ RangeDataLabel.alignDataLabel = alignDataLabel;
1292
+ })(RangeDataLabel || (RangeDataLabel = {}));
1293
+ /* *
1294
+ *
1295
+ * Default Export
1296
+ *
1297
+ * */
1298
+ /* harmony default export */ const Series_RangeDataLabel = (RangeDataLabel);
1299
+
1151
1300
  ;// ./code/es-modules/Series/AreaRange/AreaRangeSeries.js
1152
1301
  /* *
1153
1302
  *
@@ -1165,7 +1314,8 @@ class AreaRangePoint extends AreaPoint {
1165
1314
 
1166
1315
  const { noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
1167
1316
 
1168
- const { area: AreaSeries, area: { prototype: AreaRangeSeries_areaProto }, column: { prototype: columnProto } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
1317
+
1318
+ const { area: AreaSeries, area: { prototype: AreaRangeSeries_areaProto } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
1169
1319
 
1170
1320
  /* *
1171
1321
  *
@@ -1250,12 +1400,10 @@ const areaRangeSeriesOptions = {
1250
1400
  trackByArea: true,
1251
1401
  /**
1252
1402
  * Extended data labels for range series types. Range series data
1253
- * labels use no `x` and `y` options. Instead, they have `xLow`,
1254
- * `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
1255
- * data label sets individually.
1403
+ * labels can be positioned individually by defining them as an array
1404
+ * and setting `alignToKey` to `high` or `low`.
1256
1405
  *
1257
1406
  * @declare Highcharts.SeriesAreaRangeDataLabelsOptionsObject
1258
- * @exclude x, y
1259
1407
  * @since 2.3.0
1260
1408
  * @product highcharts highstock
1261
1409
  *
@@ -1263,39 +1411,103 @@ const areaRangeSeriesOptions = {
1263
1411
  */
1264
1412
  dataLabels: {
1265
1413
  align: void 0,
1414
+ formatter: Series_RangeDataLabel.formatter,
1266
1415
  verticalAlign: void 0,
1267
1416
  /**
1268
1417
  * X offset of the lower data labels relative to the point value.
1269
1418
  *
1419
+ * Deprecated. Use a data labels array with `alignToKey: 'low'` and
1420
+ * the regular `x` option instead.
1421
+ *
1270
1422
  * @sample highcharts/plotoptions/arearange-datalabels/
1271
1423
  * Data labels on range series
1272
1424
  * @sample highcharts/plotoptions/arearange-datalabels/
1273
1425
  * Data labels on range series
1426
+ * @deprecated 13.0.1
1274
1427
  */
1275
1428
  xLow: 0,
1276
1429
  /**
1277
1430
  * X offset of the higher data labels relative to the point value.
1278
1431
  *
1432
+ * Deprecated. Use a data labels array with `alignToKey: 'high'` and
1433
+ * the regular `x` option instead.
1434
+ *
1279
1435
  * @sample highcharts/plotoptions/arearange-datalabels/
1280
1436
  * Data labels on range series
1437
+ * @deprecated 13.0.1
1281
1438
  */
1282
1439
  xHigh: 0,
1283
1440
  /**
1284
1441
  * Y offset of the lower data labels relative to the point value.
1285
1442
  *
1443
+ * Deprecated. Use a data labels array with `alignToKey: 'low'` and
1444
+ * the regular `y` option instead.
1445
+ *
1286
1446
  * @sample highcharts/plotoptions/arearange-datalabels/
1287
1447
  * Data labels on range series
1448
+ * @deprecated 13.0.1
1288
1449
  */
1289
1450
  yLow: 0,
1290
1451
  /**
1291
1452
  * Y offset of the higher data labels relative to the point value.
1292
1453
  *
1454
+ * Deprecated. Use a data labels array with `alignToKey: 'high'` and
1455
+ * the regular `y` option instead.
1456
+ *
1293
1457
  * @sample highcharts/plotoptions/arearange-datalabels/
1294
1458
  * Data labels on range series
1459
+ * @deprecated 13.0.1
1295
1460
  */
1296
1461
  yHigh: 0
1297
1462
  }
1298
1463
  };
1464
+ /* *
1465
+ *
1466
+ * Functions
1467
+ *
1468
+ * */
1469
+ /**
1470
+ * Normalize the dataLabels config into a per-label array. Resolves the
1471
+ * `alignToKey` default (`high` for the first label, `low` for the second) and
1472
+ * maps the deprecated `xLow/xHigh/yLow/yHigh` offsets onto each label's `x/y`.
1473
+ * @internal
1474
+ */
1475
+ function getRangeDataLabelOptions(series) {
1476
+ const dataLabels = series.options.dataLabels;
1477
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isArray)(dataLabels)) {
1478
+ return Array.from({
1479
+ length: Math.max(dataLabels.length, 2)
1480
+ }, (_, index) => {
1481
+ const options = dataLabels[index], defaultAlignToKey = index === 0 ? 'high' :
1482
+ index === 1 ? 'low' :
1483
+ series.pointValKey, alignToKey = options?.alignToKey ?? defaultAlignToKey;
1484
+ return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(options ?? { enabled: false }, { alignToKey });
1485
+ });
1486
+ }
1487
+ if (dataLabels?.alignToKey) {
1488
+ return [
1489
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(dataLabels, dataLabels.alignToKey === 'high' ? {
1490
+ x: dataLabels.xHigh,
1491
+ y: dataLabels.yHigh
1492
+ } : dataLabels.alignToKey === 'low' ? {
1493
+ x: dataLabels.xLow,
1494
+ y: dataLabels.yLow
1495
+ } : {})
1496
+ ];
1497
+ }
1498
+ return [
1499
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(dataLabels, {
1500
+ alignToKey: 'high',
1501
+ x: dataLabels?.xHigh,
1502
+ y: dataLabels?.yHigh
1503
+ }),
1504
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(dataLabels, {
1505
+ alignToKey: 'low',
1506
+ x: dataLabels?.xLow,
1507
+ y: dataLabels?.yLow
1508
+ })
1509
+ ];
1510
+ }
1299
1511
  /* *
1300
1512
  *
1301
1513
  * Class
@@ -1369,7 +1581,7 @@ class AreaRangeSeries extends AreaSeries {
1369
1581
  rectPlotX: point.rectPlotX,
1370
1582
  yBottom: point.yBottom,
1371
1583
  // `plotHighX` is for polar charts
1372
- plotX: (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.plotHighX, point.plotX),
1584
+ plotX: point.plotHighX ?? point.plotX,
1373
1585
  plotY: point.plotHigh,
1374
1586
  isNull: point.isNull
1375
1587
  };
@@ -1419,151 +1631,27 @@ class AreaRangeSeries extends AreaSeries {
1419
1631
  this.areaPath.xMap = lowerPath.xMap;
1420
1632
  return linePath;
1421
1633
  }
1422
- /**
1423
- * Extend the basic drawDataLabels method by running it for both lower and
1424
- * higher values.
1425
- * @internal
1426
- */
1427
1634
  drawDataLabels() {
1428
- const data = this.points, length = data.length, originalDataLabels = [], dataLabelOptions = this.options.dataLabels, inverted = this.chart.inverted;
1429
- let i, point, up, upperDataLabelOptions, lowerDataLabelOptions;
1635
+ const series = this, dataLabelOptions = series.options.dataLabels;
1430
1636
  if (dataLabelOptions) {
1431
- // Split into upper and lower options. If data labels is an array,
1432
- // the first element is the upper label, the second is the lower.
1433
- //
1434
- // TODO: We want to change this and allow multiple labels for both
1435
- // upper and lower values in the future - introducing some options
1436
- // for which point value to use as Y for the dataLabel, so that this
1437
- // could be handled in Series.drawDataLabels. This would also
1438
- // improve performance since we now have to loop over all the points
1439
- // multiple times to work around the data label logic.
1440
- if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isArray)(dataLabelOptions)) {
1441
- upperDataLabelOptions = dataLabelOptions[0] || {
1442
- enabled: false
1443
- };
1444
- lowerDataLabelOptions = dataLabelOptions[1] || {
1445
- enabled: false
1446
- };
1447
- }
1448
- else {
1449
- // Make copies
1450
- upperDataLabelOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)({}, dataLabelOptions);
1451
- upperDataLabelOptions.x = dataLabelOptions.xHigh;
1452
- upperDataLabelOptions.y = dataLabelOptions.yHigh;
1453
- lowerDataLabelOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)({}, dataLabelOptions);
1454
- lowerDataLabelOptions.x = dataLabelOptions.xLow;
1455
- lowerDataLabelOptions.y = dataLabelOptions.yLow;
1456
- }
1457
- // Draw upper labels
1458
- if (upperDataLabelOptions.enabled || this.hasDataLabels?.()) {
1459
- // Set preliminary values for plotY and dataLabel
1460
- // and draw the upper labels
1461
- i = length;
1462
- while (i--) {
1463
- point = data[i];
1464
- if (point) {
1465
- const { plotHigh = 0, plotLow = 0 } = point;
1466
- up = upperDataLabelOptions.inside ?
1467
- plotHigh < plotLow :
1468
- plotHigh > plotLow;
1469
- point.y = point.high;
1470
- point._plotY = point.plotY;
1471
- point.plotY = plotHigh;
1472
- // Store original data labels and set preliminary label
1473
- // objects to be picked up in the uber method
1474
- originalDataLabels[i] = point.dataLabel;
1475
- point.dataLabel = point.dataLabelUpper;
1476
- // Set the default offset
1477
- point.below = up;
1478
- if (inverted) {
1479
- if (!upperDataLabelOptions.align) {
1480
- upperDataLabelOptions.align = up ?
1481
- 'right' : 'left';
1482
- }
1483
- }
1484
- else {
1485
- if (!upperDataLabelOptions.verticalAlign) {
1486
- upperDataLabelOptions.verticalAlign = up ?
1487
- 'top' :
1488
- 'bottom';
1489
- }
1490
- }
1491
- }
1492
- }
1493
- this.options.dataLabels = upperDataLabelOptions;
1494
- if (AreaRangeSeries_areaProto.drawDataLabels) {
1495
- // #1209:
1496
- AreaRangeSeries_areaProto.drawDataLabels.apply(this, arguments);
1497
- }
1498
- // Reset state after the upper labels were created. Move
1499
- // it to point.dataLabelUpper and reassign the originals.
1500
- // We do this here to support not drawing a lower label.
1501
- i = length;
1502
- while (i--) {
1503
- point = data[i];
1504
- if (point) {
1505
- point.dataLabelUpper = point.dataLabel;
1506
- point.dataLabel = originalDataLabels[i];
1507
- delete point.dataLabels;
1508
- point.y = point.low;
1509
- point.plotY = point._plotY;
1510
- }
1511
- }
1512
- }
1513
- // Draw lower labels
1514
- if (lowerDataLabelOptions.enabled || this.hasDataLabels?.()) {
1515
- i = length;
1516
- while (i--) {
1517
- point = data[i];
1518
- if (point) {
1519
- const { plotHigh = 0, plotLow = 0 } = point;
1520
- up = lowerDataLabelOptions.inside ?
1521
- plotHigh < plotLow :
1522
- plotHigh > plotLow;
1523
- // Set the default offset
1524
- point.below = !up;
1525
- if (inverted) {
1526
- if (!lowerDataLabelOptions.align) {
1527
- lowerDataLabelOptions.align = up ?
1528
- 'left' : 'right';
1529
- }
1530
- }
1531
- else {
1532
- if (!lowerDataLabelOptions.verticalAlign) {
1533
- lowerDataLabelOptions.verticalAlign = up ?
1534
- 'bottom' :
1535
- 'top';
1536
- }
1537
- }
1538
- }
1539
- }
1540
- this.options.dataLabels = lowerDataLabelOptions;
1541
- if (AreaRangeSeries_areaProto.drawDataLabels) {
1542
- AreaRangeSeries_areaProto.drawDataLabels.apply(this, arguments);
1543
- }
1544
- }
1545
- // Merge upper and lower into point.dataLabels for later destroying
1546
- if (upperDataLabelOptions.enabled) {
1547
- i = length;
1548
- while (i--) {
1549
- point = data[i];
1550
- if (point) {
1551
- point.dataLabels = [
1552
- point.dataLabelUpper,
1553
- point.dataLabel
1554
- ].filter(function (label) {
1555
- return !!label;
1556
- });
1557
- }
1558
- }
1637
+ const rangeOptions = getRangeDataLabelOptions(series);
1638
+ // Resolve value references like `{y}` against the aligned key
1639
+ rangeOptions.forEach(Series_RangeDataLabel.applyAlignToKeyValue);
1640
+ series.options.dataLabels = rangeOptions;
1641
+ if (AreaRangeSeries_areaProto.drawDataLabels) {
1642
+ // #1209
1643
+ AreaRangeSeries_areaProto.drawDataLabels.call(series);
1644
+ }
1645
+ series.options.dataLabels = dataLabelOptions;
1646
+ for (const point of series.points) {
1647
+ const labels = point.dataLabels ?? [];
1648
+ point.dataLabelUpper = labels.find((label) => (Series_RangeDataLabel.resolveAlignToKey(series, label.options
1649
+ ?.alignToKey) === 'high'));
1650
+ point.dataLabel = labels.find((label) => (Series_RangeDataLabel.resolveAlignToKey(series, label.options
1651
+ ?.alignToKey) === 'low'));
1559
1652
  }
1560
- // Reset options
1561
- this.options.dataLabels = dataLabelOptions;
1562
1653
  }
1563
1654
  }
1564
- alignDataLabel() {
1565
- columnProto.alignDataLabel.apply(this, arguments);
1566
- }
1567
1655
  modifyMarkerSettings() {
1568
1656
  const series = this, originalMarkerSettings = {
1569
1657
  marker: series.options.marker,
@@ -1614,7 +1702,7 @@ class AreaRangeSeries extends AreaSeries {
1614
1702
  if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.defined)(point.plotHighX)) {
1615
1703
  point.plotX = point.plotHighX;
1616
1704
  }
1617
- point.y = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.high, point.origProps.y); // #15523
1705
+ point.y = point.high ?? point.origProps.y; // #15523
1618
1706
  point.negative = point.y < (series.options.threshold || 0);
1619
1707
  if (series.zones.length) {
1620
1708
  point.zone = point.getZone();
@@ -1712,6 +1800,7 @@ AreaRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_hig
1712
1800
  pointValKey: 'low',
1713
1801
  setStackedPoints: noop
1714
1802
  });
1803
+ Series_RangeDataLabel.compose(AreaRangeSeries);
1715
1804
  highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('arearange', AreaRangeSeries);
1716
1805
  /* *
1717
1806
  *
@@ -1896,10 +1985,15 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
1896
1985
  */
1897
1986
  ''; // Adds doclets above to transpiled file
1898
1987
 
1899
- ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js
1988
+ ;// ./code/es-modules/Extensions/BorderRadius.js
1989
+ /* unused harmony import specifier */ var relativeLength;
1990
+ /* unused harmony import specifier */ var isObject;
1991
+ /* unused harmony import specifier */ var extend;
1992
+ /* unused harmony import specifier */ var addEvent;
1900
1993
  /* *
1901
1994
  *
1902
- * (c) 2010-2026 Highsoft AS
1995
+ * Highcharts Border Radius module
1996
+ *
1903
1997
  * Author: Torstein Hønsi
1904
1998
  *
1905
1999
  * Integration of this software requires a license.
@@ -1909,116 +2003,520 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
1909
2003
  *
1910
2004
  * */
1911
2005
 
2006
+
2007
+ const { defaultOptions: BorderRadius_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
2008
+
2009
+ const { noop: BorderRadius_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
2010
+
1912
2011
  /* *
1913
2012
  *
1914
- * API Options
2013
+ * Constants
1915
2014
  *
1916
2015
  * */
1917
- /**
1918
- * A box plot is a convenient way of depicting groups of data through their
1919
- * five-number summaries: the smallest observation (sample minimum), lower
1920
- * quartile (Q1), median (Q2), upper quartile (Q3), and largest observation
1921
- * (sample maximum).
2016
+ const defaultBorderRadiusOptions = {
2017
+ radius: 0,
2018
+ scope: 'stack',
2019
+ where: void 0
2020
+ };
2021
+ /* *
1922
2022
  *
1923
- * @sample highcharts/demo/box-plot/
1924
- * Box plot
1925
- * @sample {highcharts} highcharts/css/boxplot/
1926
- * Box plot in styled mode
1927
- * @sample {highcharts} highcharts/series-scatter/jitter-boxplot
1928
- * Jittered scatter plot on top of a box plot
2023
+ * Variables
1929
2024
  *
1930
- * @extends plotOptions.column
1931
- * @excluding borderColor, borderRadius, borderWidth, groupZPadding,
1932
- * states, boostThreshold, boostBlending
1933
- * @product highcharts
1934
- * @requires highcharts-more
1935
- * @optionparent plotOptions.boxplot
1936
- */
1937
- const BoxPlotSeriesDefaults = {
1938
- /**
1939
- * The Y axis value to serve as the base for the columns, for
1940
- * distinguishing between values above and below a threshold. If `null`,
1941
- * the columns extend from the padding Y axis minimum.
1942
- *
1943
- * @type {number|null}
1944
- * @default null
1945
- * @since 2.0
1946
- * @product highcharts
1947
- */
1948
- threshold: null,
1949
- tooltip: {
1950
- pointFormat: '<span style="color:{point.color}">\u25CF</span> <b>' +
1951
- '{series.name}</b><br/>' +
1952
- 'Maximum: {point.high}<br/>' +
1953
- 'Upper quartile: {point.q3}<br/>' +
1954
- 'Median: {point.median}<br/>' +
1955
- 'Lower quartile: {point.q1}<br/>' +
1956
- 'Minimum: {point.low}<br/>'
1957
- },
1958
- /**
1959
- * The length of the whiskers, the horizontal lines marking low and
1960
- * high values. It can be a numerical pixel value, or a percentage
1961
- * value of the box width. Set `0` to disable whiskers.
1962
- *
1963
- * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
1964
- * Box plot styling
1965
- *
1966
- * @type {number|string}
1967
- * @since 3.0
1968
- * @product highcharts
1969
- */
1970
- whiskerLength: '50%',
1971
- /**
1972
- * The fill color of the box.
1973
- *
1974
- * In styled mode, the fill color can be set with the
1975
- * `.highcharts-boxplot-box` class.
1976
- *
1977
- * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
1978
- * Box plot styling
1979
- *
1980
- * @type {Highcharts.ColorType}
1981
- * @default #ffffff
1982
- * @since 3.0
1983
- * @product highcharts
1984
- */
1985
- fillColor: 'var(--highcharts-background-color)',
1986
- /**
1987
- * The width of the line surrounding the box. If any of
1988
- * [stemWidth](#plotOptions.boxplot.stemWidth),
1989
- * [medianWidth](#plotOptions.boxplot.medianWidth)
1990
- * or [whiskerWidth](#plotOptions.boxplot.whiskerWidth) are `null`,
1991
- * the lineWidth also applies to these lines.
1992
- *
1993
- * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
1994
- * Box plot styling
1995
- * @sample {highcharts} highcharts/plotoptions/error-bar-styling/
1996
- * Error bar styling
1997
- *
1998
- * @since 3.0
1999
- * @product highcharts
2000
- */
2001
- lineWidth: 1,
2002
- /**
2003
- * The color of the median line. If `undefined`, the general series
2004
- * color applies.
2005
- *
2006
- * In styled mode, the median stroke width can be set with the
2007
- * `.highcharts-boxplot-median` class.
2008
- *
2009
- * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2010
- * Box plot styling
2011
- * @sample {highcharts} highcharts/css/boxplot/
2012
- * Box plot in styled mode
2013
- * @sample {highcharts} highcharts/plotoptions/error-bar-styling/
2014
- * Error bar styling
2015
- *
2016
- * @type {Highcharts.ColorType}
2017
- * @since 3.0
2018
- * @product highcharts
2019
- * @apioption plotOptions.boxplot.medianColor
2020
- */
2021
- /**
2025
+ * */
2026
+ let oldArc = (/* unused pure expression or super */ null && (BorderRadius_noop));
2027
+ let oldRoundedRect = (/* unused pure expression or super */ null && (BorderRadius_noop));
2028
+ /* *
2029
+ *
2030
+ * Functions
2031
+ *
2032
+ * */
2033
+ /** @internal */
2034
+ function applyBorderRadius(path, i, r) {
2035
+ const a = path[i];
2036
+ let b = path[i + 1];
2037
+ if (b[0] === 'Z') {
2038
+ b = path[0];
2039
+ }
2040
+ let line, arc, fromLineToArc;
2041
+ // From straight line to arc
2042
+ if ((a[0] === 'M' || a[0] === 'L') && b[0] === 'A') {
2043
+ line = a;
2044
+ arc = b;
2045
+ fromLineToArc = true;
2046
+ // From arc to straight line
2047
+ }
2048
+ else if (a[0] === 'A' && (b[0] === 'M' || b[0] === 'L')) {
2049
+ line = b;
2050
+ arc = a;
2051
+ }
2052
+ if (line && arc && arc.params) {
2053
+ const bigR = arc[1],
2054
+ // In our use cases, outer pie slice arcs are clockwise and inner
2055
+ // arcs (donut/sunburst etc) are anti-clockwise
2056
+ clockwise = arc[5], params = arc.params, { start, end, cx, cy } = params;
2057
+ // Some geometric constants
2058
+ const relativeR = clockwise ? (bigR - r) : (bigR + r),
2059
+ // The angle, on the big arc, that the border radius arc takes up
2060
+ angleOfBorderRadius = relativeR ? Math.asin(r / relativeR) : 0, angleOffset = clockwise ?
2061
+ angleOfBorderRadius :
2062
+ -angleOfBorderRadius,
2063
+ // The distance along the radius of the big arc to the starting
2064
+ // point of the small border radius arc
2065
+ distanceBigCenterToStartArc = (Math.cos(angleOfBorderRadius) *
2066
+ relativeR);
2067
+ // From line to arc
2068
+ if (fromLineToArc) {
2069
+ // Update the cache
2070
+ params.start = start + angleOffset;
2071
+ // First move to the start position at the radial line. We want to
2072
+ // start one borderRadius closer to the center.
2073
+ line[1] = cx + distanceBigCenterToStartArc * Math.cos(start);
2074
+ line[2] = cy + distanceBigCenterToStartArc * Math.sin(start);
2075
+ // Now draw an arc towards the point where the small circle touches
2076
+ // the great circle.
2077
+ path.splice(i + 1, 0, [
2078
+ 'A',
2079
+ r,
2080
+ r,
2081
+ 0, // Slanting,
2082
+ 0, // Long arc
2083
+ 1, // Clockwise
2084
+ cx + bigR * Math.cos(params.start),
2085
+ cy + bigR * Math.sin(params.start)
2086
+ ]);
2087
+ // From arc to line
2088
+ }
2089
+ else {
2090
+ // Update the cache
2091
+ params.end = end - angleOffset;
2092
+ // End the big arc a bit earlier
2093
+ arc[6] = cx + bigR * Math.cos(params.end);
2094
+ arc[7] = cy + bigR * Math.sin(params.end);
2095
+ // Draw a small arc towards a point on the end angle, but one
2096
+ // borderRadius closer to the center relative to the perimeter.
2097
+ path.splice(i + 1, 0, [
2098
+ 'A',
2099
+ r,
2100
+ r,
2101
+ 0,
2102
+ 0,
2103
+ 1,
2104
+ cx + distanceBigCenterToStartArc * Math.cos(end),
2105
+ cy + distanceBigCenterToStartArc * Math.sin(end)
2106
+ ]);
2107
+ }
2108
+ // Long or short arc must be reconsidered because we have modified the
2109
+ // start and end points
2110
+ arc[4] = Math.abs(params.end - params.start) < Math.PI ? 0 : 1;
2111
+ }
2112
+ }
2113
+ /**
2114
+ * Extend arc with borderRadius.
2115
+ * @internal
2116
+ */
2117
+ function arc(x, y, w, h, options = {}) {
2118
+ const path = oldArc(x, y, w, h, options), { brStart = true, brEnd = true, innerR = 0, r = w, start = 0, end = 0 } = options;
2119
+ if (options.open || !options.borderRadius) {
2120
+ return path;
2121
+ }
2122
+ const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
2123
+ // Cap to half the sector radius
2124
+ (r - innerR) / 2,
2125
+ // For smaller pie slices, cap to the largest small circle that
2126
+ // can be fitted within the sector
2127
+ (r * sinHalfAlpha) / (1 + sinHalfAlpha)), 0),
2128
+ // For the inner radius, we need an extra cap because the inner arc
2129
+ // is shorter than the outer arc
2130
+ innerBorderRadius = Math.min(borderRadius, 2 * (alpha / Math.PI) * innerR);
2131
+ // Apply turn-by-turn border radius. Start at the end since we're
2132
+ // splicing in arc segments.
2133
+ let i = path.length - 1;
2134
+ while (i--) {
2135
+ if ((!brStart && (i === 0 || i === 3)) ||
2136
+ (!brEnd && (i === 1 || i === 2))) {
2137
+ continue;
2138
+ }
2139
+ applyBorderRadius(path, i, i > 1 ? innerBorderRadius : borderRadius);
2140
+ }
2141
+ return path;
2142
+ }
2143
+ /** @internal */
2144
+ function seriesOnAfterColumnTranslate() {
2145
+ if (this.options.borderRadius &&
2146
+ !(this.chart.is3d && this.chart.is3d())) {
2147
+ const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
2148
+ ?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
2149
+ for (const point of this.points) {
2150
+ const { shapeArgs } = point;
2151
+ if (point.shapeType === 'roundedRect' && shapeArgs) {
2152
+ const { width = 0, height = 0, y = 0 } = shapeArgs;
2153
+ let brBoxY = y, brBoxHeight = height;
2154
+ // It would be nice to refactor StackItem.getStackBox/
2155
+ // setOffset so that we could get a reliable box out of
2156
+ // it. Currently it is close if we remove the label
2157
+ // offset, but we still need to run crispCol and also
2158
+ // flip it if inverted, so atm it is simpler to do it
2159
+ // like the below.
2160
+ if (borderRadius.scope === 'stack' &&
2161
+ point.stackTotal) {
2162
+ const stackEnd = yAxis.translate(percent ? 100 : point.stackTotal, false, true, false, true), stackThreshold = yAxis.translate(options.threshold || 0, false, true, false, true), box = this.crispCol(0, Math.min(stackEnd, stackThreshold), 0, Math.abs(stackEnd - stackThreshold));
2163
+ brBoxY = box.y;
2164
+ brBoxHeight = box.height;
2165
+ }
2166
+ const flip = (point.negative ? -1 : 1) *
2167
+ (reversed ? -1 : 1) === -1;
2168
+ // Handle the where option
2169
+ let where = borderRadius.where;
2170
+ // Waterfall, hanging columns should have rounding on
2171
+ // all sides
2172
+ if (!where &&
2173
+ this.is('waterfall') &&
2174
+ Math.abs((point.yBottom || 0) -
2175
+ (this.translatedThreshold || 0)) > this.borderWidth) {
2176
+ where = 'all';
2177
+ }
2178
+ if (!where) {
2179
+ where = 'end';
2180
+ }
2181
+ // Get the radius
2182
+ const r = Math.min(relativeLength(borderRadius.radius, width), width / 2,
2183
+ // Cap to the height, but not if where is `end`
2184
+ where === 'all' ? brBoxHeight / 2 : Infinity) || 0;
2185
+ // If the `where` option is 'end', cut off the
2186
+ // rectangles by making the border-radius box one r
2187
+ // greater, so that the imaginary radius falls outside
2188
+ // the rectangle.
2189
+ if (where === 'end') {
2190
+ if (flip) {
2191
+ brBoxY -= r;
2192
+ brBoxHeight += r;
2193
+ }
2194
+ else {
2195
+ brBoxHeight += r;
2196
+ }
2197
+ }
2198
+ extend(shapeArgs, { brBoxHeight, brBoxY, r });
2199
+ }
2200
+ }
2201
+ }
2202
+ }
2203
+ /** @internal */
2204
+ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
2205
+ const PieSeriesClass = SeriesClass.types.pie;
2206
+ if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
2207
+ const symbols = SVGRendererClass.prototype.symbols;
2208
+ addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
2209
+ // After columnrange and polar column modifications
2210
+ order: 9
2211
+ });
2212
+ addEvent(PieSeriesClass, 'afterTranslate', pieSeriesOnAfterTranslate);
2213
+ SVGElementClass.symbolCustomAttribs.push('borderRadius', 'brBoxHeight', 'brBoxY', 'brEnd', 'brStart');
2214
+ oldArc = symbols.arc;
2215
+ oldRoundedRect = symbols.roundedRect;
2216
+ symbols.arc = arc;
2217
+ symbols.roundedRect = roundedRect;
2218
+ }
2219
+ }
2220
+ /**
2221
+ * Utility function to get the full border radius options object, from a simple
2222
+ * number or a partial options object.
2223
+ * @internal
2224
+ */
2225
+ function borderRadiusObject(options, seriesBROptions) {
2226
+ if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(options)) {
2227
+ options = { radius: options || 0 };
2228
+ }
2229
+ return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(defaultBorderRadiusOptions, seriesBROptions, options);
2230
+ }
2231
+ /** @internal */
2232
+ function pieSeriesOnAfterTranslate() {
2233
+ const borderRadius = borderRadiusObject(this.options.borderRadius);
2234
+ for (const point of this.points) {
2235
+ const shapeArgs = point.shapeArgs;
2236
+ if (shapeArgs) {
2237
+ shapeArgs.borderRadius = relativeLength(borderRadius.radius, (shapeArgs.r || 0) - ((shapeArgs.innerR) || 0));
2238
+ }
2239
+ }
2240
+ }
2241
+ /**
2242
+ * Extend roundedRect with individual cutting through rOffset.
2243
+ * @internal
2244
+ */
2245
+ function roundedRect(x, y, width, height, options = {}) {
2246
+ const path = oldRoundedRect(x, y, width, height, options), { r = 0, brBoxHeight = height, brBoxY = y } = options, brOffsetTop = y - brBoxY, brOffsetBtm = (brBoxY + brBoxHeight) - (y + height),
2247
+ // When the distance to the border-radius box is greater than the r
2248
+ // itself, it means no border radius. The -0.1 accounts for float
2249
+ // rounding errors.
2250
+ rTop = (brOffsetTop - r) > -0.1 ? 0 : r, rBtm = (brOffsetBtm - r) > -0.1 ? 0 : r, cutTop = Math.max(rTop && brOffsetTop, 0), cutBtm = Math.max(rBtm && brOffsetBtm, 0);
2251
+ /*
2252
+
2253
+ The naming of control points:
2254
+
2255
+ / a -------- b \
2256
+ / \
2257
+ h c
2258
+ | |
2259
+ | |
2260
+ | |
2261
+ g d
2262
+ \ /
2263
+ \ f -------- e /
2264
+
2265
+ */
2266
+ const a = [x + rTop, y], b = [x + width - rTop, y], c = [x + width, y + rTop], d = [
2267
+ x + width, y + height - rBtm
2268
+ ], e = [
2269
+ x + width - rBtm,
2270
+ y + height
2271
+ ], f = [x + rBtm, y + height], g = [x, y + height - rBtm], h = [x, y + rTop];
2272
+ const applyPythagoras = (r, altitude) => Math.sqrt(Math.pow(r, 2) - Math.pow(altitude, 2));
2273
+ // Inside stacks, cut off part of the top
2274
+ if (cutTop) {
2275
+ const base = applyPythagoras(rTop, rTop - cutTop);
2276
+ a[0] -= base;
2277
+ b[0] += base;
2278
+ c[1] = h[1] = y + rTop - cutTop;
2279
+ }
2280
+ // Column is lower than the radius. Cut off bottom inside the top
2281
+ // radius.
2282
+ if (height < rTop - cutTop) {
2283
+ const base = applyPythagoras(rTop, rTop - cutTop - height);
2284
+ c[0] = d[0] = x + width - rTop + base;
2285
+ e[0] = Math.min(c[0], e[0]);
2286
+ f[0] = Math.max(d[0], f[0]);
2287
+ g[0] = h[0] = x + rTop - base;
2288
+ c[1] = h[1] = y + height;
2289
+ }
2290
+ // Inside stacks, cut off part of the bottom
2291
+ if (cutBtm) {
2292
+ const base = applyPythagoras(rBtm, rBtm - cutBtm);
2293
+ e[0] += base;
2294
+ f[0] -= base;
2295
+ d[1] = g[1] = y + height - rBtm + cutBtm;
2296
+ }
2297
+ // Cut off top inside the bottom radius
2298
+ if (height < rBtm - cutBtm) {
2299
+ const base = applyPythagoras(rBtm, rBtm - cutBtm - height);
2300
+ c[0] = d[0] = x + width - rBtm + base;
2301
+ b[0] = Math.min(c[0], b[0]);
2302
+ a[0] = Math.max(d[0], a[0]);
2303
+ g[0] = h[0] = x + rBtm - base;
2304
+ d[1] = g[1] = y;
2305
+ }
2306
+ // Preserve the box for data labels
2307
+ path.length = 0;
2308
+ path.push(['M', ...a],
2309
+ // Top side
2310
+ ['L', ...b],
2311
+ // Top right corner
2312
+ ['A', rTop, rTop, 0, 0, 1, ...c],
2313
+ // Right side
2314
+ ['L', ...d],
2315
+ // Bottom right corner
2316
+ ['A', rBtm, rBtm, 0, 0, 1, ...e],
2317
+ // Bottom side
2318
+ ['L', ...f],
2319
+ // Bottom left corner
2320
+ ['A', rBtm, rBtm, 0, 0, 1, ...g],
2321
+ // Left side
2322
+ ['L', ...h],
2323
+ // Top left corner
2324
+ ['A', rTop, rTop, 0, 0, 1, ...a], ['Z']);
2325
+ return path;
2326
+ }
2327
+ /* *
2328
+ *
2329
+ * API Declarations
2330
+ *
2331
+ * */
2332
+ /**
2333
+ * Detailed options for border radius.
2334
+ *
2335
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2336
+ * Rounded columns
2337
+ * @sample highcharts/plotoptions/series-border-radius
2338
+ * Column and pie with rounded border
2339
+ *
2340
+ * @interface Highcharts.BorderRadiusOptionsObject
2341
+ */ /**
2342
+ * The border radius. A number signifies pixels. A percentage string, like for
2343
+ * example `50%`, signifies a relative size. For columns this is relative to the
2344
+ * column width, for pies it is relative to the radius and the inner radius.
2345
+ *
2346
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2347
+ * Rounded columns
2348
+ * @sample highcharts/plotoptions/series-border-radius
2349
+ * Column and pie with rounded border
2350
+ *
2351
+ * @name Highcharts.BorderRadiusOptionsObject#radius
2352
+ * @type {string|number|undefined}
2353
+ */ /**
2354
+ * The scope of the rounding for column charts or plot bands. In a stacked
2355
+ * column chart, the value `point` means each single point will get rounded
2356
+ * corners. The value `stack` means the rounding will apply to the full
2357
+ * stack, so that only points close to the top or bottom will receive
2358
+ * rounding.
2359
+ *
2360
+ * Similarly, for plot bands, the `individual` value means each plot band
2361
+ * will get rounded corners.
2362
+ *
2363
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2364
+ * Rounded columns
2365
+ *
2366
+ * @name Highcharts.BorderRadiusOptionsObject#scope
2367
+ * @type {"individual"|"point"|"stack"|undefined}
2368
+ */ /**
2369
+ * For column charts, where in the point or stack to apply rounding. The `end`
2370
+ * value means only those corners at the point value will be rounded, leaving
2371
+ * the corners at the base or threshold unrounded. This is the most intuitive
2372
+ * behavior. The `all` value means also the base will be rounded.
2373
+ *
2374
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius-where-all
2375
+ * Rounding on all corners
2376
+ *
2377
+ * @name Highcharts.BorderRadiusOptionsObject#where
2378
+ * @type {"all"|"end"|undefined}
2379
+ * @default end
2380
+ */
2381
+ (''); // Keeps doclets above in JS file
2382
+
2383
+ ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js
2384
+ /* *
2385
+ *
2386
+ * (c) 2010-2026 Highsoft AS
2387
+ * Author: Torstein Hønsi
2388
+ *
2389
+ * Integration of this software requires a license.
2390
+ * - For commercial use, see www.highcharts.com/license
2391
+ * - For non-commercial, see www.highcharts.com/license-eula
2392
+ *
2393
+ *
2394
+ * */
2395
+
2396
+ /* *
2397
+ *
2398
+ * API Options
2399
+ *
2400
+ * */
2401
+ /**
2402
+ * A box plot is a convenient way of depicting groups of data through their
2403
+ * five-number summaries: the smallest observation (sample minimum), lower
2404
+ * quartile (Q1), median (Q2), upper quartile (Q3), and largest observation
2405
+ * (sample maximum).
2406
+ *
2407
+ * @sample highcharts/demo/box-plot/
2408
+ * Box plot
2409
+ * @sample {highcharts} highcharts/css/boxplot/
2410
+ * Box plot in styled mode
2411
+ * @sample {highcharts} highcharts/series-scatter/jitter-boxplot
2412
+ * Jittered scatter plot on top of a box plot
2413
+ *
2414
+ * @extends plotOptions.column
2415
+ * @excluding borderColor, borderWidth, groupZPadding,
2416
+ * states, boostThreshold, boostBlending
2417
+ * @product highcharts
2418
+ * @requires highcharts-more
2419
+ * @optionparent plotOptions.boxplot
2420
+ */
2421
+ const BoxPlotSeriesDefaults = {
2422
+ /**
2423
+ * The corner radius of the border surrounding the box. A number
2424
+ * signifies pixels. A percentage string, like for example `50%`, signifies
2425
+ * a size relative to the box width.
2426
+ *
2427
+ * @sample {highcharts} highcharts/demo/violin-plot/
2428
+ * Box plot with rounded corners
2429
+ *
2430
+ * @type {number|string|Highcharts.BorderRadiusOptionsObject}
2431
+ * @default 0
2432
+ * @since 13.0.1
2433
+ * @product highcharts
2434
+ */
2435
+ borderRadius: 0,
2436
+ /**
2437
+ * The Y axis value to serve as the base for the columns, for
2438
+ * distinguishing between values above and below a threshold. If `null`,
2439
+ * the columns extend from the padding Y axis minimum.
2440
+ *
2441
+ * @type {number|null}
2442
+ * @default null
2443
+ * @since 2.0
2444
+ * @product highcharts
2445
+ */
2446
+ threshold: null,
2447
+ tooltip: {
2448
+ pointFormat: '<span style="color:{point.color}">\u25CF</span> <b>' +
2449
+ '{series.name}</b><br/>' +
2450
+ 'Maximum: {point.high}<br/>' +
2451
+ 'Upper quartile: {point.q3}<br/>' +
2452
+ 'Median: {point.median}<br/>' +
2453
+ 'Lower quartile: {point.q1}<br/>' +
2454
+ 'Minimum: {point.low}<br/>'
2455
+ },
2456
+ /**
2457
+ * The length of the whiskers, the horizontal lines marking low and
2458
+ * high values. It can be a numerical pixel value, or a percentage
2459
+ * value of the box width. Set `0` to disable whiskers.
2460
+ *
2461
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2462
+ * Box plot styling
2463
+ *
2464
+ * @type {number|string}
2465
+ * @since 3.0
2466
+ * @product highcharts
2467
+ */
2468
+ whiskerLength: '50%',
2469
+ /**
2470
+ * The fill color of the box.
2471
+ *
2472
+ * In styled mode, the fill color can be set with the
2473
+ * `.highcharts-boxplot-box` class.
2474
+ *
2475
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2476
+ * Box plot styling
2477
+ *
2478
+ * @type {Highcharts.ColorType}
2479
+ * @default #ffffff
2480
+ * @since 3.0
2481
+ * @product highcharts
2482
+ */
2483
+ fillColor: 'var(--highcharts-background-color)',
2484
+ /**
2485
+ * The width of the line surrounding the box. If any of
2486
+ * [stemWidth](#plotOptions.boxplot.stemWidth),
2487
+ * [medianWidth](#plotOptions.boxplot.medianWidth)
2488
+ * or [whiskerWidth](#plotOptions.boxplot.whiskerWidth) are `null`,
2489
+ * the lineWidth also applies to these lines.
2490
+ *
2491
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2492
+ * Box plot styling
2493
+ * @sample {highcharts} highcharts/plotoptions/error-bar-styling/
2494
+ * Error bar styling
2495
+ *
2496
+ * @since 3.0
2497
+ * @product highcharts
2498
+ */
2499
+ lineWidth: 1,
2500
+ /**
2501
+ * The color of the median line. If `undefined`, the general series
2502
+ * color applies.
2503
+ *
2504
+ * In styled mode, the median stroke width can be set with the
2505
+ * `.highcharts-boxplot-median` class.
2506
+ *
2507
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2508
+ * Box plot styling
2509
+ * @sample {highcharts} highcharts/css/boxplot/
2510
+ * Box plot in styled mode
2511
+ * @sample {highcharts} highcharts/plotoptions/error-bar-styling/
2512
+ * Error bar styling
2513
+ *
2514
+ * @type {Highcharts.ColorType}
2515
+ * @since 3.0
2516
+ * @product highcharts
2517
+ * @apioption plotOptions.boxplot.medianColor
2518
+ */
2519
+ /**
2022
2520
  * The pixel width of the median line. If `null`, the
2023
2521
  * [lineWidth](#plotOptions.boxplot.lineWidth) is used.
2024
2522
  *
@@ -2146,6 +2644,24 @@ const BoxPlotSeriesDefaults = {
2146
2644
  * @default high
2147
2645
  * @apioption plotOptions.boxplot.colorKey
2148
2646
  */
2647
+ /**
2648
+ * The point key used to position a box plot data label.
2649
+ *
2650
+ * @typedef {"low"|"q1"|"median"|"q3"|"high"} Highcharts.BoxPlotPointValKey
2651
+ */
2652
+ /**
2653
+ * The point key to use for positioning this data label.
2654
+ * Possible values are `low`, `q1`, `median`, `q3` and `high`.
2655
+ *
2656
+ * @sample {highcharts} highcharts/series-boxplot/data-labels/
2657
+ * Multiple data labels
2658
+ *
2659
+ * @type {Highcharts.BoxPlotPointValKey}
2660
+ * @default high
2661
+ * @validvalue ["low", "q1", "median", "q3", "high"]
2662
+ * @product highcharts
2663
+ * @apioption plotOptions.boxplot.dataLabels.alignToKey
2664
+ */
2149
2665
  /**
2150
2666
  * The color of the whiskers, the horizontal lines marking low and high
2151
2667
  * values. When `undefined`, the general series color is used.
@@ -2357,9 +2873,6 @@ const BoxPlotSeriesDefaults = {
2357
2873
  * */
2358
2874
  /* harmony default export */ const BoxPlot_BoxPlotSeriesDefaults = (BoxPlotSeriesDefaults);
2359
2875
 
2360
- // EXTERNAL MODULE: external {"amd":["highcharts/highcharts","Series","types","column"],"commonjs":["highcharts","Series","types","column"],"commonjs2":["highcharts","Series","types","column"],"root":["Highcharts","Series","types","column"]}
2361
- var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_ = __webpack_require__(448);
2362
- var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_default = /*#__PURE__*/__webpack_require__.n(highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_);
2363
2876
  ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeries.js
2364
2877
  /* *
2365
2878
  *
@@ -2376,9 +2889,11 @@ var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commo
2376
2889
 
2377
2890
 
2378
2891
 
2892
+
2379
2893
  const { noop: BoxPlotSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
2380
2894
 
2381
2895
 
2896
+
2382
2897
  /* *
2383
2898
  *
2384
2899
  * Class
@@ -2434,8 +2949,9 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2434
2949
  // Do the translation on each point dimension
2435
2950
  series.points.forEach(function (point) {
2436
2951
  pointArrayMap.forEach(function (key) {
2437
- if (point[key] !== null) {
2438
- point[key + 'Plot'] = yAxis.translate(point[key], 0, 1, 0, 1);
2952
+ const value = point[key];
2953
+ if (value !== null) {
2954
+ point[`${key}Plot`] = yAxis.translate(value, false, true, false, true);
2439
2955
  }
2440
2956
  });
2441
2957
  point.plotHigh = point.highPlot; // For data label validation
@@ -2524,19 +3040,19 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2524
3040
  options.dashStyle);
2525
3041
  point.medianShape.attr(medianAttr);
2526
3042
  }
2527
- let d;
2528
3043
  // The stem
2529
3044
  const stemX = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)((point.plotX || 0) + (series.pointXOffset || 0) +
2530
3045
  ((series.barW || 0) / 2), point.stem.strokeWidth());
2531
- d = [
2532
- // Stem up
2533
- ['M', stemX, q3Plot],
2534
- ['L', stemX, highPlot],
2535
- // Stem down
2536
- ['M', stemX, q1Plot],
2537
- ['L', stemX, lowPlot]
2538
- ];
2539
- point.stem[verb]({ d });
3046
+ point.stem[verb]({
3047
+ d: [
3048
+ // Stem up
3049
+ ['M', stemX, q3Plot],
3050
+ ['L', stemX, highPlot],
3051
+ // Stem down
3052
+ ['M', stemX, q1Plot],
3053
+ ['L', stemX, lowPlot]
3054
+ ]
3055
+ });
2540
3056
  // The box
2541
3057
  if (doQuartiles) {
2542
3058
  const boxStrokeWidth = point.box.strokeWidth();
@@ -2544,15 +3060,11 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2544
3060
  q3Plot = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(q3Plot, boxStrokeWidth);
2545
3061
  x = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(x, boxStrokeWidth);
2546
3062
  right = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(right, boxStrokeWidth);
2547
- d = [
2548
- ['M', x, q3Plot],
2549
- ['L', x, q1Plot],
2550
- ['L', right, q1Plot],
2551
- ['L', right, q3Plot],
2552
- ['L', x, q3Plot],
2553
- ['Z']
2554
- ];
2555
- point.box[verb]({ d });
3063
+ // Optionally round the corners of the box
3064
+ const r = Math.min((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.relativeLength)(borderRadiusObject(options.borderRadius).radius, right - x), (right - x) / 2, Math.abs(q1Plot - q3Plot) / 2);
3065
+ point.box[verb]({
3066
+ d: renderer.symbols.roundedRect(x, Math.min(q1Plot, q3Plot), right - x, Math.abs(q1Plot - q3Plot), { r })
3067
+ });
2556
3068
  }
2557
3069
  // The whiskers
2558
3070
  if (pointWhiskerLength) {
@@ -2565,11 +3077,12 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2565
3077
  }
2566
3078
  // The median
2567
3079
  medianPlot = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(point.medianPlot, point.medianShape.strokeWidth());
2568
- d = [
2569
- ['M', x, medianPlot],
2570
- ['L', right, medianPlot]
2571
- ];
2572
- point.medianShape[verb]({ d });
3080
+ point.medianShape[verb]({
3081
+ d: [
3082
+ ['M', x, medianPlot],
3083
+ ['L', right, medianPlot]
3084
+ ]
3085
+ });
2573
3086
  }
2574
3087
  }
2575
3088
  }
@@ -2589,10 +3102,9 @@ BoxPlotSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highc
2589
3102
  pointArrayMap: ['low', 'q1', 'median', 'q3', 'high'],
2590
3103
  // Defines the top of the tracker
2591
3104
  pointValKey: 'high',
2592
- // Disable data labels for box plot
2593
- drawDataLabels: BoxPlotSeries_noop,
2594
3105
  setStackedPoints: BoxPlotSeries_noop // #3890
2595
3106
  });
3107
+ Series_RangeDataLabel.compose(BoxPlotSeries);
2596
3108
  highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('boxplot', BoxPlotSeries);
2597
3109
  /* *
2598
3110
  *
@@ -3674,7 +4186,7 @@ class BubblePoint extends ScatterPoint {
3674
4186
 
3675
4187
  const { composed: BubbleSeries_composed, noop: BubbleSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
3676
4188
 
3677
- const { series: Series, seriesTypes: { column: { prototype: BubbleSeries_columnProto }, scatter: ScatterSeries } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
4189
+ const { series: Series, seriesTypes: { column: { prototype: columnProto }, scatter: ScatterSeries } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
3678
4190
 
3679
4191
  /* *
3680
4192
  *
@@ -4050,6 +4562,21 @@ BubbleSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highch
4050
4562
  * @since 6.1.0
4051
4563
  */
4052
4564
  animationLimit: 250,
4565
+ /**
4566
+ * When using automatic point colors pulled from the global
4567
+ * [colors](colors) or series-specific
4568
+ * [plotOptions.bubble.colors](series.colors) collections, this option
4569
+ * determines whether the chart should receive one color per series or
4570
+ * one color per point.
4571
+ *
4572
+ * In styled mode, the `colors` or `series.colors` arrays are not
4573
+ * supported, and instead this option gives the points individual color
4574
+ * class names on the form `highcharts-color-{n}`.
4575
+ *
4576
+ * @type {boolean}
4577
+ * @default false
4578
+ * @apioption plotOptions.bubble.colorByPoint
4579
+ */
4053
4580
  /**
4054
4581
  * Whether to display negative sized bubbles. The threshold is given
4055
4582
  * by the [zThreshold](#plotOptions.bubble.zThreshold) option, and negative
@@ -4253,7 +4780,7 @@ BubbleSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highch
4253
4780
  zoneAxis: 'z'
4254
4781
  });
4255
4782
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(BubbleSeries.prototype, {
4256
- alignDataLabel: BubbleSeries_columnProto.alignDataLabel,
4783
+ alignDataLabel: columnProto.alignDataLabel,
4257
4784
  applyZones: BubbleSeries_noop,
4258
4785
  bubblePadding: true,
4259
4786
  isBubble: true,
@@ -4410,6 +4937,7 @@ const { seriesTypes: { column: { prototype: { pointClass: { prototype: ColumnRan
4410
4937
  * Class
4411
4938
  *
4412
4939
  * */
4940
+ /** @internal */
4413
4941
  class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4414
4942
  /* *
4415
4943
  *
@@ -4428,9 +4956,10 @@ class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4428
4956
  * Default Export
4429
4957
  *
4430
4958
  * */
4959
+ /** @internal */
4431
4960
  /* harmony default export */ const ColumnRange_ColumnRangePoint = (ColumnRangePoint);
4432
4961
 
4433
- ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeries.js
4962
+ ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js
4434
4963
  /* *
4435
4964
  *
4436
4965
  * (c) 2010-2026 Highsoft AS
@@ -4443,15 +4972,9 @@ class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4443
4972
  *
4444
4973
  * */
4445
4974
 
4446
-
4447
-
4448
- const { noop: ColumnRangeSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
4449
-
4450
- const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: ColumnSeries, column: { prototype: ColumnRangeSeries_columnProto } } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
4451
-
4452
4975
  /* *
4453
4976
  *
4454
- * Constants
4977
+ * API Options
4455
4978
  *
4456
4979
  * */
4457
4980
  /**
@@ -4469,7 +4992,7 @@ const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: Col
4469
4992
  * @requires highcharts-more
4470
4993
  * @optionparent plotOptions.columnrange
4471
4994
  */
4472
- const columnRangeOptions = {
4995
+ const ColumnRangeSeriesDefaults = {
4473
4996
  borderRadius: {
4474
4997
  where: 'all'
4475
4998
  },
@@ -4496,6 +5019,116 @@ const columnRangeOptions = {
4496
5019
  }
4497
5020
  }
4498
5021
  };
5022
+ /**
5023
+ * A `columnrange` series. If the [type](#series.columnrange.type)
5024
+ * option is not specified, it is inherited from
5025
+ * [chart.type](#chart.type).
5026
+ *
5027
+ * @extends series,plotOptions.columnrange
5028
+ * @excluding dataParser, dataURL, stack, stacking
5029
+ * @product highcharts highstock
5030
+ * @requires highcharts-more
5031
+ * @apioption series.columnrange
5032
+ */
5033
+ /**
5034
+ * An array of data points for the series. For the `columnrange` series
5035
+ * type, points can be given in the following ways:
5036
+ *
5037
+ * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
5038
+ * to `x,low,high`. If the first value is a string, it is applied as the name
5039
+ * of the point, and the `x` value is inferred. The `x` value can also be
5040
+ * omitted, in which case the inner arrays should be of length 2\. Then the
5041
+ * `x` value is automatically calculated, either starting at 0 and
5042
+ * incremented by 1, or from `pointStart` and `pointInterval` given in the
5043
+ * series options.
5044
+ * ```js
5045
+ * data: [
5046
+ * [0, 4, 2],
5047
+ * [1, 2, 1],
5048
+ * [2, 9, 10]
5049
+ * ]
5050
+ * ```
5051
+ *
5052
+ * 2. An array of objects with named values. The following snippet shows only a
5053
+ * few settings, see the complete options set below. If the total number of
5054
+ * data points exceeds the series'
5055
+ * [turboThreshold](#series.columnrange.turboThreshold), this option is not
5056
+ * available.
5057
+ * ```js
5058
+ * data: [{
5059
+ * x: 1,
5060
+ * low: 0,
5061
+ * high: 4,
5062
+ * name: "Point2",
5063
+ * color: "#00FF00"
5064
+ * }, {
5065
+ * x: 1,
5066
+ * low: 5,
5067
+ * high: 3,
5068
+ * name: "Point1",
5069
+ * color: "#FF00FF"
5070
+ * }]
5071
+ * ```
5072
+ *
5073
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
5074
+ * Arrays of numeric x and y
5075
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
5076
+ * Arrays of datetime x and y
5077
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
5078
+ * Arrays of point.name and y
5079
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
5080
+ * Config objects
5081
+ *
5082
+ * @basic
5083
+ * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
5084
+ * @extends series.arearange.data
5085
+ * @excluding marker
5086
+ * @product highcharts highstock
5087
+ * @apioption series.columnrange.data
5088
+ */
5089
+ /**
5090
+ * @extends series.columnrange.dataLabels
5091
+ * @product highcharts highstock
5092
+ * @apioption series.columnrange.data.dataLabels
5093
+ */
5094
+ /**
5095
+ * @excluding halo, lineWidth, lineWidthPlus, marker
5096
+ * @product highcharts highstock
5097
+ * @apioption series.columnrange.states.hover
5098
+ */
5099
+ /**
5100
+ * @excluding halo, lineWidth, lineWidthPlus, marker
5101
+ * @product highcharts highstock
5102
+ * @apioption series.columnrange.states.select
5103
+ */
5104
+ ''; // Adds doclets above into transpiled
5105
+ /* *
5106
+ *
5107
+ * Default Export
5108
+ *
5109
+ * */
5110
+ /* harmony default export */ const ColumnRange_ColumnRangeSeriesDefaults = (ColumnRangeSeriesDefaults);
5111
+
5112
+ ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeries.js
5113
+ /* *
5114
+ *
5115
+ * (c) 2010-2026 Highsoft AS
5116
+ * Author: Torstein Hønsi
5117
+ *
5118
+ * Integration of this software requires a license.
5119
+ * - For commercial use, see www.highcharts.com/license
5120
+ * - For non-commercial, see www.highcharts.com/license-eula
5121
+ *
5122
+ *
5123
+ * */
5124
+
5125
+
5126
+
5127
+
5128
+ const { noop: ColumnRangeSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
5129
+
5130
+ const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: ColumnSeries, column: { prototype: ColumnRangeSeries_columnProto } } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
5131
+
4499
5132
  /* *
4500
5133
  *
4501
5134
  * Class
@@ -4504,7 +5137,7 @@ const columnRangeOptions = {
4504
5137
  /**
4505
5138
  * The ColumnRangeSeries class
4506
5139
  *
4507
- * @private
5140
+ * @internal
4508
5141
  * @class
4509
5142
  * @name Highcharts.seriesTypes.columnrange
4510
5143
  *
@@ -4553,17 +5186,17 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4553
5186
  translate3dShapes() {
4554
5187
  return ColumnRangeSeries_columnProto.translate3dShapes.apply(this, arguments);
4555
5188
  }
5189
+ /**
5190
+ * Translate data points from raw values x and y to plotX and plotY
5191
+ * @internal
5192
+ */
4556
5193
  afterColumnTranslate() {
4557
- /**
4558
- * Translate data points from raw values x and y to plotX and plotY
4559
- * @private
4560
- */
4561
5194
  const yAxis = this.yAxis, xAxis = this.xAxis, startAngleRad = xAxis.startAngleRad, chart = this.chart, isRadial = this.xAxis.isRadial, safeDistance = Math.max(chart.chartWidth, chart.chartHeight) + 999;
4562
5195
  let height, heightDifference, start, y;
4563
5196
  // eslint-disable-next-line valid-jsdoc
4564
5197
  /**
4565
5198
  * Don't draw too far outside plot area (#6835)
4566
- * @private
5199
+ * @internal
4567
5200
  */
4568
5201
  function safeBounds(pixelPos) {
4569
5202
  return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(pixelPos, -safeDistance, safeDistance);
@@ -4622,7 +5255,7 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4622
5255
  * Static Properties
4623
5256
  *
4624
5257
  * */
4625
- ColumnRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(ColumnSeries.defaultOptions, ColumnRangeSeries_AreaRangeSeries.defaultOptions, columnRangeOptions);
5258
+ ColumnRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(ColumnSeries.defaultOptions, ColumnRangeSeries_AreaRangeSeries.defaultOptions, ColumnRange_ColumnRangeSeriesDefaults);
4626
5259
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.addEvent)(ColumnRangeSeries, 'afterColumnTranslate', function () {
4627
5260
  ColumnRangeSeries.prototype.afterColumnTranslate.apply(this);
4628
5261
  }, { order: 5 });
@@ -4642,98 +5275,11 @@ ColumnRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_h
4642
5275
  highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('columnrange', ColumnRangeSeries);
4643
5276
  /* *
4644
5277
  *
4645
- * Default Export
4646
- *
4647
- * */
4648
- /* harmony default export */ const ColumnRange_ColumnRangeSeries = ((/* unused pure expression or super */ null && (ColumnRangeSeries)));
4649
- /* *
4650
- *
4651
- * API Options
4652
- *
4653
- * */
4654
- /**
4655
- * A `columnrange` series. If the [type](#series.columnrange.type)
4656
- * option is not specified, it is inherited from
4657
- * [chart.type](#chart.type).
4658
- *
4659
- * @extends series,plotOptions.columnrange
4660
- * @excluding dataParser, dataURL, stack, stacking
4661
- * @product highcharts highstock
4662
- * @requires highcharts-more
4663
- * @apioption series.columnrange
4664
- */
4665
- /**
4666
- * An array of data points for the series. For the `columnrange` series
4667
- * type, points can be given in the following ways:
4668
- *
4669
- * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
4670
- * to `x,low,high`. If the first value is a string, it is applied as the name
4671
- * of the point, and the `x` value is inferred. The `x` value can also be
4672
- * omitted, in which case the inner arrays should be of length 2\. Then the
4673
- * `x` value is automatically calculated, either starting at 0 and
4674
- * incremented by 1, or from `pointStart` and `pointInterval` given in the
4675
- * series options.
4676
- * ```js
4677
- * data: [
4678
- * [0, 4, 2],
4679
- * [1, 2, 1],
4680
- * [2, 9, 10]
4681
- * ]
4682
- * ```
4683
- *
4684
- * 2. An array of objects with named values. The following snippet shows only a
4685
- * few settings, see the complete options set below. If the total number of
4686
- * data points exceeds the series'
4687
- * [turboThreshold](#series.columnrange.turboThreshold), this option is not
4688
- * available.
4689
- * ```js
4690
- * data: [{
4691
- * x: 1,
4692
- * low: 0,
4693
- * high: 4,
4694
- * name: "Point2",
4695
- * color: "#00FF00"
4696
- * }, {
4697
- * x: 1,
4698
- * low: 5,
4699
- * high: 3,
4700
- * name: "Point1",
4701
- * color: "#FF00FF"
4702
- * }]
4703
- * ```
4704
- *
4705
- * @sample {highcharts} highcharts/series/data-array-of-arrays/
4706
- * Arrays of numeric x and y
4707
- * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
4708
- * Arrays of datetime x and y
4709
- * @sample {highcharts} highcharts/series/data-array-of-name-value/
4710
- * Arrays of point.name and y
4711
- * @sample {highcharts} highcharts/series/data-array-of-objects/
4712
- * Config objects
5278
+ * Default Export
4713
5279
  *
4714
- * @basic
4715
- * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
4716
- * @extends series.arearange.data
4717
- * @excluding marker
4718
- * @product highcharts highstock
4719
- * @apioption series.columnrange.data
4720
- */
4721
- /**
4722
- * @extends series.columnrange.dataLabels
4723
- * @product highcharts highstock
4724
- * @apioption series.columnrange.data.dataLabels
4725
- */
4726
- /**
4727
- * @excluding halo, lineWidth, lineWidthPlus, marker
4728
- * @product highcharts highstock
4729
- * @apioption series.columnrange.states.hover
4730
- */
4731
- /**
4732
- * @excluding halo, lineWidth, lineWidthPlus, marker
4733
- * @product highcharts highstock
4734
- * @apioption series.columnrange.states.select
4735
- */
4736
- ''; // Adds doclets above into transpiled
5280
+ * */
5281
+ /** @internal */
5282
+ /* harmony default export */ const ColumnRange_ColumnRangeSeries = ((/* unused pure expression or super */ null && (ColumnRangeSeries)));
4737
5283
 
4738
5284
  ;// ./code/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js
4739
5285
  /* *
@@ -4890,7 +5436,7 @@ const { column: ColumnPyramidSeries_ColumnSeries } = (highcharts_SeriesRegistry_
4890
5436
  /**
4891
5437
  * The ColumnPyramidSeries class
4892
5438
  *
4893
- * @private
5439
+ * @internal
4894
5440
  * @class
4895
5441
  * @name Highcharts.seriesTypes.columnpyramid
4896
5442
  *
@@ -4904,7 +5450,7 @@ class ColumnPyramidSeries extends ColumnPyramidSeries_ColumnSeries {
4904
5450
  * */
4905
5451
  /**
4906
5452
  * Overrides the column translate method
4907
- * @private
5453
+ * @internal
4908
5454
  */
4909
5455
  translate() {
4910
5456
  const series = this, chart = series.chart, options = series.options, dense = series.dense =
@@ -5045,6 +5591,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
5045
5591
  * Default Export
5046
5592
  *
5047
5593
  * */
5594
+ /** @internal */
5048
5595
  /* harmony default export */ const ColumnPyramid_ColumnPyramidSeries = ((/* unused pure expression or super */ null && (ColumnPyramidSeries)));
5049
5596
 
5050
5597
  ;// ./code/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js
@@ -5078,7 +5625,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
5078
5625
  * Error bars with data labels
5079
5626
  *
5080
5627
  * @extends plotOptions.boxplot
5081
- * @excluding boostBlending, boostThreshold
5628
+ * @excluding borderRadius, boostBlending, boostThreshold
5082
5629
  * @product highcharts
5083
5630
  * @requires highcharts-more
5084
5631
  * @optionparent plotOptions.errorbar
@@ -5097,6 +5644,20 @@ const ErrorBarSeriesDefaults = {
5097
5644
  * @product highcharts
5098
5645
  */
5099
5646
  color: 'var(--highcharts-neutral-color-100)',
5647
+ dataLabels: {
5648
+ /**
5649
+ * Callback JavaScript function to format the data label. Note that if
5650
+ * a `format` is defined, the format takes precedence and the formatter
5651
+ * is ignored.
5652
+ *
5653
+ * The default formatter renders the value of the point key the label
5654
+ * is [aligned to](#plotOptions.errorbar.dataLabels.alignToKey). Define
5655
+ * a [format](#plotOptions.errorbar.dataLabels.format) or `formatter`
5656
+ * to display other values.
5657
+ *
5658
+ * @type {Highcharts.DataLabelsFormatterCallbackFunction}
5659
+ */
5660
+ },
5100
5661
  grouping: false,
5101
5662
  /**
5102
5663
  * The parent series of the error bar. The default value links it to
@@ -5217,6 +5778,7 @@ const ErrorBarSeriesDefaults = {
5217
5778
 
5218
5779
  const { arearange: ErrorBarSeries_AreaRangeSeries } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
5219
5780
 
5781
+
5220
5782
  /* *
5221
5783
  *
5222
5784
  * Class
@@ -5225,7 +5787,7 @@ const { arearange: ErrorBarSeries_AreaRangeSeries } = (highcharts_SeriesRegistry
5225
5787
  /**
5226
5788
  * Errorbar series type
5227
5789
  *
5228
- * @private
5790
+ * @internal
5229
5791
  * @class
5230
5792
  * @name Highcharts.seriesTypes.errorbar
5231
5793
  *
@@ -5245,14 +5807,9 @@ class ErrorBarSeries extends BoxPlot_BoxPlotSeries {
5245
5807
  highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_default().prototype.getColumnMetrics.call(series));
5246
5808
  }
5247
5809
  drawDataLabels() {
5248
- const series = this, valKey = series.pointValKey;
5810
+ // Error bars draw upper/lower labels via the area range option adapter.
5249
5811
  if (ErrorBarSeries_AreaRangeSeries) {
5250
- ErrorBarSeries_AreaRangeSeries.prototype.drawDataLabels.call(series);
5251
- // Arearange drawDataLabels does not reset point.y to high,
5252
- // but to low after drawing (#4133)
5253
- for (const point of series.points) {
5254
- point.y = point[valKey];
5255
- }
5812
+ ErrorBarSeries_AreaRangeSeries.prototype.drawDataLabels.call(this);
5256
5813
  }
5257
5814
  }
5258
5815
  toYData(point) {
@@ -5265,7 +5822,7 @@ class ErrorBarSeries extends BoxPlot_BoxPlotSeries {
5265
5822
  * Static Properties
5266
5823
  *
5267
5824
  * */
5268
- ErrorBarSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(BoxPlot_BoxPlotSeries.defaultOptions, ErrorBar_ErrorBarSeriesDefaults);
5825
+ ErrorBarSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(BoxPlot_BoxPlotSeries.defaultOptions, ErrorBar_ErrorBarSeriesDefaults, { dataLabels: { formatter: Series_RangeDataLabel.formatter } });
5269
5826
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.addEvent)(ErrorBarSeries, 'afterTranslate', function () {
5270
5827
  for (const point of this.points) {
5271
5828
  point.plotLow = point.plotY;
@@ -5282,6 +5839,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
5282
5839
  * Default Export
5283
5840
  *
5284
5841
  * */
5842
+ /** @internal */
5285
5843
  /* harmony default export */ const ErrorBar_ErrorBarSeries = ((/* unused pure expression or super */ null && (ErrorBarSeries)));
5286
5844
 
5287
5845
  ;// ./code/es-modules/Series/Gauge/GaugePoint.js
@@ -5963,7 +6521,7 @@ const { composed: DragNodesComposition_composed } = (highcharts_commonjs_highcha
5963
6521
  *
5964
6522
  * */
5965
6523
  /**
5966
- * @private
6524
+ * @internal
5967
6525
  */
5968
6526
  function DragNodesComposition_compose(ChartClass) {
5969
6527
  if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pushUnique)(DragNodesComposition_composed, 'DragNodes')) {
@@ -5972,7 +6530,7 @@ function DragNodesComposition_compose(ChartClass) {
5972
6530
  }
5973
6531
  /**
5974
6532
  * Draggable mode:
5975
- * @private
6533
+ * @internal
5976
6534
  */
5977
6535
  function onChartLoad() {
5978
6536
  const chart = this;
@@ -6011,7 +6569,7 @@ function onChartLoad() {
6011
6569
  /**
6012
6570
  * Mouse down action, initializing drag&drop mode.
6013
6571
  *
6014
- * @private
6572
+ * @internal
6015
6573
  * @param {Highcharts.Point} point
6016
6574
  * The point that event occurred.
6017
6575
  * @param {Highcharts.PointerEventObject} event
@@ -6034,7 +6592,7 @@ function onMouseDown(point, event) {
6034
6592
  /**
6035
6593
  * Mouse move action during drag&drop.
6036
6594
  *
6037
- * @private
6595
+ * @internal
6038
6596
  *
6039
6597
  * @param {Highcharts.Point} point
6040
6598
  * The point that event occurred.
@@ -6064,7 +6622,7 @@ function onMouseMove(point, event) {
6064
6622
  /**
6065
6623
  * Mouse up action, finalizing drag&drop.
6066
6624
  *
6067
- * @private
6625
+ * @internal
6068
6626
  * @param {Highcharts.Point} point
6069
6627
  * The point that event occurred.
6070
6628
  */
@@ -6087,14 +6645,15 @@ function onMouseUp(point) {
6087
6645
  /**
6088
6646
  * Redraw halo on mousemove during the drag&drop action.
6089
6647
  *
6090
- * @private
6648
+ * @internal
6091
6649
  * @param {Highcharts.Point} point
6092
6650
  * The point that should show halo.
6093
6651
  */
6094
6652
  function redrawHalo(point) {
6095
6653
  if (point && this.halo) {
6096
6654
  this.halo.attr({
6097
- d: point.haloPath(this.options.states.hover.halo.size)
6655
+ d: point.haloPath((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(this.options.states?.hover?.halo) &&
6656
+ this.options.states?.hover?.halo.size || 0)
6098
6657
  });
6099
6658
  }
6100
6659
  }
@@ -6103,6 +6662,7 @@ function redrawHalo(point) {
6103
6662
  * Default Export
6104
6663
  *
6105
6664
  * */
6665
+ /** @internal */
6106
6666
  const DragNodesComposition = {
6107
6667
  compose: DragNodesComposition_compose,
6108
6668
  onMouseDown,
@@ -6110,6 +6670,7 @@ const DragNodesComposition = {
6110
6670
  onMouseUp,
6111
6671
  redrawHalo
6112
6672
  };
6673
+ /** @internal */
6113
6674
  /* harmony default export */ const Series_DragNodesComposition = (DragNodesComposition);
6114
6675
 
6115
6676
  ;// ./code/es-modules/Series/GraphLayoutComposition.js
@@ -6128,7 +6689,6 @@ const DragNodesComposition = {
6128
6689
  * */
6129
6690
 
6130
6691
 
6131
- const { setAnimation } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
6132
6692
 
6133
6693
  const { composed: GraphLayoutComposition_composed } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
6134
6694
 
@@ -6216,7 +6776,7 @@ function onChartRender() {
6216
6776
  };
6217
6777
  // Don't animate layout when series is dragged
6218
6778
  if (this.graphLayoutsLookup && !this.pointer?.hasDragged) {
6219
- setAnimation(false, this);
6779
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.setAnimation)(false, this);
6220
6780
  // Start simulation
6221
6781
  this.graphLayoutsLookup.forEach((layout) => layout.start());
6222
6782
  // Just one sync step, to run different layouts similar to
@@ -6229,6 +6789,7 @@ function onChartRender() {
6229
6789
  this.series.forEach((series) => {
6230
6790
  if (series && series.layout) {
6231
6791
  series.render();
6792
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.fireEvent)(series, 'afterSimulation');
6232
6793
  }
6233
6794
  });
6234
6795
  }
@@ -8354,7 +8915,6 @@ Series_GraphLayoutComposition.layouts.packedbubble = PackedBubbleLayout;
8354
8915
 
8355
8916
 
8356
8917
 
8357
- const { animObject } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
8358
8918
  /**
8359
8919
  * Create a setTimeout for the first drawDataLabels()
8360
8920
  * based on the dataLabels.animation.defer value
@@ -8374,7 +8934,7 @@ function initDataLabelsDefer() {
8374
8934
  else {
8375
8935
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.syncTimeout)(() => {
8376
8936
  this.deferDataLabels = false;
8377
- }, dlOptions ? animObject(dlOptions.animation).defer : 0);
8937
+ }, dlOptions ? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.animObject)(dlOptions.animation).defer : 0);
8378
8938
  }
8379
8939
  }
8380
8940
  /**
@@ -9535,206 +10095,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
9535
10095
  ;// ./code/es-modules/Series/Polygon/PolygonSeriesDefaults.js
9536
10096
  /* *
9537
10097
  *
9538
- * (c) 2010-2026 Highsoft AS
9539
- * Author: Torstein Hønsi
9540
- *
9541
- * Integration of this software requires a license.
9542
- * - For commercial use, see www.highcharts.com/license
9543
- * - For non-commercial, see www.highcharts.com/license-eula
9544
- *
9545
- *
9546
- * */
9547
-
9548
- /* *
9549
- *
9550
- * API Options
9551
- *
9552
- * */
9553
- /**
9554
- * A polygon series can be used to draw any freeform shape in the cartesian
9555
- * coordinate system. A fill is applied with the `color` option, and
9556
- * stroke is applied through `lineWidth` and `lineColor` options.
9557
- *
9558
- * @sample {highcharts} highcharts/demo/polygon/
9559
- * Polygon
9560
- * @sample {highstock} highcharts/demo/polygon/
9561
- * Polygon
9562
- *
9563
- * @extends plotOptions.scatter
9564
- * @since 4.1.0
9565
- * @excluding jitter, softThreshold, threshold, cluster, boostThreshold,
9566
- * boostBlending
9567
- * @product highcharts highstock
9568
- * @requires highcharts-more
9569
- * @optionparent plotOptions.polygon
9570
- */
9571
- const PolygonSeriesDefaults = {
9572
- marker: {
9573
- enabled: false,
9574
- states: {
9575
- hover: {
9576
- enabled: false
9577
- }
9578
- }
9579
- },
9580
- stickyTracking: false,
9581
- tooltip: {
9582
- followPointer: true,
9583
- pointFormat: ''
9584
- },
9585
- trackByArea: true,
9586
- legendSymbol: 'rectangle'
9587
- };
9588
- /**
9589
- * A `polygon` series. If the [type](#series.polygon.type) option is
9590
- * not specified, it is inherited from [chart.type](#chart.type).
9591
- *
9592
- * @extends series,plotOptions.polygon
9593
- * @excluding dataParser, dataURL, stack, boostThreshold, boostBlending
9594
- * @product highcharts highstock
9595
- * @requires highcharts-more
9596
- * @apioption series.polygon
9597
- */
9598
- /**
9599
- * An array of data points for the series. For the `polygon` series
9600
- * type, points can be given in the following ways:
9601
- *
9602
- * 1. An array of numerical values. In this case, the numerical values will be
9603
- * interpreted as `y` options. The `x` values will be automatically
9604
- * calculated, either starting at 0 and incremented by 1, or from
9605
- * `pointStart` and `pointInterval` given in the series options. If the axis
9606
- * has categories, these will be used. Example:
9607
- * ```js
9608
- * data: [0, 5, 3, 5]
9609
- * ```
9610
- *
9611
- * 2. An array of arrays with 2 values. In this case, the values correspond to
9612
- * `x,y`. If the first value is a string, it is applied as the name of the
9613
- * point, and the `x` value is inferred.
9614
- * ```js
9615
- * data: [
9616
- * [0, 10],
9617
- * [1, 3],
9618
- * [2, 1]
9619
- * ]
9620
- * ```
9621
- *
9622
- * 3. An array of objects with named values. The following snippet shows only a
9623
- * few settings, see the complete options set below. If the total number of
9624
- * data points exceeds the series'
9625
- * [turboThreshold](#series.polygon.turboThreshold), this option is not
9626
- * available.
9627
- * ```js
9628
- * data: [{
9629
- * x: 1,
9630
- * y: 1,
9631
- * name: "Point2",
9632
- * color: "#00FF00"
9633
- * }, {
9634
- * x: 1,
9635
- * y: 8,
9636
- * name: "Point1",
9637
- * color: "#FF00FF"
9638
- * }]
9639
- * ```
9640
- *
9641
- * @sample {highcharts} highcharts/chart/reflow-true/
9642
- * Numerical values
9643
- * @sample {highcharts} highcharts/series/data-array-of-arrays/
9644
- * Arrays of numeric x and y
9645
- * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
9646
- * Arrays of datetime x and y
9647
- * @sample {highcharts} highcharts/series/data-array-of-name-value/
9648
- * Arrays of point.name and y
9649
- * @sample {highcharts} highcharts/series/data-array-of-objects/
9650
- * Config objects
9651
- *
9652
- * @basic
9653
- * @type {Array<number|Array<(number|string),(number|null)>|null|*>}
9654
- * @extends series.line.data
9655
- * @product highcharts highstock
9656
- * @apioption series.polygon.data
9657
- */
9658
- ''; // Keeps doclets above separate
9659
- /* *
9660
- *
9661
- * Default Export
9662
- *
9663
- * */
9664
- /* harmony default export */ const Polygon_PolygonSeriesDefaults = (PolygonSeriesDefaults);
9665
-
9666
- ;// ./code/es-modules/Series/Polygon/PolygonSeries.js
9667
- /* *
9668
- *
9669
- * (c) 2010-2026 Highsoft AS
9670
- * Author: Torstein Hønsi
9671
- *
9672
- * Integration of this software requires a license.
9673
- * - For commercial use, see www.highcharts.com/license
9674
- * - For non-commercial, see www.highcharts.com/license-eula
9675
- *
9676
- *
9677
- * */
9678
-
9679
-
9680
- const { noop: PolygonSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
9681
-
9682
-
9683
- const { area: PolygonSeries_AreaSeries, line: LineSeries, scatter: PolygonSeries_ScatterSeries } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
9684
-
9685
- /* *
9686
- *
9687
- * Class
9688
- *
9689
- * */
9690
- class PolygonSeries extends PolygonSeries_ScatterSeries {
9691
- /* *
9692
- *
9693
- * Functions
9694
- *
9695
- * */
9696
- getGraphPath() {
9697
- const graphPath = LineSeries.prototype.getGraphPath.call(this);
9698
- let i = graphPath.length + 1;
9699
- // Close all segments
9700
- while (i--) {
9701
- if ((i === graphPath.length || graphPath[i][0] === 'M') && i > 0) {
9702
- graphPath.splice(i, 0, ['Z']);
9703
- }
9704
- }
9705
- this.areaPath = graphPath;
9706
- return graphPath;
9707
- }
9708
- drawGraph() {
9709
- // Hack into the fill logic in area.drawGraph
9710
- this.options.fillColor = this.color;
9711
- PolygonSeries_AreaSeries.prototype.drawGraph.call(this);
9712
- }
9713
- }
9714
- /* *
9715
- *
9716
- * Static Properties
9717
- *
9718
- * */
9719
- PolygonSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(PolygonSeries_ScatterSeries.defaultOptions, Polygon_PolygonSeriesDefaults);
9720
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(PolygonSeries.prototype, {
9721
- type: 'polygon',
9722
- drawTracker: LineSeries.prototype.drawTracker,
9723
- setStackedPoints: PolygonSeries_noop // No stacking points on polygons (#5310)
9724
- });
9725
- highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('polygon', PolygonSeries);
9726
- /* *
9727
- *
9728
- * Default Export
9729
- *
9730
- * */
9731
- /* harmony default export */ const Polygon_PolygonSeries = ((/* unused pure expression or super */ null && (PolygonSeries)));
9732
-
9733
- ;// ./code/es-modules/Extensions/BorderRadius.js
9734
- /* *
9735
- *
9736
- * Highcharts Border Radius module
9737
- *
10098
+ * (c) 2010-2026 Highsoft AS
9738
10099
  * Author: Torstein Hønsi
9739
10100
  *
9740
10101
  * Integration of this software requires a license.
@@ -9744,380 +10105,210 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
9744
10105
  *
9745
10106
  * */
9746
10107
 
9747
-
9748
- const { defaultOptions: BorderRadius_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
9749
-
9750
- const { noop: BorderRadius_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
9751
-
9752
- /* *
9753
- *
9754
- * Constants
9755
- *
9756
- * */
9757
- const defaultBorderRadiusOptions = {
9758
- radius: 0,
9759
- scope: 'stack',
9760
- where: void 0
9761
- };
9762
10108
  /* *
9763
10109
  *
9764
- * Variables
10110
+ * API Options
9765
10111
  *
9766
10112
  * */
9767
- let oldArc = (/* unused pure expression or super */ null && (BorderRadius_noop));
9768
- let oldRoundedRect = (/* unused pure expression or super */ null && (BorderRadius_noop));
9769
- /* *
10113
+ /**
10114
+ * A polygon series can be used to draw any freeform shape in the cartesian
10115
+ * coordinate system. A fill is applied with the `color` option, and
10116
+ * stroke is applied through `lineWidth` and `lineColor` options.
9770
10117
  *
9771
- * Functions
10118
+ * @sample {highcharts} highcharts/demo/polygon/
10119
+ * Polygon
10120
+ * @sample {highstock} highcharts/demo/polygon/
10121
+ * Polygon
9772
10122
  *
9773
- * */
9774
- /** @internal */
9775
- function applyBorderRadius(path, i, r) {
9776
- const a = path[i];
9777
- let b = path[i + 1];
9778
- if (b[0] === 'Z') {
9779
- b = path[0];
9780
- }
9781
- let line, arc, fromLineToArc;
9782
- // From straight line to arc
9783
- if ((a[0] === 'M' || a[0] === 'L') && b[0] === 'A') {
9784
- line = a;
9785
- arc = b;
9786
- fromLineToArc = true;
9787
- // From arc to straight line
9788
- }
9789
- else if (a[0] === 'A' && (b[0] === 'M' || b[0] === 'L')) {
9790
- line = b;
9791
- arc = a;
9792
- }
9793
- if (line && arc && arc.params) {
9794
- const bigR = arc[1],
9795
- // In our use cases, outer pie slice arcs are clockwise and inner
9796
- // arcs (donut/sunburst etc) are anti-clockwise
9797
- clockwise = arc[5], params = arc.params, { start, end, cx, cy } = params;
9798
- // Some geometric constants
9799
- const relativeR = clockwise ? (bigR - r) : (bigR + r),
9800
- // The angle, on the big arc, that the border radius arc takes up
9801
- angleOfBorderRadius = relativeR ? Math.asin(r / relativeR) : 0, angleOffset = clockwise ?
9802
- angleOfBorderRadius :
9803
- -angleOfBorderRadius,
9804
- // The distance along the radius of the big arc to the starting
9805
- // point of the small border radius arc
9806
- distanceBigCenterToStartArc = (Math.cos(angleOfBorderRadius) *
9807
- relativeR);
9808
- // From line to arc
9809
- if (fromLineToArc) {
9810
- // Update the cache
9811
- params.start = start + angleOffset;
9812
- // First move to the start position at the radial line. We want to
9813
- // start one borderRadius closer to the center.
9814
- line[1] = cx + distanceBigCenterToStartArc * Math.cos(start);
9815
- line[2] = cy + distanceBigCenterToStartArc * Math.sin(start);
9816
- // Now draw an arc towards the point where the small circle touches
9817
- // the great circle.
9818
- path.splice(i + 1, 0, [
9819
- 'A',
9820
- r,
9821
- r,
9822
- 0, // Slanting,
9823
- 0, // Long arc
9824
- 1, // Clockwise
9825
- cx + bigR * Math.cos(params.start),
9826
- cy + bigR * Math.sin(params.start)
9827
- ]);
9828
- // From arc to line
9829
- }
9830
- else {
9831
- // Update the cache
9832
- params.end = end - angleOffset;
9833
- // End the big arc a bit earlier
9834
- arc[6] = cx + bigR * Math.cos(params.end);
9835
- arc[7] = cy + bigR * Math.sin(params.end);
9836
- // Draw a small arc towards a point on the end angle, but one
9837
- // borderRadius closer to the center relative to the perimeter.
9838
- path.splice(i + 1, 0, [
9839
- 'A',
9840
- r,
9841
- r,
9842
- 0,
9843
- 0,
9844
- 1,
9845
- cx + distanceBigCenterToStartArc * Math.cos(end),
9846
- cy + distanceBigCenterToStartArc * Math.sin(end)
9847
- ]);
9848
- }
9849
- // Long or short arc must be reconsidered because we have modified the
9850
- // start and end points
9851
- arc[4] = Math.abs(params.end - params.start) < Math.PI ? 0 : 1;
9852
- }
9853
- }
9854
- /**
9855
- * Extend arc with borderRadius.
9856
- * @internal
10123
+ * @extends plotOptions.scatter
10124
+ * @since 4.1.0
10125
+ * @excluding jitter, softThreshold, threshold, cluster, boostThreshold,
10126
+ * boostBlending
10127
+ * @product highcharts highstock
10128
+ * @requires highcharts-more
10129
+ * @optionparent plotOptions.polygon
9857
10130
  */
9858
- function arc(x, y, w, h, options = {}) {
9859
- const path = oldArc(x, y, w, h, options), { brStart = true, brEnd = true, innerR = 0, r = w, start = 0, end = 0 } = options;
9860
- if (options.open || !options.borderRadius) {
9861
- return path;
9862
- }
9863
- const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(options.borderRadius || 0, r - innerR),
9864
- // Cap to half the sector radius
9865
- (r - innerR) / 2,
9866
- // For smaller pie slices, cap to the largest small circle that
9867
- // can be fitted within the sector
9868
- (r * sinHalfAlpha) / (1 + sinHalfAlpha)), 0),
9869
- // For the inner radius, we need an extra cap because the inner arc
9870
- // is shorter than the outer arc
9871
- innerBorderRadius = Math.min(borderRadius, 2 * (alpha / Math.PI) * innerR);
9872
- // Apply turn-by-turn border radius. Start at the end since we're
9873
- // splicing in arc segments.
9874
- let i = path.length - 1;
9875
- while (i--) {
9876
- if ((!brStart && (i === 0 || i === 3)) ||
9877
- (!brEnd && (i === 1 || i === 2))) {
9878
- continue;
9879
- }
9880
- applyBorderRadius(path, i, i > 1 ? innerBorderRadius : borderRadius);
9881
- }
9882
- return path;
9883
- }
9884
- /** @internal */
9885
- function seriesOnAfterColumnTranslate() {
9886
- if (this.options.borderRadius &&
9887
- !(this.chart.is3d && this.chart.is3d())) {
9888
- const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
9889
- ?.borderRadius, borderRadius = optionsToObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
9890
- for (const point of this.points) {
9891
- const { shapeArgs } = point;
9892
- if (point.shapeType === 'roundedRect' && shapeArgs) {
9893
- const { width = 0, height = 0, y = 0 } = shapeArgs;
9894
- let brBoxY = y, brBoxHeight = height;
9895
- // It would be nice to refactor StackItem.getStackBox/
9896
- // setOffset so that we could get a reliable box out of
9897
- // it. Currently it is close if we remove the label
9898
- // offset, but we still need to run crispCol and also
9899
- // flip it if inverted, so atm it is simpler to do it
9900
- // like the below.
9901
- if (borderRadius.scope === 'stack' &&
9902
- point.stackTotal) {
9903
- const stackEnd = yAxis.translate(percent ? 100 : point.stackTotal, false, true, false, true), stackThreshold = yAxis.translate(options.threshold || 0, false, true, false, true), box = this.crispCol(0, Math.min(stackEnd, stackThreshold), 0, Math.abs(stackEnd - stackThreshold));
9904
- brBoxY = box.y;
9905
- brBoxHeight = box.height;
9906
- }
9907
- const flip = (point.negative ? -1 : 1) *
9908
- (reversed ? -1 : 1) === -1;
9909
- // Handle the where option
9910
- let where = borderRadius.where;
9911
- // Waterfall, hanging columns should have rounding on
9912
- // all sides
9913
- if (!where &&
9914
- this.is('waterfall') &&
9915
- Math.abs((point.yBottom || 0) -
9916
- (this.translatedThreshold || 0)) > this.borderWidth) {
9917
- where = 'all';
9918
- }
9919
- if (!where) {
9920
- where = 'end';
9921
- }
9922
- // Get the radius
9923
- const r = Math.min(relativeLength(borderRadius.radius, width), width / 2,
9924
- // Cap to the height, but not if where is `end`
9925
- where === 'all' ? brBoxHeight / 2 : Infinity) || 0;
9926
- // If the `where` option is 'end', cut off the
9927
- // rectangles by making the border-radius box one r
9928
- // greater, so that the imaginary radius falls outside
9929
- // the rectangle.
9930
- if (where === 'end') {
9931
- if (flip) {
9932
- brBoxY -= r;
9933
- brBoxHeight += r;
9934
- }
9935
- else {
9936
- brBoxHeight += r;
9937
- }
9938
- }
9939
- extend(shapeArgs, { brBoxHeight, brBoxY, r });
10131
+ const PolygonSeriesDefaults = {
10132
+ /**
10133
+ * Fill opacity for the polygon. When you set an explicit `fillColor`,
10134
+ * the `fillOpacity` is not applied. Instead, you should define the
10135
+ * opacity in the `fillColor` with an rgba color definition.
10136
+ *
10137
+ * In styled mode, the fill opacity can be set with the
10138
+ * `.highcharts-area` class name.
10139
+ *
10140
+ * @see [color](#plotOptions.polygon.color)
10141
+ * @see [fillColor](#plotOptions.polygon.fillColor)
10142
+ *
10143
+ * @sample {highcharts} highcharts/demo/violin-plot/
10144
+ * Translucent violins
10145
+ *
10146
+ * @type {number}
10147
+ * @default 1
10148
+ * @since 13.0.1
10149
+ * @product highcharts highstock
10150
+ */
10151
+ fillOpacity: 1,
10152
+ marker: {
10153
+ enabled: false,
10154
+ states: {
10155
+ hover: {
10156
+ enabled: false
9940
10157
  }
9941
10158
  }
9942
- }
9943
- }
9944
- /** @internal */
9945
- function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
9946
- const PieSeriesClass = SeriesClass.types.pie;
9947
- if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
9948
- const symbols = SVGRendererClass.prototype.symbols;
9949
- addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
9950
- // After columnrange and polar column modifications
9951
- order: 9
9952
- });
9953
- addEvent(PieSeriesClass, 'afterTranslate', pieSeriesOnAfterTranslate);
9954
- SVGElementClass.symbolCustomAttribs.push('borderRadius', 'brBoxHeight', 'brBoxY', 'brEnd', 'brStart');
9955
- oldArc = symbols.arc;
9956
- oldRoundedRect = symbols.roundedRect;
9957
- symbols.arc = arc;
9958
- symbols.roundedRect = roundedRect;
9959
- }
9960
- }
9961
- /** @internal */
9962
- function optionsToObject(options, seriesBROptions) {
9963
- if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(options)) {
9964
- options = { radius: options || 0 };
9965
- }
9966
- return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(defaultBorderRadiusOptions, seriesBROptions, options);
9967
- }
9968
- /** @internal */
9969
- function pieSeriesOnAfterTranslate() {
9970
- const borderRadius = optionsToObject(this.options.borderRadius);
9971
- for (const point of this.points) {
9972
- const shapeArgs = point.shapeArgs;
9973
- if (shapeArgs) {
9974
- shapeArgs.borderRadius = relativeLength(borderRadius.radius, (shapeArgs.r || 0) - ((shapeArgs.innerR) || 0));
9975
- }
9976
- }
9977
- }
10159
+ },
10160
+ stickyTracking: false,
10161
+ tooltip: {
10162
+ followPointer: true,
10163
+ pointFormat: ''
10164
+ },
10165
+ trackByArea: true,
10166
+ legendSymbol: 'rectangle'
10167
+ };
9978
10168
  /**
9979
- * Extend roundedRect with individual cutting through rOffset.
9980
- * @internal
10169
+ * A `polygon` series. If the [type](#series.polygon.type) option is
10170
+ * not specified, it is inherited from [chart.type](#chart.type).
10171
+ *
10172
+ * @extends series,plotOptions.polygon
10173
+ * @excluding dataParser, dataURL, stack, boostThreshold, boostBlending
10174
+ * @product highcharts highstock
10175
+ * @requires highcharts-more
10176
+ * @apioption series.polygon
9981
10177
  */
9982
- function roundedRect(x, y, width, height, options = {}) {
9983
- const path = oldRoundedRect(x, y, width, height, options), { r = 0, brBoxHeight = height, brBoxY = y } = options, brOffsetTop = y - brBoxY, brOffsetBtm = (brBoxY + brBoxHeight) - (y + height),
9984
- // When the distance to the border-radius box is greater than the r
9985
- // itself, it means no border radius. The -0.1 accounts for float
9986
- // rounding errors.
9987
- rTop = (brOffsetTop - r) > -0.1 ? 0 : r, rBtm = (brOffsetBtm - r) > -0.1 ? 0 : r, cutTop = Math.max(rTop && brOffsetTop, 0), cutBtm = Math.max(rBtm && brOffsetBtm, 0);
9988
- /*
10178
+ /**
10179
+ * An array of data points for the series. For the `polygon` series
10180
+ * type, points can be given in the following ways:
10181
+ *
10182
+ * 1. An array of numerical values. In this case, the numerical values will be
10183
+ * interpreted as `y` options. The `x` values will be automatically
10184
+ * calculated, either starting at 0 and incremented by 1, or from
10185
+ * `pointStart` and `pointInterval` given in the series options. If the axis
10186
+ * has categories, these will be used. Example:
10187
+ * ```js
10188
+ * data: [0, 5, 3, 5]
10189
+ * ```
10190
+ *
10191
+ * 2. An array of arrays with 2 values. In this case, the values correspond to
10192
+ * `x,y`. If the first value is a string, it is applied as the name of the
10193
+ * point, and the `x` value is inferred.
10194
+ * ```js
10195
+ * data: [
10196
+ * [0, 10],
10197
+ * [1, 3],
10198
+ * [2, 1]
10199
+ * ]
10200
+ * ```
10201
+ *
10202
+ * 3. An array of objects with named values. The following snippet shows only a
10203
+ * few settings, see the complete options set below. If the total number of
10204
+ * data points exceeds the series'
10205
+ * [turboThreshold](#series.polygon.turboThreshold), this option is not
10206
+ * available.
10207
+ * ```js
10208
+ * data: [{
10209
+ * x: 1,
10210
+ * y: 1,
10211
+ * name: "Point2",
10212
+ * color: "#00FF00"
10213
+ * }, {
10214
+ * x: 1,
10215
+ * y: 8,
10216
+ * name: "Point1",
10217
+ * color: "#FF00FF"
10218
+ * }]
10219
+ * ```
10220
+ *
10221
+ * @sample {highcharts} highcharts/chart/reflow-true/
10222
+ * Numerical values
10223
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
10224
+ * Arrays of numeric x and y
10225
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
10226
+ * Arrays of datetime x and y
10227
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
10228
+ * Arrays of point.name and y
10229
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
10230
+ * Config objects
10231
+ *
10232
+ * @basic
10233
+ * @type {Array<number|Array<(number|string),(number|null)>|null|*>}
10234
+ * @extends series.line.data
10235
+ * @product highcharts highstock
10236
+ * @apioption series.polygon.data
10237
+ */
10238
+ ''; // Keeps doclets above separate
10239
+ /* *
10240
+ *
10241
+ * Default Export
10242
+ *
10243
+ * */
10244
+ /* harmony default export */ const Polygon_PolygonSeriesDefaults = (PolygonSeriesDefaults);
9989
10245
 
9990
- The naming of control points:
10246
+ ;// ./code/es-modules/Series/Polygon/PolygonSeries.js
10247
+ /* *
10248
+ *
10249
+ * (c) 2010-2026 Highsoft AS
10250
+ * Author: Torstein Hønsi
10251
+ *
10252
+ * Integration of this software requires a license.
10253
+ * - For commercial use, see www.highcharts.com/license
10254
+ * - For non-commercial, see www.highcharts.com/license-eula
10255
+ *
10256
+ *
10257
+ * */
9991
10258
 
9992
- / a -------- b \
9993
- / \
9994
- h c
9995
- | |
9996
- | |
9997
- | |
9998
- g d
9999
- \ /
10000
- \ f -------- e /
10001
10259
 
10002
- */
10003
- const a = [x + rTop, y], b = [x + width - rTop, y], c = [x + width, y + rTop], d = [
10004
- x + width, y + height - rBtm
10005
- ], e = [
10006
- x + width - rBtm,
10007
- y + height
10008
- ], f = [x + rBtm, y + height], g = [x, y + height - rBtm], h = [x, y + rTop];
10009
- const applyPythagoras = (r, altitude) => Math.sqrt(Math.pow(r, 2) - Math.pow(altitude, 2));
10010
- // Inside stacks, cut off part of the top
10011
- if (cutTop) {
10012
- const base = applyPythagoras(rTop, rTop - cutTop);
10013
- a[0] -= base;
10014
- b[0] += base;
10015
- c[1] = h[1] = y + rTop - cutTop;
10016
- }
10017
- // Column is lower than the radius. Cut off bottom inside the top
10018
- // radius.
10019
- if (height < rTop - cutTop) {
10020
- const base = applyPythagoras(rTop, rTop - cutTop - height);
10021
- c[0] = d[0] = x + width - rTop + base;
10022
- e[0] = Math.min(c[0], e[0]);
10023
- f[0] = Math.max(d[0], f[0]);
10024
- g[0] = h[0] = x + rTop - base;
10025
- c[1] = h[1] = y + height;
10026
- }
10027
- // Inside stacks, cut off part of the bottom
10028
- if (cutBtm) {
10029
- const base = applyPythagoras(rBtm, rBtm - cutBtm);
10030
- e[0] += base;
10031
- f[0] -= base;
10032
- d[1] = g[1] = y + height - rBtm + cutBtm;
10260
+ const { noop: PolygonSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
10261
+
10262
+
10263
+ const { area: PolygonSeries_AreaSeries, line: LineSeries, scatter: PolygonSeries_ScatterSeries } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
10264
+
10265
+ /* *
10266
+ *
10267
+ * Class
10268
+ *
10269
+ * */
10270
+ class PolygonSeries extends PolygonSeries_ScatterSeries {
10271
+ /* *
10272
+ *
10273
+ * Functions
10274
+ *
10275
+ * */
10276
+ getGraphPath() {
10277
+ const graphPath = LineSeries.prototype.getGraphPath.call(this);
10278
+ let i = graphPath.length + 1;
10279
+ // Close all segments
10280
+ while (i--) {
10281
+ if ((i === graphPath.length || graphPath[i][0] === 'M') && i > 0) {
10282
+ graphPath.splice(i, 0, ['Z']);
10283
+ }
10284
+ }
10285
+ this.areaPath = graphPath;
10286
+ return graphPath;
10033
10287
  }
10034
- // Cut off top inside the bottom radius
10035
- if (height < rBtm - cutBtm) {
10036
- const base = applyPythagoras(rBtm, rBtm - cutBtm - height);
10037
- c[0] = d[0] = x + width - rBtm + base;
10038
- b[0] = Math.min(c[0], b[0]);
10039
- a[0] = Math.max(d[0], a[0]);
10040
- g[0] = h[0] = x + rBtm - base;
10041
- d[1] = g[1] = y;
10288
+ drawGraph() {
10289
+ // Borrow the fill logic from area.drawGraph, honoring `fillOpacity`
10290
+ // and an optional `fillColor`
10291
+ PolygonSeries_AreaSeries.prototype.drawGraph.call(this);
10042
10292
  }
10043
- // Preserve the box for data labels
10044
- path.length = 0;
10045
- path.push(['M', ...a],
10046
- // Top side
10047
- ['L', ...b],
10048
- // Top right corner
10049
- ['A', rTop, rTop, 0, 0, 1, ...c],
10050
- // Right side
10051
- ['L', ...d],
10052
- // Bottom right corner
10053
- ['A', rBtm, rBtm, 0, 0, 1, ...e],
10054
- // Bottom side
10055
- ['L', ...f],
10056
- // Bottom left corner
10057
- ['A', rBtm, rBtm, 0, 0, 1, ...g],
10058
- // Left side
10059
- ['L', ...h],
10060
- // Top left corner
10061
- ['A', rTop, rTop, 0, 0, 1, ...a], ['Z']);
10062
- return path;
10063
10293
  }
10064
10294
  /* *
10065
10295
  *
10066
- * API Declarations
10296
+ * Static Properties
10067
10297
  *
10068
10298
  * */
10069
- /**
10070
- * Detailed options for border radius.
10299
+ PolygonSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(PolygonSeries_ScatterSeries.defaultOptions, Polygon_PolygonSeriesDefaults);
10300
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(PolygonSeries.prototype, {
10301
+ type: 'polygon',
10302
+ drawTracker: LineSeries.prototype.drawTracker,
10303
+ setStackedPoints: PolygonSeries_noop // No stacking points on polygons (#5310)
10304
+ });
10305
+ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('polygon', PolygonSeries);
10306
+ /* *
10071
10307
  *
10072
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
10073
- * Rounded columns
10074
- * @sample highcharts/plotoptions/series-border-radius
10075
- * Column and pie with rounded border
10308
+ * Default Export
10076
10309
  *
10077
- * @interface Highcharts.BorderRadiusOptionsObject
10078
- */ /**
10079
- * The border radius. A number signifies pixels. A percentage string, like for
10080
- * example `50%`, signifies a relative size. For columns this is relative to the
10081
- * column width, for pies it is relative to the radius and the inner radius.
10082
- *
10083
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
10084
- * Rounded columns
10085
- * @sample highcharts/plotoptions/series-border-radius
10086
- * Column and pie with rounded border
10087
- *
10088
- * @name Highcharts.BorderRadiusOptionsObject#radius
10089
- * @type {string|number}
10090
- */ /**
10091
- * The scope of the rounding for column charts or plot bands. In a stacked
10092
- * column chart, the value `point` means each single point will get rounded
10093
- * corners. The value `stack` means the rounding will apply to the full
10094
- * stack, so that only points close to the top or bottom will receive
10095
- * rounding.
10096
- *
10097
- * Similarly, for plot bands, the `individual` value means each plot band
10098
- * will get rounded corners.
10099
- *
10100
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
10101
- * Rounded columns
10102
- *
10103
- * @name Highcharts.BorderRadiusOptionsObject#scope
10104
- * @validvalue ["individual", "point", "stack"]
10105
- * @type {string}
10106
- */ /**
10107
- * For column charts, where in the point or stack to apply rounding. The `end`
10108
- * value means only those corners at the point value will be rounded, leaving
10109
- * the corners at the base or threshold unrounded. This is the most intuitive
10110
- * behavior. The `all` value means also the base will be rounded.
10111
- *
10112
- * @sample {highcharts} highcharts/plotoptions/column-borderradius-where-all
10113
- * Rounding on all corners
10114
- *
10115
- * @name Highcharts.BorderRadiusOptionsObject#where
10116
- * @validvalue ["all", "end"]
10117
- * @type {string}
10118
- * @default end
10119
- */
10120
- (''); // Keeps doclets above in JS file
10310
+ * */
10311
+ /* harmony default export */ const Polygon_PolygonSeries = ((/* unused pure expression or super */ null && (PolygonSeries)));
10121
10312
 
10122
10313
  // EXTERNAL MODULE: external {"amd":["highcharts/highcharts","Series"],"commonjs":["highcharts","Series"],"commonjs2":["highcharts","Series"],"root":["Highcharts","Series"]}
10123
10314
  var highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_ = __webpack_require__(820);
@@ -10536,7 +10727,7 @@ var RadialAxis;
10536
10727
  return r;
10537
10728
  }
10538
10729
  return radius;
10539
- }, center = this.center, { endAngleRad, startAngleRad } = this, borderRadius = optionsToObject(options.borderRadius ??
10730
+ }, center = this.center, { endAngleRad, startAngleRad } = this, borderRadius = borderRadiusObject(options.borderRadius ??
10540
10731
  this.pane.options.borderRadius), fullRadius = center[2] / 2, offset = Math.min(this.offset || 0, 0), left = this.left || 0, top = this.top || 0, percentRegex = /%$/, isCircular = this.isCircular, // X axis in a polar chart
10541
10732
  trueBands = this.options.plotBands || [], index = trueBands.indexOf(options);
10542
10733
  let start, end, angle, xOnPerimeter, open, path, outerRadius = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(radiusToPixels(options.outerRadius), fullRadius), innerRadius = radiusToPixels(options.innerRadius), thickness = radiusToPixels(options.thickness), brStart = true, brEnd = true;
@@ -10672,17 +10863,12 @@ var RadialAxis;
10672
10863
  // Concentric circles
10673
10864
  }
10674
10865
  else {
10675
- // Pick the right values depending if it is grid line or crosshair
10676
- let transValue = this.translate(value);
10677
- // This is required in case when xAxis is non-circular to
10678
- // prevent grid lines (or crosshairs, if enabled) from
10679
- // rendering above the center after they supposed to be
10680
- // displayed below the center point
10681
- if (transValue) {
10682
- if (transValue < 0 || transValue > height) {
10683
- transValue = 0;
10684
- }
10685
- }
10866
+ // Pick the right values depending if it is grid line or crosshair.
10867
+ // Clamp is required in case when xAxis is non-circular to prevent
10868
+ // grid lines (or crosshairs, if enabled) from rendering above the
10869
+ // center after they supposed to be displayed below the center
10870
+ // point.
10871
+ let transValue = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(this.translate(value), 0, height);
10686
10872
  if (this.options.gridLineInterpolation === 'circle') {
10687
10873
  // A value of 0 is in the center, so it won't be
10688
10874
  // visible, but draw it anyway for update and animation
@@ -11246,7 +11432,6 @@ var RadialAxis;
11246
11432
  * */
11247
11433
 
11248
11434
 
11249
- const { animObject: PolarComposition_animObject } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
11250
11435
 
11251
11436
 
11252
11437
  const { defaultOptions: PolarComposition_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
@@ -11573,7 +11758,7 @@ function onSeriesAfterColumnTranslate() {
11573
11758
  chart.polar &&
11574
11759
  chart.inverted) {
11575
11760
  const seriesDefault = PolarComposition_defaultOptions.plotOptions?.[this.type]
11576
- ?.borderRadius, { scope, where = 'end' } = optionsToObject(options.borderRadius, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(seriesDefault) ? seriesDefault : {});
11761
+ ?.borderRadius, { scope, where = 'end' } = borderRadiusObject(options.borderRadius, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(seriesDefault) ? seriesDefault : {});
11577
11762
  for (const point of this.points) {
11578
11763
  const { shapeArgs } = point;
11579
11764
  if (point.shapeType === 'arc' && shapeArgs) {
@@ -11775,7 +11960,7 @@ function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alig
11775
11960
  * @private
11776
11961
  */
11777
11962
  function onAfterColumnTranslate() {
11778
- const series = this, options = series.options, stacking = options.stacking, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, reversed = yAxis.reversed, center = yAxis.center, startAngleRad = xAxis.startAngleRad, endAngleRad = xAxis.endAngleRad, visibleRange = endAngleRad - startAngleRad;
11963
+ const series = this, { chart, options, xAxis, yAxis } = series, stacking = options.stacking, { center, reversed } = yAxis, { endAngleRad, startAngleRad } = xAxis, visibleRange = endAngleRad - startAngleRad;
11779
11964
  let threshold = options.threshold, thresholdAngleRad = 0, points, point, i, yMin, yMax, start = 0, end = 0, tooltipPos, pointX, pointY, stackValues, stack, barX, innerR, r;
11780
11965
  // Postprocess plot coordinates
11781
11966
  if (xAxis.isRadial) {
@@ -11873,8 +12058,7 @@ function onAfterColumnTranslate() {
11873
12058
  innerR = Math.max(barX, 0);
11874
12059
  r = Math.max(barX + (point.pointWidth || 0), 0);
11875
12060
  // Handle border radius
11876
- const brOption = options.borderRadius, brValue = typeof brOption === 'object' ?
11877
- brOption.radius : brOption, borderRadius = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.relativeLength)(brValue || 0, r - innerR);
12061
+ const brOption = borderRadiusObject(options.borderRadius), borderRadius = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.relativeLength)(brOption.radius, r - innerR);
11878
12062
  point.shapeArgs = {
11879
12063
  x: center[0],
11880
12064
  y: center[1],
@@ -12037,7 +12221,7 @@ function wrapSeriesAnimate(proceed, init) {
12037
12221
  }
12038
12222
  }
12039
12223
  else {
12040
- animation = PolarComposition_animObject(animation);
12224
+ animation = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.animObject)(animation);
12041
12225
  // A different animation needed for column like series
12042
12226
  if (series.is('column')) {
12043
12227
  if (!init) {
@@ -12816,7 +13000,7 @@ class WaterfallSeries extends WaterfallSeries_ColumnSeries {
12816
13000
  pointAttribs(point, state) {
12817
13001
  const upColor = this.options.upColor;
12818
13002
  // Set or reset up color (#3710, update to negative)
12819
- if (upColor && !point.options.color && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(point.y)) {
13003
+ if (upColor && point && !point.options.color && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(point.y)) {
12820
13004
  point.color = point.y > 0 ? upColor : void 0;
12821
13005
  }
12822
13006
  const attr = WaterfallSeries_ColumnSeries.prototype.pointAttribs.call(this, point, state);