highcharts 13.0.0 → 13.0.2

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 (1264) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +2 -1
  3. package/es-modules/Accessibility/A11yI18n.js +4 -4
  4. package/es-modules/Accessibility/Accessibility.js +38 -1
  5. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +6 -4
  6. package/es-modules/Accessibility/Components/LegendComponent.js +3 -4
  7. package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +13 -10
  9. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -4
  10. package/es-modules/Accessibility/Components/ZoomComponent.js +2 -2
  11. package/es-modules/Accessibility/FocusBorder.js +2 -2
  12. package/es-modules/Accessibility/Options/A11yDefaults.js +12 -3
  13. package/es-modules/Accessibility/Options/DeprecatedOptions.js +1 -2
  14. package/es-modules/Accessibility/ProxyElement.js +1 -0
  15. package/es-modules/Core/Animation/AnimationUtilities.js +34 -43
  16. package/es-modules/Core/Animation/Fx.js +16 -19
  17. package/es-modules/Core/Axis/Axis.js +49 -59
  18. package/es-modules/Core/Axis/Axis3DComposition.js +8 -6
  19. package/es-modules/Core/Axis/AxisDefaults.js +12 -2
  20. package/es-modules/Core/Axis/BrokenAxis.js +6 -5
  21. package/es-modules/Core/Axis/Color/ColorAxis.js +24 -12
  22. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
  23. package/es-modules/Core/Axis/GridAxis.js +12 -5
  24. package/es-modules/Core/Axis/LogarithmicAxis.js +5 -3
  25. package/es-modules/Core/Axis/NavigatorAxisComposition.js +2 -2
  26. package/es-modules/Core/Axis/OrdinalAxis.js +21 -11
  27. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -2
  28. package/es-modules/Core/Axis/RadialAxis.js +23 -22
  29. package/es-modules/Core/Axis/ScrollbarAxis.js +3 -3
  30. package/es-modules/Core/Axis/Stacking/StackItem.js +5 -5
  31. package/es-modules/Core/Axis/Stacking/StackingAxis.js +5 -6
  32. package/es-modules/Core/Axis/Tick.js +10 -11
  33. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +1 -1
  34. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -3
  35. package/es-modules/Core/Chart/Chart.js +58 -53
  36. package/es-modules/Core/Chart/Chart3D.js +3 -3
  37. package/es-modules/Core/Chart/ChartDefaults.js +24 -1
  38. package/es-modules/Core/Chart/MapChart.js +7 -10
  39. package/es-modules/Core/Chart/StockChart.js +15 -11
  40. package/es-modules/Core/Color/Color.js +3 -1
  41. package/es-modules/Core/Defaults.js +44 -2
  42. package/es-modules/Core/Globals.js +1 -1
  43. package/es-modules/Core/Legend/Legend.js +20 -17
  44. package/es-modules/Core/Legend/LegendSymbol.js +2 -2
  45. package/es-modules/Core/MSPointer.js +2 -2
  46. package/es-modules/Core/Math3D.js +6 -7
  47. package/es-modules/Core/Pointer.js +20 -10
  48. package/es-modules/Core/Renderer/HTML/AST.js +5 -1
  49. package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -16
  50. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  51. package/es-modules/Core/Renderer/SVG/SVGElement.js +12 -11
  52. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +2 -2
  53. package/es-modules/Core/Renderer/SVG/SVGLabel.js +5 -5
  54. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +6 -6
  55. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +13 -12
  56. package/es-modules/Core/Renderer/SVG/Symbols.js +6 -5
  57. package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
  58. package/es-modules/Core/Responsive.js +7 -5
  59. package/es-modules/Core/Series/DataLabel.js +9 -8
  60. package/es-modules/Core/Series/OverlappingDataLabels.js +5 -2
  61. package/es-modules/Core/Series/Point.js +31 -24
  62. package/es-modules/Core/Series/Series.js +125 -82
  63. package/es-modules/Core/Series/Series3D.js +2 -2
  64. package/es-modules/Core/Series/SeriesDefaults.js +33 -0
  65. package/es-modules/Core/Templating.js +18 -15
  66. package/es-modules/Core/Tooltip.js +12 -9
  67. package/es-modules/Core/Utilities.js +4 -3
  68. package/es-modules/Data/Connectors/DataConnector.js +2 -2
  69. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
  70. package/es-modules/Data/DataTable.js +17 -0
  71. package/es-modules/Data/DataTableCore.js +1 -1
  72. package/es-modules/Extensions/Annotations/Annotation.js +5 -6
  73. package/es-modules/Extensions/Annotations/AnnotationChart.js +2 -2
  74. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
  75. package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
  76. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +2 -2
  77. package/es-modules/Extensions/Annotations/EventEmitter.js +4 -4
  78. package/es-modules/Extensions/Annotations/MockPoint.js +7 -9
  79. package/es-modules/Extensions/Annotations/NavigationBindings.js +6 -3
  80. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +31 -4
  81. package/es-modules/Extensions/Annotations/Popup/Popup.js +3 -2
  82. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +6 -8
  83. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -4
  84. package/es-modules/Extensions/Annotations/Types/Measure.js +28 -10
  85. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  86. package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -1
  87. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +3 -3
  88. package/es-modules/Extensions/Boost/Boost.js +13 -0
  89. package/es-modules/Extensions/Boost/BoostChart.js +11 -4
  90. package/es-modules/Extensions/Boost/BoostSeries.js +17 -11
  91. package/es-modules/Extensions/Boost/WGLRenderer.js +9 -6
  92. package/es-modules/Extensions/Boost/WGLShader.js +3 -3
  93. package/es-modules/Extensions/BoostCanvas.js +2 -2
  94. package/es-modules/Extensions/BorderRadius.js +12 -10
  95. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +6 -5
  96. package/es-modules/Extensions/DataGrouping/DataGrouping.js +2 -2
  97. package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +4 -3
  98. package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +2 -2
  99. package/es-modules/Extensions/DraggablePoints/DragDropProps.js +2 -3
  100. package/es-modules/Extensions/DraggablePoints/DraggableChart.js +1 -2
  101. package/es-modules/Extensions/Drilldown/Drilldown.js +1 -2
  102. package/es-modules/Extensions/Drilldown/DrilldownSeries.js +1 -2
  103. package/es-modules/Extensions/ExportData/ExportData.js +21 -16
  104. package/es-modules/Extensions/Exporting/Exporting.js +28 -28
  105. package/es-modules/Extensions/Exporting/ExportingDefaults.js +32 -0
  106. package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +1 -2
  107. package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +1 -2
  108. package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +2 -2
  109. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +31 -4
  110. package/es-modules/Extensions/Pane/PaneComposition.js +2 -2
  111. package/es-modules/Extensions/Pane/PaneDefaults.js +1 -1
  112. package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -2
  113. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +3 -0
  114. package/es-modules/Extensions/PatternFill.js +7 -5
  115. package/es-modules/Extensions/PriceIndication.js +5 -4
  116. package/es-modules/Extensions/ScrollablePlotArea.js +8 -2
  117. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +8 -9
  118. package/es-modules/Extensions/Sonification/MIDI.js +2 -3
  119. package/es-modules/Extensions/Sonification/Sonification.js +2 -2
  120. package/es-modules/Extensions/Sonification/SonificationSpeaker.js +3 -2
  121. package/es-modules/Extensions/Sonification/SynthPatch.js +4 -4
  122. package/es-modules/Extensions/Sonification/TimelineFromChart.js +11 -11
  123. package/es-modules/Gantt/Legacy.js +2 -2
  124. package/es-modules/Gantt/Pathfinder.js +3 -3
  125. package/es-modules/Gantt/PathfinderAlgorithms.js +4 -3
  126. package/es-modules/Gantt/Tree.js +1 -1
  127. package/es-modules/Maps/GeoJSONComposition.js +14 -1
  128. package/es-modules/Maps/MapNavigation.js +4 -4
  129. package/es-modules/Maps/MapPointer.js +2 -2
  130. package/es-modules/Maps/MapView.js +3 -3
  131. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +8 -6
  132. package/es-modules/Series/Area/AreaSeries.js +4 -5
  133. package/es-modules/Series/AreaRange/AreaRangeSeries.js +87 -147
  134. package/es-modules/Series/AreaRange/AreaRangeSeriesDefaults.js +42 -4
  135. package/es-modules/Series/Bellcurve/BellcurveSeries.js +10 -6
  136. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +40 -32
  137. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +33 -1
  138. package/es-modules/Series/Bubble/BubbleLegendItem.js +10 -6
  139. package/es-modules/Series/Bubble/BubbleSeries.js +25 -9
  140. package/es-modules/Series/Bullet/BulletSeries.js +17 -10
  141. package/es-modules/Series/Candlestick/CandlestickSeries.js +3 -3
  142. package/es-modules/Series/CenteredUtilities.js +12 -9
  143. package/es-modules/Series/ColorMapComposition.js +7 -4
  144. package/es-modules/Series/Column/ColumnPoint.js +2 -0
  145. package/es-modules/Series/Column/ColumnSeries.js +14 -14
  146. package/es-modules/Series/Column/ColumnSeriesDefaults.js +4 -2
  147. package/es-modules/Series/Column3D/Column3DComposition.js +22 -19
  148. package/es-modules/Series/ColumnPyramid/ColumnPyramidPoint.js +18 -0
  149. package/es-modules/Series/ColumnPyramid/ColumnPyramidPointOptions.js +12 -0
  150. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +7 -6
  151. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesOptions.js +12 -0
  152. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +2 -0
  153. package/es-modules/Series/ColumnRange/ColumnRangePointOptions.js +12 -0
  154. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +13 -144
  155. package/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js +148 -0
  156. package/es-modules/Series/ColumnRange/ColumnRangeSeriesOptions.js +12 -0
  157. package/es-modules/Series/Contour/ContourPoint.js +2 -0
  158. package/es-modules/Series/Contour/ContourSeries.js +1 -0
  159. package/es-modules/Series/Contour/ContourSeriesDefaults.js +7 -0
  160. package/es-modules/Series/Contour/ContourShader.js +9 -1
  161. package/es-modules/Series/CrossSymbol.js +3 -2
  162. package/es-modules/Series/Cylinder/CylinderComposition.js +12 -12
  163. package/es-modules/Series/Cylinder/CylinderPoint.js +2 -0
  164. package/es-modules/Series/Cylinder/CylinderPointOptions.js +15 -0
  165. package/es-modules/Series/Cylinder/CylinderSeries.js +2 -1
  166. package/es-modules/Series/Cylinder/CylinderSeriesOptions.js +15 -0
  167. package/es-modules/Series/Cylinder/SVGElement3DCylinder.js +2 -0
  168. package/es-modules/Series/DataModifyComposition.js +9 -7
  169. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  170. package/es-modules/Series/DependencyWheel/DependencyWheelPointOptions.js +14 -0
  171. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +8 -8
  172. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesOptions.js +14 -0
  173. package/es-modules/Series/DerivedComposition.js +9 -8
  174. package/es-modules/Series/DotPlot/DotPlotPoint.js +18 -0
  175. package/es-modules/Series/DotPlot/DotPlotPointOptions.js +12 -0
  176. package/es-modules/Series/DotPlot/DotPlotSeries.js +6 -4
  177. package/es-modules/Series/DotPlot/DotPlotSeriesOptions.js +12 -0
  178. package/es-modules/Series/DragNodesComposition.js +11 -8
  179. package/es-modules/Series/DrawPointUtilities.js +3 -1
  180. package/es-modules/Series/Dumbbell/DumbbellPoint.js +19 -6
  181. package/es-modules/Series/Dumbbell/DumbbellPointOptions.js +12 -0
  182. package/es-modules/Series/Dumbbell/DumbbellSeries.js +33 -15
  183. package/es-modules/Series/Dumbbell/DumbbellSeriesOptions.js +12 -0
  184. package/es-modules/Series/ErrorBar/ErrorBarPoint.js +18 -0
  185. package/es-modules/Series/ErrorBar/ErrorBarPointOptions.js +12 -0
  186. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +6 -9
  187. package/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js +15 -1
  188. package/es-modules/Series/ErrorBar/ErrorBarSeriesOptions.js +12 -0
  189. package/es-modules/Series/Flags/FlagsSeries.js +5 -14
  190. package/es-modules/Series/Flags/FlagsSeriesDefaults.js +2 -1
  191. package/es-modules/Series/FlowMap/FlowMapPoint.js +5 -3
  192. package/es-modules/Series/FlowMap/FlowMapSeries.js +17 -9
  193. package/es-modules/Series/Funnel/FunnelSeries.js +25 -26
  194. package/es-modules/Series/Funnel/FunnelSeriesDefaults.js +12 -0
  195. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +7 -5
  196. package/es-modules/Series/Gantt/GanttSeries.js +2 -1
  197. package/es-modules/Series/Gauge/GaugeSeries.js +2 -2
  198. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +9 -9
  199. package/es-modules/Series/GraphLayoutComposition.js +3 -3
  200. package/es-modules/Series/Heatmap/HeatmapPoint.js +6 -6
  201. package/es-modules/Series/Heatmap/HeatmapPointOptions.js +12 -0
  202. package/es-modules/Series/Heatmap/HeatmapSeries.js +13 -13
  203. package/es-modules/Series/Heatmap/HeatmapSeriesOptions.js +12 -0
  204. package/es-modules/Series/Histogram/HistogramPoint.js +17 -0
  205. package/es-modules/Series/Histogram/HistogramPointOptions.js +12 -0
  206. package/es-modules/Series/Histogram/HistogramSeries.js +15 -3
  207. package/es-modules/Series/Histogram/HistogramSeriesOptions.js +12 -0
  208. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -9
  209. package/es-modules/Series/InterpolationUtilities.js +5 -5
  210. package/es-modules/Series/Item/ItemPointOptions.js +14 -0
  211. package/es-modules/Series/Item/ItemSeries.js +18 -6
  212. package/es-modules/Series/Item/ItemSeriesOptions.js +14 -0
  213. package/es-modules/Series/Map/MapPoint.js +5 -3
  214. package/es-modules/Series/Map/MapSeries.js +6 -10
  215. package/es-modules/Series/Map/MapSeriesDefaults.js +11 -1
  216. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +3 -3
  217. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +14 -9
  218. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +12 -0
  219. package/es-modules/Series/Networkgraph/ReingoldFruchtermanLayout.js +18 -9
  220. package/es-modules/Series/NodesComposition.js +9 -10
  221. package/es-modules/Series/OHLC/OHLCPoint.js +2 -2
  222. package/es-modules/Series/OHLC/OHLCSeries.js +1 -0
  223. package/es-modules/Series/Organization/OrganizationPoint.js +3 -2
  224. package/es-modules/Series/Organization/OrganizationSeries.js +29 -7
  225. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +11 -4
  226. package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -3
  227. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +5 -5
  228. package/es-modules/Series/Pictorial/PictorialSeries.js +4 -2
  229. package/es-modules/Series/Pie/PieDataLabel.js +2 -2
  230. package/es-modules/Series/Pie/PiePoint.js +3 -4
  231. package/es-modules/Series/Pie/PieSeries.js +3 -2
  232. package/es-modules/Series/Pie3D/Pie3DSeries.js +8 -4
  233. package/es-modules/Series/PolarComposition.js +13 -14
  234. package/es-modules/Series/Polygon/PolygonSeries.js +2 -2
  235. package/es-modules/Series/Polygon/PolygonSeriesDefaults.js +20 -0
  236. package/es-modules/Series/RangeDataLabel.js +128 -0
  237. package/es-modules/Series/Sankey/SankeySeries.js +13 -7
  238. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +2 -2
  239. package/es-modules/Series/Scatter/ScatterSeries.js +6 -5
  240. package/es-modules/Series/Scatter/ScatterSeriesDefaults.js +2 -0
  241. package/es-modules/Series/SimulationSeriesUtilities.js +1 -2
  242. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +4 -4
  243. package/es-modules/Series/Spline/SplineSeries.js +5 -5
  244. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +8 -0
  245. package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +20 -12
  246. package/es-modules/Series/Tilemap/TilemapSeriesDefaults.js +2 -1
  247. package/es-modules/Series/Tilemap/TilemapShapes.js +2 -2
  248. package/es-modules/Series/Timeline/TimelinePoint.js +2 -2
  249. package/es-modules/Series/Timeline/TimelineSeries.js +13 -6
  250. package/es-modules/Series/TreeUtilities.js +16 -7
  251. package/es-modules/Series/Treegraph/TreegraphLink.js +2 -2
  252. package/es-modules/Series/Treegraph/TreegraphSeries.js +22 -13
  253. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  254. package/es-modules/Series/Treemap/TreemapSeries.js +14 -11
  255. package/es-modules/Series/Treemap/TreemapSeriesDefaults.js +22 -1
  256. package/es-modules/Series/VariablePie/VariablePieSeries.js +6 -4
  257. package/es-modules/Series/VariablePie/VariablePieSeriesDefaults.js +3 -2
  258. package/es-modules/Series/Variwide/VariwideSeries.js +2 -2
  259. package/es-modules/Series/Vector/VectorSeries.js +7 -9
  260. package/es-modules/Series/Venn/VennSeries.js +3 -4
  261. package/es-modules/Series/Waterfall/WaterfallSeries.js +3 -3
  262. package/es-modules/Series/Windbarb/WindbarbSeries.js +8 -10
  263. package/es-modules/Series/XRange/XRangeSeries.js +8 -8
  264. package/es-modules/Shared/TimeBase.js +13 -8
  265. package/es-modules/Shared/Utilities.js +9 -7
  266. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -3
  267. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +4 -3
  268. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +1 -1
  269. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +2 -2
  270. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +1 -2
  271. package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +4 -4
  272. package/es-modules/Stock/Navigator/Navigator.js +26 -26
  273. package/es-modules/Stock/Navigator/NavigatorDefaults.js +9 -2
  274. package/es-modules/Stock/Navigator/NavigatorSymbols.js +2 -1
  275. package/es-modules/Stock/Navigator/StandaloneNavigator.js +55 -14
  276. package/es-modules/Stock/RangeSelector/RangeSelector.js +15 -11
  277. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +3 -3
  278. package/es-modules/Stock/Scrollbar/Scrollbar.js +8 -7
  279. package/es-modules/Stock/StockTools/StockToolbar.js +6 -6
  280. package/es-modules/Stock/StockTools/StockTools.js +2 -2
  281. package/es-modules/Stock/StockTools/StockToolsBindings.js +7 -7
  282. package/es-modules/Stock/StockTools/StockToolsGui.js +6 -4
  283. package/es-modules/masters/highcharts-3d.src.js +1 -1
  284. package/es-modules/masters/highcharts-autoload.src.js +1 -1
  285. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  286. package/es-modules/masters/highcharts-more.src.js +1 -1
  287. package/es-modules/masters/highcharts.src.js +13 -8
  288. package/es-modules/masters/highmaps.src.js +1 -1
  289. package/es-modules/masters/highstock.src.js +1 -1
  290. package/es-modules/masters/i18n/fr-FR.src.d.ts +1 -1
  291. package/es-modules/masters/i18n/fr-FR.src.js +1 -1
  292. package/es-modules/masters/i18n/nb-NO.src.d.ts +1 -1
  293. package/es-modules/masters/i18n/nb-NO.src.js +1 -1
  294. package/es-modules/masters/i18n/zh-CN.src.d.ts +1 -1
  295. package/es-modules/masters/i18n/zh-CN.src.js +1 -1
  296. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  297. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  298. package/es-modules/masters/indicators/ao.src.js +1 -1
  299. package/es-modules/masters/indicators/apo.src.js +1 -1
  300. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  301. package/es-modules/masters/indicators/aroon.src.js +1 -1
  302. package/es-modules/masters/indicators/atr.src.js +1 -1
  303. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  304. package/es-modules/masters/indicators/cci.src.js +1 -1
  305. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  306. package/es-modules/masters/indicators/cmf.src.js +1 -1
  307. package/es-modules/masters/indicators/cmo.src.js +1 -1
  308. package/es-modules/masters/indicators/dema.src.js +1 -1
  309. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  310. package/es-modules/masters/indicators/dmi.src.js +1 -1
  311. package/es-modules/masters/indicators/dpo.src.js +1 -1
  312. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  313. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  314. package/es-modules/masters/indicators/indicators.src.js +1 -1
  315. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  316. package/es-modules/masters/indicators/klinger.src.js +1 -1
  317. package/es-modules/masters/indicators/macd.src.js +1 -1
  318. package/es-modules/masters/indicators/mfi.src.js +1 -1
  319. package/es-modules/masters/indicators/momentum.src.js +1 -1
  320. package/es-modules/masters/indicators/natr.src.js +1 -1
  321. package/es-modules/masters/indicators/obv.src.js +1 -1
  322. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  323. package/es-modules/masters/indicators/ppo.src.js +1 -1
  324. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  325. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  326. package/es-modules/masters/indicators/psar.src.js +1 -1
  327. package/es-modules/masters/indicators/regressions.src.js +1 -1
  328. package/es-modules/masters/indicators/roc.src.js +1 -1
  329. package/es-modules/masters/indicators/rsi.src.js +1 -1
  330. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  331. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  332. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  333. package/es-modules/masters/indicators/tema.src.js +1 -1
  334. package/es-modules/masters/indicators/trendline.src.js +1 -1
  335. package/es-modules/masters/indicators/trix.src.js +1 -1
  336. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  337. package/es-modules/masters/indicators/vwap.src.js +1 -1
  338. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  339. package/es-modules/masters/indicators/wma.src.js +1 -1
  340. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  341. package/es-modules/masters/modules/accessibility.src.js +1 -1
  342. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  343. package/es-modules/masters/modules/annotations.src.js +1 -1
  344. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  345. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  346. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  347. package/es-modules/masters/modules/boost.src.js +1 -1
  348. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  349. package/es-modules/masters/modules/bullet.src.js +1 -1
  350. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  351. package/es-modules/masters/modules/contour.src.js +1 -1
  352. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  353. package/es-modules/masters/modules/cylinder.src.js +1 -1
  354. package/es-modules/masters/modules/data-sorting.src.js +1 -1
  355. package/es-modules/masters/modules/data-tools.src.js +1 -1
  356. package/es-modules/masters/modules/data.src.js +1 -1
  357. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  358. package/es-modules/masters/modules/debugger.src.js +1 -1
  359. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  360. package/es-modules/masters/modules/dotplot.src.js +1 -1
  361. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  362. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  363. package/es-modules/masters/modules/drilldown.src.js +1 -1
  364. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  365. package/es-modules/masters/modules/export-data.src.js +1 -1
  366. package/es-modules/masters/modules/exporting.src.js +1 -1
  367. package/es-modules/masters/modules/flowmap.src.js +2 -1
  368. package/es-modules/masters/modules/full-screen.src.js +1 -1
  369. package/es-modules/masters/modules/funnel.src.js +1 -1
  370. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  371. package/es-modules/masters/modules/gantt.src.js +1 -1
  372. package/es-modules/masters/modules/geoheatmap.src.js +1 -1
  373. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  374. package/es-modules/masters/modules/heatmap.src.js +1 -1
  375. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  376. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  377. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  378. package/es-modules/masters/modules/item-series.src.js +1 -1
  379. package/es-modules/masters/modules/lollipop.src.js +1 -1
  380. package/es-modules/masters/modules/map.src.js +1 -1
  381. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  382. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +1 -1
  383. package/es-modules/masters/modules/navigator.src.js +1 -1
  384. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  385. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  386. package/es-modules/masters/modules/non-cartesian-zoom.src.js +1 -1
  387. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  388. package/es-modules/masters/modules/organization.src.js +1 -1
  389. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  390. package/es-modules/masters/modules/pareto.src.js +1 -1
  391. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  392. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  393. package/es-modules/masters/modules/pictorial.src.js +1 -1
  394. package/es-modules/masters/modules/pointandfigure.src.js +1 -1
  395. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  396. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  397. package/es-modules/masters/modules/renko.src.js +1 -1
  398. package/es-modules/masters/modules/sankey.src.js +1 -1
  399. package/es-modules/masters/modules/series-label.src.js +1 -1
  400. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  401. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  402. package/es-modules/masters/modules/sonification.src.js +1 -1
  403. package/es-modules/masters/modules/static-scale.src.js +1 -1
  404. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  405. package/es-modules/masters/modules/stock.src.js +1 -1
  406. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  407. package/es-modules/masters/modules/sunburst.src.js +3 -2
  408. package/es-modules/masters/modules/textpath.src.js +1 -1
  409. package/es-modules/masters/modules/tiledwebmap.src.js +1 -1
  410. package/es-modules/masters/modules/tilemap.src.js +1 -1
  411. package/es-modules/masters/modules/timeline.src.js +1 -1
  412. package/es-modules/masters/modules/treegraph.src.js +1 -1
  413. package/es-modules/masters/modules/treegrid.src.js +1 -1
  414. package/es-modules/masters/modules/treemap.src.js +1 -1
  415. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  416. package/es-modules/masters/modules/variwide.src.js +1 -1
  417. package/es-modules/masters/modules/vector.src.js +1 -1
  418. package/es-modules/masters/modules/venn.src.js +1 -1
  419. package/es-modules/masters/modules/windbarb.src.js +1 -1
  420. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  421. package/es-modules/masters/modules/xrange.src.js +1 -1
  422. package/es-modules/masters/standalone-navigator.src.js +1 -1
  423. package/es-modules/masters/themes/adaptive.src.js +1 -1
  424. package/es-modules/masters/themes/avocado.src.js +1 -1
  425. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  426. package/es-modules/masters/themes/grid-light.src.js +1 -1
  427. package/es-modules/masters/themes/high-contrast.src.js +1 -1
  428. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  429. package/es-modules/masters/themes/sunset.src.js +1 -1
  430. package/es-modules/tsconfig.tsbuildinfo +1 -1
  431. package/esm/highcharts-3d.js +2 -2
  432. package/esm/highcharts-3d.src.js +78 -55
  433. package/esm/highcharts-autoload.js +2 -2
  434. package/esm/highcharts-autoload.src.js +22 -8
  435. package/esm/highcharts-gantt.js +2 -2
  436. package/esm/highcharts-gantt.src.js +1 -24
  437. package/esm/highcharts-more.js +2 -2
  438. package/esm/highcharts-more.src.js +1198 -981
  439. package/esm/highcharts.js +5 -5
  440. package/esm/highcharts.src.js +702 -515
  441. package/esm/highmaps.js +2 -2
  442. package/esm/highmaps.src.js +1 -24
  443. package/esm/highstock.js +2 -2
  444. package/esm/highstock.src.js +1 -24
  445. package/esm/i18n/fr-FR.js +2 -2
  446. package/esm/i18n/fr-FR.src.js +22 -8
  447. package/esm/i18n/nb-NO.js +2 -2
  448. package/esm/i18n/nb-NO.src.js +22 -8
  449. package/esm/i18n/zh-CN.js +2 -2
  450. package/esm/i18n/zh-CN.src.js +22 -8
  451. package/esm/indicators/acceleration-bands.js +2 -2
  452. package/esm/indicators/acceleration-bands.src.js +22 -8
  453. package/esm/indicators/accumulation-distribution.js +2 -2
  454. package/esm/indicators/accumulation-distribution.src.js +22 -8
  455. package/esm/indicators/ao.js +2 -2
  456. package/esm/indicators/ao.src.js +22 -8
  457. package/esm/indicators/apo.js +2 -2
  458. package/esm/indicators/apo.src.js +22 -8
  459. package/esm/indicators/aroon-oscillator.js +2 -2
  460. package/esm/indicators/aroon-oscillator.src.js +22 -8
  461. package/esm/indicators/aroon.js +2 -2
  462. package/esm/indicators/aroon.src.js +24 -10
  463. package/esm/indicators/atr.js +2 -2
  464. package/esm/indicators/atr.src.js +22 -8
  465. package/esm/indicators/bollinger-bands.js +2 -2
  466. package/esm/indicators/bollinger-bands.src.js +22 -8
  467. package/esm/indicators/cci.js +2 -2
  468. package/esm/indicators/cci.src.js +22 -8
  469. package/esm/indicators/chaikin.js +2 -2
  470. package/esm/indicators/chaikin.src.js +22 -8
  471. package/esm/indicators/cmf.js +2 -2
  472. package/esm/indicators/cmf.src.js +22 -8
  473. package/esm/indicators/cmo.js +2 -2
  474. package/esm/indicators/cmo.src.js +22 -8
  475. package/esm/indicators/dema.js +2 -2
  476. package/esm/indicators/dema.src.js +22 -8
  477. package/esm/indicators/disparity-index.js +2 -2
  478. package/esm/indicators/disparity-index.src.js +22 -8
  479. package/esm/indicators/dmi.js +2 -2
  480. package/esm/indicators/dmi.src.js +22 -8
  481. package/esm/indicators/dpo.js +2 -2
  482. package/esm/indicators/dpo.src.js +25 -10
  483. package/esm/indicators/ichimoku-kinko-hyo.js +2 -2
  484. package/esm/indicators/ichimoku-kinko-hyo.src.js +22 -8
  485. package/esm/indicators/indicators-all.js +2 -2
  486. package/esm/indicators/indicators-all.src.js +31 -17
  487. package/esm/indicators/indicators.js +2 -2
  488. package/esm/indicators/indicators.src.js +24 -10
  489. package/esm/indicators/keltner-channels.js +2 -2
  490. package/esm/indicators/keltner-channels.src.js +22 -8
  491. package/esm/indicators/klinger.js +2 -2
  492. package/esm/indicators/klinger.src.js +22 -8
  493. package/esm/indicators/macd.js +2 -2
  494. package/esm/indicators/macd.src.js +22 -8
  495. package/esm/indicators/mfi.js +2 -2
  496. package/esm/indicators/mfi.src.js +22 -8
  497. package/esm/indicators/momentum.js +2 -2
  498. package/esm/indicators/momentum.src.js +22 -8
  499. package/esm/indicators/natr.js +2 -2
  500. package/esm/indicators/natr.src.js +22 -8
  501. package/esm/indicators/obv.js +2 -2
  502. package/esm/indicators/obv.src.js +22 -8
  503. package/esm/indicators/pivot-points.js +2 -2
  504. package/esm/indicators/pivot-points.src.js +22 -8
  505. package/esm/indicators/ppo.js +2 -2
  506. package/esm/indicators/ppo.src.js +22 -8
  507. package/esm/indicators/price-channel.js +2 -2
  508. package/esm/indicators/price-channel.src.js +22 -8
  509. package/esm/indicators/price-envelopes.js +2 -2
  510. package/esm/indicators/price-envelopes.src.js +22 -8
  511. package/esm/indicators/psar.js +2 -2
  512. package/esm/indicators/psar.src.js +22 -8
  513. package/esm/indicators/regressions.js +2 -2
  514. package/esm/indicators/regressions.src.js +22 -8
  515. package/esm/indicators/roc.js +2 -2
  516. package/esm/indicators/roc.src.js +22 -8
  517. package/esm/indicators/rsi.js +2 -2
  518. package/esm/indicators/rsi.src.js +23 -9
  519. package/esm/indicators/slow-stochastic.js +2 -2
  520. package/esm/indicators/slow-stochastic.src.js +22 -8
  521. package/esm/indicators/stochastic.js +2 -2
  522. package/esm/indicators/stochastic.src.js +22 -8
  523. package/esm/indicators/supertrend.js +2 -2
  524. package/esm/indicators/supertrend.src.js +22 -8
  525. package/esm/indicators/tema.js +2 -2
  526. package/esm/indicators/tema.src.js +22 -8
  527. package/esm/indicators/trendline.js +2 -2
  528. package/esm/indicators/trendline.src.js +22 -8
  529. package/esm/indicators/trix.js +2 -2
  530. package/esm/indicators/trix.src.js +22 -8
  531. package/esm/indicators/volume-by-price.js +2 -2
  532. package/esm/indicators/volume-by-price.src.js +23 -10
  533. package/esm/indicators/vwap.js +2 -2
  534. package/esm/indicators/vwap.src.js +22 -8
  535. package/esm/indicators/williams-r.js +2 -2
  536. package/esm/indicators/williams-r.src.js +22 -8
  537. package/esm/indicators/wma.js +2 -2
  538. package/esm/indicators/wma.src.js +22 -8
  539. package/esm/indicators/zigzag.js +2 -2
  540. package/esm/indicators/zigzag.src.js +22 -8
  541. package/esm/modules/accessibility.js +2 -2
  542. package/esm/modules/accessibility.src.js +564 -92
  543. package/esm/modules/annotations-advanced.js +11 -11
  544. package/esm/modules/annotations-advanced.src.js +224 -162
  545. package/esm/modules/annotations.js +11 -11
  546. package/esm/modules/annotations.src.js +184 -144
  547. package/esm/modules/arc-diagram.js +2 -2
  548. package/esm/modules/arc-diagram.src.js +37 -22
  549. package/esm/modules/arrow-symbols.js +3 -3
  550. package/esm/modules/arrow-symbols.src.js +22 -8
  551. package/esm/modules/boost-canvas.js +2 -2
  552. package/esm/modules/boost-canvas.src.js +60 -30
  553. package/esm/modules/boost.js +2 -2
  554. package/esm/modules/boost.src.js +72 -29
  555. package/esm/modules/broken-axis.js +2 -2
  556. package/esm/modules/broken-axis.src.js +27 -12
  557. package/esm/modules/bullet.js +2 -2
  558. package/esm/modules/bullet.src.js +38 -17
  559. package/esm/modules/coloraxis.js +2 -2
  560. package/esm/modules/coloraxis.src.js +47 -21
  561. package/esm/modules/contour.js +3 -3
  562. package/esm/modules/contour.src.js +46 -13
  563. package/esm/modules/current-date-indicator.js +2 -2
  564. package/esm/modules/current-date-indicator.src.js +22 -8
  565. package/esm/modules/cylinder.js +2 -2
  566. package/esm/modules/cylinder.src.js +46 -28
  567. package/esm/modules/data-sorting.js +2 -2
  568. package/esm/modules/data-sorting.src.js +22 -8
  569. package/esm/modules/data-tools.js +2 -2
  570. package/esm/modules/data-tools.src.js +44 -13
  571. package/esm/modules/data.js +4 -4
  572. package/esm/modules/data.src.js +23 -9
  573. package/esm/modules/datagrouping.js +2 -2
  574. package/esm/modules/datagrouping.src.js +28 -13
  575. package/esm/modules/debugger.js +2 -2
  576. package/esm/modules/debugger.src.js +22 -8
  577. package/esm/modules/dependency-wheel.js +2 -2
  578. package/esm/modules/dependency-wheel.src.js +428 -17
  579. package/esm/modules/dotplot.js +2 -2
  580. package/esm/modules/dotplot.src.js +27 -11
  581. package/esm/modules/drag-panes.js +2 -2
  582. package/esm/modules/drag-panes.src.js +22 -8
  583. package/esm/modules/draggable-points.js +2 -2
  584. package/esm/modules/draggable-points.src.js +24 -12
  585. package/esm/modules/drilldown.js +2 -2
  586. package/esm/modules/drilldown.src.js +38 -25
  587. package/esm/modules/dumbbell.js +2 -2
  588. package/esm/modules/dumbbell.src.js +72 -27
  589. package/esm/modules/export-data.js +2 -2
  590. package/esm/modules/export-data.src.js +42 -23
  591. package/esm/modules/exporting.js +2 -2
  592. package/esm/modules/exporting.src.js +83 -37
  593. package/esm/modules/flowmap.js +3 -2
  594. package/esm/modules/flowmap.src.js +43 -18
  595. package/esm/modules/full-screen.js +2 -2
  596. package/esm/modules/full-screen.src.js +22 -8
  597. package/esm/modules/funnel.js +2 -2
  598. package/esm/modules/funnel.src.js +73 -42
  599. package/esm/modules/funnel3d.js +2 -2
  600. package/esm/modules/funnel3d.src.js +35 -20
  601. package/esm/modules/gantt.js +2 -2
  602. package/esm/modules/gantt.src.js +542 -100
  603. package/esm/modules/geoheatmap.js +2 -2
  604. package/esm/modules/geoheatmap.src.js +35 -21
  605. package/esm/modules/grid-axis.js +2 -2
  606. package/esm/modules/grid-axis.src.js +33 -12
  607. package/esm/modules/heatmap.js +2 -2
  608. package/esm/modules/heatmap.src.js +50 -33
  609. package/esm/modules/heikinashi.js +2 -2
  610. package/esm/modules/heikinashi.src.js +22 -8
  611. package/esm/modules/histogram-bellcurve.js +2 -2
  612. package/esm/modules/histogram-bellcurve.src.js +56 -25
  613. package/esm/modules/hollowcandlestick.js +2 -2
  614. package/esm/modules/hollowcandlestick.src.js +31 -17
  615. package/esm/modules/item-series.js +2 -2
  616. package/esm/modules/item-series.src.js +72 -13
  617. package/esm/modules/lollipop.js +2 -2
  618. package/esm/modules/lollipop.src.js +22 -8
  619. package/esm/modules/map.js +2 -2
  620. package/esm/modules/map.src.js +148 -91
  621. package/esm/modules/marker-clusters.js +2 -2
  622. package/esm/modules/marker-clusters.src.js +25 -13
  623. package/esm/modules/mouse-wheel-zoom.js +2 -2
  624. package/esm/modules/mouse-wheel-zoom.src.js +54 -13
  625. package/esm/modules/navigator.js +2 -2
  626. package/esm/modules/navigator.src.js +534 -74
  627. package/esm/modules/networkgraph.js +2 -2
  628. package/esm/modules/networkgraph.src.js +87 -46
  629. package/esm/modules/no-data-to-display.js +2 -2
  630. package/esm/modules/no-data-to-display.src.js +22 -8
  631. package/esm/modules/non-cartesian-zoom.js +2 -2
  632. package/esm/modules/non-cartesian-zoom.src.js +22 -8
  633. package/esm/modules/offline-exporting.js +2 -2
  634. package/esm/modules/offline-exporting.src.js +53 -12
  635. package/esm/modules/organization.js +4 -2
  636. package/esm/modules/organization.src.js +63 -19
  637. package/esm/modules/parallel-coordinates.js +2 -2
  638. package/esm/modules/parallel-coordinates.src.js +26 -9
  639. package/esm/modules/pareto.js +2 -2
  640. package/esm/modules/pareto.src.js +31 -16
  641. package/esm/modules/pathfinder.js +2 -2
  642. package/esm/modules/pathfinder.src.js +28 -13
  643. package/esm/modules/pattern-fill.js +2 -2
  644. package/esm/modules/pattern-fill.src.js +28 -12
  645. package/esm/modules/pictorial.js +2 -2
  646. package/esm/modules/pictorial.src.js +36 -19
  647. package/esm/modules/pointandfigure.js +2 -2
  648. package/esm/modules/pointandfigure.src.js +26 -11
  649. package/esm/modules/price-indicator.js +2 -2
  650. package/esm/modules/price-indicator.src.js +26 -11
  651. package/esm/modules/pyramid3d.js +2 -2
  652. package/esm/modules/pyramid3d.src.js +22 -8
  653. package/esm/modules/renko.js +2 -2
  654. package/esm/modules/renko.src.js +22 -8
  655. package/esm/modules/sankey.js +2 -2
  656. package/esm/modules/sankey.src.js +59 -31
  657. package/esm/modules/series-label.js +2 -2
  658. package/esm/modules/series-label.src.js +31 -18
  659. package/esm/modules/series-on-point.js +2 -2
  660. package/esm/modules/series-on-point.src.js +23 -9
  661. package/esm/modules/solid-gauge.js +2 -2
  662. package/esm/modules/solid-gauge.src.js +40 -20
  663. package/esm/modules/sonification.js +2 -2
  664. package/esm/modules/sonification.src.js +45 -30
  665. package/esm/modules/static-scale.js +2 -2
  666. package/esm/modules/static-scale.src.js +22 -8
  667. package/esm/modules/stock-tools.js +3 -3
  668. package/esm/modules/stock-tools.src.js +73 -27
  669. package/esm/modules/stock.js +2 -2
  670. package/esm/modules/stock.src.js +554 -122
  671. package/esm/modules/streamgraph.js +2 -2
  672. package/esm/modules/streamgraph.src.js +22 -8
  673. package/esm/modules/sunburst.js +2 -2
  674. package/esm/modules/sunburst.src.js +110 -45
  675. package/esm/modules/textpath.js +2 -2
  676. package/esm/modules/textpath.src.js +22 -8
  677. package/esm/modules/tiledwebmap.js +3 -3
  678. package/esm/modules/tiledwebmap.src.js +44 -19
  679. package/esm/modules/tilemap.js +2 -2
  680. package/esm/modules/tilemap.src.js +27 -12
  681. package/esm/modules/timeline.js +2 -2
  682. package/esm/modules/timeline.src.js +35 -14
  683. package/esm/modules/treegraph.js +2 -2
  684. package/esm/modules/treegraph.src.js +59 -27
  685. package/esm/modules/treegrid.js +2 -2
  686. package/esm/modules/treegrid.src.js +58 -27
  687. package/esm/modules/treemap.js +2 -2
  688. package/esm/modules/treemap.src.js +89 -36
  689. package/esm/modules/variable-pie.js +2 -2
  690. package/esm/modules/variable-pie.src.js +30 -13
  691. package/esm/modules/variwide.js +2 -2
  692. package/esm/modules/variwide.src.js +23 -9
  693. package/esm/modules/vector.js +2 -2
  694. package/esm/modules/vector.src.js +28 -16
  695. package/esm/modules/venn.js +2 -2
  696. package/esm/modules/venn.src.js +28 -13
  697. package/esm/modules/windbarb.js +2 -2
  698. package/esm/modules/windbarb.src.js +29 -17
  699. package/esm/modules/wordcloud.js +2 -2
  700. package/esm/modules/wordcloud.src.js +25 -9
  701. package/esm/modules/xrange.js +2 -2
  702. package/esm/modules/xrange.src.js +29 -15
  703. package/esm/standalone-navigator.js +5 -5
  704. package/esm/standalone-navigator.src.js +808 -570
  705. package/esm/themes/adaptive.js +3 -3
  706. package/esm/themes/adaptive.src.js +22 -8
  707. package/esm/themes/avocado.js +2 -2
  708. package/esm/themes/avocado.src.js +22 -8
  709. package/esm/themes/dark-unica.js +2 -2
  710. package/esm/themes/dark-unica.src.js +22 -8
  711. package/esm/themes/grid-light.js +2 -2
  712. package/esm/themes/grid-light.src.js +22 -8
  713. package/esm/themes/high-contrast.js +2 -2
  714. package/esm/themes/high-contrast.src.js +22 -8
  715. package/esm/themes/sand-signika.js +2 -2
  716. package/esm/themes/sand-signika.src.js +22 -8
  717. package/esm/themes/sunset.js +2 -2
  718. package/esm/themes/sunset.src.js +22 -8
  719. package/highcharts-3d.js +2 -2
  720. package/highcharts-3d.src.js +116 -92
  721. package/highcharts-autoload.d.ts +15 -5
  722. package/highcharts-autoload.js +4 -4
  723. package/highcharts-autoload.src.d.ts +15 -5
  724. package/highcharts-autoload.src.js +724 -499
  725. package/highcharts-gantt.js +4 -4
  726. package/highcharts-gantt.src.js +851 -590
  727. package/highcharts-more.d.ts +7 -3
  728. package/highcharts-more.js +2 -2
  729. package/highcharts-more.src.d.ts +7 -3
  730. package/highcharts-more.src.js +1313 -1095
  731. package/highcharts.d.ts +34795 -25647
  732. package/highcharts.js +4 -4
  733. package/highcharts.src.d.ts +34795 -25647
  734. package/highcharts.src.js +723 -498
  735. package/highmaps.js +4 -4
  736. package/highmaps.src.js +863 -583
  737. package/highstock.js +4 -4
  738. package/highstock.src.js +899 -619
  739. package/i18n/fr-FR.js +2 -2
  740. package/i18n/fr-FR.src.js +32 -16
  741. package/i18n/nb-NO.js +2 -2
  742. package/i18n/nb-NO.src.js +32 -16
  743. package/i18n/zh-CN.js +2 -2
  744. package/i18n/zh-CN.src.js +32 -16
  745. package/indicators/acceleration-bands.js +2 -2
  746. package/indicators/acceleration-bands.src.js +31 -16
  747. package/indicators/accumulation-distribution.js +2 -2
  748. package/indicators/accumulation-distribution.src.js +31 -16
  749. package/indicators/ao.js +2 -2
  750. package/indicators/ao.src.js +31 -16
  751. package/indicators/apo.js +2 -2
  752. package/indicators/apo.src.js +31 -16
  753. package/indicators/aroon-oscillator.js +2 -2
  754. package/indicators/aroon-oscillator.src.js +31 -16
  755. package/indicators/aroon.js +2 -2
  756. package/indicators/aroon.src.js +33 -18
  757. package/indicators/atr.js +2 -2
  758. package/indicators/atr.src.js +31 -16
  759. package/indicators/bollinger-bands.js +2 -2
  760. package/indicators/bollinger-bands.src.js +31 -16
  761. package/indicators/cci.js +2 -2
  762. package/indicators/cci.src.js +31 -16
  763. package/indicators/chaikin.js +2 -2
  764. package/indicators/chaikin.src.js +31 -16
  765. package/indicators/cmf.js +2 -2
  766. package/indicators/cmf.src.js +31 -16
  767. package/indicators/cmo.js +2 -2
  768. package/indicators/cmo.src.js +31 -16
  769. package/indicators/dema.js +2 -2
  770. package/indicators/dema.src.js +31 -16
  771. package/indicators/disparity-index.js +2 -2
  772. package/indicators/disparity-index.src.js +31 -16
  773. package/indicators/dmi.js +2 -2
  774. package/indicators/dmi.src.js +31 -16
  775. package/indicators/dpo.js +2 -2
  776. package/indicators/dpo.src.js +34 -18
  777. package/indicators/ichimoku-kinko-hyo.js +2 -2
  778. package/indicators/ichimoku-kinko-hyo.src.js +41 -26
  779. package/indicators/indicators-all.js +2 -2
  780. package/indicators/indicators-all.src.js +52 -37
  781. package/indicators/indicators.js +2 -2
  782. package/indicators/indicators.src.js +39 -24
  783. package/indicators/keltner-channels.js +2 -2
  784. package/indicators/keltner-channels.src.js +31 -16
  785. package/indicators/klinger.js +2 -2
  786. package/indicators/klinger.src.js +31 -16
  787. package/indicators/macd.js +2 -2
  788. package/indicators/macd.src.js +31 -16
  789. package/indicators/mfi.js +2 -2
  790. package/indicators/mfi.src.js +31 -16
  791. package/indicators/momentum.js +2 -2
  792. package/indicators/momentum.src.js +31 -16
  793. package/indicators/natr.js +2 -2
  794. package/indicators/natr.src.js +31 -16
  795. package/indicators/obv.js +2 -2
  796. package/indicators/obv.src.js +31 -16
  797. package/indicators/pivot-points.js +2 -2
  798. package/indicators/pivot-points.src.js +31 -16
  799. package/indicators/ppo.js +2 -2
  800. package/indicators/ppo.src.js +31 -16
  801. package/indicators/price-channel.js +2 -2
  802. package/indicators/price-channel.src.js +31 -16
  803. package/indicators/price-envelopes.js +2 -2
  804. package/indicators/price-envelopes.src.js +31 -16
  805. package/indicators/psar.js +2 -2
  806. package/indicators/psar.src.js +31 -16
  807. package/indicators/regressions.js +2 -2
  808. package/indicators/regressions.src.js +31 -16
  809. package/indicators/roc.js +2 -2
  810. package/indicators/roc.src.js +31 -16
  811. package/indicators/rsi.js +2 -2
  812. package/indicators/rsi.src.js +32 -17
  813. package/indicators/slow-stochastic.js +2 -2
  814. package/indicators/slow-stochastic.src.js +31 -16
  815. package/indicators/stochastic.js +2 -2
  816. package/indicators/stochastic.src.js +31 -16
  817. package/indicators/supertrend.js +2 -2
  818. package/indicators/supertrend.src.js +31 -16
  819. package/indicators/tema.js +2 -2
  820. package/indicators/tema.src.js +31 -16
  821. package/indicators/trendline.js +2 -2
  822. package/indicators/trendline.src.js +31 -16
  823. package/indicators/trix.js +2 -2
  824. package/indicators/trix.src.js +31 -16
  825. package/indicators/volume-by-price.js +2 -2
  826. package/indicators/volume-by-price.src.js +32 -18
  827. package/indicators/vwap.js +2 -2
  828. package/indicators/vwap.src.js +31 -16
  829. package/indicators/williams-r.js +2 -2
  830. package/indicators/williams-r.src.js +31 -16
  831. package/indicators/wma.js +2 -2
  832. package/indicators/wma.src.js +31 -16
  833. package/indicators/zigzag.js +2 -2
  834. package/indicators/zigzag.src.js +31 -16
  835. package/modules/accessibility.d.ts +47 -0
  836. package/modules/accessibility.js +2 -2
  837. package/modules/accessibility.src.d.ts +47 -0
  838. package/modules/accessibility.src.js +603 -130
  839. package/modules/annotations-advanced.js +11 -11
  840. package/modules/annotations-advanced.src.js +246 -183
  841. package/modules/annotations.js +11 -11
  842. package/modules/annotations.src.js +206 -165
  843. package/modules/arc-diagram.js +2 -2
  844. package/modules/arc-diagram.src.js +58 -42
  845. package/modules/arrow-symbols.js +2 -2
  846. package/modules/arrow-symbols.src.js +28 -13
  847. package/modules/boost-canvas.js +2 -2
  848. package/modules/boost-canvas.src.js +69 -38
  849. package/modules/boost.js +2 -2
  850. package/modules/boost.src.js +81 -37
  851. package/modules/broken-axis.js +2 -2
  852. package/modules/broken-axis.src.js +36 -20
  853. package/modules/bullet.js +2 -2
  854. package/modules/bullet.src.js +50 -28
  855. package/modules/coloraxis.js +2 -2
  856. package/modules/coloraxis.src.js +65 -38
  857. package/modules/contour.js +5 -5
  858. package/modules/contour.src.js +91 -44
  859. package/modules/current-date-indicator.js +2 -2
  860. package/modules/current-date-indicator.src.js +28 -13
  861. package/modules/cylinder.js +2 -2
  862. package/modules/cylinder.src.js +67 -48
  863. package/modules/data-sorting.js +2 -2
  864. package/modules/data-sorting.src.js +28 -13
  865. package/modules/data-tools.js +2 -2
  866. package/modules/data-tools.src.js +50 -18
  867. package/modules/data.js +2 -2
  868. package/modules/data.src.js +50 -35
  869. package/modules/datagrouping.js +2 -2
  870. package/modules/datagrouping.src.js +42 -26
  871. package/modules/debugger.js +2 -2
  872. package/modules/debugger.src.js +28 -13
  873. package/modules/dependency-wheel.d.ts +7 -1
  874. package/modules/dependency-wheel.js +2 -2
  875. package/modules/dependency-wheel.src.d.ts +7 -1
  876. package/modules/dependency-wheel.src.js +440 -28
  877. package/modules/dotplot.js +2 -2
  878. package/modules/dotplot.src.js +36 -19
  879. package/modules/drag-panes.js +2 -2
  880. package/modules/drag-panes.src.js +28 -13
  881. package/modules/draggable-points.js +2 -2
  882. package/modules/draggable-points.src.js +30 -17
  883. package/modules/drilldown.js +2 -2
  884. package/modules/drilldown.src.js +49 -35
  885. package/modules/dumbbell.js +2 -2
  886. package/modules/dumbbell.src.js +86 -40
  887. package/modules/export-data.d.ts +66 -1
  888. package/modules/export-data.js +2 -2
  889. package/modules/export-data.src.d.ts +66 -1
  890. package/modules/export-data.src.js +56 -36
  891. package/modules/exporting.d.ts +0 -103
  892. package/modules/exporting.js +2 -2
  893. package/modules/exporting.src.d.ts +0 -103
  894. package/modules/exporting.src.js +97 -50
  895. package/modules/flowmap.js +3 -2
  896. package/modules/flowmap.src.js +52 -26
  897. package/modules/full-screen.js +2 -2
  898. package/modules/full-screen.src.js +31 -16
  899. package/modules/funnel.d.ts +3 -3
  900. package/modules/funnel.js +2 -2
  901. package/modules/funnel.src.d.ts +3 -3
  902. package/modules/funnel.src.js +82 -50
  903. package/modules/funnel3d.js +2 -2
  904. package/modules/funnel3d.src.js +56 -40
  905. package/modules/gantt.d.ts +47 -0
  906. package/modules/gantt.js +8 -8
  907. package/modules/gantt.src.d.ts +47 -0
  908. package/modules/gantt.src.js +602 -156
  909. package/modules/geoheatmap.d.ts +13 -12
  910. package/modules/geoheatmap.js +2 -2
  911. package/modules/geoheatmap.src.d.ts +13 -12
  912. package/modules/geoheatmap.src.js +44 -29
  913. package/modules/grid-axis.js +2 -2
  914. package/modules/grid-axis.src.js +42 -20
  915. package/modules/heatmap.d.ts +0 -12
  916. package/modules/heatmap.js +4 -4
  917. package/modules/heatmap.src.d.ts +0 -12
  918. package/modules/heatmap.src.js +102 -71
  919. package/modules/heikinashi.js +2 -2
  920. package/modules/heikinashi.src.js +31 -16
  921. package/modules/histogram-bellcurve.js +2 -2
  922. package/modules/histogram-bellcurve.src.js +70 -38
  923. package/modules/hollowcandlestick.js +2 -2
  924. package/modules/hollowcandlestick.src.js +45 -30
  925. package/modules/item-series.js +2 -2
  926. package/modules/item-series.src.js +81 -21
  927. package/modules/lollipop.js +2 -2
  928. package/modules/lollipop.src.js +36 -21
  929. package/modules/map.d.ts +0 -20
  930. package/modules/map.js +4 -4
  931. package/modules/map.src.d.ts +0 -20
  932. package/modules/map.src.js +212 -140
  933. package/modules/marker-clusters.js +2 -2
  934. package/modules/marker-clusters.src.js +31 -18
  935. package/modules/mouse-wheel-zoom.js +2 -2
  936. package/modules/mouse-wheel-zoom.src.js +60 -18
  937. package/modules/navigator.d.ts +47 -0
  938. package/modules/navigator.js +2 -2
  939. package/modules/navigator.src.d.ts +47 -0
  940. package/modules/navigator.src.js +556 -95
  941. package/modules/networkgraph.js +2 -2
  942. package/modules/networkgraph.src.js +99 -57
  943. package/modules/no-data-to-display.js +2 -2
  944. package/modules/no-data-to-display.src.js +31 -16
  945. package/modules/non-cartesian-zoom.js +2 -2
  946. package/modules/non-cartesian-zoom.src.js +28 -13
  947. package/modules/offline-exporting.js +2 -2
  948. package/modules/offline-exporting.src.js +67 -25
  949. package/modules/organization.js +4 -2
  950. package/modules/organization.src.js +75 -30
  951. package/modules/parallel-coordinates.js +2 -2
  952. package/modules/parallel-coordinates.src.js +37 -19
  953. package/modules/pareto.js +2 -2
  954. package/modules/pareto.src.js +45 -29
  955. package/modules/pathfinder.js +2 -2
  956. package/modules/pathfinder.src.js +37 -21
  957. package/modules/pattern-fill.js +2 -2
  958. package/modules/pattern-fill.src.js +34 -17
  959. package/modules/pictorial.js +2 -2
  960. package/modules/pictorial.src.js +62 -43
  961. package/modules/pointandfigure.js +2 -2
  962. package/modules/pointandfigure.src.js +35 -19
  963. package/modules/price-indicator.js +2 -2
  964. package/modules/price-indicator.src.js +32 -16
  965. package/modules/pyramid3d.js +2 -2
  966. package/modules/pyramid3d.src.js +31 -16
  967. package/modules/renko.js +2 -2
  968. package/modules/renko.src.js +34 -19
  969. package/modules/sankey.js +2 -2
  970. package/modules/sankey.src.js +80 -51
  971. package/modules/series-label.js +2 -2
  972. package/modules/series-label.src.js +42 -28
  973. package/modules/series-on-point.js +2 -2
  974. package/modules/series-on-point.src.js +40 -25
  975. package/modules/solid-gauge.d.ts +3 -3
  976. package/modules/solid-gauge.js +2 -2
  977. package/modules/solid-gauge.src.d.ts +3 -3
  978. package/modules/solid-gauge.src.js +54 -33
  979. package/modules/sonification.js +2 -2
  980. package/modules/sonification.src.js +56 -40
  981. package/modules/static-scale.js +2 -2
  982. package/modules/static-scale.src.js +28 -13
  983. package/modules/stock-tools.js +3 -3
  984. package/modules/stock-tools.src.js +90 -43
  985. package/modules/stock.d.ts +47 -0
  986. package/modules/stock.js +6 -6
  987. package/modules/stock.src.d.ts +47 -0
  988. package/modules/stock.src.js +650 -185
  989. package/modules/streamgraph.js +2 -2
  990. package/modules/streamgraph.src.js +31 -16
  991. package/modules/sunburst.js +2 -2
  992. package/modules/sunburst.src.js +137 -71
  993. package/modules/textpath.js +2 -2
  994. package/modules/textpath.src.js +28 -13
  995. package/modules/tiledwebmap.js +3 -3
  996. package/modules/tiledwebmap.src.js +65 -32
  997. package/modules/tilemap.js +2 -2
  998. package/modules/tilemap.src.js +41 -25
  999. package/modules/timeline.js +2 -2
  1000. package/modules/timeline.src.js +47 -25
  1001. package/modules/treegraph.js +2 -2
  1002. package/modules/treegraph.src.js +83 -50
  1003. package/modules/treegrid.js +2 -2
  1004. package/modules/treegrid.src.js +76 -44
  1005. package/modules/treemap.js +2 -2
  1006. package/modules/treemap.src.js +116 -62
  1007. package/modules/variable-pie.js +2 -2
  1008. package/modules/variable-pie.src.js +39 -21
  1009. package/modules/variwide.js +2 -2
  1010. package/modules/variwide.src.js +32 -17
  1011. package/modules/vector.js +2 -2
  1012. package/modules/vector.src.js +37 -24
  1013. package/modules/venn.js +2 -2
  1014. package/modules/venn.src.js +42 -26
  1015. package/modules/windbarb.js +2 -2
  1016. package/modules/windbarb.src.js +51 -38
  1017. package/modules/wordcloud.js +2 -2
  1018. package/modules/wordcloud.src.js +34 -17
  1019. package/modules/xrange.js +2 -2
  1020. package/modules/xrange.src.js +43 -28
  1021. package/options/abands.d.ts +722 -83
  1022. package/options/abands.src.d.ts +722 -83
  1023. package/options/ad.d.ts +381 -26
  1024. package/options/ad.src.d.ts +381 -26
  1025. package/options/ao.d.ts +744 -70
  1026. package/options/ao.src.d.ts +744 -70
  1027. package/options/apo.d.ts +381 -26
  1028. package/options/apo.src.d.ts +381 -26
  1029. package/options/arcdiagram.d.ts +80 -534
  1030. package/options/arcdiagram.src.d.ts +80 -534
  1031. package/options/area.d.ts +432 -129
  1032. package/options/area.src.d.ts +432 -129
  1033. package/options/arearange.d.ts +46 -4
  1034. package/options/arearange.src.d.ts +46 -4
  1035. package/options/areaspline.d.ts +141 -866
  1036. package/options/areaspline.src.d.ts +141 -866
  1037. package/options/areasplinerange.d.ts +221 -871
  1038. package/options/areasplinerange.src.d.ts +221 -871
  1039. package/options/aroon.d.ts +432 -124
  1040. package/options/aroon.src.d.ts +432 -124
  1041. package/options/aroonoscillator.d.ts +127 -689
  1042. package/options/aroonoscillator.src.d.ts +127 -689
  1043. package/options/atr.d.ts +381 -71
  1044. package/options/atr.src.d.ts +381 -71
  1045. package/options/bar.d.ts +103 -12
  1046. package/options/bar.src.d.ts +103 -12
  1047. package/options/bb.d.ts +87 -762
  1048. package/options/bb.src.d.ts +87 -762
  1049. package/options/bellcurve.d.ts +87 -364
  1050. package/options/bellcurve.src.d.ts +87 -364
  1051. package/options/boxplot.d.ts +82 -13
  1052. package/options/boxplot.src.d.ts +82 -13
  1053. package/options/bubble.d.ts +83 -874
  1054. package/options/bubble.src.d.ts +83 -874
  1055. package/options/bullet.d.ts +354 -717
  1056. package/options/bullet.src.d.ts +354 -717
  1057. package/options/candlestick.d.ts +99 -1214
  1058. package/options/candlestick.src.d.ts +99 -1214
  1059. package/options/cci.d.ts +381 -26
  1060. package/options/cci.src.d.ts +381 -26
  1061. package/options/chaikin.d.ts +728 -83
  1062. package/options/chaikin.src.d.ts +728 -83
  1063. package/options/cmf.d.ts +381 -26
  1064. package/options/cmf.src.d.ts +381 -26
  1065. package/options/cmo.d.ts +730 -79
  1066. package/options/cmo.src.d.ts +730 -79
  1067. package/options/column.d.ts +1265 -99
  1068. package/options/column.src.d.ts +1265 -99
  1069. package/options/columnpyramid.d.ts +102 -1158
  1070. package/options/columnpyramid.src.d.ts +102 -1158
  1071. package/options/columnrange.d.ts +952 -95
  1072. package/options/columnrange.src.d.ts +952 -95
  1073. package/options/contour.d.ts +31 -443
  1074. package/options/contour.src.d.ts +31 -443
  1075. package/options/cylinder.d.ts +100 -12
  1076. package/options/cylinder.src.d.ts +100 -12
  1077. package/options/dema.d.ts +80 -736
  1078. package/options/dema.src.d.ts +80 -736
  1079. package/options/dependencywheel.d.ts +599 -218
  1080. package/options/dependencywheel.src.d.ts +599 -218
  1081. package/options/disparityindex.d.ts +84 -365
  1082. package/options/disparityindex.src.d.ts +84 -365
  1083. package/options/dmi.d.ts +86 -775
  1084. package/options/dmi.src.d.ts +86 -775
  1085. package/options/dpo.d.ts +83 -365
  1086. package/options/dpo.src.d.ts +83 -365
  1087. package/options/dumbbell.d.ts +27 -4
  1088. package/options/dumbbell.src.d.ts +27 -4
  1089. package/options/ema.d.ts +81 -703
  1090. package/options/ema.src.d.ts +81 -703
  1091. package/options/errorbar.d.ts +91 -1161
  1092. package/options/errorbar.src.d.ts +91 -1161
  1093. package/options/flags.d.ts +98 -1192
  1094. package/options/flags.src.d.ts +98 -1192
  1095. package/options/flowmap.d.ts +48 -373
  1096. package/options/flowmap.src.d.ts +48 -373
  1097. package/options/funnel.d.ts +40 -3
  1098. package/options/funnel.src.d.ts +40 -3
  1099. package/options/gantt.d.ts +37 -40
  1100. package/options/gantt.src.d.ts +37 -40
  1101. package/options/gauge.d.ts +398 -472
  1102. package/options/gauge.src.d.ts +398 -472
  1103. package/options/geoheatmap.d.ts +462 -63
  1104. package/options/geoheatmap.src.d.ts +462 -63
  1105. package/options/heatmap.d.ts +31 -380
  1106. package/options/heatmap.src.d.ts +31 -380
  1107. package/options/heikinashi.d.ts +20 -2
  1108. package/options/heikinashi.src.d.ts +20 -2
  1109. package/options/hlc.d.ts +20 -2
  1110. package/options/hlc.src.d.ts +20 -2
  1111. package/options/ikh.d.ts +750 -103
  1112. package/options/ikh.src.d.ts +750 -103
  1113. package/options/item.d.ts +34 -74
  1114. package/options/item.src.d.ts +34 -74
  1115. package/options/keltnerchannels.d.ts +87 -708
  1116. package/options/keltnerchannels.src.d.ts +87 -708
  1117. package/options/klinger.d.ts +34 -365
  1118. package/options/klinger.src.d.ts +34 -365
  1119. package/options/line.d.ts +151 -851
  1120. package/options/line.src.d.ts +151 -851
  1121. package/options/linearregression.d.ts +960 -85
  1122. package/options/linearregression.src.d.ts +960 -85
  1123. package/options/linearregressionangle.d.ts +96 -699
  1124. package/options/linearregressionangle.src.d.ts +96 -699
  1125. package/options/linearregressionintercept.d.ts +381 -26
  1126. package/options/linearregressionintercept.src.d.ts +381 -26
  1127. package/options/linearregressionslope.d.ts +381 -26
  1128. package/options/linearregressionslope.src.d.ts +381 -26
  1129. package/options/lollipop.d.ts +214 -851
  1130. package/options/lollipop.src.d.ts +214 -851
  1131. package/options/macd.d.ts +386 -83
  1132. package/options/macd.src.d.ts +386 -83
  1133. package/options/map.d.ts +470 -36
  1134. package/options/map.src.d.ts +470 -36
  1135. package/options/mapbubble.d.ts +43 -532
  1136. package/options/mapbubble.src.d.ts +43 -532
  1137. package/options/mapline.d.ts +135 -58
  1138. package/options/mapline.src.d.ts +135 -58
  1139. package/options/mappoint.d.ts +205 -283
  1140. package/options/mappoint.src.d.ts +205 -283
  1141. package/options/mfi.d.ts +772 -82
  1142. package/options/mfi.src.d.ts +772 -82
  1143. package/options/momentum.d.ts +381 -71
  1144. package/options/momentum.src.d.ts +381 -71
  1145. package/options/natr.d.ts +776 -75
  1146. package/options/natr.src.d.ts +776 -75
  1147. package/options/networkgraph.d.ts +184 -207
  1148. package/options/networkgraph.src.d.ts +184 -207
  1149. package/options/obv.d.ts +426 -26
  1150. package/options/obv.src.d.ts +426 -26
  1151. package/options/ohlc.d.ts +77 -14
  1152. package/options/ohlc.src.d.ts +77 -14
  1153. package/options/packedbubble.d.ts +76 -696
  1154. package/options/packedbubble.src.d.ts +76 -696
  1155. package/options/pareto.d.ts +28 -364
  1156. package/options/pareto.src.d.ts +28 -364
  1157. package/options/pc.d.ts +724 -85
  1158. package/options/pc.src.d.ts +724 -85
  1159. package/options/pictorial.d.ts +1093 -58
  1160. package/options/pictorial.src.d.ts +1093 -58
  1161. package/options/pie.d.ts +595 -129
  1162. package/options/pie.src.d.ts +595 -129
  1163. package/options/pivotpoints.d.ts +34 -365
  1164. package/options/pivotpoints.src.d.ts +34 -365
  1165. package/options/pointandfigure.d.ts +10 -50
  1166. package/options/pointandfigure.src.d.ts +10 -50
  1167. package/options/polygon.d.ts +803 -74
  1168. package/options/polygon.src.d.ts +803 -74
  1169. package/options/ppo.d.ts +34 -365
  1170. package/options/ppo.src.d.ts +34 -365
  1171. package/options/priceenvelopes.d.ts +93 -719
  1172. package/options/priceenvelopes.src.d.ts +93 -719
  1173. package/options/psar.d.ts +34 -365
  1174. package/options/psar.src.d.ts +34 -365
  1175. package/options/pyramid.d.ts +35 -3
  1176. package/options/pyramid.src.d.ts +35 -3
  1177. package/options/renko.d.ts +25 -2
  1178. package/options/renko.src.d.ts +25 -2
  1179. package/options/roc.d.ts +78 -712
  1180. package/options/roc.src.d.ts +78 -712
  1181. package/options/rsi.d.ts +34 -365
  1182. package/options/rsi.src.d.ts +34 -365
  1183. package/options/sankey.d.ts +27 -5
  1184. package/options/sankey.src.d.ts +27 -5
  1185. package/options/scatter.d.ts +896 -290
  1186. package/options/scatter.src.d.ts +896 -290
  1187. package/options/series.d.ts +938 -83
  1188. package/options/series.src.d.ts +938 -83
  1189. package/options/slowstochastic.d.ts +381 -26
  1190. package/options/slowstochastic.src.d.ts +381 -26
  1191. package/options/sma.d.ts +729 -79
  1192. package/options/sma.src.d.ts +729 -79
  1193. package/options/solidgauge.d.ts +882 -105
  1194. package/options/solidgauge.src.d.ts +882 -105
  1195. package/options/spline.d.ts +389 -90
  1196. package/options/spline.src.d.ts +389 -90
  1197. package/options/stochastic.d.ts +83 -716
  1198. package/options/stochastic.src.d.ts +83 -716
  1199. package/options/streamgraph.d.ts +97 -364
  1200. package/options/streamgraph.src.d.ts +97 -364
  1201. package/options/sunburst.d.ts +87 -19
  1202. package/options/sunburst.src.d.ts +87 -19
  1203. package/options/supertrend.d.ts +77 -749
  1204. package/options/supertrend.src.d.ts +77 -749
  1205. package/options/tema.d.ts +83 -365
  1206. package/options/tema.src.d.ts +83 -365
  1207. package/options/tiledwebmap.d.ts +13 -72
  1208. package/options/tiledwebmap.src.d.ts +13 -72
  1209. package/options/tilemap.d.ts +372 -533
  1210. package/options/tilemap.src.d.ts +372 -533
  1211. package/options/timeline.d.ts +49 -154
  1212. package/options/timeline.src.d.ts +49 -154
  1213. package/options/treegraph.d.ts +174 -696
  1214. package/options/treegraph.src.d.ts +174 -696
  1215. package/options/treemap.d.ts +468 -1079
  1216. package/options/treemap.src.d.ts +468 -1079
  1217. package/options/trendline.d.ts +381 -26
  1218. package/options/trendline.src.d.ts +381 -26
  1219. package/options/trix.d.ts +712 -82
  1220. package/options/trix.src.d.ts +712 -82
  1221. package/options/variablepie.d.ts +130 -587
  1222. package/options/variablepie.src.d.ts +130 -587
  1223. package/options/variwide.d.ts +1123 -94
  1224. package/options/variwide.src.d.ts +1123 -94
  1225. package/options/vbp.d.ts +57 -383
  1226. package/options/vbp.src.d.ts +57 -383
  1227. package/options/vector.d.ts +22 -58
  1228. package/options/vector.src.d.ts +22 -58
  1229. package/options/venn.d.ts +32 -78
  1230. package/options/venn.src.d.ts +32 -78
  1231. package/options/vwap.d.ts +122 -703
  1232. package/options/vwap.src.d.ts +122 -703
  1233. package/options/waterfall.d.ts +139 -1150
  1234. package/options/waterfall.src.d.ts +139 -1150
  1235. package/options/williamsr.d.ts +381 -76
  1236. package/options/williamsr.src.d.ts +381 -76
  1237. package/options/windbarb.d.ts +39 -2
  1238. package/options/windbarb.src.d.ts +39 -2
  1239. package/options/wma.d.ts +78 -704
  1240. package/options/wma.src.d.ts +78 -704
  1241. package/options/wordcloud.d.ts +98 -595
  1242. package/options/wordcloud.src.d.ts +98 -595
  1243. package/options/xrange.d.ts +166 -1056
  1244. package/options/xrange.src.d.ts +166 -1056
  1245. package/options/zigzag.d.ts +34 -410
  1246. package/options/zigzag.src.d.ts +34 -410
  1247. package/package.json +1 -1
  1248. package/standalone-navigator.js +4 -4
  1249. package/standalone-navigator.src.js +829 -553
  1250. package/themes/adaptive.js +2 -2
  1251. package/themes/adaptive.src.js +33 -18
  1252. package/themes/avocado.js +2 -2
  1253. package/themes/avocado.src.js +28 -13
  1254. package/themes/dark-unica.js +2 -2
  1255. package/themes/dark-unica.src.js +28 -13
  1256. package/themes/grid-light.js +2 -2
  1257. package/themes/grid-light.src.js +28 -13
  1258. package/themes/high-contrast.js +2 -2
  1259. package/themes/high-contrast.src.js +28 -13
  1260. package/themes/sand-signika.js +2 -2
  1261. package/themes/sand-signika.src.js +28 -13
  1262. package/themes/sunset.js +2 -2
  1263. package/themes/sunset.src.js +28 -13
  1264. 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.2 (2026-08-27)
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() {
@@ -211,11 +226,13 @@ var CenteredUtilities;
211
226
  innerSize = parseFloat(innerSize);
212
227
  }
213
228
  const positions = [
214
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(centerOption?.[0], '50%'),
215
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(centerOption?.[1], '50%'),
229
+ (centerOption?.[0] ?? '50%'),
230
+ (centerOption?.[1] ?? '50%'),
216
231
  // Prevent from negative values
217
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(size && size < 0 ? void 0 : options.size, '100%'),
218
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(innerSize && innerSize < 0 ? void 0 : options.innerSize || 0, '0%')
232
+ ((size && size < 0 ? void 0 : options.size) ?? '100%'),
233
+ ((innerSize && innerSize < 0 ?
234
+ void 0 :
235
+ options.innerSize || 0) ?? '0%')
219
236
  ];
220
237
  for (i = 0; i < 4; ++i) {
221
238
  value = positions[i];
@@ -243,7 +260,7 @@ var CenteredUtilities;
243
260
  * GetStartAndEndRadians - Calculates start and end angles in radians.
244
261
  * Used in series types such as pie and sunburst.
245
262
  *
246
- * @private
263
+ * @internal
247
264
  * @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
248
265
  *
249
266
  * @param {number} [start]
@@ -275,6 +292,7 @@ var CenteredUtilities;
275
292
  * Default Export
276
293
  *
277
294
  * */
295
+ /** @internal */
278
296
  /* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
279
297
  /* *
280
298
  *
@@ -282,7 +300,7 @@ var CenteredUtilities;
282
300
  *
283
301
  * */
284
302
  /**
285
- * @private
303
+ * @internal
286
304
  * @interface Highcharts.RadianAngles
287
305
  */ /**
288
306
  * @name Highcharts.RadianAngles#end
@@ -415,7 +433,7 @@ function onPointerBeforeGetHoverData(eventArgs) {
415
433
  eventArgs.filter = function (s) {
416
434
  return (s.visible &&
417
435
  !(!eventArgs.shared && s.directTouch) && // #3821
418
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(s.options.enableMouseTracking, true) &&
436
+ (s.options.enableMouseTracking ?? true) &&
419
437
  (!chart.hoverPane || s.xAxis.pane === chart.hoverPane));
420
438
  };
421
439
  }
@@ -464,7 +482,7 @@ const { defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_
464
482
  * @sample {highcharts} highcharts/series-solidgauge/pane-borderradius
465
483
  * Solid gauge with background settings
466
484
  *
467
- * @type {*|Array<*>}
485
+ * @type {null|*|Array<*>}
468
486
  * @requires highcharts-more
469
487
  * @optionparent pane.background
470
488
  */
@@ -1148,6 +1166,139 @@ class AreaRangePoint extends AreaPoint {
1148
1166
  */
1149
1167
  ''; // Keeps doclets above in JS file.
1150
1168
 
1169
+ // EXTERNAL MODULE: external {"amd":["highcharts/highcharts","Series","types","column"],"commonjs":["highcharts","Series","types","column"],"commonjs2":["highcharts","Series","types","column"],"root":["Highcharts","Series","types","column"]}
1170
+ var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commonjs2_highcharts_Series_types_column_root_Highcharts_Series_types_column_ = __webpack_require__(448);
1171
+ 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_);
1172
+ ;// ./code/es-modules/Series/RangeDataLabel.js
1173
+ /* *
1174
+ *
1175
+ * (c) 2010-2026 Highsoft AS
1176
+ * Author: Andrzej Buleczka
1177
+ *
1178
+ * */
1179
+
1180
+
1181
+
1182
+ /* *
1183
+ *
1184
+ * Declarations
1185
+ *
1186
+ * */
1187
+ var RangeDataLabel;
1188
+ (function (RangeDataLabel) {
1189
+ const plotYKeys = {
1190
+ close: ['plotClose'],
1191
+ high: ['highPlot', 'plotHigh'],
1192
+ low: ['lowPlot', 'plotLow'],
1193
+ median: ['medianPlot'],
1194
+ open: ['plotOpen'],
1195
+ q1: ['q1Plot'],
1196
+ q3: ['q3Plot'],
1197
+ y: ['plotY']
1198
+ };
1199
+ /* *
1200
+ *
1201
+ * Functions
1202
+ *
1203
+ * */
1204
+ function getPointPlotY(point, pointValKey) {
1205
+ const keys = plotYKeys[pointValKey] ?? [];
1206
+ for (const key of keys) {
1207
+ const value = point[key];
1208
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(value)) {
1209
+ return value;
1210
+ }
1211
+ }
1212
+ }
1213
+ function getBelow(point, options, plotY) {
1214
+ const plotHigh = getPointPlotY(point, 'high'), plotLow = getPointPlotY(point, 'low');
1215
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(plotHigh) && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(plotLow)) {
1216
+ return options.inside ?
1217
+ plotY === Math.min(plotHigh, plotLow) :
1218
+ plotY === Math.max(plotHigh, plotLow);
1219
+ }
1220
+ return false;
1221
+ }
1222
+ function compose(SeriesClass) {
1223
+ const seriesProto = SeriesClass.prototype;
1224
+ seriesProto.alignDataLabel = alignDataLabel;
1225
+ return SeriesClass;
1226
+ }
1227
+ RangeDataLabel.compose = compose;
1228
+ /**
1229
+ * Default formatter for range series data labels. Renders the value of
1230
+ * the point key the label is aligned to, so the legacy high and low
1231
+ * labels keep showing their respective values without an explicit format.
1232
+ * Does not modify `point.y`. Falls back to `point.y` (the value of
1233
+ * `series.pointValKey`) for an unresolved key.
1234
+ * @internal
1235
+ */
1236
+ function formatter(options) {
1237
+ const rawValue = options.alignToKey ?
1238
+ this.getNestedProperty(options.alignToKey) :
1239
+ this.y, value = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(rawValue) ? rawValue : this.y;
1240
+ return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(value) ?
1241
+ this.series.chart.numberFormatter(value, -1) :
1242
+ '';
1243
+ }
1244
+ RangeDataLabel.formatter = formatter;
1245
+ /**
1246
+ * Rewrite a label's `format` so that `{y}` and `{point.y}` references
1247
+ * resolve to the value of the point key the label is aligned to, keeping
1248
+ * the legacy per-label `{y}` behavior of range data labels.
1249
+ * @internal
1250
+ */
1251
+ function applyAlignToKeyValue(options) {
1252
+ const { alignToKey, format } = options;
1253
+ // An explicit `format` ignores `alignToKey`, so its `{y}` (and
1254
+ // `{point.y}`) tokens point at the whole point. Rewrite them to the
1255
+ // aligned key so each range label keeps rendering its own value.
1256
+ // The default formatter already reads `alignToKey`.
1257
+ if (alignToKey && format) {
1258
+ options.format = format.replace(/\{(?:point\.)?y([:}])/g, '{point.' + alignToKey + '$1');
1259
+ }
1260
+ }
1261
+ RangeDataLabel.applyAlignToKeyValue = applyAlignToKeyValue;
1262
+ function resolveAlignToKey(series, rawKey) {
1263
+ return rawKey && series.pointArrayMap.indexOf(rawKey) > -1 ?
1264
+ rawKey :
1265
+ series.pointValKey;
1266
+ }
1267
+ RangeDataLabel.resolveAlignToKey = resolveAlignToKey;
1268
+ function alignDataLabel(point, dataLabel, options, alignTo, isNew) {
1269
+ const series = this, alignToKey = resolveAlignToKey(series, options.alignToKey), plotY = getPointPlotY(point, alignToKey), shapeArgs = point.shapeArgs, originalPlotY = point.plotY, originalDlBox = point.dlBox, originalBelow = point.below;
1270
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(plotY)) {
1271
+ point.plotY = plotY;
1272
+ if (shapeArgs && !options.inside) {
1273
+ point.dlBox = {
1274
+ x: shapeArgs.x ?? 0,
1275
+ y: (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(plotY, series.borderWidth, series.chart.inverted),
1276
+ width: shapeArgs.width ?? 0,
1277
+ height: 0
1278
+ };
1279
+ }
1280
+ const below = point.below = getBelow(point, options, plotY);
1281
+ if (series.chart.inverted) {
1282
+ options.align ?? (options.align = below ? 'right' : 'left');
1283
+ }
1284
+ else {
1285
+ options.verticalAlign ?? (options.verticalAlign = below ? 'top' : 'bottom');
1286
+ }
1287
+ }
1288
+ 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);
1289
+ point.plotY = originalPlotY;
1290
+ point.dlBox = originalDlBox;
1291
+ point.below = originalBelow;
1292
+ }
1293
+ RangeDataLabel.alignDataLabel = alignDataLabel;
1294
+ })(RangeDataLabel || (RangeDataLabel = {}));
1295
+ /* *
1296
+ *
1297
+ * Default Export
1298
+ *
1299
+ * */
1300
+ /* harmony default export */ const Series_RangeDataLabel = (RangeDataLabel);
1301
+
1151
1302
  ;// ./code/es-modules/Series/AreaRange/AreaRangeSeries.js
1152
1303
  /* *
1153
1304
  *
@@ -1165,7 +1316,8 @@ class AreaRangePoint extends AreaPoint {
1165
1316
 
1166
1317
  const { noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
1167
1318
 
1168
- const { area: AreaSeries, area: { prototype: AreaRangeSeries_areaProto }, column: { prototype: columnProto } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
1319
+
1320
+ const { area: AreaSeries, area: { prototype: AreaRangeSeries_areaProto } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
1169
1321
 
1170
1322
  /* *
1171
1323
  *
@@ -1250,12 +1402,10 @@ const areaRangeSeriesOptions = {
1250
1402
  trackByArea: true,
1251
1403
  /**
1252
1404
  * 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.
1405
+ * labels can be positioned individually by defining them as an array
1406
+ * and setting `alignToKey` to `high` or `low`.
1256
1407
  *
1257
1408
  * @declare Highcharts.SeriesAreaRangeDataLabelsOptionsObject
1258
- * @exclude x, y
1259
1409
  * @since 2.3.0
1260
1410
  * @product highcharts highstock
1261
1411
  *
@@ -1263,39 +1413,103 @@ const areaRangeSeriesOptions = {
1263
1413
  */
1264
1414
  dataLabels: {
1265
1415
  align: void 0,
1416
+ formatter: Series_RangeDataLabel.formatter,
1266
1417
  verticalAlign: void 0,
1267
1418
  /**
1268
1419
  * X offset of the lower data labels relative to the point value.
1269
1420
  *
1421
+ * Deprecated. Use a data labels array with `alignToKey: 'low'` and
1422
+ * the regular `x` option instead.
1423
+ *
1270
1424
  * @sample highcharts/plotoptions/arearange-datalabels/
1271
1425
  * Data labels on range series
1272
1426
  * @sample highcharts/plotoptions/arearange-datalabels/
1273
1427
  * Data labels on range series
1428
+ * @deprecated 13.0.1
1274
1429
  */
1275
1430
  xLow: 0,
1276
1431
  /**
1277
1432
  * X offset of the higher data labels relative to the point value.
1278
1433
  *
1434
+ * Deprecated. Use a data labels array with `alignToKey: 'high'` and
1435
+ * the regular `x` option instead.
1436
+ *
1279
1437
  * @sample highcharts/plotoptions/arearange-datalabels/
1280
1438
  * Data labels on range series
1439
+ * @deprecated 13.0.1
1281
1440
  */
1282
1441
  xHigh: 0,
1283
1442
  /**
1284
1443
  * Y offset of the lower data labels relative to the point value.
1285
1444
  *
1445
+ * Deprecated. Use a data labels array with `alignToKey: 'low'` and
1446
+ * the regular `y` option instead.
1447
+ *
1286
1448
  * @sample highcharts/plotoptions/arearange-datalabels/
1287
1449
  * Data labels on range series
1450
+ * @deprecated 13.0.1
1288
1451
  */
1289
1452
  yLow: 0,
1290
1453
  /**
1291
1454
  * Y offset of the higher data labels relative to the point value.
1292
1455
  *
1456
+ * Deprecated. Use a data labels array with `alignToKey: 'high'` and
1457
+ * the regular `y` option instead.
1458
+ *
1293
1459
  * @sample highcharts/plotoptions/arearange-datalabels/
1294
1460
  * Data labels on range series
1461
+ * @deprecated 13.0.1
1295
1462
  */
1296
1463
  yHigh: 0
1297
1464
  }
1298
1465
  };
1466
+ /* *
1467
+ *
1468
+ * Functions
1469
+ *
1470
+ * */
1471
+ /**
1472
+ * Normalize the dataLabels config into a per-label array. Resolves the
1473
+ * `alignToKey` default (`high` for the first label, `low` for the second) and
1474
+ * maps the deprecated `xLow/xHigh/yLow/yHigh` offsets onto each label's `x/y`.
1475
+ * @internal
1476
+ */
1477
+ function getRangeDataLabelOptions(series) {
1478
+ const dataLabels = series.options.dataLabels;
1479
+ if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isArray)(dataLabels)) {
1480
+ return Array.from({
1481
+ length: Math.max(dataLabels.length, 2)
1482
+ }, (_, index) => {
1483
+ const options = dataLabels[index], defaultAlignToKey = index === 0 ? 'high' :
1484
+ index === 1 ? 'low' :
1485
+ series.pointValKey, alignToKey = options?.alignToKey ?? defaultAlignToKey;
1486
+ return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(options ?? { enabled: false }, { alignToKey });
1487
+ });
1488
+ }
1489
+ if (dataLabels?.alignToKey) {
1490
+ return [
1491
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(dataLabels, dataLabels.alignToKey === 'high' ? {
1492
+ x: dataLabels.xHigh,
1493
+ y: dataLabels.yHigh
1494
+ } : dataLabels.alignToKey === 'low' ? {
1495
+ x: dataLabels.xLow,
1496
+ y: dataLabels.yLow
1497
+ } : {})
1498
+ ];
1499
+ }
1500
+ return [
1501
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(dataLabels, {
1502
+ alignToKey: 'high',
1503
+ x: dataLabels?.xHigh,
1504
+ y: dataLabels?.yHigh
1505
+ }),
1506
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(dataLabels, {
1507
+ alignToKey: 'low',
1508
+ x: dataLabels?.xLow,
1509
+ y: dataLabels?.yLow
1510
+ })
1511
+ ];
1512
+ }
1299
1513
  /* *
1300
1514
  *
1301
1515
  * Class
@@ -1369,7 +1583,7 @@ class AreaRangeSeries extends AreaSeries {
1369
1583
  rectPlotX: point.rectPlotX,
1370
1584
  yBottom: point.yBottom,
1371
1585
  // `plotHighX` is for polar charts
1372
- plotX: (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.plotHighX, point.plotX),
1586
+ plotX: point.plotHighX ?? point.plotX,
1373
1587
  plotY: point.plotHigh,
1374
1588
  isNull: point.isNull
1375
1589
  };
@@ -1419,151 +1633,27 @@ class AreaRangeSeries extends AreaSeries {
1419
1633
  this.areaPath.xMap = lowerPath.xMap;
1420
1634
  return linePath;
1421
1635
  }
1422
- /**
1423
- * Extend the basic drawDataLabels method by running it for both lower and
1424
- * higher values.
1425
- * @internal
1426
- */
1427
1636
  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;
1637
+ const series = this, dataLabelOptions = series.options.dataLabels;
1430
1638
  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
- }
1639
+ const rangeOptions = getRangeDataLabelOptions(series);
1640
+ // Resolve value references like `{y}` against the aligned key
1641
+ rangeOptions.forEach(Series_RangeDataLabel.applyAlignToKeyValue);
1642
+ series.options.dataLabels = rangeOptions;
1643
+ if (AreaRangeSeries_areaProto.drawDataLabels) {
1644
+ // #1209
1645
+ AreaRangeSeries_areaProto.drawDataLabels.call(series);
1646
+ }
1647
+ series.options.dataLabels = dataLabelOptions;
1648
+ for (const point of series.points) {
1649
+ const labels = point.dataLabels ?? [];
1650
+ point.dataLabelUpper = labels.find((label) => (Series_RangeDataLabel.resolveAlignToKey(series, label.options
1651
+ ?.alignToKey) === 'high'));
1652
+ point.dataLabel = labels.find((label) => (Series_RangeDataLabel.resolveAlignToKey(series, label.options
1653
+ ?.alignToKey) === 'low'));
1559
1654
  }
1560
- // Reset options
1561
- this.options.dataLabels = dataLabelOptions;
1562
1655
  }
1563
1656
  }
1564
- alignDataLabel() {
1565
- columnProto.alignDataLabel.apply(this, arguments);
1566
- }
1567
1657
  modifyMarkerSettings() {
1568
1658
  const series = this, originalMarkerSettings = {
1569
1659
  marker: series.options.marker,
@@ -1614,7 +1704,7 @@ class AreaRangeSeries extends AreaSeries {
1614
1704
  if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.defined)(point.plotHighX)) {
1615
1705
  point.plotX = point.plotHighX;
1616
1706
  }
1617
- point.y = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.high, point.origProps.y); // #15523
1707
+ point.y = point.high ?? point.origProps.y; // #15523
1618
1708
  point.negative = point.y < (series.options.threshold || 0);
1619
1709
  if (series.zones.length) {
1620
1710
  point.zone = point.getZone();
@@ -1712,6 +1802,7 @@ AreaRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_hig
1712
1802
  pointValKey: 'low',
1713
1803
  setStackedPoints: noop
1714
1804
  });
1805
+ Series_RangeDataLabel.compose(AreaRangeSeries);
1715
1806
  highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('arearange', AreaRangeSeries);
1716
1807
  /* *
1717
1808
  *
@@ -1896,10 +1987,15 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
1896
1987
  */
1897
1988
  ''; // Adds doclets above to transpiled file
1898
1989
 
1899
- ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js
1990
+ ;// ./code/es-modules/Extensions/BorderRadius.js
1991
+ /* unused harmony import specifier */ var relativeLength;
1992
+ /* unused harmony import specifier */ var isObject;
1993
+ /* unused harmony import specifier */ var extend;
1994
+ /* unused harmony import specifier */ var addEvent;
1900
1995
  /* *
1901
1996
  *
1902
- * (c) 2010-2026 Highsoft AS
1997
+ * Highcharts Border Radius module
1998
+ *
1903
1999
  * Author: Torstein Hønsi
1904
2000
  *
1905
2001
  * Integration of this software requires a license.
@@ -1909,116 +2005,520 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
1909
2005
  *
1910
2006
  * */
1911
2007
 
2008
+
2009
+ const { defaultOptions: BorderRadius_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
2010
+
2011
+ const { noop: BorderRadius_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
2012
+
1912
2013
  /* *
1913
2014
  *
1914
- * API Options
2015
+ * Constants
1915
2016
  *
1916
2017
  * */
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).
2018
+ const defaultBorderRadiusOptions = {
2019
+ radius: 0,
2020
+ scope: 'stack',
2021
+ where: void 0
2022
+ };
2023
+ /* *
1922
2024
  *
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
2025
+ * Variables
1929
2026
  *
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
- /**
2027
+ * */
2028
+ let oldArc = (/* unused pure expression or super */ null && (BorderRadius_noop));
2029
+ let oldRoundedRect = (/* unused pure expression or super */ null && (BorderRadius_noop));
2030
+ /* *
2031
+ *
2032
+ * Functions
2033
+ *
2034
+ * */
2035
+ /** @internal */
2036
+ function applyBorderRadius(path, i, r) {
2037
+ const a = path[i];
2038
+ let b = path[i + 1];
2039
+ if (b[0] === 'Z') {
2040
+ b = path[0];
2041
+ }
2042
+ let line, arc, fromLineToArc;
2043
+ // From straight line to arc
2044
+ if ((a[0] === 'M' || a[0] === 'L') && b[0] === 'A') {
2045
+ line = a;
2046
+ arc = b;
2047
+ fromLineToArc = true;
2048
+ // From arc to straight line
2049
+ }
2050
+ else if (a[0] === 'A' && (b[0] === 'M' || b[0] === 'L')) {
2051
+ line = b;
2052
+ arc = a;
2053
+ }
2054
+ if (line && arc && arc.params) {
2055
+ const bigR = arc[1],
2056
+ // In our use cases, outer pie slice arcs are clockwise and inner
2057
+ // arcs (donut/sunburst etc) are anti-clockwise
2058
+ clockwise = arc[5], params = arc.params, { start, end, cx, cy } = params;
2059
+ // Some geometric constants
2060
+ const relativeR = clockwise ? (bigR - r) : (bigR + r),
2061
+ // The angle, on the big arc, that the border radius arc takes up
2062
+ angleOfBorderRadius = relativeR ? Math.asin(r / relativeR) : 0, angleOffset = clockwise ?
2063
+ angleOfBorderRadius :
2064
+ -angleOfBorderRadius,
2065
+ // The distance along the radius of the big arc to the starting
2066
+ // point of the small border radius arc
2067
+ distanceBigCenterToStartArc = (Math.cos(angleOfBorderRadius) *
2068
+ relativeR);
2069
+ // From line to arc
2070
+ if (fromLineToArc) {
2071
+ // Update the cache
2072
+ params.start = start + angleOffset;
2073
+ // First move to the start position at the radial line. We want to
2074
+ // start one borderRadius closer to the center.
2075
+ line[1] = cx + distanceBigCenterToStartArc * Math.cos(start);
2076
+ line[2] = cy + distanceBigCenterToStartArc * Math.sin(start);
2077
+ // Now draw an arc towards the point where the small circle touches
2078
+ // the great circle.
2079
+ path.splice(i + 1, 0, [
2080
+ 'A',
2081
+ r,
2082
+ r,
2083
+ 0, // Slanting,
2084
+ 0, // Long arc
2085
+ 1, // Clockwise
2086
+ cx + bigR * Math.cos(params.start),
2087
+ cy + bigR * Math.sin(params.start)
2088
+ ]);
2089
+ // From arc to line
2090
+ }
2091
+ else {
2092
+ // Update the cache
2093
+ params.end = end - angleOffset;
2094
+ // End the big arc a bit earlier
2095
+ arc[6] = cx + bigR * Math.cos(params.end);
2096
+ arc[7] = cy + bigR * Math.sin(params.end);
2097
+ // Draw a small arc towards a point on the end angle, but one
2098
+ // borderRadius closer to the center relative to the perimeter.
2099
+ path.splice(i + 1, 0, [
2100
+ 'A',
2101
+ r,
2102
+ r,
2103
+ 0,
2104
+ 0,
2105
+ 1,
2106
+ cx + distanceBigCenterToStartArc * Math.cos(end),
2107
+ cy + distanceBigCenterToStartArc * Math.sin(end)
2108
+ ]);
2109
+ }
2110
+ // Long or short arc must be reconsidered because we have modified the
2111
+ // start and end points
2112
+ arc[4] = Math.abs(params.end - params.start) < Math.PI ? 0 : 1;
2113
+ }
2114
+ }
2115
+ /**
2116
+ * Extend arc with borderRadius.
2117
+ * @internal
2118
+ */
2119
+ function arc(x, y, w, h, options = {}) {
2120
+ const path = oldArc(x, y, w, h, options), { brStart = true, brEnd = true, innerR = 0, r = w, start = 0, end = 0 } = options;
2121
+ if (options.open || !options.borderRadius) {
2122
+ return path;
2123
+ }
2124
+ const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
2125
+ // Cap to half the sector radius
2126
+ (r - innerR) / 2,
2127
+ // For smaller pie slices, cap to the largest small circle that
2128
+ // can be fitted within the sector
2129
+ (r * sinHalfAlpha) / (1 + sinHalfAlpha)), 0),
2130
+ // For the inner radius, we need an extra cap because the inner arc
2131
+ // is shorter than the outer arc
2132
+ innerBorderRadius = Math.min(borderRadius, 2 * (alpha / Math.PI) * innerR);
2133
+ // Apply turn-by-turn border radius. Start at the end since we're
2134
+ // splicing in arc segments.
2135
+ let i = path.length - 1;
2136
+ while (i--) {
2137
+ if ((!brStart && (i === 0 || i === 3)) ||
2138
+ (!brEnd && (i === 1 || i === 2))) {
2139
+ continue;
2140
+ }
2141
+ applyBorderRadius(path, i, i > 1 ? innerBorderRadius : borderRadius);
2142
+ }
2143
+ return path;
2144
+ }
2145
+ /** @internal */
2146
+ function seriesOnAfterColumnTranslate() {
2147
+ if (this.options.borderRadius &&
2148
+ !(this.chart.is3d && this.chart.is3d())) {
2149
+ const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
2150
+ ?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
2151
+ for (const point of this.points) {
2152
+ const { shapeArgs } = point;
2153
+ if (point.shapeType === 'roundedRect' && shapeArgs) {
2154
+ const { width = 0, height = 0, y = 0 } = shapeArgs;
2155
+ let brBoxY = y, brBoxHeight = height;
2156
+ // It would be nice to refactor StackItem.getStackBox/
2157
+ // setOffset so that we could get a reliable box out of
2158
+ // it. Currently it is close if we remove the label
2159
+ // offset, but we still need to run crispCol and also
2160
+ // flip it if inverted, so atm it is simpler to do it
2161
+ // like the below.
2162
+ if (borderRadius.scope === 'stack' &&
2163
+ point.stackTotal) {
2164
+ 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));
2165
+ brBoxY = box.y;
2166
+ brBoxHeight = box.height;
2167
+ }
2168
+ const flip = (point.negative ? -1 : 1) *
2169
+ (reversed ? -1 : 1) === -1;
2170
+ // Handle the where option
2171
+ let where = borderRadius.where;
2172
+ // Waterfall, hanging columns should have rounding on
2173
+ // all sides
2174
+ if (!where &&
2175
+ this.is('waterfall') &&
2176
+ Math.abs((point.yBottom || 0) -
2177
+ (this.translatedThreshold || 0)) > this.borderWidth) {
2178
+ where = 'all';
2179
+ }
2180
+ if (!where) {
2181
+ where = 'end';
2182
+ }
2183
+ // Get the radius
2184
+ const r = Math.min(relativeLength(borderRadius.radius, width), width / 2,
2185
+ // Cap to the height, but not if where is `end`
2186
+ where === 'all' ? brBoxHeight / 2 : Infinity) || 0;
2187
+ // If the `where` option is 'end', cut off the
2188
+ // rectangles by making the border-radius box one r
2189
+ // greater, so that the imaginary radius falls outside
2190
+ // the rectangle.
2191
+ if (where === 'end') {
2192
+ if (flip) {
2193
+ brBoxY -= r;
2194
+ brBoxHeight += r;
2195
+ }
2196
+ else {
2197
+ brBoxHeight += r;
2198
+ }
2199
+ }
2200
+ extend(shapeArgs, { brBoxHeight, brBoxY, r });
2201
+ }
2202
+ }
2203
+ }
2204
+ }
2205
+ /** @internal */
2206
+ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
2207
+ const PieSeriesClass = SeriesClass.types.pie;
2208
+ if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
2209
+ const symbols = SVGRendererClass.prototype.symbols;
2210
+ addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
2211
+ // After columnrange and polar column modifications
2212
+ order: 9
2213
+ });
2214
+ addEvent(PieSeriesClass, 'afterTranslate', pieSeriesOnAfterTranslate);
2215
+ SVGElementClass.symbolCustomAttribs.push('borderRadius', 'brBoxHeight', 'brBoxY', 'brEnd', 'brStart');
2216
+ oldArc = symbols.arc;
2217
+ oldRoundedRect = symbols.roundedRect;
2218
+ symbols.arc = arc;
2219
+ symbols.roundedRect = roundedRect;
2220
+ }
2221
+ }
2222
+ /**
2223
+ * Utility function to get the full border radius options object, from a simple
2224
+ * number or a partial options object.
2225
+ * @internal
2226
+ */
2227
+ function borderRadiusObject(options, seriesBROptions) {
2228
+ if (!(0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(options)) {
2229
+ options = { radius: options || 0 };
2230
+ }
2231
+ return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(defaultBorderRadiusOptions, seriesBROptions, options);
2232
+ }
2233
+ /** @internal */
2234
+ function pieSeriesOnAfterTranslate() {
2235
+ const borderRadius = borderRadiusObject(this.options.borderRadius);
2236
+ for (const point of this.points) {
2237
+ const shapeArgs = point.shapeArgs;
2238
+ if (shapeArgs) {
2239
+ shapeArgs.borderRadius = relativeLength(borderRadius.radius, (shapeArgs.r || 0) - ((shapeArgs.innerR) || 0));
2240
+ }
2241
+ }
2242
+ }
2243
+ /**
2244
+ * Extend roundedRect with individual cutting through rOffset.
2245
+ * @internal
2246
+ */
2247
+ function roundedRect(x, y, width, height, options = {}) {
2248
+ const path = oldRoundedRect(x, y, width, height, options), { r = 0, brBoxHeight = height, brBoxY = y } = options, brOffsetTop = y - brBoxY, brOffsetBtm = (brBoxY + brBoxHeight) - (y + height),
2249
+ // When the distance to the border-radius box is greater than the r
2250
+ // itself, it means no border radius. The -0.1 accounts for float
2251
+ // rounding errors.
2252
+ 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);
2253
+ /*
2254
+
2255
+ The naming of control points:
2256
+
2257
+ / a -------- b \
2258
+ / \
2259
+ h c
2260
+ | |
2261
+ | |
2262
+ | |
2263
+ g d
2264
+ \ /
2265
+ \ f -------- e /
2266
+
2267
+ */
2268
+ const a = [x + rTop, y], b = [x + width - rTop, y], c = [x + width, y + rTop], d = [
2269
+ x + width, y + height - rBtm
2270
+ ], e = [
2271
+ x + width - rBtm,
2272
+ y + height
2273
+ ], f = [x + rBtm, y + height], g = [x, y + height - rBtm], h = [x, y + rTop];
2274
+ const applyPythagoras = (r, altitude) => Math.sqrt(Math.pow(r, 2) - Math.pow(altitude, 2));
2275
+ // Inside stacks, cut off part of the top
2276
+ if (cutTop) {
2277
+ const base = applyPythagoras(rTop, rTop - cutTop);
2278
+ a[0] -= base;
2279
+ b[0] += base;
2280
+ c[1] = h[1] = y + rTop - cutTop;
2281
+ }
2282
+ // Column is lower than the radius. Cut off bottom inside the top
2283
+ // radius.
2284
+ if (height < rTop - cutTop) {
2285
+ const base = applyPythagoras(rTop, rTop - cutTop - height);
2286
+ c[0] = d[0] = x + width - rTop + base;
2287
+ e[0] = Math.min(c[0], e[0]);
2288
+ f[0] = Math.max(d[0], f[0]);
2289
+ g[0] = h[0] = x + rTop - base;
2290
+ c[1] = h[1] = y + height;
2291
+ }
2292
+ // Inside stacks, cut off part of the bottom
2293
+ if (cutBtm) {
2294
+ const base = applyPythagoras(rBtm, rBtm - cutBtm);
2295
+ e[0] += base;
2296
+ f[0] -= base;
2297
+ d[1] = g[1] = y + height - rBtm + cutBtm;
2298
+ }
2299
+ // Cut off top inside the bottom radius
2300
+ if (height < rBtm - cutBtm) {
2301
+ const base = applyPythagoras(rBtm, rBtm - cutBtm - height);
2302
+ c[0] = d[0] = x + width - rBtm + base;
2303
+ b[0] = Math.min(c[0], b[0]);
2304
+ a[0] = Math.max(d[0], a[0]);
2305
+ g[0] = h[0] = x + rBtm - base;
2306
+ d[1] = g[1] = y;
2307
+ }
2308
+ // Preserve the box for data labels
2309
+ path.length = 0;
2310
+ path.push(['M', ...a],
2311
+ // Top side
2312
+ ['L', ...b],
2313
+ // Top right corner
2314
+ ['A', rTop, rTop, 0, 0, 1, ...c],
2315
+ // Right side
2316
+ ['L', ...d],
2317
+ // Bottom right corner
2318
+ ['A', rBtm, rBtm, 0, 0, 1, ...e],
2319
+ // Bottom side
2320
+ ['L', ...f],
2321
+ // Bottom left corner
2322
+ ['A', rBtm, rBtm, 0, 0, 1, ...g],
2323
+ // Left side
2324
+ ['L', ...h],
2325
+ // Top left corner
2326
+ ['A', rTop, rTop, 0, 0, 1, ...a], ['Z']);
2327
+ return path;
2328
+ }
2329
+ /* *
2330
+ *
2331
+ * API Declarations
2332
+ *
2333
+ * */
2334
+ /**
2335
+ * Detailed options for border radius.
2336
+ *
2337
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2338
+ * Rounded columns
2339
+ * @sample highcharts/plotoptions/series-border-radius
2340
+ * Column and pie with rounded border
2341
+ *
2342
+ * @interface Highcharts.BorderRadiusOptionsObject
2343
+ */ /**
2344
+ * The border radius. A number signifies pixels. A percentage string, like for
2345
+ * example `50%`, signifies a relative size. For columns this is relative to the
2346
+ * column width, for pies it is relative to the radius and the inner radius.
2347
+ *
2348
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2349
+ * Rounded columns
2350
+ * @sample highcharts/plotoptions/series-border-radius
2351
+ * Column and pie with rounded border
2352
+ *
2353
+ * @name Highcharts.BorderRadiusOptionsObject#radius
2354
+ * @type {string|number|undefined}
2355
+ */ /**
2356
+ * The scope of the rounding for column charts or plot bands. In a stacked
2357
+ * column chart, the value `point` means each single point will get rounded
2358
+ * corners. The value `stack` means the rounding will apply to the full
2359
+ * stack, so that only points close to the top or bottom will receive
2360
+ * rounding.
2361
+ *
2362
+ * Similarly, for plot bands, the `individual` value means each plot band
2363
+ * will get rounded corners.
2364
+ *
2365
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2366
+ * Rounded columns
2367
+ *
2368
+ * @name Highcharts.BorderRadiusOptionsObject#scope
2369
+ * @type {"individual"|"point"|"stack"|undefined}
2370
+ */ /**
2371
+ * For column charts, where in the point or stack to apply rounding. The `end`
2372
+ * value means only those corners at the point value will be rounded, leaving
2373
+ * the corners at the base or threshold unrounded. This is the most intuitive
2374
+ * behavior. The `all` value means also the base will be rounded.
2375
+ *
2376
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius-where-all
2377
+ * Rounding on all corners
2378
+ *
2379
+ * @name Highcharts.BorderRadiusOptionsObject#where
2380
+ * @type {"all"|"end"|undefined}
2381
+ * @default end
2382
+ */
2383
+ (''); // Keeps doclets above in JS file
2384
+
2385
+ ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js
2386
+ /* *
2387
+ *
2388
+ * (c) 2010-2026 Highsoft AS
2389
+ * Author: Torstein Hønsi
2390
+ *
2391
+ * Integration of this software requires a license.
2392
+ * - For commercial use, see www.highcharts.com/license
2393
+ * - For non-commercial, see www.highcharts.com/license-eula
2394
+ *
2395
+ *
2396
+ * */
2397
+
2398
+ /* *
2399
+ *
2400
+ * API Options
2401
+ *
2402
+ * */
2403
+ /**
2404
+ * A box plot is a convenient way of depicting groups of data through their
2405
+ * five-number summaries: the smallest observation (sample minimum), lower
2406
+ * quartile (Q1), median (Q2), upper quartile (Q3), and largest observation
2407
+ * (sample maximum).
2408
+ *
2409
+ * @sample highcharts/demo/box-plot/
2410
+ * Box plot
2411
+ * @sample {highcharts} highcharts/css/boxplot/
2412
+ * Box plot in styled mode
2413
+ * @sample {highcharts} highcharts/series-scatter/jitter-boxplot
2414
+ * Jittered scatter plot on top of a box plot
2415
+ *
2416
+ * @extends plotOptions.column
2417
+ * @excluding borderColor, borderWidth, groupZPadding,
2418
+ * states, boostThreshold, boostBlending
2419
+ * @product highcharts
2420
+ * @requires highcharts-more
2421
+ * @optionparent plotOptions.boxplot
2422
+ */
2423
+ const BoxPlotSeriesDefaults = {
2424
+ /**
2425
+ * The corner radius of the border surrounding the box. A number
2426
+ * signifies pixels. A percentage string, like for example `50%`, signifies
2427
+ * a size relative to the box width.
2428
+ *
2429
+ * @sample {highcharts} highcharts/demo/violin-plot/
2430
+ * Box plot with rounded corners
2431
+ *
2432
+ * @type {number|string|Highcharts.BorderRadiusOptionsObject}
2433
+ * @default 0
2434
+ * @since 13.0.1
2435
+ * @product highcharts
2436
+ */
2437
+ borderRadius: 0,
2438
+ /**
2439
+ * The Y axis value to serve as the base for the columns, for
2440
+ * distinguishing between values above and below a threshold. If `null`,
2441
+ * the columns extend from the padding Y axis minimum.
2442
+ *
2443
+ * @type {number|null}
2444
+ * @default null
2445
+ * @since 2.0
2446
+ * @product highcharts
2447
+ */
2448
+ threshold: null,
2449
+ tooltip: {
2450
+ pointFormat: '<span style="color:{point.color}">\u25CF</span> <b>' +
2451
+ '{series.name}</b><br/>' +
2452
+ 'Maximum: {point.high}<br/>' +
2453
+ 'Upper quartile: {point.q3}<br/>' +
2454
+ 'Median: {point.median}<br/>' +
2455
+ 'Lower quartile: {point.q1}<br/>' +
2456
+ 'Minimum: {point.low}<br/>'
2457
+ },
2458
+ /**
2459
+ * The length of the whiskers, the horizontal lines marking low and
2460
+ * high values. It can be a numerical pixel value, or a percentage
2461
+ * value of the box width. Set `0` to disable whiskers.
2462
+ *
2463
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2464
+ * Box plot styling
2465
+ *
2466
+ * @type {number|string}
2467
+ * @since 3.0
2468
+ * @product highcharts
2469
+ */
2470
+ whiskerLength: '50%',
2471
+ /**
2472
+ * The fill color of the box.
2473
+ *
2474
+ * In styled mode, the fill color can be set with the
2475
+ * `.highcharts-boxplot-box` class.
2476
+ *
2477
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2478
+ * Box plot styling
2479
+ *
2480
+ * @type {Highcharts.ColorType}
2481
+ * @default #ffffff
2482
+ * @since 3.0
2483
+ * @product highcharts
2484
+ */
2485
+ fillColor: 'var(--highcharts-background-color)',
2486
+ /**
2487
+ * The width of the line surrounding the box. If any of
2488
+ * [stemWidth](#plotOptions.boxplot.stemWidth),
2489
+ * [medianWidth](#plotOptions.boxplot.medianWidth)
2490
+ * or [whiskerWidth](#plotOptions.boxplot.whiskerWidth) are `null`,
2491
+ * the lineWidth also applies to these lines.
2492
+ *
2493
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2494
+ * Box plot styling
2495
+ * @sample {highcharts} highcharts/plotoptions/error-bar-styling/
2496
+ * Error bar styling
2497
+ *
2498
+ * @since 3.0
2499
+ * @product highcharts
2500
+ */
2501
+ lineWidth: 1,
2502
+ /**
2503
+ * The color of the median line. If `undefined`, the general series
2504
+ * color applies.
2505
+ *
2506
+ * In styled mode, the median stroke width can be set with the
2507
+ * `.highcharts-boxplot-median` class.
2508
+ *
2509
+ * @sample {highcharts} highcharts/plotoptions/box-plot-styling/
2510
+ * Box plot styling
2511
+ * @sample {highcharts} highcharts/css/boxplot/
2512
+ * Box plot in styled mode
2513
+ * @sample {highcharts} highcharts/plotoptions/error-bar-styling/
2514
+ * Error bar styling
2515
+ *
2516
+ * @type {Highcharts.ColorType}
2517
+ * @since 3.0
2518
+ * @product highcharts
2519
+ * @apioption plotOptions.boxplot.medianColor
2520
+ */
2521
+ /**
2022
2522
  * The pixel width of the median line. If `null`, the
2023
2523
  * [lineWidth](#plotOptions.boxplot.lineWidth) is used.
2024
2524
  *
@@ -2146,6 +2646,24 @@ const BoxPlotSeriesDefaults = {
2146
2646
  * @default high
2147
2647
  * @apioption plotOptions.boxplot.colorKey
2148
2648
  */
2649
+ /**
2650
+ * The point key used to position a box plot data label.
2651
+ *
2652
+ * @typedef {"low"|"q1"|"median"|"q3"|"high"} Highcharts.BoxPlotPointValKey
2653
+ */
2654
+ /**
2655
+ * The point key to use for positioning this data label.
2656
+ * Possible values are `low`, `q1`, `median`, `q3` and `high`.
2657
+ *
2658
+ * @sample {highcharts} highcharts/series-boxplot/data-labels/
2659
+ * Multiple data labels
2660
+ *
2661
+ * @type {Highcharts.BoxPlotPointValKey}
2662
+ * @default high
2663
+ * @validvalue ["low", "q1", "median", "q3", "high"]
2664
+ * @product highcharts
2665
+ * @apioption plotOptions.boxplot.dataLabels.alignToKey
2666
+ */
2149
2667
  /**
2150
2668
  * The color of the whiskers, the horizontal lines marking low and high
2151
2669
  * values. When `undefined`, the general series color is used.
@@ -2357,9 +2875,6 @@ const BoxPlotSeriesDefaults = {
2357
2875
  * */
2358
2876
  /* harmony default export */ const BoxPlot_BoxPlotSeriesDefaults = (BoxPlotSeriesDefaults);
2359
2877
 
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
2878
  ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeries.js
2364
2879
  /* *
2365
2880
  *
@@ -2376,9 +2891,11 @@ var highcharts_Series_types_column_commonjs_highcharts_Series_types_column_commo
2376
2891
 
2377
2892
 
2378
2893
 
2894
+
2379
2895
  const { noop: BoxPlotSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
2380
2896
 
2381
2897
 
2898
+
2382
2899
  /* *
2383
2900
  *
2384
2901
  * Class
@@ -2434,8 +2951,9 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2434
2951
  // Do the translation on each point dimension
2435
2952
  series.points.forEach(function (point) {
2436
2953
  pointArrayMap.forEach(function (key) {
2437
- if (point[key] !== null) {
2438
- point[key + 'Plot'] = yAxis.translate(point[key], 0, 1, 0, 1);
2954
+ const value = point[key];
2955
+ if (value !== null) {
2956
+ point[`${key}Plot`] = yAxis.translate(value, false, true, false, true);
2439
2957
  }
2440
2958
  });
2441
2959
  point.plotHigh = point.highPlot; // For data label validation
@@ -2487,7 +3005,10 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2487
3005
  // Stem attributes
2488
3006
  stemAttr.stroke =
2489
3007
  point.stemColor || options.stemColor || color;
2490
- stemAttr['stroke-width'] = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.stemWidth, options.stemWidth, options.lineWidth);
3008
+ stemAttr['stroke-width'] =
3009
+ point.stemWidth ??
3010
+ options.stemWidth ??
3011
+ options.lineWidth;
2491
3012
  stemAttr.dashstyle = (point.stemDashStyle ||
2492
3013
  options.stemDashStyle ||
2493
3014
  options.dashStyle);
@@ -2497,7 +3018,10 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2497
3018
  whiskersAttr.stroke = (point.whiskerColor ||
2498
3019
  options.whiskerColor ||
2499
3020
  color);
2500
- whiskersAttr['stroke-width'] = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.whiskerWidth, options.whiskerWidth, options.lineWidth);
3021
+ whiskersAttr['stroke-width'] =
3022
+ point.whiskerWidth ??
3023
+ options.whiskerWidth ??
3024
+ options.lineWidth;
2501
3025
  whiskersAttr.dashstyle = (point.whiskerDashStyle ||
2502
3026
  options.whiskerDashStyle ||
2503
3027
  options.dashStyle);
@@ -2518,25 +3042,28 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2518
3042
  medianAttr.stroke = (point.medianColor ||
2519
3043
  options.medianColor ||
2520
3044
  color);
2521
- medianAttr['stroke-width'] = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.medianWidth, options.medianWidth, options.lineWidth);
3045
+ medianAttr['stroke-width'] =
3046
+ point.medianWidth ??
3047
+ options.medianWidth ??
3048
+ options.lineWidth;
2522
3049
  medianAttr.dashstyle = (point.medianDashStyle ||
2523
3050
  options.medianDashStyle ||
2524
3051
  options.dashStyle);
2525
3052
  point.medianShape.attr(medianAttr);
2526
3053
  }
2527
- let d;
2528
3054
  // The stem
2529
3055
  const stemX = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)((point.plotX || 0) + (series.pointXOffset || 0) +
2530
3056
  ((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 });
3057
+ point.stem[verb]({
3058
+ d: [
3059
+ // Stem up
3060
+ ['M', stemX, q3Plot],
3061
+ ['L', stemX, highPlot],
3062
+ // Stem down
3063
+ ['M', stemX, q1Plot],
3064
+ ['L', stemX, lowPlot]
3065
+ ]
3066
+ });
2540
3067
  // The box
2541
3068
  if (doQuartiles) {
2542
3069
  const boxStrokeWidth = point.box.strokeWidth();
@@ -2544,15 +3071,11 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2544
3071
  q3Plot = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(q3Plot, boxStrokeWidth);
2545
3072
  x = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.crisp)(x, boxStrokeWidth);
2546
3073
  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 });
3074
+ // Optionally round the corners of the box
3075
+ 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);
3076
+ point.box[verb]({
3077
+ d: renderer.symbols.roundedRect(x, Math.min(q1Plot, q3Plot), right - x, Math.abs(q1Plot - q3Plot), { r })
3078
+ });
2556
3079
  }
2557
3080
  // The whiskers
2558
3081
  if (pointWhiskerLength) {
@@ -2565,11 +3088,12 @@ class BoxPlotSeries extends (highcharts_Series_types_column_commonjs_highcharts_
2565
3088
  }
2566
3089
  // The median
2567
3090
  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 });
3091
+ point.medianShape[verb]({
3092
+ d: [
3093
+ ['M', x, medianPlot],
3094
+ ['L', right, medianPlot]
3095
+ ]
3096
+ });
2573
3097
  }
2574
3098
  }
2575
3099
  }
@@ -2589,10 +3113,9 @@ BoxPlotSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highc
2589
3113
  pointArrayMap: ['low', 'q1', 'median', 'q3', 'high'],
2590
3114
  // Defines the top of the tracker
2591
3115
  pointValKey: 'high',
2592
- // Disable data labels for box plot
2593
- drawDataLabels: BoxPlotSeries_noop,
2594
3116
  setStackedPoints: BoxPlotSeries_noop // #3890
2595
3117
  });
3118
+ Series_RangeDataLabel.compose(BoxPlotSeries);
2596
3119
  highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('boxplot', BoxPlotSeries);
2597
3120
  /* *
2598
3121
  *
@@ -2958,7 +3481,7 @@ class BubbleLegendItem {
2958
3481
  * Legend instance
2959
3482
  */
2960
3483
  drawLegendSymbol(legend) {
2961
- const itemDistance = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(legend.options.itemDistance, 20), legendItem = this.legendItem || {}, options = this.options, ranges = options.ranges, connectorDistance = options.connectorDistance;
3484
+ const itemDistance = (legend.options.itemDistance ?? 20), legendItem = this.legendItem || {}, options = this.options, ranges = options.ranges, connectorDistance = options.connectorDistance;
2962
3485
  let connectorSpace;
2963
3486
  // Do not create bubbleLegend now if ranges or ranges values are not
2964
3487
  // specified or if are empty array.
@@ -3004,13 +3527,17 @@ class BubbleLegendItem {
3004
3527
  // Allow to parts of styles be used individually for range
3005
3528
  ranges.forEach(function (range, i) {
3006
3529
  if (!styledMode) {
3007
- bubbleAttribs.stroke = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(range.borderColor, options.borderColor, series.color);
3530
+ bubbleAttribs.stroke =
3531
+ range.borderColor ?? options.borderColor ?? series.color;
3008
3532
  bubbleAttribs.fill = range.color || options.color;
3009
3533
  if (!bubbleAttribs.fill) {
3010
3534
  bubbleAttribs.fill = series.color;
3011
3535
  bubbleAttribs['fill-opacity'] = fillOpacity ?? 1;
3012
3536
  }
3013
- connectorAttribs.stroke = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(range.connectorColor, options.connectorColor, series.color);
3537
+ connectorAttribs.stroke =
3538
+ range.connectorColor ??
3539
+ options.connectorColor ??
3540
+ series.color;
3014
3541
  }
3015
3542
  // Set options needed for rendering each range
3016
3543
  ranges[i].radius = this.getRangeRadius(range.value);
@@ -3207,10 +3734,10 @@ class BubbleLegendItem {
3207
3734
  if (s.isBubble && !s.ignoreSeries) {
3208
3735
  zData = s.getColumn('z').filter(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber);
3209
3736
  if (zData.length) {
3210
- minZ = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(s.options.zMin, Math.min(minZ, Math.max((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMin)(zData), s.options.displayNegative === false ?
3737
+ minZ = (s.options.zMin ?? Math.min(minZ, Math.max((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMin)(zData), s.options.displayNegative === false ?
3211
3738
  s.options.zThreshold :
3212
3739
  -Number.MAX_VALUE)));
3213
- maxZ = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(s.options.zMax, Math.max(maxZ, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMax)(zData)));
3740
+ maxZ = (s.options.zMax ?? Math.max(maxZ, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMax)(zData)));
3214
3741
  }
3215
3742
  }
3216
3743
  });
@@ -3674,7 +4201,7 @@ class BubblePoint extends ScatterPoint {
3674
4201
 
3675
4202
  const { composed: BubbleSeries_composed, noop: BubbleSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
3676
4203
 
3677
- const { series: Series, seriesTypes: { column: { prototype: BubbleSeries_columnProto }, scatter: ScatterSeries } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
4204
+ const { series: Series, seriesTypes: { column: { prototype: columnProto }, scatter: ScatterSeries } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
3678
4205
 
3679
4206
  /* *
3680
4207
  *
@@ -3728,7 +4255,8 @@ function onAxisFoundExtremes() {
3728
4255
  ['min', 'userMin', pxMin],
3729
4256
  ['max', 'userMax', pxMax]
3730
4257
  ].forEach((keys) => {
3731
- if (typeof (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(this.options[keys[0]], this[keys[1]]) === 'undefined') {
4258
+ if (typeof (this.options[keys[0]] ??
4259
+ this[keys[1]]) === 'undefined') {
3732
4260
  this[keys[0]] += keys[2] / transA;
3733
4261
  }
3734
4262
  });
@@ -3825,10 +4353,10 @@ class BubbleSeries extends ScatterSeries {
3825
4353
  if (otherSeries.bubblePadding && otherSeries.reserveSpace()) {
3826
4354
  const zExtremes = (otherSeries.onPoint || otherSeries).getZExtremes();
3827
4355
  if (zExtremes) {
3828
- // Changed '||' to 'pick' because min or max can be 0.
4356
+ // Use nullish coalescing because min or max can be 0.
3829
4357
  // #17280
3830
- zMin = Math.min((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(zMin, zExtremes.zMin), zExtremes.zMin);
3831
- zMax = Math.max((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(zMax, zExtremes.zMax), zExtremes.zMax);
4358
+ zMin = Math.min((zMin ?? zExtremes.zMin), zExtremes.zMin);
4359
+ zMax = Math.max((zMax ?? zExtremes.zMax), zExtremes.zMax);
3832
4360
  valid = true;
3833
4361
  }
3834
4362
  }
@@ -3966,19 +4494,19 @@ class BubbleSeries extends ScatterSeries {
3966
4494
  }
3967
4495
  return isPercent ? smallestSize * length / 100 : length;
3968
4496
  };
3969
- const minPxSize = getPxSize((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(this.options.minSize, 8));
4497
+ const minPxSize = getPxSize(this.options.minSize ?? 8);
3970
4498
  // Prioritize min size if conflict to make sure bubbles are
3971
4499
  // always visible. #5873
3972
- const maxPxSize = Math.max(getPxSize((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(this.options.maxSize, '20%')), minPxSize);
4500
+ const maxPxSize = Math.max(getPxSize(this.options.maxSize ?? '20%'), minPxSize);
3973
4501
  return { minPxSize, maxPxSize };
3974
4502
  }
3975
4503
  getZExtremes() {
3976
4504
  const options = this.options, zData = this.getColumn('z').filter(highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber);
3977
4505
  if (zData.length) {
3978
- const zMin = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.zMin, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMin)(zData), options.displayNegative === false ?
4506
+ const zMin = (options.zMin ?? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMin)(zData), options.displayNegative === false ?
3979
4507
  (options.zThreshold || 0) :
3980
4508
  -Number.MAX_VALUE, Number.MAX_VALUE));
3981
- const zMax = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.zMax, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMax)(zData));
4509
+ const zMax = (options.zMax ?? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.arrayMax)(zData));
3982
4510
  if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(zMin) && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(zMax)) {
3983
4511
  return { zMin, zMax };
3984
4512
  }
@@ -4050,6 +4578,21 @@ BubbleSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highch
4050
4578
  * @since 6.1.0
4051
4579
  */
4052
4580
  animationLimit: 250,
4581
+ /**
4582
+ * When using automatic point colors pulled from the global
4583
+ * [colors](colors) or series-specific
4584
+ * [plotOptions.bubble.colors](series.colors) collections, this option
4585
+ * determines whether the chart should receive one color per series or
4586
+ * one color per point.
4587
+ *
4588
+ * In styled mode, the `colors` or `series.colors` arrays are not
4589
+ * supported, and instead this option gives the points individual color
4590
+ * class names on the form `highcharts-color-{n}`.
4591
+ *
4592
+ * @type {boolean}
4593
+ * @default false
4594
+ * @apioption plotOptions.bubble.colorByPoint
4595
+ */
4053
4596
  /**
4054
4597
  * Whether to display negative sized bubbles. The threshold is given
4055
4598
  * by the [zThreshold](#plotOptions.bubble.zThreshold) option, and negative
@@ -4253,7 +4796,7 @@ BubbleSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highch
4253
4796
  zoneAxis: 'z'
4254
4797
  });
4255
4798
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(BubbleSeries.prototype, {
4256
- alignDataLabel: BubbleSeries_columnProto.alignDataLabel,
4799
+ alignDataLabel: columnProto.alignDataLabel,
4257
4800
  applyZones: BubbleSeries_noop,
4258
4801
  bubblePadding: true,
4259
4802
  isBubble: true,
@@ -4410,6 +4953,7 @@ const { seriesTypes: { column: { prototype: { pointClass: { prototype: ColumnRan
4410
4953
  * Class
4411
4954
  *
4412
4955
  * */
4956
+ /** @internal */
4413
4957
  class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4414
4958
  /* *
4415
4959
  *
@@ -4428,9 +4972,10 @@ class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4428
4972
  * Default Export
4429
4973
  *
4430
4974
  * */
4975
+ /** @internal */
4431
4976
  /* harmony default export */ const ColumnRange_ColumnRangePoint = (ColumnRangePoint);
4432
4977
 
4433
- ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeries.js
4978
+ ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js
4434
4979
  /* *
4435
4980
  *
4436
4981
  * (c) 2010-2026 Highsoft AS
@@ -4443,15 +4988,9 @@ class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4443
4988
  *
4444
4989
  * */
4445
4990
 
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
4991
  /* *
4453
4992
  *
4454
- * Constants
4993
+ * API Options
4455
4994
  *
4456
4995
  * */
4457
4996
  /**
@@ -4469,7 +5008,7 @@ const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: Col
4469
5008
  * @requires highcharts-more
4470
5009
  * @optionparent plotOptions.columnrange
4471
5010
  */
4472
- const columnRangeOptions = {
5011
+ const ColumnRangeSeriesDefaults = {
4473
5012
  borderRadius: {
4474
5013
  where: 'all'
4475
5014
  },
@@ -4496,6 +5035,116 @@ const columnRangeOptions = {
4496
5035
  }
4497
5036
  }
4498
5037
  };
5038
+ /**
5039
+ * A `columnrange` series. If the [type](#series.columnrange.type)
5040
+ * option is not specified, it is inherited from
5041
+ * [chart.type](#chart.type).
5042
+ *
5043
+ * @extends series,plotOptions.columnrange
5044
+ * @excluding dataParser, dataURL, stack, stacking
5045
+ * @product highcharts highstock
5046
+ * @requires highcharts-more
5047
+ * @apioption series.columnrange
5048
+ */
5049
+ /**
5050
+ * An array of data points for the series. For the `columnrange` series
5051
+ * type, points can be given in the following ways:
5052
+ *
5053
+ * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
5054
+ * to `x,low,high`. If the first value is a string, it is applied as the name
5055
+ * of the point, and the `x` value is inferred. The `x` value can also be
5056
+ * omitted, in which case the inner arrays should be of length 2\. Then the
5057
+ * `x` value is automatically calculated, either starting at 0 and
5058
+ * incremented by 1, or from `pointStart` and `pointInterval` given in the
5059
+ * series options.
5060
+ * ```js
5061
+ * data: [
5062
+ * [0, 4, 2],
5063
+ * [1, 2, 1],
5064
+ * [2, 9, 10]
5065
+ * ]
5066
+ * ```
5067
+ *
5068
+ * 2. An array of objects with named values. The following snippet shows only a
5069
+ * few settings, see the complete options set below. If the total number of
5070
+ * data points exceeds the series'
5071
+ * [turboThreshold](#series.columnrange.turboThreshold), this option is not
5072
+ * available.
5073
+ * ```js
5074
+ * data: [{
5075
+ * x: 1,
5076
+ * low: 0,
5077
+ * high: 4,
5078
+ * name: "Point2",
5079
+ * color: "#00FF00"
5080
+ * }, {
5081
+ * x: 1,
5082
+ * low: 5,
5083
+ * high: 3,
5084
+ * name: "Point1",
5085
+ * color: "#FF00FF"
5086
+ * }]
5087
+ * ```
5088
+ *
5089
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
5090
+ * Arrays of numeric x and y
5091
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
5092
+ * Arrays of datetime x and y
5093
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
5094
+ * Arrays of point.name and y
5095
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
5096
+ * Config objects
5097
+ *
5098
+ * @basic
5099
+ * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
5100
+ * @extends series.arearange.data
5101
+ * @excluding marker
5102
+ * @product highcharts highstock
5103
+ * @apioption series.columnrange.data
5104
+ */
5105
+ /**
5106
+ * @extends series.columnrange.dataLabels
5107
+ * @product highcharts highstock
5108
+ * @apioption series.columnrange.data.dataLabels
5109
+ */
5110
+ /**
5111
+ * @excluding halo, lineWidth, lineWidthPlus, marker
5112
+ * @product highcharts highstock
5113
+ * @apioption series.columnrange.states.hover
5114
+ */
5115
+ /**
5116
+ * @excluding halo, lineWidth, lineWidthPlus, marker
5117
+ * @product highcharts highstock
5118
+ * @apioption series.columnrange.states.select
5119
+ */
5120
+ ''; // Adds doclets above into transpiled
5121
+ /* *
5122
+ *
5123
+ * Default Export
5124
+ *
5125
+ * */
5126
+ /* harmony default export */ const ColumnRange_ColumnRangeSeriesDefaults = (ColumnRangeSeriesDefaults);
5127
+
5128
+ ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeries.js
5129
+ /* *
5130
+ *
5131
+ * (c) 2010-2026 Highsoft AS
5132
+ * Author: Torstein Hønsi
5133
+ *
5134
+ * Integration of this software requires a license.
5135
+ * - For commercial use, see www.highcharts.com/license
5136
+ * - For non-commercial, see www.highcharts.com/license-eula
5137
+ *
5138
+ *
5139
+ * */
5140
+
5141
+
5142
+
5143
+
5144
+ const { noop: ColumnRangeSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
5145
+
5146
+ const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: ColumnSeries, column: { prototype: ColumnRangeSeries_columnProto } } } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default());
5147
+
4499
5148
  /* *
4500
5149
  *
4501
5150
  * Class
@@ -4504,7 +5153,7 @@ const columnRangeOptions = {
4504
5153
  /**
4505
5154
  * The ColumnRangeSeries class
4506
5155
  *
4507
- * @private
5156
+ * @internal
4508
5157
  * @class
4509
5158
  * @name Highcharts.seriesTypes.columnrange
4510
5159
  *
@@ -4553,17 +5202,17 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4553
5202
  translate3dShapes() {
4554
5203
  return ColumnRangeSeries_columnProto.translate3dShapes.apply(this, arguments);
4555
5204
  }
5205
+ /**
5206
+ * Translate data points from raw values x and y to plotX and plotY
5207
+ * @internal
5208
+ */
4556
5209
  afterColumnTranslate() {
4557
- /**
4558
- * Translate data points from raw values x and y to plotX and plotY
4559
- * @private
4560
- */
4561
5210
  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
5211
  let height, heightDifference, start, y;
4563
5212
  // eslint-disable-next-line valid-jsdoc
4564
5213
  /**
4565
5214
  * Don't draw too far outside plot area (#6835)
4566
- * @private
5215
+ * @internal
4567
5216
  */
4568
5217
  function safeBounds(pixelPos) {
4569
5218
  return (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(pixelPos, -safeDistance, safeDistance);
@@ -4576,7 +5225,9 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4576
5225
  point.plotLow = safeBounds(plotY);
4577
5226
  // Adjust shape
4578
5227
  y = point.plotHigh;
4579
- height = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.rectPlotY, point.plotY) - point.plotHigh;
5228
+ height =
5229
+ (point.rectPlotY ?? point.plotY) -
5230
+ point.plotHigh;
4580
5231
  // Adjust for minPointLength
4581
5232
  if (Math.abs(height) < minPointLength) {
4582
5233
  heightDifference = (minPointLength - height);
@@ -4622,7 +5273,7 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4622
5273
  * Static Properties
4623
5274
  *
4624
5275
  * */
4625
- ColumnRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(ColumnSeries.defaultOptions, ColumnRangeSeries_AreaRangeSeries.defaultOptions, columnRangeOptions);
5276
+ ColumnRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(ColumnSeries.defaultOptions, ColumnRangeSeries_AreaRangeSeries.defaultOptions, ColumnRange_ColumnRangeSeriesDefaults);
4626
5277
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.addEvent)(ColumnRangeSeries, 'afterColumnTranslate', function () {
4627
5278
  ColumnRangeSeries.prototype.afterColumnTranslate.apply(this);
4628
5279
  }, { order: 5 });
@@ -4642,98 +5293,11 @@ ColumnRangeSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_h
4642
5293
  highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('columnrange', ColumnRangeSeries);
4643
5294
  /* *
4644
5295
  *
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
4713
- *
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
5296
+ * Default Export
5297
+ *
5298
+ * */
5299
+ /** @internal */
5300
+ /* harmony default export */ const ColumnRange_ColumnRangeSeries = ((/* unused pure expression or super */ null && (ColumnRangeSeries)));
4737
5301
 
4738
5302
  ;// ./code/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js
4739
5303
  /* *
@@ -4890,7 +5454,7 @@ const { column: ColumnPyramidSeries_ColumnSeries } = (highcharts_SeriesRegistry_
4890
5454
  /**
4891
5455
  * The ColumnPyramidSeries class
4892
5456
  *
4893
- * @private
5457
+ * @internal
4894
5458
  * @class
4895
5459
  * @name Highcharts.seriesTypes.columnpyramid
4896
5460
  *
@@ -4904,12 +5468,12 @@ class ColumnPyramidSeries extends ColumnPyramidSeries_ColumnSeries {
4904
5468
  * */
4905
5469
  /**
4906
5470
  * Overrides the column translate method
4907
- * @private
5471
+ * @internal
4908
5472
  */
4909
5473
  translate() {
4910
5474
  const series = this, chart = series.chart, options = series.options, dense = series.dense =
4911
- series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.borderWidth, dense ? 0 : 1 // #3635
4912
- ), yAxis = series.yAxis, threshold = options.threshold, minPointLength = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.minPointLength, 5), metrics = series.getColumnMetrics(), pointWidth = metrics.width, pointXOffset = series.pointXOffset = metrics.offset;
5475
+ series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth =
5476
+ options.borderWidth ?? (dense ? 0 : 1), yAxis = series.yAxis, threshold = options.threshold, minPointLength = (options.minPointLength ?? 5), metrics = series.getColumnMetrics(), pointWidth = metrics.width, pointXOffset = series.pointXOffset = metrics.offset;
4913
5477
  let translatedThreshold = series.translatedThreshold =
4914
5478
  yAxis.getThreshold(threshold),
4915
5479
  // Postprocessed for border width
@@ -4929,7 +5493,7 @@ class ColumnPyramidSeries extends ColumnPyramidSeries_ColumnSeries {
4929
5493
  super.translate();
4930
5494
  // Record the new values
4931
5495
  for (const point of series.points) {
4932
- const yBottom = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(point.yBottom, translatedThreshold), safeDistance = 999 + Math.abs(yBottom), plotY = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(point.plotY, -safeDistance, yAxis.len + safeDistance),
5496
+ const yBottom = (point.yBottom ?? translatedThreshold), safeDistance = 999 + Math.abs(yBottom), plotY = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(point.plotY, -safeDistance, yAxis.len + safeDistance),
4933
5497
  // Don't draw too far outside plot area
4934
5498
  // (#1303, #2241, #4264)
4935
5499
  barW = seriesBarW / 2, barY = Math.min(plotY, yBottom), barH = Math.max(plotY, yBottom) - barY;
@@ -5045,6 +5609,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
5045
5609
  * Default Export
5046
5610
  *
5047
5611
  * */
5612
+ /** @internal */
5048
5613
  /* harmony default export */ const ColumnPyramid_ColumnPyramidSeries = ((/* unused pure expression or super */ null && (ColumnPyramidSeries)));
5049
5614
 
5050
5615
  ;// ./code/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js
@@ -5078,7 +5643,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
5078
5643
  * Error bars with data labels
5079
5644
  *
5080
5645
  * @extends plotOptions.boxplot
5081
- * @excluding boostBlending, boostThreshold
5646
+ * @excluding borderRadius, boostBlending, boostThreshold
5082
5647
  * @product highcharts
5083
5648
  * @requires highcharts-more
5084
5649
  * @optionparent plotOptions.errorbar
@@ -5097,6 +5662,20 @@ const ErrorBarSeriesDefaults = {
5097
5662
  * @product highcharts
5098
5663
  */
5099
5664
  color: 'var(--highcharts-neutral-color-100)',
5665
+ dataLabels: {
5666
+ /**
5667
+ * Callback JavaScript function to format the data label. Note that if
5668
+ * a `format` is defined, the format takes precedence and the formatter
5669
+ * is ignored.
5670
+ *
5671
+ * The default formatter renders the value of the point key the label
5672
+ * is [aligned to](#plotOptions.errorbar.dataLabels.alignToKey). Define
5673
+ * a [format](#plotOptions.errorbar.dataLabels.format) or `formatter`
5674
+ * to display other values.
5675
+ *
5676
+ * @type {Highcharts.DataLabelsFormatterCallbackFunction}
5677
+ */
5678
+ },
5100
5679
  grouping: false,
5101
5680
  /**
5102
5681
  * The parent series of the error bar. The default value links it to
@@ -5217,6 +5796,7 @@ const ErrorBarSeriesDefaults = {
5217
5796
 
5218
5797
  const { arearange: ErrorBarSeries_AreaRangeSeries } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
5219
5798
 
5799
+
5220
5800
  /* *
5221
5801
  *
5222
5802
  * Class
@@ -5225,7 +5805,7 @@ const { arearange: ErrorBarSeries_AreaRangeSeries } = (highcharts_SeriesRegistry
5225
5805
  /**
5226
5806
  * Errorbar series type
5227
5807
  *
5228
- * @private
5808
+ * @internal
5229
5809
  * @class
5230
5810
  * @name Highcharts.seriesTypes.errorbar
5231
5811
  *
@@ -5245,14 +5825,9 @@ class ErrorBarSeries extends BoxPlot_BoxPlotSeries {
5245
5825
  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
5826
  }
5247
5827
  drawDataLabels() {
5248
- const series = this, valKey = series.pointValKey;
5828
+ // Error bars draw upper/lower labels via the area range option adapter.
5249
5829
  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
- }
5830
+ ErrorBarSeries_AreaRangeSeries.prototype.drawDataLabels.call(this);
5256
5831
  }
5257
5832
  }
5258
5833
  toYData(point) {
@@ -5265,7 +5840,7 @@ class ErrorBarSeries extends BoxPlot_BoxPlotSeries {
5265
5840
  * Static Properties
5266
5841
  *
5267
5842
  * */
5268
- ErrorBarSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(BoxPlot_BoxPlotSeries.defaultOptions, ErrorBar_ErrorBarSeriesDefaults);
5843
+ ErrorBarSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(BoxPlot_BoxPlotSeries.defaultOptions, ErrorBar_ErrorBarSeriesDefaults, { dataLabels: { formatter: Series_RangeDataLabel.formatter } });
5269
5844
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.addEvent)(ErrorBarSeries, 'afterTranslate', function () {
5270
5845
  for (const point of this.points) {
5271
5846
  point.plotLow = point.plotY;
@@ -5282,6 +5857,7 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
5282
5857
  * Default Export
5283
5858
  *
5284
5859
  * */
5860
+ /** @internal */
5285
5861
  /* harmony default export */ const ErrorBar_ErrorBarSeries = ((/* unused pure expression or super */ null && (ErrorBarSeries)));
5286
5862
 
5287
5863
  ;// ./code/es-modules/Series/Gauge/GaugePoint.js
@@ -5522,7 +6098,7 @@ class GaugeSeries extends GaugeSeries_Series {
5522
6098
  GaugeSeries_Series.prototype.setData.call(this, data, false);
5523
6099
  this.processData();
5524
6100
  this.generatePoints();
5525
- if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(redraw, true)) {
6101
+ if (redraw ?? true) {
5526
6102
  this.chart.redraw();
5527
6103
  }
5528
6104
  }
@@ -5963,7 +6539,7 @@ const { composed: DragNodesComposition_composed } = (highcharts_commonjs_highcha
5963
6539
  *
5964
6540
  * */
5965
6541
  /**
5966
- * @private
6542
+ * @internal
5967
6543
  */
5968
6544
  function DragNodesComposition_compose(ChartClass) {
5969
6545
  if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pushUnique)(DragNodesComposition_composed, 'DragNodes')) {
@@ -5972,7 +6548,7 @@ function DragNodesComposition_compose(ChartClass) {
5972
6548
  }
5973
6549
  /**
5974
6550
  * Draggable mode:
5975
- * @private
6551
+ * @internal
5976
6552
  */
5977
6553
  function onChartLoad() {
5978
6554
  const chart = this;
@@ -6011,7 +6587,7 @@ function onChartLoad() {
6011
6587
  /**
6012
6588
  * Mouse down action, initializing drag&drop mode.
6013
6589
  *
6014
- * @private
6590
+ * @internal
6015
6591
  * @param {Highcharts.Point} point
6016
6592
  * The point that event occurred.
6017
6593
  * @param {Highcharts.PointerEventObject} event
@@ -6034,7 +6610,7 @@ function onMouseDown(point, event) {
6034
6610
  /**
6035
6611
  * Mouse move action during drag&drop.
6036
6612
  *
6037
- * @private
6613
+ * @internal
6038
6614
  *
6039
6615
  * @param {Highcharts.Point} point
6040
6616
  * The point that event occurred.
@@ -6064,7 +6640,7 @@ function onMouseMove(point, event) {
6064
6640
  /**
6065
6641
  * Mouse up action, finalizing drag&drop.
6066
6642
  *
6067
- * @private
6643
+ * @internal
6068
6644
  * @param {Highcharts.Point} point
6069
6645
  * The point that event occurred.
6070
6646
  */
@@ -6087,14 +6663,15 @@ function onMouseUp(point) {
6087
6663
  /**
6088
6664
  * Redraw halo on mousemove during the drag&drop action.
6089
6665
  *
6090
- * @private
6666
+ * @internal
6091
6667
  * @param {Highcharts.Point} point
6092
6668
  * The point that should show halo.
6093
6669
  */
6094
6670
  function redrawHalo(point) {
6095
6671
  if (point && this.halo) {
6096
6672
  this.halo.attr({
6097
- d: point.haloPath(this.options.states.hover.halo.size)
6673
+ d: point.haloPath((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(this.options.states?.hover?.halo) &&
6674
+ this.options.states?.hover?.halo.size || 0)
6098
6675
  });
6099
6676
  }
6100
6677
  }
@@ -6103,6 +6680,7 @@ function redrawHalo(point) {
6103
6680
  * Default Export
6104
6681
  *
6105
6682
  * */
6683
+ /** @internal */
6106
6684
  const DragNodesComposition = {
6107
6685
  compose: DragNodesComposition_compose,
6108
6686
  onMouseDown,
@@ -6110,6 +6688,7 @@ const DragNodesComposition = {
6110
6688
  onMouseUp,
6111
6689
  redrawHalo
6112
6690
  };
6691
+ /** @internal */
6113
6692
  /* harmony default export */ const Series_DragNodesComposition = (DragNodesComposition);
6114
6693
 
6115
6694
  ;// ./code/es-modules/Series/GraphLayoutComposition.js
@@ -6128,7 +6707,6 @@ const DragNodesComposition = {
6128
6707
  * */
6129
6708
 
6130
6709
 
6131
- const { setAnimation } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
6132
6710
 
6133
6711
  const { composed: GraphLayoutComposition_composed } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
6134
6712
 
@@ -6216,7 +6794,7 @@ function onChartRender() {
6216
6794
  };
6217
6795
  // Don't animate layout when series is dragged
6218
6796
  if (this.graphLayoutsLookup && !this.pointer?.hasDragged) {
6219
- setAnimation(false, this);
6797
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.setAnimation)(false, this);
6220
6798
  // Start simulation
6221
6799
  this.graphLayoutsLookup.forEach((layout) => layout.start());
6222
6800
  // Just one sync step, to run different layouts similar to
@@ -6229,6 +6807,7 @@ function onChartRender() {
6229
6807
  this.series.forEach((series) => {
6230
6808
  if (series && series.layout) {
6231
6809
  series.render();
6810
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.fireEvent)(series, 'afterSimulation');
6232
6811
  }
6233
6812
  });
6234
6813
  }
@@ -7695,12 +8274,16 @@ class ReingoldFruchtermanLayout {
7695
8274
  this.integration =
7696
8275
  Series_GraphLayoutComposition.integrations[options.integration];
7697
8276
  this.enableSimulation = options.enableSimulation;
7698
- this.attractiveForce = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.attractiveForce, this.integration.attractiveForceFunction);
7699
- this.repulsiveForce = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.repulsiveForce, this.integration.repulsiveForceFunction);
8277
+ this.attractiveForce =
8278
+ options.attractiveForce ??
8279
+ this.integration.attractiveForceFunction;
8280
+ this.repulsiveForce =
8281
+ options.repulsiveForce ??
8282
+ this.integration.repulsiveForceFunction;
7700
8283
  this.approximation = options.approximation;
7701
8284
  }
7702
8285
  updateSimulation(enable) {
7703
- this.enableSimulation = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(enable, this.options.enableSimulation);
8286
+ this.enableSimulation = (enable ?? this.options.enableSimulation);
7704
8287
  }
7705
8288
  start() {
7706
8289
  const layout = this, series = this.series, options = this.options;
@@ -7830,7 +8413,7 @@ class ReingoldFruchtermanLayout {
7830
8413
  }
7831
8414
  }
7832
8415
  setMaxIterations(maxIterations) {
7833
- this.maxIterations = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(maxIterations, this.options.maxIterations);
8416
+ this.maxIterations = (maxIterations ?? this.options.maxIterations);
7834
8417
  }
7835
8418
  setTemperature() {
7836
8419
  this.temperature = this.startTemperature =
@@ -7906,8 +8489,12 @@ class ReingoldFruchtermanLayout {
7906
8489
  // as a cluster in the middle
7907
8490
  for (let i = 0, iEnd = sortedNodes.length; i < iEnd; ++i) {
7908
8491
  node = sortedNodes[i];
7909
- node.plotX = node.prevX = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(node.plotX, box.width / 2 + radius * Math.cos(i * angle));
7910
- node.plotY = node.prevY = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(node.plotY, box.height / 2 + radius * Math.sin(i * angle));
8492
+ node.plotX = node.prevX =
8493
+ node.plotX ??
8494
+ box.width / 2 + radius * Math.cos(i * angle);
8495
+ node.plotY = node.prevY =
8496
+ node.plotY ??
8497
+ box.height / 2 + radius * Math.sin(i * angle);
7911
8498
  node.dispX = 0;
7912
8499
  node.dispY = 0;
7913
8500
  }
@@ -7928,8 +8515,9 @@ class ReingoldFruchtermanLayout {
7928
8515
  // Initial positions:
7929
8516
  for (let i = 0, iEnd = nodes.length; i < iEnd; ++i) {
7930
8517
  node = nodes[i];
7931
- node.plotX = node.prevX = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(node.plotX, box.width * unrandom(i));
7932
- node.plotY = node.prevY = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(node.plotY, box.height * unrandom(nodesLength + i));
8518
+ node.plotX = node.prevX = (node.plotX ?? box.width * unrandom(i));
8519
+ node.plotY = node.prevY =
8520
+ node.plotY ?? box.height * unrandom(nodesLength + i);
7933
8521
  node.dispX = 0;
7934
8522
  node.dispY = 0;
7935
8523
  }
@@ -8252,9 +8840,9 @@ class PackedBubbleLayout extends Networkgraph_ReingoldFruchtermanLayout {
8252
8840
  centerX = box.width / 2;
8253
8841
  centerY = box.height / 2;
8254
8842
  }
8255
- node.plotX = node.prevX = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(node.plotX, centerX +
8843
+ node.plotX = node.prevX = (node.plotX ?? centerX +
8256
8844
  radius * Math.cos(node.index || index * angle));
8257
- node.plotY = node.prevY = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(node.plotY, centerY +
8845
+ node.plotY = node.prevY = (node.plotY ?? centerY +
8258
8846
  radius * Math.sin(node.index || index * angle));
8259
8847
  node.dispX = 0;
8260
8848
  node.dispY = 0;
@@ -8354,7 +8942,6 @@ Series_GraphLayoutComposition.layouts.packedbubble = PackedBubbleLayout;
8354
8942
 
8355
8943
 
8356
8944
 
8357
- const { animObject } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
8358
8945
  /**
8359
8946
  * Create a setTimeout for the first drawDataLabels()
8360
8947
  * based on the dataLabels.animation.defer value
@@ -8374,7 +8961,7 @@ function initDataLabelsDefer() {
8374
8961
  else {
8375
8962
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.syncTimeout)(() => {
8376
8963
  this.deferDataLabels = false;
8377
- }, dlOptions ? animObject(dlOptions.animation).defer : 0);
8964
+ }, dlOptions ? (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.animObject)(dlOptions.animation).defer : 0);
8378
8965
  }
8379
8966
  }
8380
8967
  /**
@@ -8884,8 +9471,8 @@ class PackedBubbleSeries extends PackedBubbleSeries_BubbleSeries {
8884
9471
  }
8885
9472
  });
8886
9473
  });
8887
- zMin = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(zMin, valMin);
8888
- zMax = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(zMax, valMax);
9474
+ zMin = (zMin ?? valMin);
9475
+ zMax = (zMax ?? valMax);
8889
9476
  return [zMin, zMax];
8890
9477
  }
8891
9478
  /**
@@ -9024,7 +9611,7 @@ class PackedBubbleSeries extends PackedBubbleSeries_BubbleSeries {
9024
9611
  color(this.color).brighten(0.4).get()),
9025
9612
  opacity: nodeMarker.fillOpacity,
9026
9613
  stroke: nodeMarker.lineColor || this.color,
9027
- 'stroke-width': (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(nodeMarker.lineWidth, this.options.lineWidth)
9614
+ 'stroke-width': (nodeMarker.lineWidth ?? this.options.lineWidth)
9028
9615
  };
9029
9616
  let parentAttribs = {};
9030
9617
  // Create the group for parent Nodes if doesn't exist
@@ -9479,7 +10066,7 @@ class PackedBubbleSeries extends PackedBubbleSeries_BubbleSeries {
9479
10066
  // Update the series points with the val from positions
9480
10067
  // array
9481
10068
  point = data[position[4]];
9482
- radius = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(position[2], void 0);
10069
+ radius = (position[2] ?? void 0);
9483
10070
  if (!useSimulation) {
9484
10071
  point.plotX = (position[0] - chart.plotLeft +
9485
10072
  chart.diffX);
@@ -9547,577 +10134,208 @@ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highchart
9547
10134
 
9548
10135
  /* *
9549
10136
  *
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
- *
9738
- * Author: Torstein Hønsi
9739
- *
9740
- * Integration of this software requires a license.
9741
- * - For commercial use, see www.highcharts.com/license
9742
- * - For non-commercial, see www.highcharts.com/license-eula
9743
- *
9744
- *
9745
- * */
9746
-
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
- /* *
9763
- *
9764
- * Variables
10137
+ * API Options
9765
10138
  *
9766
10139
  * */
9767
- let oldArc = (/* unused pure expression or super */ null && (BorderRadius_noop));
9768
- let oldRoundedRect = (/* unused pure expression or super */ null && (BorderRadius_noop));
9769
- /* *
10140
+ /**
10141
+ * A polygon series can be used to draw any freeform shape in the cartesian
10142
+ * coordinate system. A fill is applied with the `color` option, and
10143
+ * stroke is applied through `lineWidth` and `lineColor` options.
9770
10144
  *
9771
- * Functions
10145
+ * @sample {highcharts} highcharts/demo/polygon/
10146
+ * Polygon
10147
+ * @sample {highstock} highcharts/demo/polygon/
10148
+ * Polygon
9772
10149
  *
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
10150
+ * @extends plotOptions.scatter
10151
+ * @since 4.1.0
10152
+ * @excluding jitter, softThreshold, threshold, cluster, boostThreshold,
10153
+ * boostBlending
10154
+ * @product highcharts highstock
10155
+ * @requires highcharts-more
10156
+ * @optionparent plotOptions.polygon
9857
10157
  */
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 });
10158
+ const PolygonSeriesDefaults = {
10159
+ /**
10160
+ * Fill opacity for the polygon. When you set an explicit `fillColor`,
10161
+ * the `fillOpacity` is not applied. Instead, you should define the
10162
+ * opacity in the `fillColor` with an rgba color definition.
10163
+ *
10164
+ * In styled mode, the fill opacity can be set with the
10165
+ * `.highcharts-area` class name.
10166
+ *
10167
+ * @see [color](#plotOptions.polygon.color)
10168
+ * @see [fillColor](#plotOptions.polygon.fillColor)
10169
+ *
10170
+ * @sample {highcharts} highcharts/demo/violin-plot/
10171
+ * Translucent violins
10172
+ *
10173
+ * @type {number}
10174
+ * @default 1
10175
+ * @since 13.0.1
10176
+ * @product highcharts highstock
10177
+ */
10178
+ fillOpacity: 1,
10179
+ marker: {
10180
+ enabled: false,
10181
+ states: {
10182
+ hover: {
10183
+ enabled: false
9940
10184
  }
9941
10185
  }
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
- }
10186
+ },
10187
+ stickyTracking: false,
10188
+ tooltip: {
10189
+ followPointer: true,
10190
+ pointFormat: ''
10191
+ },
10192
+ trackByArea: true,
10193
+ legendSymbol: 'rectangle'
10194
+ };
9978
10195
  /**
9979
- * Extend roundedRect with individual cutting through rOffset.
9980
- * @internal
10196
+ * A `polygon` series. If the [type](#series.polygon.type) option is
10197
+ * not specified, it is inherited from [chart.type](#chart.type).
10198
+ *
10199
+ * @extends series,plotOptions.polygon
10200
+ * @excluding dataParser, dataURL, stack, boostThreshold, boostBlending
10201
+ * @product highcharts highstock
10202
+ * @requires highcharts-more
10203
+ * @apioption series.polygon
9981
10204
  */
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
- /*
10205
+ /**
10206
+ * An array of data points for the series. For the `polygon` series
10207
+ * type, points can be given in the following ways:
10208
+ *
10209
+ * 1. An array of numerical values. In this case, the numerical values will be
10210
+ * interpreted as `y` options. The `x` values will be automatically
10211
+ * calculated, either starting at 0 and incremented by 1, or from
10212
+ * `pointStart` and `pointInterval` given in the series options. If the axis
10213
+ * has categories, these will be used. Example:
10214
+ * ```js
10215
+ * data: [0, 5, 3, 5]
10216
+ * ```
10217
+ *
10218
+ * 2. An array of arrays with 2 values. In this case, the values correspond to
10219
+ * `x,y`. If the first value is a string, it is applied as the name of the
10220
+ * point, and the `x` value is inferred.
10221
+ * ```js
10222
+ * data: [
10223
+ * [0, 10],
10224
+ * [1, 3],
10225
+ * [2, 1]
10226
+ * ]
10227
+ * ```
10228
+ *
10229
+ * 3. An array of objects with named values. The following snippet shows only a
10230
+ * few settings, see the complete options set below. If the total number of
10231
+ * data points exceeds the series'
10232
+ * [turboThreshold](#series.polygon.turboThreshold), this option is not
10233
+ * available.
10234
+ * ```js
10235
+ * data: [{
10236
+ * x: 1,
10237
+ * y: 1,
10238
+ * name: "Point2",
10239
+ * color: "#00FF00"
10240
+ * }, {
10241
+ * x: 1,
10242
+ * y: 8,
10243
+ * name: "Point1",
10244
+ * color: "#FF00FF"
10245
+ * }]
10246
+ * ```
10247
+ *
10248
+ * @sample {highcharts} highcharts/chart/reflow-true/
10249
+ * Numerical values
10250
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
10251
+ * Arrays of numeric x and y
10252
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
10253
+ * Arrays of datetime x and y
10254
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
10255
+ * Arrays of point.name and y
10256
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
10257
+ * Config objects
10258
+ *
10259
+ * @basic
10260
+ * @type {Array<number|Array<(number|string),(number|null)>|null|*>}
10261
+ * @extends series.line.data
10262
+ * @product highcharts highstock
10263
+ * @apioption series.polygon.data
10264
+ */
10265
+ ''; // Keeps doclets above separate
10266
+ /* *
10267
+ *
10268
+ * Default Export
10269
+ *
10270
+ * */
10271
+ /* harmony default export */ const Polygon_PolygonSeriesDefaults = (PolygonSeriesDefaults);
9989
10272
 
9990
- The naming of control points:
10273
+ ;// ./code/es-modules/Series/Polygon/PolygonSeries.js
10274
+ /* *
10275
+ *
10276
+ * (c) 2010-2026 Highsoft AS
10277
+ * Author: Torstein Hønsi
10278
+ *
10279
+ * Integration of this software requires a license.
10280
+ * - For commercial use, see www.highcharts.com/license
10281
+ * - For non-commercial, see www.highcharts.com/license-eula
10282
+ *
10283
+ *
10284
+ * */
9991
10285
 
9992
- / a -------- b \
9993
- / \
9994
- h c
9995
- | |
9996
- | |
9997
- | |
9998
- g d
9999
- \ /
10000
- \ f -------- e /
10001
10286
 
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;
10287
+ const { noop: PolygonSeries_noop } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
10288
+
10289
+
10290
+ const { area: PolygonSeries_AreaSeries, line: LineSeries, scatter: PolygonSeries_ScatterSeries } = (highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default()).seriesTypes;
10291
+
10292
+ /* *
10293
+ *
10294
+ * Class
10295
+ *
10296
+ * */
10297
+ class PolygonSeries extends PolygonSeries_ScatterSeries {
10298
+ /* *
10299
+ *
10300
+ * Functions
10301
+ *
10302
+ * */
10303
+ getGraphPath() {
10304
+ const graphPath = LineSeries.prototype.getGraphPath.call(this);
10305
+ let i = graphPath.length + 1;
10306
+ // Close all segments
10307
+ while (i--) {
10308
+ if ((i === graphPath.length || graphPath[i][0] === 'M') && i > 0) {
10309
+ graphPath.splice(i, 0, ['Z']);
10310
+ }
10311
+ }
10312
+ this.areaPath = graphPath;
10313
+ return graphPath;
10033
10314
  }
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;
10315
+ drawGraph() {
10316
+ // Borrow the fill logic from area.drawGraph, honoring `fillOpacity`
10317
+ // and an optional `fillColor`
10318
+ PolygonSeries_AreaSeries.prototype.drawGraph.call(this);
10042
10319
  }
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
10320
  }
10064
10321
  /* *
10065
10322
  *
10066
- * API Declarations
10323
+ * Static Properties
10067
10324
  *
10068
10325
  * */
10069
- /**
10070
- * Detailed options for border radius.
10326
+ PolygonSeries.defaultOptions = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.merge)(PolygonSeries_ScatterSeries.defaultOptions, Polygon_PolygonSeriesDefaults);
10327
+ (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)(PolygonSeries.prototype, {
10328
+ type: 'polygon',
10329
+ drawTracker: LineSeries.prototype.drawTracker,
10330
+ setStackedPoints: PolygonSeries_noop // No stacking points on polygons (#5310)
10331
+ });
10332
+ highcharts_SeriesRegistry_commonjs_highcharts_SeriesRegistry_commonjs2_highcharts_SeriesRegistry_root_Highcharts_SeriesRegistry_default().registerSeriesType('polygon', PolygonSeries);
10333
+ /* *
10071
10334
  *
10072
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
10073
- * Rounded columns
10074
- * @sample highcharts/plotoptions/series-border-radius
10075
- * Column and pie with rounded border
10335
+ * Default Export
10076
10336
  *
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
10337
+ * */
10338
+ /* harmony default export */ const Polygon_PolygonSeries = ((/* unused pure expression or super */ null && (PolygonSeries)));
10121
10339
 
10122
10340
  // EXTERNAL MODULE: external {"amd":["highcharts/highcharts","Series"],"commonjs":["highcharts","Series"],"commonjs2":["highcharts","Series"],"root":["Highcharts","Series"]}
10123
10341
  var highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_ = __webpack_require__(820);
@@ -10345,7 +10563,7 @@ var RadialAxis;
10345
10563
  // one closestPointRange is added to the X axis to prevent the last
10346
10564
  // point from overlapping the first.
10347
10565
  this.autoConnect = (this.isCircular &&
10348
- typeof (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(this.userMax, this.options.max) === 'undefined' &&
10566
+ typeof (this.userMax ?? this.options.max) === 'undefined' &&
10349
10567
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.correctFloat)(this.endAngleRad - this.startAngleRad) ===
10350
10568
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.correctFloat)(2 * Math.PI));
10351
10569
  // This will lead to add an extra tick to xAxis in order to display
@@ -10473,7 +10691,7 @@ var RadialAxis;
10473
10691
  */
10474
10692
  function getLinePath(_lineWidth, radius, innerRadius) {
10475
10693
  const center = this.pane.center, chart = this.chart, left = this.left || 0, top = this.top || 0;
10476
- let end, path, r = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(radius, center[2] / 2 - this.offset);
10694
+ let end, path, r = (radius ?? center[2] / 2 - this.offset);
10477
10695
  innerRadius ?? (innerRadius = this.horiz ? 0 : this.center && -this.center[3] / 2);
10478
10696
  // In case when innerSize of pane is set, it must be included
10479
10697
  if (innerRadius && innerRadius > 0) {
@@ -10536,10 +10754,10 @@ var RadialAxis;
10536
10754
  return r;
10537
10755
  }
10538
10756
  return radius;
10539
- }, center = this.center, { endAngleRad, startAngleRad } = this, borderRadius = optionsToObject(options.borderRadius ??
10757
+ }, center = this.center, { endAngleRad, startAngleRad } = this, borderRadius = borderRadiusObject(options.borderRadius ??
10540
10758
  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
10759
  trueBands = this.options.plotBands || [], index = trueBands.indexOf(options);
10542
- 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;
10760
+ let start, end, angle, xOnPerimeter, open, path, outerRadius = (radiusToPixels(options.outerRadius) ?? fullRadius), innerRadius = radiusToPixels(options.innerRadius), thickness = radiusToPixels(options.thickness), brStart = true, brEnd = true;
10543
10761
  // Apply conditional border radius, only for ends of band stacks
10544
10762
  if (borderRadius.radius &&
10545
10763
  borderRadius.scope === 'stack' &&
@@ -10598,7 +10816,9 @@ var RadialAxis;
10598
10816
  // Math is for reversed yAxis (#3606)
10599
10817
  start: Math.min(start, end),
10600
10818
  end: Math.max(start, end),
10601
- innerR: (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(innerRadius, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(thickness) ? outerRadius - thickness : void 0, this.center[3] / 2),
10819
+ innerR: innerRadius ?? ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(thickness) ?
10820
+ outerRadius - thickness :
10821
+ this.center[3] / 2),
10602
10822
  open,
10603
10823
  borderRadius: borderRadius.radius,
10604
10824
  brStart,
@@ -10672,17 +10892,12 @@ var RadialAxis;
10672
10892
  // Concentric circles
10673
10893
  }
10674
10894
  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
- }
10895
+ // Pick the right values depending if it is grid line or crosshair.
10896
+ // Clamp is required in case when xAxis is non-circular to prevent
10897
+ // grid lines (or crosshairs, if enabled) from rendering above the
10898
+ // center after they supposed to be displayed below the center
10899
+ // point.
10900
+ let transValue = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.clamp)(this.translate(value), 0, height);
10686
10901
  if (this.options.gridLineInterpolation === 'circle') {
10687
10902
  // A value of 0 is in the center, so it won't be
10688
10903
  // visible, but draw it anyway for update and animation
@@ -10733,13 +10948,16 @@ var RadialAxis;
10733
10948
  */
10734
10949
  function getPosition(value, length) {
10735
10950
  const translatedVal = this.translate(value);
10951
+ const centerRadius = ((this.center && this.center[2]) || 0) / 2;
10736
10952
  return this.postTranslate(this.isCircular ? translatedVal : this.angleRad, // #2848
10737
10953
  // In case when translatedVal is negative, the 0 value must be
10738
10954
  // used instead, in order to deal with lines and labels that
10739
10955
  // fall out of the visible range near the center of a pane
10740
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(this.isCircular ?
10741
- length :
10742
- (translatedVal < 0 ? 0 : translatedVal), this.center[2] / 2) - this.offset);
10956
+ (this.isCircular ?
10957
+ (length ?? centerRadius) :
10958
+ (typeof translatedVal === 'number' && translatedVal < 0 ?
10959
+ 0 :
10960
+ translatedVal ?? centerRadius)) - this.offset);
10743
10961
  }
10744
10962
  /**
10745
10963
  * Find the position for the axis title, by default inside the gauge.
@@ -10806,7 +11024,8 @@ var RadialAxis;
10806
11024
  // Start and end angle options are given in degrees relative to
10807
11025
  // top, while internal computations are in radians relative to
10808
11026
  // right (like SVG).
10809
- start = (startAngle - 90) * Math.PI / 180, end = ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(paneOptions.endAngle, startAngle + (chart.angular ? 270 : 360)) - 90) * Math.PI / 180;
11027
+ start = (startAngle - 90) * Math.PI / 180, end = ((paneOptions.endAngle ??
11028
+ startAngle + (chart.angular ? 270 : 360)) - 90) * Math.PI / 180;
10810
11029
  // Y axis in polar charts
10811
11030
  this.angleRad = (options.angle || 0) * Math.PI / 180;
10812
11031
  // Gauges
@@ -11246,7 +11465,6 @@ var RadialAxis;
11246
11465
  * */
11247
11466
 
11248
11467
 
11249
- const { animObject: PolarComposition_animObject } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
11250
11468
 
11251
11469
 
11252
11470
  const { defaultOptions: PolarComposition_defaultOptions } = (highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default());
@@ -11573,7 +11791,7 @@ function onSeriesAfterColumnTranslate() {
11573
11791
  chart.polar &&
11574
11792
  chart.inverted) {
11575
11793
  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 : {});
11794
+ ?.borderRadius, { scope, where = 'end' } = borderRadiusObject(options.borderRadius, (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isObject)(seriesDefault) ? seriesDefault : {});
11577
11795
  for (const point of this.points) {
11578
11796
  const { shapeArgs } = point;
11579
11797
  if (point.shapeType === 'arc' && shapeArgs) {
@@ -11621,7 +11839,7 @@ function onSeriesAfterTranslate() {
11621
11839
  // Treat points below Y axis min as null (#10082)
11622
11840
  if (!chart.hasParallelCoordinates &&
11623
11841
  !series.yAxis.reversed) {
11624
- if ((0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(points[i].y, Number.MIN_VALUE) < yAxis.min ||
11842
+ if ((points[i].y ?? Number.MIN_VALUE) < yAxis.min ||
11625
11843
  points[i].x < xAxis.min ||
11626
11844
  points[i].x > xAxis.max) {
11627
11845
  // Destroy markers
@@ -11714,7 +11932,7 @@ function wrapChartGet(proceed, id) {
11714
11932
  * @private
11715
11933
  */
11716
11934
  function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alignTo, isNew) {
11717
- const chart = this.chart, inside = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.inside, !!this.options.stacking);
11935
+ const chart = this.chart, inside = (options.inside ?? !!this.options.stacking);
11718
11936
  let angle, shapeArgs, labelPos;
11719
11937
  if (chart.polar) {
11720
11938
  angle = point.rectPlotX / Math.PI * 180;
@@ -11751,9 +11969,9 @@ function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alig
11751
11969
  y: point.tooltipPos[1]
11752
11970
  });
11753
11971
  }
11754
- options.align = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.align, 'center');
11972
+ options.align = (options.align ?? 'center');
11755
11973
  options.verticalAlign =
11756
- (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.verticalAlign, 'middle');
11974
+ (options.verticalAlign ?? 'middle');
11757
11975
  }
11758
11976
  highcharts_Series_commonjs_highcharts_Series_commonjs2_highcharts_Series_root_Highcharts_Series_default().prototype.alignDataLabel.call(this, point, dataLabel, options, alignTo, isNew);
11759
11977
  // Hide label of a point (only inverted) that is outside the
@@ -11775,7 +11993,7 @@ function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alig
11775
11993
  * @private
11776
11994
  */
11777
11995
  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;
11996
+ const series = this, { chart, options, xAxis, yAxis } = series, stacking = options.stacking, { center, reversed } = yAxis, { endAngleRad, startAngleRad } = xAxis, visibleRange = endAngleRad - startAngleRad;
11779
11997
  let threshold = options.threshold, thresholdAngleRad = 0, points, point, i, yMin, yMax, start = 0, end = 0, tooltipPos, pointX, pointY, stackValues, stack, barX, innerR, r;
11780
11998
  // Postprocess plot coordinates
11781
11999
  if (xAxis.isRadial) {
@@ -11873,8 +12091,7 @@ function onAfterColumnTranslate() {
11873
12091
  innerR = Math.max(barX, 0);
11874
12092
  r = Math.max(barX + (point.pointWidth || 0), 0);
11875
12093
  // 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);
12094
+ const brOption = borderRadiusObject(options.borderRadius), borderRadius = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.relativeLength)(brOption.radius, r - innerR);
11878
12095
  point.shapeArgs = {
11879
12096
  x: center[0],
11880
12097
  y: center[1],
@@ -12032,12 +12249,13 @@ function wrapSeriesAnimate(proceed, init) {
12032
12249
  if (series.isRadialBar) {
12033
12250
  if (!init) {
12034
12251
  // Run the pie animation for radial bars
12035
- series.startAngleRad = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(series.translatedThreshold, series.xAxis.startAngleRad);
12252
+ series.startAngleRad =
12253
+ series.translatedThreshold ?? series.xAxis.startAngleRad;
12036
12254
  highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_default().seriesTypes.pie.prototype.animate.call(series, init);
12037
12255
  }
12038
12256
  }
12039
12257
  else {
12040
- animation = PolarComposition_animObject(animation);
12258
+ animation = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.animObject)(animation);
12041
12259
  // A different animation needed for column like series
12042
12260
  if (series.is('column')) {
12043
12261
  if (!init) {
@@ -12227,7 +12445,7 @@ class PolarAdditions {
12227
12445
  * */
12228
12446
  arc(low, high, start, end) {
12229
12447
  const series = this.series, center = series.xAxis.center, len = series.yAxis.len, paneInnerR = center[3] / 2;
12230
- let r = len - high + paneInnerR, innerR = len - (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(low, len) + paneInnerR;
12448
+ let r = len - high + paneInnerR, innerR = len - (low ?? len) + paneInnerR;
12231
12449
  // Prevent columns from shooting through the pane's center
12232
12450
  if (series.yAxis.reversed) {
12233
12451
  if (r < 0) {
@@ -12816,7 +13034,7 @@ class WaterfallSeries extends WaterfallSeries_ColumnSeries {
12816
13034
  pointAttribs(point, state) {
12817
13035
  const upColor = this.options.upColor;
12818
13036
  // 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)) {
13037
+ if (upColor && point && !point.options.color && (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.isNumber)(point.y)) {
12820
13038
  point.color = point.y > 0 ? upColor : void 0;
12821
13039
  }
12822
13040
  const attr = WaterfallSeries_ColumnSeries.prototype.pointAttribs.call(this, point, state);
@@ -13055,7 +13273,7 @@ WaterfallSeries.compose = Axis_WaterfallAxis.compose;
13055
13273
  });
13056
13274
  // Translate data points from raw values
13057
13275
  (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.addEvent)(WaterfallSeries, 'afterColumnTranslate', function () {
13058
- const series = this, { options, points, yAxis } = series, minPointLength = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.pick)(options.minPointLength, 5), halfMinPointLength = minPointLength / 2, threshold = options.threshold || 0, stacking = options.stacking, actualStack = yAxis.waterfall?.stacks[series.stackKey], processedYData = series.getColumn('y', true);
13276
+ const series = this, { options, points, yAxis } = series, minPointLength = (options.minPointLength ?? 5), halfMinPointLength = minPointLength / 2, threshold = options.threshold || 0, stacking = options.stacking, actualStack = yAxis.waterfall?.stacks[series.stackKey], processedYData = series.getColumn('y', true);
13059
13277
  let previousIntermediate = threshold, previousY = threshold, y, total, hPos;
13060
13278
  for (let i = 0; i < points.length; i++) {
13061
13279
  const point = points[i], yValue = processedYData[i], shapeArgs = point.shapeArgs, box = (0,highcharts_commonjs_highcharts_commonjs2_highcharts_root_Highcharts_.extend)({