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
  *
@@ -11,14 +11,14 @@
11
11
  */
12
12
  import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__ from "./highcharts.src.js";
13
13
  /******/ // The require scope
14
- /******/ var __webpack_require__ = {};
14
+ /******/ const __webpack_require__ = {};
15
15
  /******/
16
16
  /************************************************************************/
17
17
  /******/ /* webpack/runtime/compat get default export */
18
18
  /******/ (() => {
19
19
  /******/ // getDefaultExport function for compatibility with non-harmony modules
20
20
  /******/ __webpack_require__.n = (module) => {
21
- /******/ var getter = module && module.__esModule ?
21
+ /******/ const getter = module && module.__esModule ?
22
22
  /******/ () => (module['default']) :
23
23
  /******/ () => (module);
24
24
  /******/ __webpack_require__.d(getter, { a: getter });
@@ -28,11 +28,26 @@ import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__ from "./high
28
28
  /******/
29
29
  /******/ /* webpack/runtime/define property getters */
30
30
  /******/ (() => {
31
- /******/ // define getter functions for harmony exports
31
+ /******/ // define getter/value functions for harmony exports
32
32
  /******/ __webpack_require__.d = (exports, definition) => {
33
- /******/ for(var key in definition) {
34
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
35
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
33
+ /******/ if(Array.isArray(definition)) {
34
+ /******/ var i = 0;
35
+ /******/ while(i < definition.length) {
36
+ /******/ var key = definition[i++];
37
+ /******/ var binding = definition[i++];
38
+ /******/ if(!__webpack_require__.o(exports, key)) {
39
+ /******/ if(binding === 0) {
40
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
41
+ /******/ } else {
42
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
43
+ /******/ }
44
+ /******/ } else if(binding === 0) { i++; }
45
+ /******/ }
46
+ /******/ } else {
47
+ /******/ for(var key in definition) {
48
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
49
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
50
+ /******/ }
36
51
  /******/ }
37
52
  /******/ }
38
53
  /******/ };
@@ -44,7 +59,6 @@ import * as __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__ from "./high
44
59
  /******/ })();
45
60
  /******/
46
61
  /************************************************************************/
47
- var __webpack_exports__ = {};
48
62
 
49
63
  ;// external ["./highcharts.src.js","default"]
50
64
  const external_highcharts_src_js_default_namespaceObject = __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__["default"];
@@ -69,7 +83,7 @@ var external_highcharts_src_js_default_SeriesRegistry_default = /*#__PURE__*/__w
69
83
  const { deg2rad } = (external_highcharts_src_js_default_default());
70
84
 
71
85
  /**
72
- * @private
86
+ * @internal
73
87
  */
74
88
  var CenteredUtilities;
75
89
  (function (CenteredUtilities) {
@@ -87,7 +101,7 @@ var CenteredUtilities;
87
101
  * Get the center of the pie based on the size and center options relative
88
102
  * to the plot area. Borrowed by the polar and gauge series types.
89
103
  *
90
- * @private
104
+ * @internal
91
105
  * @function Highcharts.CenteredSeriesMixin.getCenter
92
106
  */
93
107
  function getCenter() {
@@ -100,11 +114,13 @@ var CenteredUtilities;
100
114
  innerSize = parseFloat(innerSize);
101
115
  }
102
116
  const positions = [
103
- (0,external_highcharts_src_js_default_namespaceObject.pick)(centerOption?.[0], '50%'),
104
- (0,external_highcharts_src_js_default_namespaceObject.pick)(centerOption?.[1], '50%'),
117
+ (centerOption?.[0] ?? '50%'),
118
+ (centerOption?.[1] ?? '50%'),
105
119
  // Prevent from negative values
106
- (0,external_highcharts_src_js_default_namespaceObject.pick)(size && size < 0 ? void 0 : options.size, '100%'),
107
- (0,external_highcharts_src_js_default_namespaceObject.pick)(innerSize && innerSize < 0 ? void 0 : options.innerSize || 0, '0%')
120
+ ((size && size < 0 ? void 0 : options.size) ?? '100%'),
121
+ ((innerSize && innerSize < 0 ?
122
+ void 0 :
123
+ options.innerSize || 0) ?? '0%')
108
124
  ];
109
125
  for (i = 0; i < 4; ++i) {
110
126
  value = positions[i];
@@ -132,7 +148,7 @@ var CenteredUtilities;
132
148
  * GetStartAndEndRadians - Calculates start and end angles in radians.
133
149
  * Used in series types such as pie and sunburst.
134
150
  *
135
- * @private
151
+ * @internal
136
152
  * @function Highcharts.CenteredSeriesMixin.getStartAndEndRadians
137
153
  *
138
154
  * @param {number} [start]
@@ -164,6 +180,7 @@ var CenteredUtilities;
164
180
  * Default Export
165
181
  *
166
182
  * */
183
+ /** @internal */
167
184
  /* harmony default export */ const Series_CenteredUtilities = (CenteredUtilities);
168
185
  /* *
169
186
  *
@@ -171,7 +188,7 @@ var CenteredUtilities;
171
188
  *
172
189
  * */
173
190
  /**
174
- * @private
191
+ * @internal
175
192
  * @interface Highcharts.RadianAngles
176
193
  */ /**
177
194
  * @name Highcharts.RadianAngles#end
@@ -304,7 +321,7 @@ function onPointerBeforeGetHoverData(eventArgs) {
304
321
  eventArgs.filter = function (s) {
305
322
  return (s.visible &&
306
323
  !(!eventArgs.shared && s.directTouch) && // #3821
307
- (0,external_highcharts_src_js_default_namespaceObject.pick)(s.options.enableMouseTracking, true) &&
324
+ (s.options.enableMouseTracking ?? true) &&
308
325
  (!chart.hoverPane || s.xAxis.pane === chart.hoverPane));
309
326
  };
310
327
  }
@@ -353,7 +370,7 @@ const { defaultOptions } = (external_highcharts_src_js_default_default());
353
370
  * @sample {highcharts} highcharts/series-solidgauge/pane-borderradius
354
371
  * Solid gauge with background settings
355
372
  *
356
- * @type {*|Array<*>}
373
+ * @type {null|*|Array<*>}
357
374
  * @requires highcharts-more
358
375
  * @optionparent pane.background
359
376
  */
@@ -1037,6 +1054,139 @@ class AreaRangePoint extends AreaPoint {
1037
1054
  */
1038
1055
  ''; // Keeps doclets above in JS file.
1039
1056
 
1057
+ ;// external ["./highcharts.src.js","default","Series","types","column"]
1058
+ const external_highcharts_src_js_default_Series_types_column_namespaceObject = __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__["default"].Series.types.column;
1059
+ var external_highcharts_src_js_default_Series_types_column_default = /*#__PURE__*/__webpack_require__.n(external_highcharts_src_js_default_Series_types_column_namespaceObject);
1060
+ ;// ./code/es-modules/Series/RangeDataLabel.js
1061
+ /* *
1062
+ *
1063
+ * (c) 2010-2026 Highsoft AS
1064
+ * Author: Andrzej Buleczka
1065
+ *
1066
+ * */
1067
+
1068
+
1069
+
1070
+ /* *
1071
+ *
1072
+ * Declarations
1073
+ *
1074
+ * */
1075
+ var RangeDataLabel;
1076
+ (function (RangeDataLabel) {
1077
+ const plotYKeys = {
1078
+ close: ['plotClose'],
1079
+ high: ['highPlot', 'plotHigh'],
1080
+ low: ['lowPlot', 'plotLow'],
1081
+ median: ['medianPlot'],
1082
+ open: ['plotOpen'],
1083
+ q1: ['q1Plot'],
1084
+ q3: ['q3Plot'],
1085
+ y: ['plotY']
1086
+ };
1087
+ /* *
1088
+ *
1089
+ * Functions
1090
+ *
1091
+ * */
1092
+ function getPointPlotY(point, pointValKey) {
1093
+ const keys = plotYKeys[pointValKey] ?? [];
1094
+ for (const key of keys) {
1095
+ const value = point[key];
1096
+ if ((0,external_highcharts_src_js_default_namespaceObject.isNumber)(value)) {
1097
+ return value;
1098
+ }
1099
+ }
1100
+ }
1101
+ function getBelow(point, options, plotY) {
1102
+ const plotHigh = getPointPlotY(point, 'high'), plotLow = getPointPlotY(point, 'low');
1103
+ if ((0,external_highcharts_src_js_default_namespaceObject.isNumber)(plotHigh) && (0,external_highcharts_src_js_default_namespaceObject.isNumber)(plotLow)) {
1104
+ return options.inside ?
1105
+ plotY === Math.min(plotHigh, plotLow) :
1106
+ plotY === Math.max(plotHigh, plotLow);
1107
+ }
1108
+ return false;
1109
+ }
1110
+ function compose(SeriesClass) {
1111
+ const seriesProto = SeriesClass.prototype;
1112
+ seriesProto.alignDataLabel = alignDataLabel;
1113
+ return SeriesClass;
1114
+ }
1115
+ RangeDataLabel.compose = compose;
1116
+ /**
1117
+ * Default formatter for range series data labels. Renders the value of
1118
+ * the point key the label is aligned to, so the legacy high and low
1119
+ * labels keep showing their respective values without an explicit format.
1120
+ * Does not modify `point.y`. Falls back to `point.y` (the value of
1121
+ * `series.pointValKey`) for an unresolved key.
1122
+ * @internal
1123
+ */
1124
+ function formatter(options) {
1125
+ const rawValue = options.alignToKey ?
1126
+ this.getNestedProperty(options.alignToKey) :
1127
+ this.y, value = (0,external_highcharts_src_js_default_namespaceObject.isNumber)(rawValue) ? rawValue : this.y;
1128
+ return (0,external_highcharts_src_js_default_namespaceObject.isNumber)(value) ?
1129
+ this.series.chart.numberFormatter(value, -1) :
1130
+ '';
1131
+ }
1132
+ RangeDataLabel.formatter = formatter;
1133
+ /**
1134
+ * Rewrite a label's `format` so that `{y}` and `{point.y}` references
1135
+ * resolve to the value of the point key the label is aligned to, keeping
1136
+ * the legacy per-label `{y}` behavior of range data labels.
1137
+ * @internal
1138
+ */
1139
+ function applyAlignToKeyValue(options) {
1140
+ const { alignToKey, format } = options;
1141
+ // An explicit `format` ignores `alignToKey`, so its `{y}` (and
1142
+ // `{point.y}`) tokens point at the whole point. Rewrite them to the
1143
+ // aligned key so each range label keeps rendering its own value.
1144
+ // The default formatter already reads `alignToKey`.
1145
+ if (alignToKey && format) {
1146
+ options.format = format.replace(/\{(?:point\.)?y([:}])/g, '{point.' + alignToKey + '$1');
1147
+ }
1148
+ }
1149
+ RangeDataLabel.applyAlignToKeyValue = applyAlignToKeyValue;
1150
+ function resolveAlignToKey(series, rawKey) {
1151
+ return rawKey && series.pointArrayMap.indexOf(rawKey) > -1 ?
1152
+ rawKey :
1153
+ series.pointValKey;
1154
+ }
1155
+ RangeDataLabel.resolveAlignToKey = resolveAlignToKey;
1156
+ function alignDataLabel(point, dataLabel, options, alignTo, isNew) {
1157
+ const series = this, alignToKey = resolveAlignToKey(series, options.alignToKey), plotY = getPointPlotY(point, alignToKey), shapeArgs = point.shapeArgs, originalPlotY = point.plotY, originalDlBox = point.dlBox, originalBelow = point.below;
1158
+ if ((0,external_highcharts_src_js_default_namespaceObject.isNumber)(plotY)) {
1159
+ point.plotY = plotY;
1160
+ if (shapeArgs && !options.inside) {
1161
+ point.dlBox = {
1162
+ x: shapeArgs.x ?? 0,
1163
+ y: (0,external_highcharts_src_js_default_namespaceObject.crisp)(plotY, series.borderWidth, series.chart.inverted),
1164
+ width: shapeArgs.width ?? 0,
1165
+ height: 0
1166
+ };
1167
+ }
1168
+ const below = point.below = getBelow(point, options, plotY);
1169
+ if (series.chart.inverted) {
1170
+ options.align ?? (options.align = below ? 'right' : 'left');
1171
+ }
1172
+ else {
1173
+ options.verticalAlign ?? (options.verticalAlign = below ? 'top' : 'bottom');
1174
+ }
1175
+ }
1176
+ external_highcharts_src_js_default_Series_types_column_default().prototype.alignDataLabel.call(series, point, dataLabel, options, alignTo, isNew);
1177
+ point.plotY = originalPlotY;
1178
+ point.dlBox = originalDlBox;
1179
+ point.below = originalBelow;
1180
+ }
1181
+ RangeDataLabel.alignDataLabel = alignDataLabel;
1182
+ })(RangeDataLabel || (RangeDataLabel = {}));
1183
+ /* *
1184
+ *
1185
+ * Default Export
1186
+ *
1187
+ * */
1188
+ /* harmony default export */ const Series_RangeDataLabel = (RangeDataLabel);
1189
+
1040
1190
  ;// ./code/es-modules/Series/AreaRange/AreaRangeSeries.js
1041
1191
  /* *
1042
1192
  *
@@ -1054,7 +1204,8 @@ class AreaRangePoint extends AreaPoint {
1054
1204
 
1055
1205
  const { noop } = (external_highcharts_src_js_default_default());
1056
1206
 
1057
- const { area: AreaSeries, area: { prototype: AreaRangeSeries_areaProto }, column: { prototype: columnProto } } = (external_highcharts_src_js_default_SeriesRegistry_default()).seriesTypes;
1207
+
1208
+ const { area: AreaSeries, area: { prototype: AreaRangeSeries_areaProto } } = (external_highcharts_src_js_default_SeriesRegistry_default()).seriesTypes;
1058
1209
 
1059
1210
  /* *
1060
1211
  *
@@ -1139,12 +1290,10 @@ const areaRangeSeriesOptions = {
1139
1290
  trackByArea: true,
1140
1291
  /**
1141
1292
  * Extended data labels for range series types. Range series data
1142
- * labels use no `x` and `y` options. Instead, they have `xLow`,
1143
- * `xHigh`, `yLow` and `yHigh` options to allow the higher and lower
1144
- * data label sets individually.
1293
+ * labels can be positioned individually by defining them as an array
1294
+ * and setting `alignToKey` to `high` or `low`.
1145
1295
  *
1146
1296
  * @declare Highcharts.SeriesAreaRangeDataLabelsOptionsObject
1147
- * @exclude x, y
1148
1297
  * @since 2.3.0
1149
1298
  * @product highcharts highstock
1150
1299
  *
@@ -1152,39 +1301,103 @@ const areaRangeSeriesOptions = {
1152
1301
  */
1153
1302
  dataLabels: {
1154
1303
  align: void 0,
1304
+ formatter: Series_RangeDataLabel.formatter,
1155
1305
  verticalAlign: void 0,
1156
1306
  /**
1157
1307
  * X offset of the lower data labels relative to the point value.
1158
1308
  *
1309
+ * Deprecated. Use a data labels array with `alignToKey: 'low'` and
1310
+ * the regular `x` option instead.
1311
+ *
1159
1312
  * @sample highcharts/plotoptions/arearange-datalabels/
1160
1313
  * Data labels on range series
1161
1314
  * @sample highcharts/plotoptions/arearange-datalabels/
1162
1315
  * Data labels on range series
1316
+ * @deprecated 13.0.1
1163
1317
  */
1164
1318
  xLow: 0,
1165
1319
  /**
1166
1320
  * X offset of the higher data labels relative to the point value.
1167
1321
  *
1322
+ * Deprecated. Use a data labels array with `alignToKey: 'high'` and
1323
+ * the regular `x` option instead.
1324
+ *
1168
1325
  * @sample highcharts/plotoptions/arearange-datalabels/
1169
1326
  * Data labels on range series
1327
+ * @deprecated 13.0.1
1170
1328
  */
1171
1329
  xHigh: 0,
1172
1330
  /**
1173
1331
  * Y offset of the lower data labels relative to the point value.
1174
1332
  *
1333
+ * Deprecated. Use a data labels array with `alignToKey: 'low'` and
1334
+ * the regular `y` option instead.
1335
+ *
1175
1336
  * @sample highcharts/plotoptions/arearange-datalabels/
1176
1337
  * Data labels on range series
1338
+ * @deprecated 13.0.1
1177
1339
  */
1178
1340
  yLow: 0,
1179
1341
  /**
1180
1342
  * Y offset of the higher data labels relative to the point value.
1181
1343
  *
1344
+ * Deprecated. Use a data labels array with `alignToKey: 'high'` and
1345
+ * the regular `y` option instead.
1346
+ *
1182
1347
  * @sample highcharts/plotoptions/arearange-datalabels/
1183
1348
  * Data labels on range series
1349
+ * @deprecated 13.0.1
1184
1350
  */
1185
1351
  yHigh: 0
1186
1352
  }
1187
1353
  };
1354
+ /* *
1355
+ *
1356
+ * Functions
1357
+ *
1358
+ * */
1359
+ /**
1360
+ * Normalize the dataLabels config into a per-label array. Resolves the
1361
+ * `alignToKey` default (`high` for the first label, `low` for the second) and
1362
+ * maps the deprecated `xLow/xHigh/yLow/yHigh` offsets onto each label's `x/y`.
1363
+ * @internal
1364
+ */
1365
+ function getRangeDataLabelOptions(series) {
1366
+ const dataLabels = series.options.dataLabels;
1367
+ if ((0,external_highcharts_src_js_default_namespaceObject.isArray)(dataLabels)) {
1368
+ return Array.from({
1369
+ length: Math.max(dataLabels.length, 2)
1370
+ }, (_, index) => {
1371
+ const options = dataLabels[index], defaultAlignToKey = index === 0 ? 'high' :
1372
+ index === 1 ? 'low' :
1373
+ series.pointValKey, alignToKey = options?.alignToKey ?? defaultAlignToKey;
1374
+ return (0,external_highcharts_src_js_default_namespaceObject.merge)(options ?? { enabled: false }, { alignToKey });
1375
+ });
1376
+ }
1377
+ if (dataLabels?.alignToKey) {
1378
+ return [
1379
+ (0,external_highcharts_src_js_default_namespaceObject.merge)(dataLabels, dataLabels.alignToKey === 'high' ? {
1380
+ x: dataLabels.xHigh,
1381
+ y: dataLabels.yHigh
1382
+ } : dataLabels.alignToKey === 'low' ? {
1383
+ x: dataLabels.xLow,
1384
+ y: dataLabels.yLow
1385
+ } : {})
1386
+ ];
1387
+ }
1388
+ return [
1389
+ (0,external_highcharts_src_js_default_namespaceObject.merge)(dataLabels, {
1390
+ alignToKey: 'high',
1391
+ x: dataLabels?.xHigh,
1392
+ y: dataLabels?.yHigh
1393
+ }),
1394
+ (0,external_highcharts_src_js_default_namespaceObject.merge)(dataLabels, {
1395
+ alignToKey: 'low',
1396
+ x: dataLabels?.xLow,
1397
+ y: dataLabels?.yLow
1398
+ })
1399
+ ];
1400
+ }
1188
1401
  /* *
1189
1402
  *
1190
1403
  * Class
@@ -1258,7 +1471,7 @@ class AreaRangeSeries extends AreaSeries {
1258
1471
  rectPlotX: point.rectPlotX,
1259
1472
  yBottom: point.yBottom,
1260
1473
  // `plotHighX` is for polar charts
1261
- plotX: (0,external_highcharts_src_js_default_namespaceObject.pick)(point.plotHighX, point.plotX),
1474
+ plotX: point.plotHighX ?? point.plotX,
1262
1475
  plotY: point.plotHigh,
1263
1476
  isNull: point.isNull
1264
1477
  };
@@ -1308,151 +1521,27 @@ class AreaRangeSeries extends AreaSeries {
1308
1521
  this.areaPath.xMap = lowerPath.xMap;
1309
1522
  return linePath;
1310
1523
  }
1311
- /**
1312
- * Extend the basic drawDataLabels method by running it for both lower and
1313
- * higher values.
1314
- * @internal
1315
- */
1316
1524
  drawDataLabels() {
1317
- const data = this.points, length = data.length, originalDataLabels = [], dataLabelOptions = this.options.dataLabels, inverted = this.chart.inverted;
1318
- let i, point, up, upperDataLabelOptions, lowerDataLabelOptions;
1525
+ const series = this, dataLabelOptions = series.options.dataLabels;
1319
1526
  if (dataLabelOptions) {
1320
- // Split into upper and lower options. If data labels is an array,
1321
- // the first element is the upper label, the second is the lower.
1322
- //
1323
- // TODO: We want to change this and allow multiple labels for both
1324
- // upper and lower values in the future - introducing some options
1325
- // for which point value to use as Y for the dataLabel, so that this
1326
- // could be handled in Series.drawDataLabels. This would also
1327
- // improve performance since we now have to loop over all the points
1328
- // multiple times to work around the data label logic.
1329
- if ((0,external_highcharts_src_js_default_namespaceObject.isArray)(dataLabelOptions)) {
1330
- upperDataLabelOptions = dataLabelOptions[0] || {
1331
- enabled: false
1332
- };
1333
- lowerDataLabelOptions = dataLabelOptions[1] || {
1334
- enabled: false
1335
- };
1336
- }
1337
- else {
1338
- // Make copies
1339
- upperDataLabelOptions = (0,external_highcharts_src_js_default_namespaceObject.extend)({}, dataLabelOptions);
1340
- upperDataLabelOptions.x = dataLabelOptions.xHigh;
1341
- upperDataLabelOptions.y = dataLabelOptions.yHigh;
1342
- lowerDataLabelOptions = (0,external_highcharts_src_js_default_namespaceObject.extend)({}, dataLabelOptions);
1343
- lowerDataLabelOptions.x = dataLabelOptions.xLow;
1344
- lowerDataLabelOptions.y = dataLabelOptions.yLow;
1345
- }
1346
- // Draw upper labels
1347
- if (upperDataLabelOptions.enabled || this.hasDataLabels?.()) {
1348
- // Set preliminary values for plotY and dataLabel
1349
- // and draw the upper labels
1350
- i = length;
1351
- while (i--) {
1352
- point = data[i];
1353
- if (point) {
1354
- const { plotHigh = 0, plotLow = 0 } = point;
1355
- up = upperDataLabelOptions.inside ?
1356
- plotHigh < plotLow :
1357
- plotHigh > plotLow;
1358
- point.y = point.high;
1359
- point._plotY = point.plotY;
1360
- point.plotY = plotHigh;
1361
- // Store original data labels and set preliminary label
1362
- // objects to be picked up in the uber method
1363
- originalDataLabels[i] = point.dataLabel;
1364
- point.dataLabel = point.dataLabelUpper;
1365
- // Set the default offset
1366
- point.below = up;
1367
- if (inverted) {
1368
- if (!upperDataLabelOptions.align) {
1369
- upperDataLabelOptions.align = up ?
1370
- 'right' : 'left';
1371
- }
1372
- }
1373
- else {
1374
- if (!upperDataLabelOptions.verticalAlign) {
1375
- upperDataLabelOptions.verticalAlign = up ?
1376
- 'top' :
1377
- 'bottom';
1378
- }
1379
- }
1380
- }
1381
- }
1382
- this.options.dataLabels = upperDataLabelOptions;
1383
- if (AreaRangeSeries_areaProto.drawDataLabels) {
1384
- // #1209:
1385
- AreaRangeSeries_areaProto.drawDataLabels.apply(this, arguments);
1386
- }
1387
- // Reset state after the upper labels were created. Move
1388
- // it to point.dataLabelUpper and reassign the originals.
1389
- // We do this here to support not drawing a lower label.
1390
- i = length;
1391
- while (i--) {
1392
- point = data[i];
1393
- if (point) {
1394
- point.dataLabelUpper = point.dataLabel;
1395
- point.dataLabel = originalDataLabels[i];
1396
- delete point.dataLabels;
1397
- point.y = point.low;
1398
- point.plotY = point._plotY;
1399
- }
1400
- }
1401
- }
1402
- // Draw lower labels
1403
- if (lowerDataLabelOptions.enabled || this.hasDataLabels?.()) {
1404
- i = length;
1405
- while (i--) {
1406
- point = data[i];
1407
- if (point) {
1408
- const { plotHigh = 0, plotLow = 0 } = point;
1409
- up = lowerDataLabelOptions.inside ?
1410
- plotHigh < plotLow :
1411
- plotHigh > plotLow;
1412
- // Set the default offset
1413
- point.below = !up;
1414
- if (inverted) {
1415
- if (!lowerDataLabelOptions.align) {
1416
- lowerDataLabelOptions.align = up ?
1417
- 'left' : 'right';
1418
- }
1419
- }
1420
- else {
1421
- if (!lowerDataLabelOptions.verticalAlign) {
1422
- lowerDataLabelOptions.verticalAlign = up ?
1423
- 'bottom' :
1424
- 'top';
1425
- }
1426
- }
1427
- }
1428
- }
1429
- this.options.dataLabels = lowerDataLabelOptions;
1430
- if (AreaRangeSeries_areaProto.drawDataLabels) {
1431
- AreaRangeSeries_areaProto.drawDataLabels.apply(this, arguments);
1432
- }
1433
- }
1434
- // Merge upper and lower into point.dataLabels for later destroying
1435
- if (upperDataLabelOptions.enabled) {
1436
- i = length;
1437
- while (i--) {
1438
- point = data[i];
1439
- if (point) {
1440
- point.dataLabels = [
1441
- point.dataLabelUpper,
1442
- point.dataLabel
1443
- ].filter(function (label) {
1444
- return !!label;
1445
- });
1446
- }
1447
- }
1527
+ const rangeOptions = getRangeDataLabelOptions(series);
1528
+ // Resolve value references like `{y}` against the aligned key
1529
+ rangeOptions.forEach(Series_RangeDataLabel.applyAlignToKeyValue);
1530
+ series.options.dataLabels = rangeOptions;
1531
+ if (AreaRangeSeries_areaProto.drawDataLabels) {
1532
+ // #1209
1533
+ AreaRangeSeries_areaProto.drawDataLabels.call(series);
1534
+ }
1535
+ series.options.dataLabels = dataLabelOptions;
1536
+ for (const point of series.points) {
1537
+ const labels = point.dataLabels ?? [];
1538
+ point.dataLabelUpper = labels.find((label) => (Series_RangeDataLabel.resolveAlignToKey(series, label.options
1539
+ ?.alignToKey) === 'high'));
1540
+ point.dataLabel = labels.find((label) => (Series_RangeDataLabel.resolveAlignToKey(series, label.options
1541
+ ?.alignToKey) === 'low'));
1448
1542
  }
1449
- // Reset options
1450
- this.options.dataLabels = dataLabelOptions;
1451
1543
  }
1452
1544
  }
1453
- alignDataLabel() {
1454
- columnProto.alignDataLabel.apply(this, arguments);
1455
- }
1456
1545
  modifyMarkerSettings() {
1457
1546
  const series = this, originalMarkerSettings = {
1458
1547
  marker: series.options.marker,
@@ -1503,7 +1592,7 @@ class AreaRangeSeries extends AreaSeries {
1503
1592
  if ((0,external_highcharts_src_js_default_namespaceObject.defined)(point.plotHighX)) {
1504
1593
  point.plotX = point.plotHighX;
1505
1594
  }
1506
- point.y = (0,external_highcharts_src_js_default_namespaceObject.pick)(point.high, point.origProps.y); // #15523
1595
+ point.y = point.high ?? point.origProps.y; // #15523
1507
1596
  point.negative = point.y < (series.options.threshold || 0);
1508
1597
  if (series.zones.length) {
1509
1598
  point.zone = point.getZone();
@@ -1601,6 +1690,7 @@ AreaRangeSeries.defaultOptions = (0,external_highcharts_src_js_default_namespace
1601
1690
  pointValKey: 'low',
1602
1691
  setStackedPoints: noop
1603
1692
  });
1693
+ Series_RangeDataLabel.compose(AreaRangeSeries);
1604
1694
  external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('arearange', AreaRangeSeries);
1605
1695
  /* *
1606
1696
  *
@@ -1785,10 +1875,15 @@ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('
1785
1875
  */
1786
1876
  ''; // Adds doclets above to transpiled file
1787
1877
 
1788
- ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js
1878
+ ;// ./code/es-modules/Extensions/BorderRadius.js
1879
+ /* unused harmony import specifier */ var relativeLength;
1880
+ /* unused harmony import specifier */ var isObject;
1881
+ /* unused harmony import specifier */ var extend;
1882
+ /* unused harmony import specifier */ var addEvent;
1789
1883
  /* *
1790
1884
  *
1791
- * (c) 2010-2026 Highsoft AS
1885
+ * Highcharts Border Radius module
1886
+ *
1792
1887
  * Author: Torstein Hønsi
1793
1888
  *
1794
1889
  * Integration of this software requires a license.
@@ -1798,44 +1893,448 @@ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('
1798
1893
  *
1799
1894
  * */
1800
1895
 
1896
+
1897
+ const { defaultOptions: BorderRadius_defaultOptions } = (external_highcharts_src_js_default_default());
1898
+
1899
+ const { noop: BorderRadius_noop } = (external_highcharts_src_js_default_default());
1900
+
1801
1901
  /* *
1802
1902
  *
1803
- * API Options
1903
+ * Constants
1804
1904
  *
1805
1905
  * */
1806
- /**
1807
- * A box plot is a convenient way of depicting groups of data through their
1808
- * five-number summaries: the smallest observation (sample minimum), lower
1809
- * quartile (Q1), median (Q2), upper quartile (Q3), and largest observation
1810
- * (sample maximum).
1906
+ const defaultBorderRadiusOptions = {
1907
+ radius: 0,
1908
+ scope: 'stack',
1909
+ where: void 0
1910
+ };
1911
+ /* *
1811
1912
  *
1812
- * @sample highcharts/demo/box-plot/
1813
- * Box plot
1814
- * @sample {highcharts} highcharts/css/boxplot/
1815
- * Box plot in styled mode
1816
- * @sample {highcharts} highcharts/series-scatter/jitter-boxplot
1817
- * Jittered scatter plot on top of a box plot
1913
+ * Variables
1818
1914
  *
1819
- * @extends plotOptions.column
1820
- * @excluding borderColor, borderRadius, borderWidth, groupZPadding,
1821
- * states, boostThreshold, boostBlending
1822
- * @product highcharts
1823
- * @requires highcharts-more
1824
- * @optionparent plotOptions.boxplot
1915
+ * */
1916
+ let oldArc = (/* unused pure expression or super */ null && (BorderRadius_noop));
1917
+ let oldRoundedRect = (/* unused pure expression or super */ null && (BorderRadius_noop));
1918
+ /* *
1919
+ *
1920
+ * Functions
1921
+ *
1922
+ * */
1923
+ /** @internal */
1924
+ function applyBorderRadius(path, i, r) {
1925
+ const a = path[i];
1926
+ let b = path[i + 1];
1927
+ if (b[0] === 'Z') {
1928
+ b = path[0];
1929
+ }
1930
+ let line, arc, fromLineToArc;
1931
+ // From straight line to arc
1932
+ if ((a[0] === 'M' || a[0] === 'L') && b[0] === 'A') {
1933
+ line = a;
1934
+ arc = b;
1935
+ fromLineToArc = true;
1936
+ // From arc to straight line
1937
+ }
1938
+ else if (a[0] === 'A' && (b[0] === 'M' || b[0] === 'L')) {
1939
+ line = b;
1940
+ arc = a;
1941
+ }
1942
+ if (line && arc && arc.params) {
1943
+ const bigR = arc[1],
1944
+ // In our use cases, outer pie slice arcs are clockwise and inner
1945
+ // arcs (donut/sunburst etc) are anti-clockwise
1946
+ clockwise = arc[5], params = arc.params, { start, end, cx, cy } = params;
1947
+ // Some geometric constants
1948
+ const relativeR = clockwise ? (bigR - r) : (bigR + r),
1949
+ // The angle, on the big arc, that the border radius arc takes up
1950
+ angleOfBorderRadius = relativeR ? Math.asin(r / relativeR) : 0, angleOffset = clockwise ?
1951
+ angleOfBorderRadius :
1952
+ -angleOfBorderRadius,
1953
+ // The distance along the radius of the big arc to the starting
1954
+ // point of the small border radius arc
1955
+ distanceBigCenterToStartArc = (Math.cos(angleOfBorderRadius) *
1956
+ relativeR);
1957
+ // From line to arc
1958
+ if (fromLineToArc) {
1959
+ // Update the cache
1960
+ params.start = start + angleOffset;
1961
+ // First move to the start position at the radial line. We want to
1962
+ // start one borderRadius closer to the center.
1963
+ line[1] = cx + distanceBigCenterToStartArc * Math.cos(start);
1964
+ line[2] = cy + distanceBigCenterToStartArc * Math.sin(start);
1965
+ // Now draw an arc towards the point where the small circle touches
1966
+ // the great circle.
1967
+ path.splice(i + 1, 0, [
1968
+ 'A',
1969
+ r,
1970
+ r,
1971
+ 0, // Slanting,
1972
+ 0, // Long arc
1973
+ 1, // Clockwise
1974
+ cx + bigR * Math.cos(params.start),
1975
+ cy + bigR * Math.sin(params.start)
1976
+ ]);
1977
+ // From arc to line
1978
+ }
1979
+ else {
1980
+ // Update the cache
1981
+ params.end = end - angleOffset;
1982
+ // End the big arc a bit earlier
1983
+ arc[6] = cx + bigR * Math.cos(params.end);
1984
+ arc[7] = cy + bigR * Math.sin(params.end);
1985
+ // Draw a small arc towards a point on the end angle, but one
1986
+ // borderRadius closer to the center relative to the perimeter.
1987
+ path.splice(i + 1, 0, [
1988
+ 'A',
1989
+ r,
1990
+ r,
1991
+ 0,
1992
+ 0,
1993
+ 1,
1994
+ cx + distanceBigCenterToStartArc * Math.cos(end),
1995
+ cy + distanceBigCenterToStartArc * Math.sin(end)
1996
+ ]);
1997
+ }
1998
+ // Long or short arc must be reconsidered because we have modified the
1999
+ // start and end points
2000
+ arc[4] = Math.abs(params.end - params.start) < Math.PI ? 0 : 1;
2001
+ }
2002
+ }
2003
+ /**
2004
+ * Extend arc with borderRadius.
2005
+ * @internal
1825
2006
  */
1826
- const BoxPlotSeriesDefaults = {
1827
- /**
1828
- * The Y axis value to serve as the base for the columns, for
1829
- * distinguishing between values above and below a threshold. If `null`,
1830
- * the columns extend from the padding Y axis minimum.
1831
- *
1832
- * @type {number|null}
1833
- * @default null
1834
- * @since 2.0
1835
- * @product highcharts
1836
- */
1837
- threshold: null,
1838
- tooltip: {
2007
+ function arc(x, y, w, h, options = {}) {
2008
+ const path = oldArc(x, y, w, h, options), { brStart = true, brEnd = true, innerR = 0, r = w, start = 0, end = 0 } = options;
2009
+ if (options.open || !options.borderRadius) {
2010
+ return path;
2011
+ }
2012
+ const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(borderRadiusObject(options.borderRadius).radius, r - innerR),
2013
+ // Cap to half the sector radius
2014
+ (r - innerR) / 2,
2015
+ // For smaller pie slices, cap to the largest small circle that
2016
+ // can be fitted within the sector
2017
+ (r * sinHalfAlpha) / (1 + sinHalfAlpha)), 0),
2018
+ // For the inner radius, we need an extra cap because the inner arc
2019
+ // is shorter than the outer arc
2020
+ innerBorderRadius = Math.min(borderRadius, 2 * (alpha / Math.PI) * innerR);
2021
+ // Apply turn-by-turn border radius. Start at the end since we're
2022
+ // splicing in arc segments.
2023
+ let i = path.length - 1;
2024
+ while (i--) {
2025
+ if ((!brStart && (i === 0 || i === 3)) ||
2026
+ (!brEnd && (i === 1 || i === 2))) {
2027
+ continue;
2028
+ }
2029
+ applyBorderRadius(path, i, i > 1 ? innerBorderRadius : borderRadius);
2030
+ }
2031
+ return path;
2032
+ }
2033
+ /** @internal */
2034
+ function seriesOnAfterColumnTranslate() {
2035
+ if (this.options.borderRadius &&
2036
+ !(this.chart.is3d && this.chart.is3d())) {
2037
+ const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
2038
+ ?.borderRadius, borderRadius = borderRadiusObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
2039
+ for (const point of this.points) {
2040
+ const { shapeArgs } = point;
2041
+ if (point.shapeType === 'roundedRect' && shapeArgs) {
2042
+ const { width = 0, height = 0, y = 0 } = shapeArgs;
2043
+ let brBoxY = y, brBoxHeight = height;
2044
+ // It would be nice to refactor StackItem.getStackBox/
2045
+ // setOffset so that we could get a reliable box out of
2046
+ // it. Currently it is close if we remove the label
2047
+ // offset, but we still need to run crispCol and also
2048
+ // flip it if inverted, so atm it is simpler to do it
2049
+ // like the below.
2050
+ if (borderRadius.scope === 'stack' &&
2051
+ point.stackTotal) {
2052
+ 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));
2053
+ brBoxY = box.y;
2054
+ brBoxHeight = box.height;
2055
+ }
2056
+ const flip = (point.negative ? -1 : 1) *
2057
+ (reversed ? -1 : 1) === -1;
2058
+ // Handle the where option
2059
+ let where = borderRadius.where;
2060
+ // Waterfall, hanging columns should have rounding on
2061
+ // all sides
2062
+ if (!where &&
2063
+ this.is('waterfall') &&
2064
+ Math.abs((point.yBottom || 0) -
2065
+ (this.translatedThreshold || 0)) > this.borderWidth) {
2066
+ where = 'all';
2067
+ }
2068
+ if (!where) {
2069
+ where = 'end';
2070
+ }
2071
+ // Get the radius
2072
+ const r = Math.min(relativeLength(borderRadius.radius, width), width / 2,
2073
+ // Cap to the height, but not if where is `end`
2074
+ where === 'all' ? brBoxHeight / 2 : Infinity) || 0;
2075
+ // If the `where` option is 'end', cut off the
2076
+ // rectangles by making the border-radius box one r
2077
+ // greater, so that the imaginary radius falls outside
2078
+ // the rectangle.
2079
+ if (where === 'end') {
2080
+ if (flip) {
2081
+ brBoxY -= r;
2082
+ brBoxHeight += r;
2083
+ }
2084
+ else {
2085
+ brBoxHeight += r;
2086
+ }
2087
+ }
2088
+ extend(shapeArgs, { brBoxHeight, brBoxY, r });
2089
+ }
2090
+ }
2091
+ }
2092
+ }
2093
+ /** @internal */
2094
+ function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
2095
+ const PieSeriesClass = SeriesClass.types.pie;
2096
+ if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
2097
+ const symbols = SVGRendererClass.prototype.symbols;
2098
+ addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
2099
+ // After columnrange and polar column modifications
2100
+ order: 9
2101
+ });
2102
+ addEvent(PieSeriesClass, 'afterTranslate', pieSeriesOnAfterTranslate);
2103
+ SVGElementClass.symbolCustomAttribs.push('borderRadius', 'brBoxHeight', 'brBoxY', 'brEnd', 'brStart');
2104
+ oldArc = symbols.arc;
2105
+ oldRoundedRect = symbols.roundedRect;
2106
+ symbols.arc = arc;
2107
+ symbols.roundedRect = roundedRect;
2108
+ }
2109
+ }
2110
+ /**
2111
+ * Utility function to get the full border radius options object, from a simple
2112
+ * number or a partial options object.
2113
+ * @internal
2114
+ */
2115
+ function borderRadiusObject(options, seriesBROptions) {
2116
+ if (!(0,external_highcharts_src_js_default_namespaceObject.isObject)(options)) {
2117
+ options = { radius: options || 0 };
2118
+ }
2119
+ return (0,external_highcharts_src_js_default_namespaceObject.merge)(defaultBorderRadiusOptions, seriesBROptions, options);
2120
+ }
2121
+ /** @internal */
2122
+ function pieSeriesOnAfterTranslate() {
2123
+ const borderRadius = borderRadiusObject(this.options.borderRadius);
2124
+ for (const point of this.points) {
2125
+ const shapeArgs = point.shapeArgs;
2126
+ if (shapeArgs) {
2127
+ shapeArgs.borderRadius = relativeLength(borderRadius.radius, (shapeArgs.r || 0) - ((shapeArgs.innerR) || 0));
2128
+ }
2129
+ }
2130
+ }
2131
+ /**
2132
+ * Extend roundedRect with individual cutting through rOffset.
2133
+ * @internal
2134
+ */
2135
+ function roundedRect(x, y, width, height, options = {}) {
2136
+ const path = oldRoundedRect(x, y, width, height, options), { r = 0, brBoxHeight = height, brBoxY = y } = options, brOffsetTop = y - brBoxY, brOffsetBtm = (brBoxY + brBoxHeight) - (y + height),
2137
+ // When the distance to the border-radius box is greater than the r
2138
+ // itself, it means no border radius. The -0.1 accounts for float
2139
+ // rounding errors.
2140
+ 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);
2141
+ /*
2142
+
2143
+ The naming of control points:
2144
+
2145
+ / a -------- b \
2146
+ / \
2147
+ h c
2148
+ | |
2149
+ | |
2150
+ | |
2151
+ g d
2152
+ \ /
2153
+ \ f -------- e /
2154
+
2155
+ */
2156
+ const a = [x + rTop, y], b = [x + width - rTop, y], c = [x + width, y + rTop], d = [
2157
+ x + width, y + height - rBtm
2158
+ ], e = [
2159
+ x + width - rBtm,
2160
+ y + height
2161
+ ], f = [x + rBtm, y + height], g = [x, y + height - rBtm], h = [x, y + rTop];
2162
+ const applyPythagoras = (r, altitude) => Math.sqrt(Math.pow(r, 2) - Math.pow(altitude, 2));
2163
+ // Inside stacks, cut off part of the top
2164
+ if (cutTop) {
2165
+ const base = applyPythagoras(rTop, rTop - cutTop);
2166
+ a[0] -= base;
2167
+ b[0] += base;
2168
+ c[1] = h[1] = y + rTop - cutTop;
2169
+ }
2170
+ // Column is lower than the radius. Cut off bottom inside the top
2171
+ // radius.
2172
+ if (height < rTop - cutTop) {
2173
+ const base = applyPythagoras(rTop, rTop - cutTop - height);
2174
+ c[0] = d[0] = x + width - rTop + base;
2175
+ e[0] = Math.min(c[0], e[0]);
2176
+ f[0] = Math.max(d[0], f[0]);
2177
+ g[0] = h[0] = x + rTop - base;
2178
+ c[1] = h[1] = y + height;
2179
+ }
2180
+ // Inside stacks, cut off part of the bottom
2181
+ if (cutBtm) {
2182
+ const base = applyPythagoras(rBtm, rBtm - cutBtm);
2183
+ e[0] += base;
2184
+ f[0] -= base;
2185
+ d[1] = g[1] = y + height - rBtm + cutBtm;
2186
+ }
2187
+ // Cut off top inside the bottom radius
2188
+ if (height < rBtm - cutBtm) {
2189
+ const base = applyPythagoras(rBtm, rBtm - cutBtm - height);
2190
+ c[0] = d[0] = x + width - rBtm + base;
2191
+ b[0] = Math.min(c[0], b[0]);
2192
+ a[0] = Math.max(d[0], a[0]);
2193
+ g[0] = h[0] = x + rBtm - base;
2194
+ d[1] = g[1] = y;
2195
+ }
2196
+ // Preserve the box for data labels
2197
+ path.length = 0;
2198
+ path.push(['M', ...a],
2199
+ // Top side
2200
+ ['L', ...b],
2201
+ // Top right corner
2202
+ ['A', rTop, rTop, 0, 0, 1, ...c],
2203
+ // Right side
2204
+ ['L', ...d],
2205
+ // Bottom right corner
2206
+ ['A', rBtm, rBtm, 0, 0, 1, ...e],
2207
+ // Bottom side
2208
+ ['L', ...f],
2209
+ // Bottom left corner
2210
+ ['A', rBtm, rBtm, 0, 0, 1, ...g],
2211
+ // Left side
2212
+ ['L', ...h],
2213
+ // Top left corner
2214
+ ['A', rTop, rTop, 0, 0, 1, ...a], ['Z']);
2215
+ return path;
2216
+ }
2217
+ /* *
2218
+ *
2219
+ * API Declarations
2220
+ *
2221
+ * */
2222
+ /**
2223
+ * Detailed options for border radius.
2224
+ *
2225
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2226
+ * Rounded columns
2227
+ * @sample highcharts/plotoptions/series-border-radius
2228
+ * Column and pie with rounded border
2229
+ *
2230
+ * @interface Highcharts.BorderRadiusOptionsObject
2231
+ */ /**
2232
+ * The border radius. A number signifies pixels. A percentage string, like for
2233
+ * example `50%`, signifies a relative size. For columns this is relative to the
2234
+ * column width, for pies it is relative to the radius and the inner radius.
2235
+ *
2236
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2237
+ * Rounded columns
2238
+ * @sample highcharts/plotoptions/series-border-radius
2239
+ * Column and pie with rounded border
2240
+ *
2241
+ * @name Highcharts.BorderRadiusOptionsObject#radius
2242
+ * @type {string|number|undefined}
2243
+ */ /**
2244
+ * The scope of the rounding for column charts or plot bands. In a stacked
2245
+ * column chart, the value `point` means each single point will get rounded
2246
+ * corners. The value `stack` means the rounding will apply to the full
2247
+ * stack, so that only points close to the top or bottom will receive
2248
+ * rounding.
2249
+ *
2250
+ * Similarly, for plot bands, the `individual` value means each plot band
2251
+ * will get rounded corners.
2252
+ *
2253
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius/
2254
+ * Rounded columns
2255
+ *
2256
+ * @name Highcharts.BorderRadiusOptionsObject#scope
2257
+ * @type {"individual"|"point"|"stack"|undefined}
2258
+ */ /**
2259
+ * For column charts, where in the point or stack to apply rounding. The `end`
2260
+ * value means only those corners at the point value will be rounded, leaving
2261
+ * the corners at the base or threshold unrounded. This is the most intuitive
2262
+ * behavior. The `all` value means also the base will be rounded.
2263
+ *
2264
+ * @sample {highcharts} highcharts/plotoptions/column-borderradius-where-all
2265
+ * Rounding on all corners
2266
+ *
2267
+ * @name Highcharts.BorderRadiusOptionsObject#where
2268
+ * @type {"all"|"end"|undefined}
2269
+ * @default end
2270
+ */
2271
+ (''); // Keeps doclets above in JS file
2272
+
2273
+ ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js
2274
+ /* *
2275
+ *
2276
+ * (c) 2010-2026 Highsoft AS
2277
+ * Author: Torstein Hønsi
2278
+ *
2279
+ * Integration of this software requires a license.
2280
+ * - For commercial use, see www.highcharts.com/license
2281
+ * - For non-commercial, see www.highcharts.com/license-eula
2282
+ *
2283
+ *
2284
+ * */
2285
+
2286
+ /* *
2287
+ *
2288
+ * API Options
2289
+ *
2290
+ * */
2291
+ /**
2292
+ * A box plot is a convenient way of depicting groups of data through their
2293
+ * five-number summaries: the smallest observation (sample minimum), lower
2294
+ * quartile (Q1), median (Q2), upper quartile (Q3), and largest observation
2295
+ * (sample maximum).
2296
+ *
2297
+ * @sample highcharts/demo/box-plot/
2298
+ * Box plot
2299
+ * @sample {highcharts} highcharts/css/boxplot/
2300
+ * Box plot in styled mode
2301
+ * @sample {highcharts} highcharts/series-scatter/jitter-boxplot
2302
+ * Jittered scatter plot on top of a box plot
2303
+ *
2304
+ * @extends plotOptions.column
2305
+ * @excluding borderColor, borderWidth, groupZPadding,
2306
+ * states, boostThreshold, boostBlending
2307
+ * @product highcharts
2308
+ * @requires highcharts-more
2309
+ * @optionparent plotOptions.boxplot
2310
+ */
2311
+ const BoxPlotSeriesDefaults = {
2312
+ /**
2313
+ * The corner radius of the border surrounding the box. A number
2314
+ * signifies pixels. A percentage string, like for example `50%`, signifies
2315
+ * a size relative to the box width.
2316
+ *
2317
+ * @sample {highcharts} highcharts/demo/violin-plot/
2318
+ * Box plot with rounded corners
2319
+ *
2320
+ * @type {number|string|Highcharts.BorderRadiusOptionsObject}
2321
+ * @default 0
2322
+ * @since 13.0.1
2323
+ * @product highcharts
2324
+ */
2325
+ borderRadius: 0,
2326
+ /**
2327
+ * The Y axis value to serve as the base for the columns, for
2328
+ * distinguishing between values above and below a threshold. If `null`,
2329
+ * the columns extend from the padding Y axis minimum.
2330
+ *
2331
+ * @type {number|null}
2332
+ * @default null
2333
+ * @since 2.0
2334
+ * @product highcharts
2335
+ */
2336
+ threshold: null,
2337
+ tooltip: {
1839
2338
  pointFormat: '<span style="color:{point.color}">\u25CF</span> <b>' +
1840
2339
  '{series.name}</b><br/>' +
1841
2340
  'Maximum: {point.high}<br/>' +
@@ -2035,6 +2534,24 @@ const BoxPlotSeriesDefaults = {
2035
2534
  * @default high
2036
2535
  * @apioption plotOptions.boxplot.colorKey
2037
2536
  */
2537
+ /**
2538
+ * The point key used to position a box plot data label.
2539
+ *
2540
+ * @typedef {"low"|"q1"|"median"|"q3"|"high"} Highcharts.BoxPlotPointValKey
2541
+ */
2542
+ /**
2543
+ * The point key to use for positioning this data label.
2544
+ * Possible values are `low`, `q1`, `median`, `q3` and `high`.
2545
+ *
2546
+ * @sample {highcharts} highcharts/series-boxplot/data-labels/
2547
+ * Multiple data labels
2548
+ *
2549
+ * @type {Highcharts.BoxPlotPointValKey}
2550
+ * @default high
2551
+ * @validvalue ["low", "q1", "median", "q3", "high"]
2552
+ * @product highcharts
2553
+ * @apioption plotOptions.boxplot.dataLabels.alignToKey
2554
+ */
2038
2555
  /**
2039
2556
  * The color of the whiskers, the horizontal lines marking low and high
2040
2557
  * values. When `undefined`, the general series color is used.
@@ -2246,9 +2763,6 @@ const BoxPlotSeriesDefaults = {
2246
2763
  * */
2247
2764
  /* harmony default export */ const BoxPlot_BoxPlotSeriesDefaults = (BoxPlotSeriesDefaults);
2248
2765
 
2249
- ;// external ["./highcharts.src.js","default","Series","types","column"]
2250
- const external_highcharts_src_js_default_Series_types_column_namespaceObject = __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__["default"].Series.types.column;
2251
- var external_highcharts_src_js_default_Series_types_column_default = /*#__PURE__*/__webpack_require__.n(external_highcharts_src_js_default_Series_types_column_namespaceObject);
2252
2766
  ;// ./code/es-modules/Series/BoxPlot/BoxPlotSeries.js
2253
2767
  /* *
2254
2768
  *
@@ -2265,9 +2779,11 @@ var external_highcharts_src_js_default_Series_types_column_default = /*#__PURE__
2265
2779
 
2266
2780
 
2267
2781
 
2782
+
2268
2783
  const { noop: BoxPlotSeries_noop } = (external_highcharts_src_js_default_default());
2269
2784
 
2270
2785
 
2786
+
2271
2787
  /* *
2272
2788
  *
2273
2789
  * Class
@@ -2323,8 +2839,9 @@ class BoxPlotSeries extends (external_highcharts_src_js_default_Series_types_col
2323
2839
  // Do the translation on each point dimension
2324
2840
  series.points.forEach(function (point) {
2325
2841
  pointArrayMap.forEach(function (key) {
2326
- if (point[key] !== null) {
2327
- point[key + 'Plot'] = yAxis.translate(point[key], 0, 1, 0, 1);
2842
+ const value = point[key];
2843
+ if (value !== null) {
2844
+ point[`${key}Plot`] = yAxis.translate(value, false, true, false, true);
2328
2845
  }
2329
2846
  });
2330
2847
  point.plotHigh = point.highPlot; // For data label validation
@@ -2376,7 +2893,10 @@ class BoxPlotSeries extends (external_highcharts_src_js_default_Series_types_col
2376
2893
  // Stem attributes
2377
2894
  stemAttr.stroke =
2378
2895
  point.stemColor || options.stemColor || color;
2379
- stemAttr['stroke-width'] = (0,external_highcharts_src_js_default_namespaceObject.pick)(point.stemWidth, options.stemWidth, options.lineWidth);
2896
+ stemAttr['stroke-width'] =
2897
+ point.stemWidth ??
2898
+ options.stemWidth ??
2899
+ options.lineWidth;
2380
2900
  stemAttr.dashstyle = (point.stemDashStyle ||
2381
2901
  options.stemDashStyle ||
2382
2902
  options.dashStyle);
@@ -2386,7 +2906,10 @@ class BoxPlotSeries extends (external_highcharts_src_js_default_Series_types_col
2386
2906
  whiskersAttr.stroke = (point.whiskerColor ||
2387
2907
  options.whiskerColor ||
2388
2908
  color);
2389
- whiskersAttr['stroke-width'] = (0,external_highcharts_src_js_default_namespaceObject.pick)(point.whiskerWidth, options.whiskerWidth, options.lineWidth);
2909
+ whiskersAttr['stroke-width'] =
2910
+ point.whiskerWidth ??
2911
+ options.whiskerWidth ??
2912
+ options.lineWidth;
2390
2913
  whiskersAttr.dashstyle = (point.whiskerDashStyle ||
2391
2914
  options.whiskerDashStyle ||
2392
2915
  options.dashStyle);
@@ -2407,25 +2930,28 @@ class BoxPlotSeries extends (external_highcharts_src_js_default_Series_types_col
2407
2930
  medianAttr.stroke = (point.medianColor ||
2408
2931
  options.medianColor ||
2409
2932
  color);
2410
- medianAttr['stroke-width'] = (0,external_highcharts_src_js_default_namespaceObject.pick)(point.medianWidth, options.medianWidth, options.lineWidth);
2933
+ medianAttr['stroke-width'] =
2934
+ point.medianWidth ??
2935
+ options.medianWidth ??
2936
+ options.lineWidth;
2411
2937
  medianAttr.dashstyle = (point.medianDashStyle ||
2412
2938
  options.medianDashStyle ||
2413
2939
  options.dashStyle);
2414
2940
  point.medianShape.attr(medianAttr);
2415
2941
  }
2416
- let d;
2417
2942
  // The stem
2418
2943
  const stemX = (0,external_highcharts_src_js_default_namespaceObject.crisp)((point.plotX || 0) + (series.pointXOffset || 0) +
2419
2944
  ((series.barW || 0) / 2), point.stem.strokeWidth());
2420
- d = [
2421
- // Stem up
2422
- ['M', stemX, q3Plot],
2423
- ['L', stemX, highPlot],
2424
- // Stem down
2425
- ['M', stemX, q1Plot],
2426
- ['L', stemX, lowPlot]
2427
- ];
2428
- point.stem[verb]({ d });
2945
+ point.stem[verb]({
2946
+ d: [
2947
+ // Stem up
2948
+ ['M', stemX, q3Plot],
2949
+ ['L', stemX, highPlot],
2950
+ // Stem down
2951
+ ['M', stemX, q1Plot],
2952
+ ['L', stemX, lowPlot]
2953
+ ]
2954
+ });
2429
2955
  // The box
2430
2956
  if (doQuartiles) {
2431
2957
  const boxStrokeWidth = point.box.strokeWidth();
@@ -2433,15 +2959,11 @@ class BoxPlotSeries extends (external_highcharts_src_js_default_Series_types_col
2433
2959
  q3Plot = (0,external_highcharts_src_js_default_namespaceObject.crisp)(q3Plot, boxStrokeWidth);
2434
2960
  x = (0,external_highcharts_src_js_default_namespaceObject.crisp)(x, boxStrokeWidth);
2435
2961
  right = (0,external_highcharts_src_js_default_namespaceObject.crisp)(right, boxStrokeWidth);
2436
- d = [
2437
- ['M', x, q3Plot],
2438
- ['L', x, q1Plot],
2439
- ['L', right, q1Plot],
2440
- ['L', right, q3Plot],
2441
- ['L', x, q3Plot],
2442
- ['Z']
2443
- ];
2444
- point.box[verb]({ d });
2962
+ // Optionally round the corners of the box
2963
+ const r = Math.min((0,external_highcharts_src_js_default_namespaceObject.relativeLength)(borderRadiusObject(options.borderRadius).radius, right - x), (right - x) / 2, Math.abs(q1Plot - q3Plot) / 2);
2964
+ point.box[verb]({
2965
+ d: renderer.symbols.roundedRect(x, Math.min(q1Plot, q3Plot), right - x, Math.abs(q1Plot - q3Plot), { r })
2966
+ });
2445
2967
  }
2446
2968
  // The whiskers
2447
2969
  if (pointWhiskerLength) {
@@ -2454,11 +2976,12 @@ class BoxPlotSeries extends (external_highcharts_src_js_default_Series_types_col
2454
2976
  }
2455
2977
  // The median
2456
2978
  medianPlot = (0,external_highcharts_src_js_default_namespaceObject.crisp)(point.medianPlot, point.medianShape.strokeWidth());
2457
- d = [
2458
- ['M', x, medianPlot],
2459
- ['L', right, medianPlot]
2460
- ];
2461
- point.medianShape[verb]({ d });
2979
+ point.medianShape[verb]({
2980
+ d: [
2981
+ ['M', x, medianPlot],
2982
+ ['L', right, medianPlot]
2983
+ ]
2984
+ });
2462
2985
  }
2463
2986
  }
2464
2987
  }
@@ -2478,10 +3001,9 @@ BoxPlotSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceOb
2478
3001
  pointArrayMap: ['low', 'q1', 'median', 'q3', 'high'],
2479
3002
  // Defines the top of the tracker
2480
3003
  pointValKey: 'high',
2481
- // Disable data labels for box plot
2482
- drawDataLabels: BoxPlotSeries_noop,
2483
3004
  setStackedPoints: BoxPlotSeries_noop // #3890
2484
3005
  });
3006
+ Series_RangeDataLabel.compose(BoxPlotSeries);
2485
3007
  external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('boxplot', BoxPlotSeries);
2486
3008
  /* *
2487
3009
  *
@@ -2847,7 +3369,7 @@ class BubbleLegendItem {
2847
3369
  * Legend instance
2848
3370
  */
2849
3371
  drawLegendSymbol(legend) {
2850
- const itemDistance = (0,external_highcharts_src_js_default_namespaceObject.pick)(legend.options.itemDistance, 20), legendItem = this.legendItem || {}, options = this.options, ranges = options.ranges, connectorDistance = options.connectorDistance;
3372
+ const itemDistance = (legend.options.itemDistance ?? 20), legendItem = this.legendItem || {}, options = this.options, ranges = options.ranges, connectorDistance = options.connectorDistance;
2851
3373
  let connectorSpace;
2852
3374
  // Do not create bubbleLegend now if ranges or ranges values are not
2853
3375
  // specified or if are empty array.
@@ -2893,13 +3415,17 @@ class BubbleLegendItem {
2893
3415
  // Allow to parts of styles be used individually for range
2894
3416
  ranges.forEach(function (range, i) {
2895
3417
  if (!styledMode) {
2896
- bubbleAttribs.stroke = (0,external_highcharts_src_js_default_namespaceObject.pick)(range.borderColor, options.borderColor, series.color);
3418
+ bubbleAttribs.stroke =
3419
+ range.borderColor ?? options.borderColor ?? series.color;
2897
3420
  bubbleAttribs.fill = range.color || options.color;
2898
3421
  if (!bubbleAttribs.fill) {
2899
3422
  bubbleAttribs.fill = series.color;
2900
3423
  bubbleAttribs['fill-opacity'] = fillOpacity ?? 1;
2901
3424
  }
2902
- connectorAttribs.stroke = (0,external_highcharts_src_js_default_namespaceObject.pick)(range.connectorColor, options.connectorColor, series.color);
3425
+ connectorAttribs.stroke =
3426
+ range.connectorColor ??
3427
+ options.connectorColor ??
3428
+ series.color;
2903
3429
  }
2904
3430
  // Set options needed for rendering each range
2905
3431
  ranges[i].radius = this.getRangeRadius(range.value);
@@ -3096,10 +3622,10 @@ class BubbleLegendItem {
3096
3622
  if (s.isBubble && !s.ignoreSeries) {
3097
3623
  zData = s.getColumn('z').filter(external_highcharts_src_js_default_namespaceObject.isNumber);
3098
3624
  if (zData.length) {
3099
- minZ = (0,external_highcharts_src_js_default_namespaceObject.pick)(s.options.zMin, Math.min(minZ, Math.max((0,external_highcharts_src_js_default_namespaceObject.arrayMin)(zData), s.options.displayNegative === false ?
3625
+ minZ = (s.options.zMin ?? Math.min(minZ, Math.max((0,external_highcharts_src_js_default_namespaceObject.arrayMin)(zData), s.options.displayNegative === false ?
3100
3626
  s.options.zThreshold :
3101
3627
  -Number.MAX_VALUE)));
3102
- maxZ = (0,external_highcharts_src_js_default_namespaceObject.pick)(s.options.zMax, Math.max(maxZ, (0,external_highcharts_src_js_default_namespaceObject.arrayMax)(zData)));
3628
+ maxZ = (s.options.zMax ?? Math.max(maxZ, (0,external_highcharts_src_js_default_namespaceObject.arrayMax)(zData)));
3103
3629
  }
3104
3630
  }
3105
3631
  });
@@ -3563,7 +4089,7 @@ class BubblePoint extends ScatterPoint {
3563
4089
 
3564
4090
  const { composed: BubbleSeries_composed, noop: BubbleSeries_noop } = (external_highcharts_src_js_default_default());
3565
4091
 
3566
- const { series: Series, seriesTypes: { column: { prototype: BubbleSeries_columnProto }, scatter: ScatterSeries } } = (external_highcharts_src_js_default_SeriesRegistry_default());
4092
+ const { series: Series, seriesTypes: { column: { prototype: columnProto }, scatter: ScatterSeries } } = (external_highcharts_src_js_default_SeriesRegistry_default());
3567
4093
 
3568
4094
  /* *
3569
4095
  *
@@ -3617,7 +4143,8 @@ function onAxisFoundExtremes() {
3617
4143
  ['min', 'userMin', pxMin],
3618
4144
  ['max', 'userMax', pxMax]
3619
4145
  ].forEach((keys) => {
3620
- if (typeof (0,external_highcharts_src_js_default_namespaceObject.pick)(this.options[keys[0]], this[keys[1]]) === 'undefined') {
4146
+ if (typeof (this.options[keys[0]] ??
4147
+ this[keys[1]]) === 'undefined') {
3621
4148
  this[keys[0]] += keys[2] / transA;
3622
4149
  }
3623
4150
  });
@@ -3714,10 +4241,10 @@ class BubbleSeries extends ScatterSeries {
3714
4241
  if (otherSeries.bubblePadding && otherSeries.reserveSpace()) {
3715
4242
  const zExtremes = (otherSeries.onPoint || otherSeries).getZExtremes();
3716
4243
  if (zExtremes) {
3717
- // Changed '||' to 'pick' because min or max can be 0.
4244
+ // Use nullish coalescing because min or max can be 0.
3718
4245
  // #17280
3719
- zMin = Math.min((0,external_highcharts_src_js_default_namespaceObject.pick)(zMin, zExtremes.zMin), zExtremes.zMin);
3720
- zMax = Math.max((0,external_highcharts_src_js_default_namespaceObject.pick)(zMax, zExtremes.zMax), zExtremes.zMax);
4246
+ zMin = Math.min((zMin ?? zExtremes.zMin), zExtremes.zMin);
4247
+ zMax = Math.max((zMax ?? zExtremes.zMax), zExtremes.zMax);
3721
4248
  valid = true;
3722
4249
  }
3723
4250
  }
@@ -3855,19 +4382,19 @@ class BubbleSeries extends ScatterSeries {
3855
4382
  }
3856
4383
  return isPercent ? smallestSize * length / 100 : length;
3857
4384
  };
3858
- const minPxSize = getPxSize((0,external_highcharts_src_js_default_namespaceObject.pick)(this.options.minSize, 8));
4385
+ const minPxSize = getPxSize(this.options.minSize ?? 8);
3859
4386
  // Prioritize min size if conflict to make sure bubbles are
3860
4387
  // always visible. #5873
3861
- const maxPxSize = Math.max(getPxSize((0,external_highcharts_src_js_default_namespaceObject.pick)(this.options.maxSize, '20%')), minPxSize);
4388
+ const maxPxSize = Math.max(getPxSize(this.options.maxSize ?? '20%'), minPxSize);
3862
4389
  return { minPxSize, maxPxSize };
3863
4390
  }
3864
4391
  getZExtremes() {
3865
4392
  const options = this.options, zData = this.getColumn('z').filter(external_highcharts_src_js_default_namespaceObject.isNumber);
3866
4393
  if (zData.length) {
3867
- const zMin = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.zMin, (0,external_highcharts_src_js_default_namespaceObject.clamp)((0,external_highcharts_src_js_default_namespaceObject.arrayMin)(zData), options.displayNegative === false ?
4394
+ const zMin = (options.zMin ?? (0,external_highcharts_src_js_default_namespaceObject.clamp)((0,external_highcharts_src_js_default_namespaceObject.arrayMin)(zData), options.displayNegative === false ?
3868
4395
  (options.zThreshold || 0) :
3869
4396
  -Number.MAX_VALUE, Number.MAX_VALUE));
3870
- const zMax = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.zMax, (0,external_highcharts_src_js_default_namespaceObject.arrayMax)(zData));
4397
+ const zMax = (options.zMax ?? (0,external_highcharts_src_js_default_namespaceObject.arrayMax)(zData));
3871
4398
  if ((0,external_highcharts_src_js_default_namespaceObject.isNumber)(zMin) && (0,external_highcharts_src_js_default_namespaceObject.isNumber)(zMax)) {
3872
4399
  return { zMin, zMax };
3873
4400
  }
@@ -3939,6 +4466,21 @@ BubbleSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObj
3939
4466
  * @since 6.1.0
3940
4467
  */
3941
4468
  animationLimit: 250,
4469
+ /**
4470
+ * When using automatic point colors pulled from the global
4471
+ * [colors](colors) or series-specific
4472
+ * [plotOptions.bubble.colors](series.colors) collections, this option
4473
+ * determines whether the chart should receive one color per series or
4474
+ * one color per point.
4475
+ *
4476
+ * In styled mode, the `colors` or `series.colors` arrays are not
4477
+ * supported, and instead this option gives the points individual color
4478
+ * class names on the form `highcharts-color-{n}`.
4479
+ *
4480
+ * @type {boolean}
4481
+ * @default false
4482
+ * @apioption plotOptions.bubble.colorByPoint
4483
+ */
3942
4484
  /**
3943
4485
  * Whether to display negative sized bubbles. The threshold is given
3944
4486
  * by the [zThreshold](#plotOptions.bubble.zThreshold) option, and negative
@@ -4142,7 +4684,7 @@ BubbleSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObj
4142
4684
  zoneAxis: 'z'
4143
4685
  });
4144
4686
  (0,external_highcharts_src_js_default_namespaceObject.extend)(BubbleSeries.prototype, {
4145
- alignDataLabel: BubbleSeries_columnProto.alignDataLabel,
4687
+ alignDataLabel: columnProto.alignDataLabel,
4146
4688
  applyZones: BubbleSeries_noop,
4147
4689
  bubblePadding: true,
4148
4690
  isBubble: true,
@@ -4299,6 +4841,7 @@ const { seriesTypes: { column: { prototype: { pointClass: { prototype: ColumnRan
4299
4841
  * Class
4300
4842
  *
4301
4843
  * */
4844
+ /** @internal */
4302
4845
  class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4303
4846
  /* *
4304
4847
  *
@@ -4317,9 +4860,10 @@ class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4317
4860
  * Default Export
4318
4861
  *
4319
4862
  * */
4863
+ /** @internal */
4320
4864
  /* harmony default export */ const ColumnRange_ColumnRangePoint = (ColumnRangePoint);
4321
4865
 
4322
- ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeries.js
4866
+ ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeriesDefaults.js
4323
4867
  /* *
4324
4868
  *
4325
4869
  * (c) 2010-2026 Highsoft AS
@@ -4332,15 +4876,9 @@ class ColumnRangePoint extends ColumnRangePoint_AreaRangePoint {
4332
4876
  *
4333
4877
  * */
4334
4878
 
4335
-
4336
-
4337
- const { noop: ColumnRangeSeries_noop } = (external_highcharts_src_js_default_default());
4338
-
4339
- const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: ColumnSeries, column: { prototype: ColumnRangeSeries_columnProto } } } = (external_highcharts_src_js_default_SeriesRegistry_default());
4340
-
4341
4879
  /* *
4342
4880
  *
4343
- * Constants
4881
+ * API Options
4344
4882
  *
4345
4883
  * */
4346
4884
  /**
@@ -4358,7 +4896,7 @@ const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: Col
4358
4896
  * @requires highcharts-more
4359
4897
  * @optionparent plotOptions.columnrange
4360
4898
  */
4361
- const columnRangeOptions = {
4899
+ const ColumnRangeSeriesDefaults = {
4362
4900
  borderRadius: {
4363
4901
  where: 'all'
4364
4902
  },
@@ -4385,6 +4923,116 @@ const columnRangeOptions = {
4385
4923
  }
4386
4924
  }
4387
4925
  };
4926
+ /**
4927
+ * A `columnrange` series. If the [type](#series.columnrange.type)
4928
+ * option is not specified, it is inherited from
4929
+ * [chart.type](#chart.type).
4930
+ *
4931
+ * @extends series,plotOptions.columnrange
4932
+ * @excluding dataParser, dataURL, stack, stacking
4933
+ * @product highcharts highstock
4934
+ * @requires highcharts-more
4935
+ * @apioption series.columnrange
4936
+ */
4937
+ /**
4938
+ * An array of data points for the series. For the `columnrange` series
4939
+ * type, points can be given in the following ways:
4940
+ *
4941
+ * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
4942
+ * to `x,low,high`. If the first value is a string, it is applied as the name
4943
+ * of the point, and the `x` value is inferred. The `x` value can also be
4944
+ * omitted, in which case the inner arrays should be of length 2\. Then the
4945
+ * `x` value is automatically calculated, either starting at 0 and
4946
+ * incremented by 1, or from `pointStart` and `pointInterval` given in the
4947
+ * series options.
4948
+ * ```js
4949
+ * data: [
4950
+ * [0, 4, 2],
4951
+ * [1, 2, 1],
4952
+ * [2, 9, 10]
4953
+ * ]
4954
+ * ```
4955
+ *
4956
+ * 2. An array of objects with named values. The following snippet shows only a
4957
+ * few settings, see the complete options set below. If the total number of
4958
+ * data points exceeds the series'
4959
+ * [turboThreshold](#series.columnrange.turboThreshold), this option is not
4960
+ * available.
4961
+ * ```js
4962
+ * data: [{
4963
+ * x: 1,
4964
+ * low: 0,
4965
+ * high: 4,
4966
+ * name: "Point2",
4967
+ * color: "#00FF00"
4968
+ * }, {
4969
+ * x: 1,
4970
+ * low: 5,
4971
+ * high: 3,
4972
+ * name: "Point1",
4973
+ * color: "#FF00FF"
4974
+ * }]
4975
+ * ```
4976
+ *
4977
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
4978
+ * Arrays of numeric x and y
4979
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
4980
+ * Arrays of datetime x and y
4981
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
4982
+ * Arrays of point.name and y
4983
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
4984
+ * Config objects
4985
+ *
4986
+ * @basic
4987
+ * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
4988
+ * @extends series.arearange.data
4989
+ * @excluding marker
4990
+ * @product highcharts highstock
4991
+ * @apioption series.columnrange.data
4992
+ */
4993
+ /**
4994
+ * @extends series.columnrange.dataLabels
4995
+ * @product highcharts highstock
4996
+ * @apioption series.columnrange.data.dataLabels
4997
+ */
4998
+ /**
4999
+ * @excluding halo, lineWidth, lineWidthPlus, marker
5000
+ * @product highcharts highstock
5001
+ * @apioption series.columnrange.states.hover
5002
+ */
5003
+ /**
5004
+ * @excluding halo, lineWidth, lineWidthPlus, marker
5005
+ * @product highcharts highstock
5006
+ * @apioption series.columnrange.states.select
5007
+ */
5008
+ ''; // Adds doclets above into transpiled
5009
+ /* *
5010
+ *
5011
+ * Default Export
5012
+ *
5013
+ * */
5014
+ /* harmony default export */ const ColumnRange_ColumnRangeSeriesDefaults = (ColumnRangeSeriesDefaults);
5015
+
5016
+ ;// ./code/es-modules/Series/ColumnRange/ColumnRangeSeries.js
5017
+ /* *
5018
+ *
5019
+ * (c) 2010-2026 Highsoft AS
5020
+ * Author: Torstein Hønsi
5021
+ *
5022
+ * Integration of this software requires a license.
5023
+ * - For commercial use, see www.highcharts.com/license
5024
+ * - For non-commercial, see www.highcharts.com/license-eula
5025
+ *
5026
+ *
5027
+ * */
5028
+
5029
+
5030
+
5031
+
5032
+ const { noop: ColumnRangeSeries_noop } = (external_highcharts_src_js_default_default());
5033
+
5034
+ const { seriesTypes: { arearange: ColumnRangeSeries_AreaRangeSeries, column: ColumnSeries, column: { prototype: ColumnRangeSeries_columnProto } } } = (external_highcharts_src_js_default_SeriesRegistry_default());
5035
+
4388
5036
  /* *
4389
5037
  *
4390
5038
  * Class
@@ -4393,7 +5041,7 @@ const columnRangeOptions = {
4393
5041
  /**
4394
5042
  * The ColumnRangeSeries class
4395
5043
  *
4396
- * @private
5044
+ * @internal
4397
5045
  * @class
4398
5046
  * @name Highcharts.seriesTypes.columnrange
4399
5047
  *
@@ -4442,17 +5090,17 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4442
5090
  translate3dShapes() {
4443
5091
  return ColumnRangeSeries_columnProto.translate3dShapes.apply(this, arguments);
4444
5092
  }
5093
+ /**
5094
+ * Translate data points from raw values x and y to plotX and plotY
5095
+ * @internal
5096
+ */
4445
5097
  afterColumnTranslate() {
4446
- /**
4447
- * Translate data points from raw values x and y to plotX and plotY
4448
- * @private
4449
- */
4450
5098
  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;
4451
5099
  let height, heightDifference, start, y;
4452
5100
  // eslint-disable-next-line valid-jsdoc
4453
5101
  /**
4454
5102
  * Don't draw too far outside plot area (#6835)
4455
- * @private
5103
+ * @internal
4456
5104
  */
4457
5105
  function safeBounds(pixelPos) {
4458
5106
  return (0,external_highcharts_src_js_default_namespaceObject.clamp)(pixelPos, -safeDistance, safeDistance);
@@ -4465,7 +5113,9 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4465
5113
  point.plotLow = safeBounds(plotY);
4466
5114
  // Adjust shape
4467
5115
  y = point.plotHigh;
4468
- height = (0,external_highcharts_src_js_default_namespaceObject.pick)(point.rectPlotY, point.plotY) - point.plotHigh;
5116
+ height =
5117
+ (point.rectPlotY ?? point.plotY) -
5118
+ point.plotHigh;
4469
5119
  // Adjust for minPointLength
4470
5120
  if (Math.abs(height) < minPointLength) {
4471
5121
  heightDifference = (minPointLength - height);
@@ -4511,7 +5161,7 @@ class ColumnRangeSeries extends ColumnRangeSeries_AreaRangeSeries {
4511
5161
  * Static Properties
4512
5162
  *
4513
5163
  * */
4514
- ColumnRangeSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObject.merge)(ColumnSeries.defaultOptions, ColumnRangeSeries_AreaRangeSeries.defaultOptions, columnRangeOptions);
5164
+ ColumnRangeSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObject.merge)(ColumnSeries.defaultOptions, ColumnRangeSeries_AreaRangeSeries.defaultOptions, ColumnRange_ColumnRangeSeriesDefaults);
4515
5165
  (0,external_highcharts_src_js_default_namespaceObject.addEvent)(ColumnRangeSeries, 'afterColumnTranslate', function () {
4516
5166
  ColumnRangeSeries.prototype.afterColumnTranslate.apply(this);
4517
5167
  }, { order: 5 });
@@ -4531,98 +5181,11 @@ ColumnRangeSeries.defaultOptions = (0,external_highcharts_src_js_default_namespa
4531
5181
  external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('columnrange', ColumnRangeSeries);
4532
5182
  /* *
4533
5183
  *
4534
- * Default Export
4535
- *
4536
- * */
4537
- /* harmony default export */ const ColumnRange_ColumnRangeSeries = ((/* unused pure expression or super */ null && (ColumnRangeSeries)));
4538
- /* *
4539
- *
4540
- * API Options
4541
- *
4542
- * */
4543
- /**
4544
- * A `columnrange` series. If the [type](#series.columnrange.type)
4545
- * option is not specified, it is inherited from
4546
- * [chart.type](#chart.type).
4547
- *
4548
- * @extends series,plotOptions.columnrange
4549
- * @excluding dataParser, dataURL, stack, stacking
4550
- * @product highcharts highstock
4551
- * @requires highcharts-more
4552
- * @apioption series.columnrange
4553
- */
4554
- /**
4555
- * An array of data points for the series. For the `columnrange` series
4556
- * type, points can be given in the following ways:
4557
- *
4558
- * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
4559
- * to `x,low,high`. If the first value is a string, it is applied as the name
4560
- * of the point, and the `x` value is inferred. The `x` value can also be
4561
- * omitted, in which case the inner arrays should be of length 2\. Then the
4562
- * `x` value is automatically calculated, either starting at 0 and
4563
- * incremented by 1, or from `pointStart` and `pointInterval` given in the
4564
- * series options.
4565
- * ```js
4566
- * data: [
4567
- * [0, 4, 2],
4568
- * [1, 2, 1],
4569
- * [2, 9, 10]
4570
- * ]
4571
- * ```
4572
- *
4573
- * 2. An array of objects with named values. The following snippet shows only a
4574
- * few settings, see the complete options set below. If the total number of
4575
- * data points exceeds the series'
4576
- * [turboThreshold](#series.columnrange.turboThreshold), this option is not
4577
- * available.
4578
- * ```js
4579
- * data: [{
4580
- * x: 1,
4581
- * low: 0,
4582
- * high: 4,
4583
- * name: "Point2",
4584
- * color: "#00FF00"
4585
- * }, {
4586
- * x: 1,
4587
- * low: 5,
4588
- * high: 3,
4589
- * name: "Point1",
4590
- * color: "#FF00FF"
4591
- * }]
4592
- * ```
4593
- *
4594
- * @sample {highcharts} highcharts/series/data-array-of-arrays/
4595
- * Arrays of numeric x and y
4596
- * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
4597
- * Arrays of datetime x and y
4598
- * @sample {highcharts} highcharts/series/data-array-of-name-value/
4599
- * Arrays of point.name and y
4600
- * @sample {highcharts} highcharts/series/data-array-of-objects/
4601
- * Config objects
4602
- *
4603
- * @basic
4604
- * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
4605
- * @extends series.arearange.data
4606
- * @excluding marker
4607
- * @product highcharts highstock
4608
- * @apioption series.columnrange.data
4609
- */
4610
- /**
4611
- * @extends series.columnrange.dataLabels
4612
- * @product highcharts highstock
4613
- * @apioption series.columnrange.data.dataLabels
4614
- */
4615
- /**
4616
- * @excluding halo, lineWidth, lineWidthPlus, marker
4617
- * @product highcharts highstock
4618
- * @apioption series.columnrange.states.hover
4619
- */
4620
- /**
4621
- * @excluding halo, lineWidth, lineWidthPlus, marker
4622
- * @product highcharts highstock
4623
- * @apioption series.columnrange.states.select
4624
- */
4625
- ''; // Adds doclets above into transpiled
5184
+ * Default Export
5185
+ *
5186
+ * */
5187
+ /** @internal */
5188
+ /* harmony default export */ const ColumnRange_ColumnRangeSeries = ((/* unused pure expression or super */ null && (ColumnRangeSeries)));
4626
5189
 
4627
5190
  ;// ./code/es-modules/Series/ColumnPyramid/ColumnPyramidSeriesDefaults.js
4628
5191
  /* *
@@ -4779,7 +5342,7 @@ const { column: ColumnPyramidSeries_ColumnSeries } = (external_highcharts_src_js
4779
5342
  /**
4780
5343
  * The ColumnPyramidSeries class
4781
5344
  *
4782
- * @private
5345
+ * @internal
4783
5346
  * @class
4784
5347
  * @name Highcharts.seriesTypes.columnpyramid
4785
5348
  *
@@ -4793,12 +5356,12 @@ class ColumnPyramidSeries extends ColumnPyramidSeries_ColumnSeries {
4793
5356
  * */
4794
5357
  /**
4795
5358
  * Overrides the column translate method
4796
- * @private
5359
+ * @internal
4797
5360
  */
4798
5361
  translate() {
4799
5362
  const series = this, chart = series.chart, options = series.options, dense = series.dense =
4800
- series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.borderWidth, dense ? 0 : 1 // #3635
4801
- ), yAxis = series.yAxis, threshold = options.threshold, minPointLength = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.minPointLength, 5), metrics = series.getColumnMetrics(), pointWidth = metrics.width, pointXOffset = series.pointXOffset = metrics.offset;
5363
+ series.closestPointRange * series.xAxis.transA < 2, borderWidth = series.borderWidth =
5364
+ 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;
4802
5365
  let translatedThreshold = series.translatedThreshold =
4803
5366
  yAxis.getThreshold(threshold),
4804
5367
  // Postprocessed for border width
@@ -4818,7 +5381,7 @@ class ColumnPyramidSeries extends ColumnPyramidSeries_ColumnSeries {
4818
5381
  super.translate();
4819
5382
  // Record the new values
4820
5383
  for (const point of series.points) {
4821
- const yBottom = (0,external_highcharts_src_js_default_namespaceObject.pick)(point.yBottom, translatedThreshold), safeDistance = 999 + Math.abs(yBottom), plotY = (0,external_highcharts_src_js_default_namespaceObject.clamp)(point.plotY, -safeDistance, yAxis.len + safeDistance),
5384
+ const yBottom = (point.yBottom ?? translatedThreshold), safeDistance = 999 + Math.abs(yBottom), plotY = (0,external_highcharts_src_js_default_namespaceObject.clamp)(point.plotY, -safeDistance, yAxis.len + safeDistance),
4822
5385
  // Don't draw too far outside plot area
4823
5386
  // (#1303, #2241, #4264)
4824
5387
  barW = seriesBarW / 2, barY = Math.min(plotY, yBottom), barH = Math.max(plotY, yBottom) - barY;
@@ -4934,6 +5497,7 @@ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('
4934
5497
  * Default Export
4935
5498
  *
4936
5499
  * */
5500
+ /** @internal */
4937
5501
  /* harmony default export */ const ColumnPyramid_ColumnPyramidSeries = ((/* unused pure expression or super */ null && (ColumnPyramidSeries)));
4938
5502
 
4939
5503
  ;// ./code/es-modules/Series/ErrorBar/ErrorBarSeriesDefaults.js
@@ -4967,7 +5531,7 @@ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('
4967
5531
  * Error bars with data labels
4968
5532
  *
4969
5533
  * @extends plotOptions.boxplot
4970
- * @excluding boostBlending, boostThreshold
5534
+ * @excluding borderRadius, boostBlending, boostThreshold
4971
5535
  * @product highcharts
4972
5536
  * @requires highcharts-more
4973
5537
  * @optionparent plotOptions.errorbar
@@ -4986,6 +5550,20 @@ const ErrorBarSeriesDefaults = {
4986
5550
  * @product highcharts
4987
5551
  */
4988
5552
  color: 'var(--highcharts-neutral-color-100)',
5553
+ dataLabels: {
5554
+ /**
5555
+ * Callback JavaScript function to format the data label. Note that if
5556
+ * a `format` is defined, the format takes precedence and the formatter
5557
+ * is ignored.
5558
+ *
5559
+ * The default formatter renders the value of the point key the label
5560
+ * is [aligned to](#plotOptions.errorbar.dataLabels.alignToKey). Define
5561
+ * a [format](#plotOptions.errorbar.dataLabels.format) or `formatter`
5562
+ * to display other values.
5563
+ *
5564
+ * @type {Highcharts.DataLabelsFormatterCallbackFunction}
5565
+ */
5566
+ },
4989
5567
  grouping: false,
4990
5568
  /**
4991
5569
  * The parent series of the error bar. The default value links it to
@@ -5106,6 +5684,7 @@ const ErrorBarSeriesDefaults = {
5106
5684
 
5107
5685
  const { arearange: ErrorBarSeries_AreaRangeSeries } = (external_highcharts_src_js_default_SeriesRegistry_default()).seriesTypes;
5108
5686
 
5687
+
5109
5688
  /* *
5110
5689
  *
5111
5690
  * Class
@@ -5114,7 +5693,7 @@ const { arearange: ErrorBarSeries_AreaRangeSeries } = (external_highcharts_src_j
5114
5693
  /**
5115
5694
  * Errorbar series type
5116
5695
  *
5117
- * @private
5696
+ * @internal
5118
5697
  * @class
5119
5698
  * @name Highcharts.seriesTypes.errorbar
5120
5699
  *
@@ -5134,14 +5713,9 @@ class ErrorBarSeries extends BoxPlot_BoxPlotSeries {
5134
5713
  external_highcharts_src_js_default_Series_types_column_default().prototype.getColumnMetrics.call(series));
5135
5714
  }
5136
5715
  drawDataLabels() {
5137
- const series = this, valKey = series.pointValKey;
5716
+ // Error bars draw upper/lower labels via the area range option adapter.
5138
5717
  if (ErrorBarSeries_AreaRangeSeries) {
5139
- ErrorBarSeries_AreaRangeSeries.prototype.drawDataLabels.call(series);
5140
- // Arearange drawDataLabels does not reset point.y to high,
5141
- // but to low after drawing (#4133)
5142
- for (const point of series.points) {
5143
- point.y = point[valKey];
5144
- }
5718
+ ErrorBarSeries_AreaRangeSeries.prototype.drawDataLabels.call(this);
5145
5719
  }
5146
5720
  }
5147
5721
  toYData(point) {
@@ -5154,7 +5728,7 @@ class ErrorBarSeries extends BoxPlot_BoxPlotSeries {
5154
5728
  * Static Properties
5155
5729
  *
5156
5730
  * */
5157
- ErrorBarSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObject.merge)(BoxPlot_BoxPlotSeries.defaultOptions, ErrorBar_ErrorBarSeriesDefaults);
5731
+ ErrorBarSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObject.merge)(BoxPlot_BoxPlotSeries.defaultOptions, ErrorBar_ErrorBarSeriesDefaults, { dataLabels: { formatter: Series_RangeDataLabel.formatter } });
5158
5732
  (0,external_highcharts_src_js_default_namespaceObject.addEvent)(ErrorBarSeries, 'afterTranslate', function () {
5159
5733
  for (const point of this.points) {
5160
5734
  point.plotLow = point.plotY;
@@ -5171,6 +5745,7 @@ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('
5171
5745
  * Default Export
5172
5746
  *
5173
5747
  * */
5748
+ /** @internal */
5174
5749
  /* harmony default export */ const ErrorBar_ErrorBarSeries = ((/* unused pure expression or super */ null && (ErrorBarSeries)));
5175
5750
 
5176
5751
  ;// ./code/es-modules/Series/Gauge/GaugePoint.js
@@ -5411,7 +5986,7 @@ class GaugeSeries extends GaugeSeries_Series {
5411
5986
  GaugeSeries_Series.prototype.setData.call(this, data, false);
5412
5987
  this.processData();
5413
5988
  this.generatePoints();
5414
- if ((0,external_highcharts_src_js_default_namespaceObject.pick)(redraw, true)) {
5989
+ if (redraw ?? true) {
5415
5990
  this.chart.redraw();
5416
5991
  }
5417
5992
  }
@@ -5852,7 +6427,7 @@ const { composed: DragNodesComposition_composed } = (external_highcharts_src_js_
5852
6427
  *
5853
6428
  * */
5854
6429
  /**
5855
- * @private
6430
+ * @internal
5856
6431
  */
5857
6432
  function DragNodesComposition_compose(ChartClass) {
5858
6433
  if ((0,external_highcharts_src_js_default_namespaceObject.pushUnique)(DragNodesComposition_composed, 'DragNodes')) {
@@ -5861,7 +6436,7 @@ function DragNodesComposition_compose(ChartClass) {
5861
6436
  }
5862
6437
  /**
5863
6438
  * Draggable mode:
5864
- * @private
6439
+ * @internal
5865
6440
  */
5866
6441
  function onChartLoad() {
5867
6442
  const chart = this;
@@ -5900,7 +6475,7 @@ function onChartLoad() {
5900
6475
  /**
5901
6476
  * Mouse down action, initializing drag&drop mode.
5902
6477
  *
5903
- * @private
6478
+ * @internal
5904
6479
  * @param {Highcharts.Point} point
5905
6480
  * The point that event occurred.
5906
6481
  * @param {Highcharts.PointerEventObject} event
@@ -5923,7 +6498,7 @@ function onMouseDown(point, event) {
5923
6498
  /**
5924
6499
  * Mouse move action during drag&drop.
5925
6500
  *
5926
- * @private
6501
+ * @internal
5927
6502
  *
5928
6503
  * @param {Highcharts.Point} point
5929
6504
  * The point that event occurred.
@@ -5953,7 +6528,7 @@ function onMouseMove(point, event) {
5953
6528
  /**
5954
6529
  * Mouse up action, finalizing drag&drop.
5955
6530
  *
5956
- * @private
6531
+ * @internal
5957
6532
  * @param {Highcharts.Point} point
5958
6533
  * The point that event occurred.
5959
6534
  */
@@ -5976,14 +6551,15 @@ function onMouseUp(point) {
5976
6551
  /**
5977
6552
  * Redraw halo on mousemove during the drag&drop action.
5978
6553
  *
5979
- * @private
6554
+ * @internal
5980
6555
  * @param {Highcharts.Point} point
5981
6556
  * The point that should show halo.
5982
6557
  */
5983
6558
  function redrawHalo(point) {
5984
6559
  if (point && this.halo) {
5985
6560
  this.halo.attr({
5986
- d: point.haloPath(this.options.states.hover.halo.size)
6561
+ d: point.haloPath((0,external_highcharts_src_js_default_namespaceObject.isObject)(this.options.states?.hover?.halo) &&
6562
+ this.options.states?.hover?.halo.size || 0)
5987
6563
  });
5988
6564
  }
5989
6565
  }
@@ -5992,6 +6568,7 @@ function redrawHalo(point) {
5992
6568
  * Default Export
5993
6569
  *
5994
6570
  * */
6571
+ /** @internal */
5995
6572
  const DragNodesComposition = {
5996
6573
  compose: DragNodesComposition_compose,
5997
6574
  onMouseDown,
@@ -5999,6 +6576,7 @@ const DragNodesComposition = {
5999
6576
  onMouseUp,
6000
6577
  redrawHalo
6001
6578
  };
6579
+ /** @internal */
6002
6580
  /* harmony default export */ const Series_DragNodesComposition = (DragNodesComposition);
6003
6581
 
6004
6582
  ;// ./code/es-modules/Series/GraphLayoutComposition.js
@@ -6017,7 +6595,6 @@ const DragNodesComposition = {
6017
6595
  * */
6018
6596
 
6019
6597
 
6020
- const { setAnimation } = (external_highcharts_src_js_default_default());
6021
6598
 
6022
6599
  const { composed: GraphLayoutComposition_composed } = (external_highcharts_src_js_default_default());
6023
6600
 
@@ -6105,7 +6682,7 @@ function onChartRender() {
6105
6682
  };
6106
6683
  // Don't animate layout when series is dragged
6107
6684
  if (this.graphLayoutsLookup && !this.pointer?.hasDragged) {
6108
- setAnimation(false, this);
6685
+ (0,external_highcharts_src_js_default_namespaceObject.setAnimation)(false, this);
6109
6686
  // Start simulation
6110
6687
  this.graphLayoutsLookup.forEach((layout) => layout.start());
6111
6688
  // Just one sync step, to run different layouts similar to
@@ -6118,6 +6695,7 @@ function onChartRender() {
6118
6695
  this.series.forEach((series) => {
6119
6696
  if (series && series.layout) {
6120
6697
  series.render();
6698
+ (0,external_highcharts_src_js_default_namespaceObject.fireEvent)(series, 'afterSimulation');
6121
6699
  }
6122
6700
  });
6123
6701
  }
@@ -7584,12 +8162,16 @@ class ReingoldFruchtermanLayout {
7584
8162
  this.integration =
7585
8163
  Series_GraphLayoutComposition.integrations[options.integration];
7586
8164
  this.enableSimulation = options.enableSimulation;
7587
- this.attractiveForce = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.attractiveForce, this.integration.attractiveForceFunction);
7588
- this.repulsiveForce = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.repulsiveForce, this.integration.repulsiveForceFunction);
8165
+ this.attractiveForce =
8166
+ options.attractiveForce ??
8167
+ this.integration.attractiveForceFunction;
8168
+ this.repulsiveForce =
8169
+ options.repulsiveForce ??
8170
+ this.integration.repulsiveForceFunction;
7589
8171
  this.approximation = options.approximation;
7590
8172
  }
7591
8173
  updateSimulation(enable) {
7592
- this.enableSimulation = (0,external_highcharts_src_js_default_namespaceObject.pick)(enable, this.options.enableSimulation);
8174
+ this.enableSimulation = (enable ?? this.options.enableSimulation);
7593
8175
  }
7594
8176
  start() {
7595
8177
  const layout = this, series = this.series, options = this.options;
@@ -7719,7 +8301,7 @@ class ReingoldFruchtermanLayout {
7719
8301
  }
7720
8302
  }
7721
8303
  setMaxIterations(maxIterations) {
7722
- this.maxIterations = (0,external_highcharts_src_js_default_namespaceObject.pick)(maxIterations, this.options.maxIterations);
8304
+ this.maxIterations = (maxIterations ?? this.options.maxIterations);
7723
8305
  }
7724
8306
  setTemperature() {
7725
8307
  this.temperature = this.startTemperature =
@@ -7795,8 +8377,12 @@ class ReingoldFruchtermanLayout {
7795
8377
  // as a cluster in the middle
7796
8378
  for (let i = 0, iEnd = sortedNodes.length; i < iEnd; ++i) {
7797
8379
  node = sortedNodes[i];
7798
- node.plotX = node.prevX = (0,external_highcharts_src_js_default_namespaceObject.pick)(node.plotX, box.width / 2 + radius * Math.cos(i * angle));
7799
- node.plotY = node.prevY = (0,external_highcharts_src_js_default_namespaceObject.pick)(node.plotY, box.height / 2 + radius * Math.sin(i * angle));
8380
+ node.plotX = node.prevX =
8381
+ node.plotX ??
8382
+ box.width / 2 + radius * Math.cos(i * angle);
8383
+ node.plotY = node.prevY =
8384
+ node.plotY ??
8385
+ box.height / 2 + radius * Math.sin(i * angle);
7800
8386
  node.dispX = 0;
7801
8387
  node.dispY = 0;
7802
8388
  }
@@ -7817,8 +8403,9 @@ class ReingoldFruchtermanLayout {
7817
8403
  // Initial positions:
7818
8404
  for (let i = 0, iEnd = nodes.length; i < iEnd; ++i) {
7819
8405
  node = nodes[i];
7820
- node.plotX = node.prevX = (0,external_highcharts_src_js_default_namespaceObject.pick)(node.plotX, box.width * unrandom(i));
7821
- node.plotY = node.prevY = (0,external_highcharts_src_js_default_namespaceObject.pick)(node.plotY, box.height * unrandom(nodesLength + i));
8406
+ node.plotX = node.prevX = (node.plotX ?? box.width * unrandom(i));
8407
+ node.plotY = node.prevY =
8408
+ node.plotY ?? box.height * unrandom(nodesLength + i);
7822
8409
  node.dispX = 0;
7823
8410
  node.dispY = 0;
7824
8411
  }
@@ -8141,9 +8728,9 @@ class PackedBubbleLayout extends Networkgraph_ReingoldFruchtermanLayout {
8141
8728
  centerX = box.width / 2;
8142
8729
  centerY = box.height / 2;
8143
8730
  }
8144
- node.plotX = node.prevX = (0,external_highcharts_src_js_default_namespaceObject.pick)(node.plotX, centerX +
8731
+ node.plotX = node.prevX = (node.plotX ?? centerX +
8145
8732
  radius * Math.cos(node.index || index * angle));
8146
- node.plotY = node.prevY = (0,external_highcharts_src_js_default_namespaceObject.pick)(node.plotY, centerY +
8733
+ node.plotY = node.prevY = (node.plotY ?? centerY +
8147
8734
  radius * Math.sin(node.index || index * angle));
8148
8735
  node.dispX = 0;
8149
8736
  node.dispY = 0;
@@ -8243,7 +8830,6 @@ Series_GraphLayoutComposition.layouts.packedbubble = PackedBubbleLayout;
8243
8830
 
8244
8831
 
8245
8832
 
8246
- const { animObject } = (external_highcharts_src_js_default_default());
8247
8833
  /**
8248
8834
  * Create a setTimeout for the first drawDataLabels()
8249
8835
  * based on the dataLabels.animation.defer value
@@ -8263,7 +8849,7 @@ function initDataLabelsDefer() {
8263
8849
  else {
8264
8850
  (0,external_highcharts_src_js_default_namespaceObject.syncTimeout)(() => {
8265
8851
  this.deferDataLabels = false;
8266
- }, dlOptions ? animObject(dlOptions.animation).defer : 0);
8852
+ }, dlOptions ? (0,external_highcharts_src_js_default_namespaceObject.animObject)(dlOptions.animation).defer : 0);
8267
8853
  }
8268
8854
  }
8269
8855
  /**
@@ -8773,8 +9359,8 @@ class PackedBubbleSeries extends PackedBubbleSeries_BubbleSeries {
8773
9359
  }
8774
9360
  });
8775
9361
  });
8776
- zMin = (0,external_highcharts_src_js_default_namespaceObject.pick)(zMin, valMin);
8777
- zMax = (0,external_highcharts_src_js_default_namespaceObject.pick)(zMax, valMax);
9362
+ zMin = (zMin ?? valMin);
9363
+ zMax = (zMax ?? valMax);
8778
9364
  return [zMin, zMax];
8779
9365
  }
8780
9366
  /**
@@ -8913,7 +9499,7 @@ class PackedBubbleSeries extends PackedBubbleSeries_BubbleSeries {
8913
9499
  color(this.color).brighten(0.4).get()),
8914
9500
  opacity: nodeMarker.fillOpacity,
8915
9501
  stroke: nodeMarker.lineColor || this.color,
8916
- 'stroke-width': (0,external_highcharts_src_js_default_namespaceObject.pick)(nodeMarker.lineWidth, this.options.lineWidth)
9502
+ 'stroke-width': (nodeMarker.lineWidth ?? this.options.lineWidth)
8917
9503
  };
8918
9504
  let parentAttribs = {};
8919
9505
  // Create the group for parent Nodes if doesn't exist
@@ -9368,7 +9954,7 @@ class PackedBubbleSeries extends PackedBubbleSeries_BubbleSeries {
9368
9954
  // Update the series points with the val from positions
9369
9955
  // array
9370
9956
  point = data[position[4]];
9371
- radius = (0,external_highcharts_src_js_default_namespaceObject.pick)(position[2], void 0);
9957
+ radius = (position[2] ?? void 0);
9372
9958
  if (!useSimulation) {
9373
9959
  point.plotX = (position[0] - chart.plotLeft +
9374
9960
  chart.diffX);
@@ -9436,577 +10022,208 @@ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('
9436
10022
 
9437
10023
  /* *
9438
10024
  *
9439
- * API Options
9440
- *
9441
- * */
9442
- /**
9443
- * A polygon series can be used to draw any freeform shape in the cartesian
9444
- * coordinate system. A fill is applied with the `color` option, and
9445
- * stroke is applied through `lineWidth` and `lineColor` options.
9446
- *
9447
- * @sample {highcharts} highcharts/demo/polygon/
9448
- * Polygon
9449
- * @sample {highstock} highcharts/demo/polygon/
9450
- * Polygon
9451
- *
9452
- * @extends plotOptions.scatter
9453
- * @since 4.1.0
9454
- * @excluding jitter, softThreshold, threshold, cluster, boostThreshold,
9455
- * boostBlending
9456
- * @product highcharts highstock
9457
- * @requires highcharts-more
9458
- * @optionparent plotOptions.polygon
9459
- */
9460
- const PolygonSeriesDefaults = {
9461
- marker: {
9462
- enabled: false,
9463
- states: {
9464
- hover: {
9465
- enabled: false
9466
- }
9467
- }
9468
- },
9469
- stickyTracking: false,
9470
- tooltip: {
9471
- followPointer: true,
9472
- pointFormat: ''
9473
- },
9474
- trackByArea: true,
9475
- legendSymbol: 'rectangle'
9476
- };
9477
- /**
9478
- * A `polygon` series. If the [type](#series.polygon.type) option is
9479
- * not specified, it is inherited from [chart.type](#chart.type).
9480
- *
9481
- * @extends series,plotOptions.polygon
9482
- * @excluding dataParser, dataURL, stack, boostThreshold, boostBlending
9483
- * @product highcharts highstock
9484
- * @requires highcharts-more
9485
- * @apioption series.polygon
9486
- */
9487
- /**
9488
- * An array of data points for the series. For the `polygon` series
9489
- * type, points can be given in the following ways:
9490
- *
9491
- * 1. An array of numerical values. In this case, the numerical values will be
9492
- * interpreted as `y` options. The `x` values will be automatically
9493
- * calculated, either starting at 0 and incremented by 1, or from
9494
- * `pointStart` and `pointInterval` given in the series options. If the axis
9495
- * has categories, these will be used. Example:
9496
- * ```js
9497
- * data: [0, 5, 3, 5]
9498
- * ```
9499
- *
9500
- * 2. An array of arrays with 2 values. In this case, the values correspond to
9501
- * `x,y`. If the first value is a string, it is applied as the name of the
9502
- * point, and the `x` value is inferred.
9503
- * ```js
9504
- * data: [
9505
- * [0, 10],
9506
- * [1, 3],
9507
- * [2, 1]
9508
- * ]
9509
- * ```
9510
- *
9511
- * 3. An array of objects with named values. The following snippet shows only a
9512
- * few settings, see the complete options set below. If the total number of
9513
- * data points exceeds the series'
9514
- * [turboThreshold](#series.polygon.turboThreshold), this option is not
9515
- * available.
9516
- * ```js
9517
- * data: [{
9518
- * x: 1,
9519
- * y: 1,
9520
- * name: "Point2",
9521
- * color: "#00FF00"
9522
- * }, {
9523
- * x: 1,
9524
- * y: 8,
9525
- * name: "Point1",
9526
- * color: "#FF00FF"
9527
- * }]
9528
- * ```
9529
- *
9530
- * @sample {highcharts} highcharts/chart/reflow-true/
9531
- * Numerical values
9532
- * @sample {highcharts} highcharts/series/data-array-of-arrays/
9533
- * Arrays of numeric x and y
9534
- * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
9535
- * Arrays of datetime x and y
9536
- * @sample {highcharts} highcharts/series/data-array-of-name-value/
9537
- * Arrays of point.name and y
9538
- * @sample {highcharts} highcharts/series/data-array-of-objects/
9539
- * Config objects
9540
- *
9541
- * @basic
9542
- * @type {Array<number|Array<(number|string),(number|null)>|null|*>}
9543
- * @extends series.line.data
9544
- * @product highcharts highstock
9545
- * @apioption series.polygon.data
9546
- */
9547
- ''; // Keeps doclets above separate
9548
- /* *
9549
- *
9550
- * Default Export
9551
- *
9552
- * */
9553
- /* harmony default export */ const Polygon_PolygonSeriesDefaults = (PolygonSeriesDefaults);
9554
-
9555
- ;// ./code/es-modules/Series/Polygon/PolygonSeries.js
9556
- /* *
9557
- *
9558
- * (c) 2010-2026 Highsoft AS
9559
- * Author: Torstein Hønsi
9560
- *
9561
- * Integration of this software requires a license.
9562
- * - For commercial use, see www.highcharts.com/license
9563
- * - For non-commercial, see www.highcharts.com/license-eula
9564
- *
9565
- *
9566
- * */
9567
-
9568
-
9569
- const { noop: PolygonSeries_noop } = (external_highcharts_src_js_default_default());
9570
-
9571
-
9572
- const { area: PolygonSeries_AreaSeries, line: LineSeries, scatter: PolygonSeries_ScatterSeries } = (external_highcharts_src_js_default_SeriesRegistry_default()).seriesTypes;
9573
-
9574
- /* *
9575
- *
9576
- * Class
9577
- *
9578
- * */
9579
- class PolygonSeries extends PolygonSeries_ScatterSeries {
9580
- /* *
9581
- *
9582
- * Functions
9583
- *
9584
- * */
9585
- getGraphPath() {
9586
- const graphPath = LineSeries.prototype.getGraphPath.call(this);
9587
- let i = graphPath.length + 1;
9588
- // Close all segments
9589
- while (i--) {
9590
- if ((i === graphPath.length || graphPath[i][0] === 'M') && i > 0) {
9591
- graphPath.splice(i, 0, ['Z']);
9592
- }
9593
- }
9594
- this.areaPath = graphPath;
9595
- return graphPath;
9596
- }
9597
- drawGraph() {
9598
- // Hack into the fill logic in area.drawGraph
9599
- this.options.fillColor = this.color;
9600
- PolygonSeries_AreaSeries.prototype.drawGraph.call(this);
9601
- }
9602
- }
9603
- /* *
9604
- *
9605
- * Static Properties
9606
- *
9607
- * */
9608
- PolygonSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObject.merge)(PolygonSeries_ScatterSeries.defaultOptions, Polygon_PolygonSeriesDefaults);
9609
- (0,external_highcharts_src_js_default_namespaceObject.extend)(PolygonSeries.prototype, {
9610
- type: 'polygon',
9611
- drawTracker: LineSeries.prototype.drawTracker,
9612
- setStackedPoints: PolygonSeries_noop // No stacking points on polygons (#5310)
9613
- });
9614
- external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('polygon', PolygonSeries);
9615
- /* *
9616
- *
9617
- * Default Export
9618
- *
9619
- * */
9620
- /* harmony default export */ const Polygon_PolygonSeries = ((/* unused pure expression or super */ null && (PolygonSeries)));
9621
-
9622
- ;// ./code/es-modules/Extensions/BorderRadius.js
9623
- /* *
9624
- *
9625
- * Highcharts Border Radius module
9626
- *
9627
- * Author: Torstein Hønsi
9628
- *
9629
- * Integration of this software requires a license.
9630
- * - For commercial use, see www.highcharts.com/license
9631
- * - For non-commercial, see www.highcharts.com/license-eula
9632
- *
9633
- *
9634
- * */
9635
-
9636
-
9637
- const { defaultOptions: BorderRadius_defaultOptions } = (external_highcharts_src_js_default_default());
9638
-
9639
- const { noop: BorderRadius_noop } = (external_highcharts_src_js_default_default());
9640
-
9641
- /* *
9642
- *
9643
- * Constants
9644
- *
9645
- * */
9646
- const defaultBorderRadiusOptions = {
9647
- radius: 0,
9648
- scope: 'stack',
9649
- where: void 0
9650
- };
9651
- /* *
9652
- *
9653
- * Variables
10025
+ * API Options
9654
10026
  *
9655
10027
  * */
9656
- let oldArc = (/* unused pure expression or super */ null && (BorderRadius_noop));
9657
- let oldRoundedRect = (/* unused pure expression or super */ null && (BorderRadius_noop));
9658
- /* *
10028
+ /**
10029
+ * A polygon series can be used to draw any freeform shape in the cartesian
10030
+ * coordinate system. A fill is applied with the `color` option, and
10031
+ * stroke is applied through `lineWidth` and `lineColor` options.
9659
10032
  *
9660
- * Functions
10033
+ * @sample {highcharts} highcharts/demo/polygon/
10034
+ * Polygon
10035
+ * @sample {highstock} highcharts/demo/polygon/
10036
+ * Polygon
9661
10037
  *
9662
- * */
9663
- /** @internal */
9664
- function applyBorderRadius(path, i, r) {
9665
- const a = path[i];
9666
- let b = path[i + 1];
9667
- if (b[0] === 'Z') {
9668
- b = path[0];
9669
- }
9670
- let line, arc, fromLineToArc;
9671
- // From straight line to arc
9672
- if ((a[0] === 'M' || a[0] === 'L') && b[0] === 'A') {
9673
- line = a;
9674
- arc = b;
9675
- fromLineToArc = true;
9676
- // From arc to straight line
9677
- }
9678
- else if (a[0] === 'A' && (b[0] === 'M' || b[0] === 'L')) {
9679
- line = b;
9680
- arc = a;
9681
- }
9682
- if (line && arc && arc.params) {
9683
- const bigR = arc[1],
9684
- // In our use cases, outer pie slice arcs are clockwise and inner
9685
- // arcs (donut/sunburst etc) are anti-clockwise
9686
- clockwise = arc[5], params = arc.params, { start, end, cx, cy } = params;
9687
- // Some geometric constants
9688
- const relativeR = clockwise ? (bigR - r) : (bigR + r),
9689
- // The angle, on the big arc, that the border radius arc takes up
9690
- angleOfBorderRadius = relativeR ? Math.asin(r / relativeR) : 0, angleOffset = clockwise ?
9691
- angleOfBorderRadius :
9692
- -angleOfBorderRadius,
9693
- // The distance along the radius of the big arc to the starting
9694
- // point of the small border radius arc
9695
- distanceBigCenterToStartArc = (Math.cos(angleOfBorderRadius) *
9696
- relativeR);
9697
- // From line to arc
9698
- if (fromLineToArc) {
9699
- // Update the cache
9700
- params.start = start + angleOffset;
9701
- // First move to the start position at the radial line. We want to
9702
- // start one borderRadius closer to the center.
9703
- line[1] = cx + distanceBigCenterToStartArc * Math.cos(start);
9704
- line[2] = cy + distanceBigCenterToStartArc * Math.sin(start);
9705
- // Now draw an arc towards the point where the small circle touches
9706
- // the great circle.
9707
- path.splice(i + 1, 0, [
9708
- 'A',
9709
- r,
9710
- r,
9711
- 0, // Slanting,
9712
- 0, // Long arc
9713
- 1, // Clockwise
9714
- cx + bigR * Math.cos(params.start),
9715
- cy + bigR * Math.sin(params.start)
9716
- ]);
9717
- // From arc to line
9718
- }
9719
- else {
9720
- // Update the cache
9721
- params.end = end - angleOffset;
9722
- // End the big arc a bit earlier
9723
- arc[6] = cx + bigR * Math.cos(params.end);
9724
- arc[7] = cy + bigR * Math.sin(params.end);
9725
- // Draw a small arc towards a point on the end angle, but one
9726
- // borderRadius closer to the center relative to the perimeter.
9727
- path.splice(i + 1, 0, [
9728
- 'A',
9729
- r,
9730
- r,
9731
- 0,
9732
- 0,
9733
- 1,
9734
- cx + distanceBigCenterToStartArc * Math.cos(end),
9735
- cy + distanceBigCenterToStartArc * Math.sin(end)
9736
- ]);
9737
- }
9738
- // Long or short arc must be reconsidered because we have modified the
9739
- // start and end points
9740
- arc[4] = Math.abs(params.end - params.start) < Math.PI ? 0 : 1;
9741
- }
9742
- }
9743
- /**
9744
- * Extend arc with borderRadius.
9745
- * @internal
10038
+ * @extends plotOptions.scatter
10039
+ * @since 4.1.0
10040
+ * @excluding jitter, softThreshold, threshold, cluster, boostThreshold,
10041
+ * boostBlending
10042
+ * @product highcharts highstock
10043
+ * @requires highcharts-more
10044
+ * @optionparent plotOptions.polygon
9746
10045
  */
9747
- function arc(x, y, w, h, options = {}) {
9748
- const path = oldArc(x, y, w, h, options), { brStart = true, brEnd = true, innerR = 0, r = w, start = 0, end = 0 } = options;
9749
- if (options.open || !options.borderRadius) {
9750
- return path;
9751
- }
9752
- const alpha = end - start, sinHalfAlpha = Math.sin(alpha / 2), borderRadius = Math.max(Math.min(relativeLength(options.borderRadius || 0, r - innerR),
9753
- // Cap to half the sector radius
9754
- (r - innerR) / 2,
9755
- // For smaller pie slices, cap to the largest small circle that
9756
- // can be fitted within the sector
9757
- (r * sinHalfAlpha) / (1 + sinHalfAlpha)), 0),
9758
- // For the inner radius, we need an extra cap because the inner arc
9759
- // is shorter than the outer arc
9760
- innerBorderRadius = Math.min(borderRadius, 2 * (alpha / Math.PI) * innerR);
9761
- // Apply turn-by-turn border radius. Start at the end since we're
9762
- // splicing in arc segments.
9763
- let i = path.length - 1;
9764
- while (i--) {
9765
- if ((!brStart && (i === 0 || i === 3)) ||
9766
- (!brEnd && (i === 1 || i === 2))) {
9767
- continue;
9768
- }
9769
- applyBorderRadius(path, i, i > 1 ? innerBorderRadius : borderRadius);
9770
- }
9771
- return path;
9772
- }
9773
- /** @internal */
9774
- function seriesOnAfterColumnTranslate() {
9775
- if (this.options.borderRadius &&
9776
- !(this.chart.is3d && this.chart.is3d())) {
9777
- const { options, yAxis } = this, percent = options.stacking === 'percent', seriesDefault = BorderRadius_defaultOptions.plotOptions?.[this.type]
9778
- ?.borderRadius, borderRadius = optionsToObject(options.borderRadius, isObject(seriesDefault) ? seriesDefault : {}), reversed = yAxis.options.reversed;
9779
- for (const point of this.points) {
9780
- const { shapeArgs } = point;
9781
- if (point.shapeType === 'roundedRect' && shapeArgs) {
9782
- const { width = 0, height = 0, y = 0 } = shapeArgs;
9783
- let brBoxY = y, brBoxHeight = height;
9784
- // It would be nice to refactor StackItem.getStackBox/
9785
- // setOffset so that we could get a reliable box out of
9786
- // it. Currently it is close if we remove the label
9787
- // offset, but we still need to run crispCol and also
9788
- // flip it if inverted, so atm it is simpler to do it
9789
- // like the below.
9790
- if (borderRadius.scope === 'stack' &&
9791
- point.stackTotal) {
9792
- 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));
9793
- brBoxY = box.y;
9794
- brBoxHeight = box.height;
9795
- }
9796
- const flip = (point.negative ? -1 : 1) *
9797
- (reversed ? -1 : 1) === -1;
9798
- // Handle the where option
9799
- let where = borderRadius.where;
9800
- // Waterfall, hanging columns should have rounding on
9801
- // all sides
9802
- if (!where &&
9803
- this.is('waterfall') &&
9804
- Math.abs((point.yBottom || 0) -
9805
- (this.translatedThreshold || 0)) > this.borderWidth) {
9806
- where = 'all';
9807
- }
9808
- if (!where) {
9809
- where = 'end';
9810
- }
9811
- // Get the radius
9812
- const r = Math.min(relativeLength(borderRadius.radius, width), width / 2,
9813
- // Cap to the height, but not if where is `end`
9814
- where === 'all' ? brBoxHeight / 2 : Infinity) || 0;
9815
- // If the `where` option is 'end', cut off the
9816
- // rectangles by making the border-radius box one r
9817
- // greater, so that the imaginary radius falls outside
9818
- // the rectangle.
9819
- if (where === 'end') {
9820
- if (flip) {
9821
- brBoxY -= r;
9822
- brBoxHeight += r;
9823
- }
9824
- else {
9825
- brBoxHeight += r;
9826
- }
9827
- }
9828
- extend(shapeArgs, { brBoxHeight, brBoxY, r });
10046
+ const PolygonSeriesDefaults = {
10047
+ /**
10048
+ * Fill opacity for the polygon. When you set an explicit `fillColor`,
10049
+ * the `fillOpacity` is not applied. Instead, you should define the
10050
+ * opacity in the `fillColor` with an rgba color definition.
10051
+ *
10052
+ * In styled mode, the fill opacity can be set with the
10053
+ * `.highcharts-area` class name.
10054
+ *
10055
+ * @see [color](#plotOptions.polygon.color)
10056
+ * @see [fillColor](#plotOptions.polygon.fillColor)
10057
+ *
10058
+ * @sample {highcharts} highcharts/demo/violin-plot/
10059
+ * Translucent violins
10060
+ *
10061
+ * @type {number}
10062
+ * @default 1
10063
+ * @since 13.0.1
10064
+ * @product highcharts highstock
10065
+ */
10066
+ fillOpacity: 1,
10067
+ marker: {
10068
+ enabled: false,
10069
+ states: {
10070
+ hover: {
10071
+ enabled: false
9829
10072
  }
9830
10073
  }
9831
- }
9832
- }
9833
- /** @internal */
9834
- function composeBorderRadius(SeriesClass, SVGElementClass, SVGRendererClass) {
9835
- const PieSeriesClass = SeriesClass.types.pie;
9836
- if (!SVGElementClass.symbolCustomAttribs.includes('borderRadius')) {
9837
- const symbols = SVGRendererClass.prototype.symbols;
9838
- addEvent(SeriesClass, 'afterColumnTranslate', seriesOnAfterColumnTranslate, {
9839
- // After columnrange and polar column modifications
9840
- order: 9
9841
- });
9842
- addEvent(PieSeriesClass, 'afterTranslate', pieSeriesOnAfterTranslate);
9843
- SVGElementClass.symbolCustomAttribs.push('borderRadius', 'brBoxHeight', 'brBoxY', 'brEnd', 'brStart');
9844
- oldArc = symbols.arc;
9845
- oldRoundedRect = symbols.roundedRect;
9846
- symbols.arc = arc;
9847
- symbols.roundedRect = roundedRect;
9848
- }
9849
- }
9850
- /** @internal */
9851
- function optionsToObject(options, seriesBROptions) {
9852
- if (!(0,external_highcharts_src_js_default_namespaceObject.isObject)(options)) {
9853
- options = { radius: options || 0 };
9854
- }
9855
- return (0,external_highcharts_src_js_default_namespaceObject.merge)(defaultBorderRadiusOptions, seriesBROptions, options);
9856
- }
9857
- /** @internal */
9858
- function pieSeriesOnAfterTranslate() {
9859
- const borderRadius = optionsToObject(this.options.borderRadius);
9860
- for (const point of this.points) {
9861
- const shapeArgs = point.shapeArgs;
9862
- if (shapeArgs) {
9863
- shapeArgs.borderRadius = relativeLength(borderRadius.radius, (shapeArgs.r || 0) - ((shapeArgs.innerR) || 0));
9864
- }
9865
- }
9866
- }
10074
+ },
10075
+ stickyTracking: false,
10076
+ tooltip: {
10077
+ followPointer: true,
10078
+ pointFormat: ''
10079
+ },
10080
+ trackByArea: true,
10081
+ legendSymbol: 'rectangle'
10082
+ };
9867
10083
  /**
9868
- * Extend roundedRect with individual cutting through rOffset.
9869
- * @internal
10084
+ * A `polygon` series. If the [type](#series.polygon.type) option is
10085
+ * not specified, it is inherited from [chart.type](#chart.type).
10086
+ *
10087
+ * @extends series,plotOptions.polygon
10088
+ * @excluding dataParser, dataURL, stack, boostThreshold, boostBlending
10089
+ * @product highcharts highstock
10090
+ * @requires highcharts-more
10091
+ * @apioption series.polygon
9870
10092
  */
9871
- function roundedRect(x, y, width, height, options = {}) {
9872
- const path = oldRoundedRect(x, y, width, height, options), { r = 0, brBoxHeight = height, brBoxY = y } = options, brOffsetTop = y - brBoxY, brOffsetBtm = (brBoxY + brBoxHeight) - (y + height),
9873
- // When the distance to the border-radius box is greater than the r
9874
- // itself, it means no border radius. The -0.1 accounts for float
9875
- // rounding errors.
9876
- 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);
9877
- /*
10093
+ /**
10094
+ * An array of data points for the series. For the `polygon` series
10095
+ * type, points can be given in the following ways:
10096
+ *
10097
+ * 1. An array of numerical values. In this case, the numerical values will be
10098
+ * interpreted as `y` options. The `x` values will be automatically
10099
+ * calculated, either starting at 0 and incremented by 1, or from
10100
+ * `pointStart` and `pointInterval` given in the series options. If the axis
10101
+ * has categories, these will be used. Example:
10102
+ * ```js
10103
+ * data: [0, 5, 3, 5]
10104
+ * ```
10105
+ *
10106
+ * 2. An array of arrays with 2 values. In this case, the values correspond to
10107
+ * `x,y`. If the first value is a string, it is applied as the name of the
10108
+ * point, and the `x` value is inferred.
10109
+ * ```js
10110
+ * data: [
10111
+ * [0, 10],
10112
+ * [1, 3],
10113
+ * [2, 1]
10114
+ * ]
10115
+ * ```
10116
+ *
10117
+ * 3. An array of objects with named values. The following snippet shows only a
10118
+ * few settings, see the complete options set below. If the total number of
10119
+ * data points exceeds the series'
10120
+ * [turboThreshold](#series.polygon.turboThreshold), this option is not
10121
+ * available.
10122
+ * ```js
10123
+ * data: [{
10124
+ * x: 1,
10125
+ * y: 1,
10126
+ * name: "Point2",
10127
+ * color: "#00FF00"
10128
+ * }, {
10129
+ * x: 1,
10130
+ * y: 8,
10131
+ * name: "Point1",
10132
+ * color: "#FF00FF"
10133
+ * }]
10134
+ * ```
10135
+ *
10136
+ * @sample {highcharts} highcharts/chart/reflow-true/
10137
+ * Numerical values
10138
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
10139
+ * Arrays of numeric x and y
10140
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
10141
+ * Arrays of datetime x and y
10142
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
10143
+ * Arrays of point.name and y
10144
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
10145
+ * Config objects
10146
+ *
10147
+ * @basic
10148
+ * @type {Array<number|Array<(number|string),(number|null)>|null|*>}
10149
+ * @extends series.line.data
10150
+ * @product highcharts highstock
10151
+ * @apioption series.polygon.data
10152
+ */
10153
+ ''; // Keeps doclets above separate
10154
+ /* *
10155
+ *
10156
+ * Default Export
10157
+ *
10158
+ * */
10159
+ /* harmony default export */ const Polygon_PolygonSeriesDefaults = (PolygonSeriesDefaults);
9878
10160
 
9879
- The naming of control points:
10161
+ ;// ./code/es-modules/Series/Polygon/PolygonSeries.js
10162
+ /* *
10163
+ *
10164
+ * (c) 2010-2026 Highsoft AS
10165
+ * Author: Torstein Hønsi
10166
+ *
10167
+ * Integration of this software requires a license.
10168
+ * - For commercial use, see www.highcharts.com/license
10169
+ * - For non-commercial, see www.highcharts.com/license-eula
10170
+ *
10171
+ *
10172
+ * */
9880
10173
 
9881
- / a -------- b \
9882
- / \
9883
- h c
9884
- | |
9885
- | |
9886
- | |
9887
- g d
9888
- \ /
9889
- \ f -------- e /
9890
10174
 
9891
- */
9892
- const a = [x + rTop, y], b = [x + width - rTop, y], c = [x + width, y + rTop], d = [
9893
- x + width, y + height - rBtm
9894
- ], e = [
9895
- x + width - rBtm,
9896
- y + height
9897
- ], f = [x + rBtm, y + height], g = [x, y + height - rBtm], h = [x, y + rTop];
9898
- const applyPythagoras = (r, altitude) => Math.sqrt(Math.pow(r, 2) - Math.pow(altitude, 2));
9899
- // Inside stacks, cut off part of the top
9900
- if (cutTop) {
9901
- const base = applyPythagoras(rTop, rTop - cutTop);
9902
- a[0] -= base;
9903
- b[0] += base;
9904
- c[1] = h[1] = y + rTop - cutTop;
9905
- }
9906
- // Column is lower than the radius. Cut off bottom inside the top
9907
- // radius.
9908
- if (height < rTop - cutTop) {
9909
- const base = applyPythagoras(rTop, rTop - cutTop - height);
9910
- c[0] = d[0] = x + width - rTop + base;
9911
- e[0] = Math.min(c[0], e[0]);
9912
- f[0] = Math.max(d[0], f[0]);
9913
- g[0] = h[0] = x + rTop - base;
9914
- c[1] = h[1] = y + height;
9915
- }
9916
- // Inside stacks, cut off part of the bottom
9917
- if (cutBtm) {
9918
- const base = applyPythagoras(rBtm, rBtm - cutBtm);
9919
- e[0] += base;
9920
- f[0] -= base;
9921
- d[1] = g[1] = y + height - rBtm + cutBtm;
10175
+ const { noop: PolygonSeries_noop } = (external_highcharts_src_js_default_default());
10176
+
10177
+
10178
+ const { area: PolygonSeries_AreaSeries, line: LineSeries, scatter: PolygonSeries_ScatterSeries } = (external_highcharts_src_js_default_SeriesRegistry_default()).seriesTypes;
10179
+
10180
+ /* *
10181
+ *
10182
+ * Class
10183
+ *
10184
+ * */
10185
+ class PolygonSeries extends PolygonSeries_ScatterSeries {
10186
+ /* *
10187
+ *
10188
+ * Functions
10189
+ *
10190
+ * */
10191
+ getGraphPath() {
10192
+ const graphPath = LineSeries.prototype.getGraphPath.call(this);
10193
+ let i = graphPath.length + 1;
10194
+ // Close all segments
10195
+ while (i--) {
10196
+ if ((i === graphPath.length || graphPath[i][0] === 'M') && i > 0) {
10197
+ graphPath.splice(i, 0, ['Z']);
10198
+ }
10199
+ }
10200
+ this.areaPath = graphPath;
10201
+ return graphPath;
9922
10202
  }
9923
- // Cut off top inside the bottom radius
9924
- if (height < rBtm - cutBtm) {
9925
- const base = applyPythagoras(rBtm, rBtm - cutBtm - height);
9926
- c[0] = d[0] = x + width - rBtm + base;
9927
- b[0] = Math.min(c[0], b[0]);
9928
- a[0] = Math.max(d[0], a[0]);
9929
- g[0] = h[0] = x + rBtm - base;
9930
- d[1] = g[1] = y;
10203
+ drawGraph() {
10204
+ // Borrow the fill logic from area.drawGraph, honoring `fillOpacity`
10205
+ // and an optional `fillColor`
10206
+ PolygonSeries_AreaSeries.prototype.drawGraph.call(this);
9931
10207
  }
9932
- // Preserve the box for data labels
9933
- path.length = 0;
9934
- path.push(['M', ...a],
9935
- // Top side
9936
- ['L', ...b],
9937
- // Top right corner
9938
- ['A', rTop, rTop, 0, 0, 1, ...c],
9939
- // Right side
9940
- ['L', ...d],
9941
- // Bottom right corner
9942
- ['A', rBtm, rBtm, 0, 0, 1, ...e],
9943
- // Bottom side
9944
- ['L', ...f],
9945
- // Bottom left corner
9946
- ['A', rBtm, rBtm, 0, 0, 1, ...g],
9947
- // Left side
9948
- ['L', ...h],
9949
- // Top left corner
9950
- ['A', rTop, rTop, 0, 0, 1, ...a], ['Z']);
9951
- return path;
9952
10208
  }
9953
10209
  /* *
9954
10210
  *
9955
- * API Declarations
10211
+ * Static Properties
9956
10212
  *
9957
10213
  * */
9958
- /**
9959
- * Detailed options for border radius.
10214
+ PolygonSeries.defaultOptions = (0,external_highcharts_src_js_default_namespaceObject.merge)(PolygonSeries_ScatterSeries.defaultOptions, Polygon_PolygonSeriesDefaults);
10215
+ (0,external_highcharts_src_js_default_namespaceObject.extend)(PolygonSeries.prototype, {
10216
+ type: 'polygon',
10217
+ drawTracker: LineSeries.prototype.drawTracker,
10218
+ setStackedPoints: PolygonSeries_noop // No stacking points on polygons (#5310)
10219
+ });
10220
+ external_highcharts_src_js_default_SeriesRegistry_default().registerSeriesType('polygon', PolygonSeries);
10221
+ /* *
9960
10222
  *
9961
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
9962
- * Rounded columns
9963
- * @sample highcharts/plotoptions/series-border-radius
9964
- * Column and pie with rounded border
10223
+ * Default Export
9965
10224
  *
9966
- * @interface Highcharts.BorderRadiusOptionsObject
9967
- */ /**
9968
- * The border radius. A number signifies pixels. A percentage string, like for
9969
- * example `50%`, signifies a relative size. For columns this is relative to the
9970
- * column width, for pies it is relative to the radius and the inner radius.
9971
- *
9972
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
9973
- * Rounded columns
9974
- * @sample highcharts/plotoptions/series-border-radius
9975
- * Column and pie with rounded border
9976
- *
9977
- * @name Highcharts.BorderRadiusOptionsObject#radius
9978
- * @type {string|number}
9979
- */ /**
9980
- * The scope of the rounding for column charts or plot bands. In a stacked
9981
- * column chart, the value `point` means each single point will get rounded
9982
- * corners. The value `stack` means the rounding will apply to the full
9983
- * stack, so that only points close to the top or bottom will receive
9984
- * rounding.
9985
- *
9986
- * Similarly, for plot bands, the `individual` value means each plot band
9987
- * will get rounded corners.
9988
- *
9989
- * @sample {highcharts} highcharts/plotoptions/column-borderradius/
9990
- * Rounded columns
9991
- *
9992
- * @name Highcharts.BorderRadiusOptionsObject#scope
9993
- * @validvalue ["individual", "point", "stack"]
9994
- * @type {string}
9995
- */ /**
9996
- * For column charts, where in the point or stack to apply rounding. The `end`
9997
- * value means only those corners at the point value will be rounded, leaving
9998
- * the corners at the base or threshold unrounded. This is the most intuitive
9999
- * behavior. The `all` value means also the base will be rounded.
10000
- *
10001
- * @sample {highcharts} highcharts/plotoptions/column-borderradius-where-all
10002
- * Rounding on all corners
10003
- *
10004
- * @name Highcharts.BorderRadiusOptionsObject#where
10005
- * @validvalue ["all", "end"]
10006
- * @type {string}
10007
- * @default end
10008
- */
10009
- (''); // Keeps doclets above in JS file
10225
+ * */
10226
+ /* harmony default export */ const Polygon_PolygonSeries = ((/* unused pure expression or super */ null && (PolygonSeries)));
10010
10227
 
10011
10228
  ;// external ["./highcharts.src.js","default","Series"]
10012
10229
  const external_highcharts_src_js_default_Series_namespaceObject = __WEBPACK_EXTERNAL_MODULE__highcharts_src_js_c57973fa__["default"].Series;
@@ -10234,7 +10451,7 @@ var RadialAxis;
10234
10451
  // one closestPointRange is added to the X axis to prevent the last
10235
10452
  // point from overlapping the first.
10236
10453
  this.autoConnect = (this.isCircular &&
10237
- typeof (0,external_highcharts_src_js_default_namespaceObject.pick)(this.userMax, this.options.max) === 'undefined' &&
10454
+ typeof (this.userMax ?? this.options.max) === 'undefined' &&
10238
10455
  (0,external_highcharts_src_js_default_namespaceObject.correctFloat)(this.endAngleRad - this.startAngleRad) ===
10239
10456
  (0,external_highcharts_src_js_default_namespaceObject.correctFloat)(2 * Math.PI));
10240
10457
  // This will lead to add an extra tick to xAxis in order to display
@@ -10362,7 +10579,7 @@ var RadialAxis;
10362
10579
  */
10363
10580
  function getLinePath(_lineWidth, radius, innerRadius) {
10364
10581
  const center = this.pane.center, chart = this.chart, left = this.left || 0, top = this.top || 0;
10365
- let end, path, r = (0,external_highcharts_src_js_default_namespaceObject.pick)(radius, center[2] / 2 - this.offset);
10582
+ let end, path, r = (radius ?? center[2] / 2 - this.offset);
10366
10583
  innerRadius ?? (innerRadius = this.horiz ? 0 : this.center && -this.center[3] / 2);
10367
10584
  // In case when innerSize of pane is set, it must be included
10368
10585
  if (innerRadius && innerRadius > 0) {
@@ -10425,10 +10642,10 @@ var RadialAxis;
10425
10642
  return r;
10426
10643
  }
10427
10644
  return radius;
10428
- }, center = this.center, { endAngleRad, startAngleRad } = this, borderRadius = optionsToObject(options.borderRadius ??
10645
+ }, center = this.center, { endAngleRad, startAngleRad } = this, borderRadius = borderRadiusObject(options.borderRadius ??
10429
10646
  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
10430
10647
  trueBands = this.options.plotBands || [], index = trueBands.indexOf(options);
10431
- let start, end, angle, xOnPerimeter, open, path, outerRadius = (0,external_highcharts_src_js_default_namespaceObject.pick)(radiusToPixels(options.outerRadius), fullRadius), innerRadius = radiusToPixels(options.innerRadius), thickness = radiusToPixels(options.thickness), brStart = true, brEnd = true;
10648
+ let start, end, angle, xOnPerimeter, open, path, outerRadius = (radiusToPixels(options.outerRadius) ?? fullRadius), innerRadius = radiusToPixels(options.innerRadius), thickness = radiusToPixels(options.thickness), brStart = true, brEnd = true;
10432
10649
  // Apply conditional border radius, only for ends of band stacks
10433
10650
  if (borderRadius.radius &&
10434
10651
  borderRadius.scope === 'stack' &&
@@ -10487,7 +10704,9 @@ var RadialAxis;
10487
10704
  // Math is for reversed yAxis (#3606)
10488
10705
  start: Math.min(start, end),
10489
10706
  end: Math.max(start, end),
10490
- innerR: (0,external_highcharts_src_js_default_namespaceObject.pick)(innerRadius, (0,external_highcharts_src_js_default_namespaceObject.isNumber)(thickness) ? outerRadius - thickness : void 0, this.center[3] / 2),
10707
+ innerR: innerRadius ?? ((0,external_highcharts_src_js_default_namespaceObject.isNumber)(thickness) ?
10708
+ outerRadius - thickness :
10709
+ this.center[3] / 2),
10491
10710
  open,
10492
10711
  borderRadius: borderRadius.radius,
10493
10712
  brStart,
@@ -10561,17 +10780,12 @@ var RadialAxis;
10561
10780
  // Concentric circles
10562
10781
  }
10563
10782
  else {
10564
- // Pick the right values depending if it is grid line or crosshair
10565
- let transValue = this.translate(value);
10566
- // This is required in case when xAxis is non-circular to
10567
- // prevent grid lines (or crosshairs, if enabled) from
10568
- // rendering above the center after they supposed to be
10569
- // displayed below the center point
10570
- if (transValue) {
10571
- if (transValue < 0 || transValue > height) {
10572
- transValue = 0;
10573
- }
10574
- }
10783
+ // Pick the right values depending if it is grid line or crosshair.
10784
+ // Clamp is required in case when xAxis is non-circular to prevent
10785
+ // grid lines (or crosshairs, if enabled) from rendering above the
10786
+ // center after they supposed to be displayed below the center
10787
+ // point.
10788
+ let transValue = (0,external_highcharts_src_js_default_namespaceObject.clamp)(this.translate(value), 0, height);
10575
10789
  if (this.options.gridLineInterpolation === 'circle') {
10576
10790
  // A value of 0 is in the center, so it won't be
10577
10791
  // visible, but draw it anyway for update and animation
@@ -10622,13 +10836,16 @@ var RadialAxis;
10622
10836
  */
10623
10837
  function getPosition(value, length) {
10624
10838
  const translatedVal = this.translate(value);
10839
+ const centerRadius = ((this.center && this.center[2]) || 0) / 2;
10625
10840
  return this.postTranslate(this.isCircular ? translatedVal : this.angleRad, // #2848
10626
10841
  // In case when translatedVal is negative, the 0 value must be
10627
10842
  // used instead, in order to deal with lines and labels that
10628
10843
  // fall out of the visible range near the center of a pane
10629
- (0,external_highcharts_src_js_default_namespaceObject.pick)(this.isCircular ?
10630
- length :
10631
- (translatedVal < 0 ? 0 : translatedVal), this.center[2] / 2) - this.offset);
10844
+ (this.isCircular ?
10845
+ (length ?? centerRadius) :
10846
+ (typeof translatedVal === 'number' && translatedVal < 0 ?
10847
+ 0 :
10848
+ translatedVal ?? centerRadius)) - this.offset);
10632
10849
  }
10633
10850
  /**
10634
10851
  * Find the position for the axis title, by default inside the gauge.
@@ -10695,7 +10912,8 @@ var RadialAxis;
10695
10912
  // Start and end angle options are given in degrees relative to
10696
10913
  // top, while internal computations are in radians relative to
10697
10914
  // right (like SVG).
10698
- start = (startAngle - 90) * Math.PI / 180, end = ((0,external_highcharts_src_js_default_namespaceObject.pick)(paneOptions.endAngle, startAngle + (chart.angular ? 270 : 360)) - 90) * Math.PI / 180;
10915
+ start = (startAngle - 90) * Math.PI / 180, end = ((paneOptions.endAngle ??
10916
+ startAngle + (chart.angular ? 270 : 360)) - 90) * Math.PI / 180;
10699
10917
  // Y axis in polar charts
10700
10918
  this.angleRad = (options.angle || 0) * Math.PI / 180;
10701
10919
  // Gauges
@@ -11135,7 +11353,6 @@ var RadialAxis;
11135
11353
  * */
11136
11354
 
11137
11355
 
11138
- const { animObject: PolarComposition_animObject } = (external_highcharts_src_js_default_default());
11139
11356
 
11140
11357
 
11141
11358
  const { defaultOptions: PolarComposition_defaultOptions } = (external_highcharts_src_js_default_default());
@@ -11462,7 +11679,7 @@ function onSeriesAfterColumnTranslate() {
11462
11679
  chart.polar &&
11463
11680
  chart.inverted) {
11464
11681
  const seriesDefault = PolarComposition_defaultOptions.plotOptions?.[this.type]
11465
- ?.borderRadius, { scope, where = 'end' } = optionsToObject(options.borderRadius, (0,external_highcharts_src_js_default_namespaceObject.isObject)(seriesDefault) ? seriesDefault : {});
11682
+ ?.borderRadius, { scope, where = 'end' } = borderRadiusObject(options.borderRadius, (0,external_highcharts_src_js_default_namespaceObject.isObject)(seriesDefault) ? seriesDefault : {});
11466
11683
  for (const point of this.points) {
11467
11684
  const { shapeArgs } = point;
11468
11685
  if (point.shapeType === 'arc' && shapeArgs) {
@@ -11510,7 +11727,7 @@ function onSeriesAfterTranslate() {
11510
11727
  // Treat points below Y axis min as null (#10082)
11511
11728
  if (!chart.hasParallelCoordinates &&
11512
11729
  !series.yAxis.reversed) {
11513
- if ((0,external_highcharts_src_js_default_namespaceObject.pick)(points[i].y, Number.MIN_VALUE) < yAxis.min ||
11730
+ if ((points[i].y ?? Number.MIN_VALUE) < yAxis.min ||
11514
11731
  points[i].x < xAxis.min ||
11515
11732
  points[i].x > xAxis.max) {
11516
11733
  // Destroy markers
@@ -11603,7 +11820,7 @@ function wrapChartGet(proceed, id) {
11603
11820
  * @private
11604
11821
  */
11605
11822
  function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alignTo, isNew) {
11606
- const chart = this.chart, inside = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.inside, !!this.options.stacking);
11823
+ const chart = this.chart, inside = (options.inside ?? !!this.options.stacking);
11607
11824
  let angle, shapeArgs, labelPos;
11608
11825
  if (chart.polar) {
11609
11826
  angle = point.rectPlotX / Math.PI * 180;
@@ -11640,9 +11857,9 @@ function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alig
11640
11857
  y: point.tooltipPos[1]
11641
11858
  });
11642
11859
  }
11643
- options.align = (0,external_highcharts_src_js_default_namespaceObject.pick)(options.align, 'center');
11860
+ options.align = (options.align ?? 'center');
11644
11861
  options.verticalAlign =
11645
- (0,external_highcharts_src_js_default_namespaceObject.pick)(options.verticalAlign, 'middle');
11862
+ (options.verticalAlign ?? 'middle');
11646
11863
  }
11647
11864
  external_highcharts_src_js_default_Series_default().prototype.alignDataLabel.call(this, point, dataLabel, options, alignTo, isNew);
11648
11865
  // Hide label of a point (only inverted) that is outside the
@@ -11664,7 +11881,7 @@ function wrapColumnSeriesAlignDataLabel(proceed, point, dataLabel, options, alig
11664
11881
  * @private
11665
11882
  */
11666
11883
  function onAfterColumnTranslate() {
11667
- 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;
11884
+ const series = this, { chart, options, xAxis, yAxis } = series, stacking = options.stacking, { center, reversed } = yAxis, { endAngleRad, startAngleRad } = xAxis, visibleRange = endAngleRad - startAngleRad;
11668
11885
  let threshold = options.threshold, thresholdAngleRad = 0, points, point, i, yMin, yMax, start = 0, end = 0, tooltipPos, pointX, pointY, stackValues, stack, barX, innerR, r;
11669
11886
  // Postprocess plot coordinates
11670
11887
  if (xAxis.isRadial) {
@@ -11762,8 +11979,7 @@ function onAfterColumnTranslate() {
11762
11979
  innerR = Math.max(barX, 0);
11763
11980
  r = Math.max(barX + (point.pointWidth || 0), 0);
11764
11981
  // Handle border radius
11765
- const brOption = options.borderRadius, brValue = typeof brOption === 'object' ?
11766
- brOption.radius : brOption, borderRadius = (0,external_highcharts_src_js_default_namespaceObject.relativeLength)(brValue || 0, r - innerR);
11982
+ const brOption = borderRadiusObject(options.borderRadius), borderRadius = (0,external_highcharts_src_js_default_namespaceObject.relativeLength)(brOption.radius, r - innerR);
11767
11983
  point.shapeArgs = {
11768
11984
  x: center[0],
11769
11985
  y: center[1],
@@ -11921,12 +12137,13 @@ function wrapSeriesAnimate(proceed, init) {
11921
12137
  if (series.isRadialBar) {
11922
12138
  if (!init) {
11923
12139
  // Run the pie animation for radial bars
11924
- series.startAngleRad = (0,external_highcharts_src_js_default_namespaceObject.pick)(series.translatedThreshold, series.xAxis.startAngleRad);
12140
+ series.startAngleRad =
12141
+ series.translatedThreshold ?? series.xAxis.startAngleRad;
11925
12142
  external_highcharts_src_js_default_default().seriesTypes.pie.prototype.animate.call(series, init);
11926
12143
  }
11927
12144
  }
11928
12145
  else {
11929
- animation = PolarComposition_animObject(animation);
12146
+ animation = (0,external_highcharts_src_js_default_namespaceObject.animObject)(animation);
11930
12147
  // A different animation needed for column like series
11931
12148
  if (series.is('column')) {
11932
12149
  if (!init) {
@@ -12116,7 +12333,7 @@ class PolarAdditions {
12116
12333
  * */
12117
12334
  arc(low, high, start, end) {
12118
12335
  const series = this.series, center = series.xAxis.center, len = series.yAxis.len, paneInnerR = center[3] / 2;
12119
- let r = len - high + paneInnerR, innerR = len - (0,external_highcharts_src_js_default_namespaceObject.pick)(low, len) + paneInnerR;
12336
+ let r = len - high + paneInnerR, innerR = len - (low ?? len) + paneInnerR;
12120
12337
  // Prevent columns from shooting through the pane's center
12121
12338
  if (series.yAxis.reversed) {
12122
12339
  if (r < 0) {
@@ -12705,7 +12922,7 @@ class WaterfallSeries extends WaterfallSeries_ColumnSeries {
12705
12922
  pointAttribs(point, state) {
12706
12923
  const upColor = this.options.upColor;
12707
12924
  // Set or reset up color (#3710, update to negative)
12708
- if (upColor && !point.options.color && (0,external_highcharts_src_js_default_namespaceObject.isNumber)(point.y)) {
12925
+ if (upColor && point && !point.options.color && (0,external_highcharts_src_js_default_namespaceObject.isNumber)(point.y)) {
12709
12926
  point.color = point.y > 0 ? upColor : void 0;
12710
12927
  }
12711
12928
  const attr = WaterfallSeries_ColumnSeries.prototype.pointAttribs.call(this, point, state);
@@ -12944,7 +13161,7 @@ WaterfallSeries.compose = Axis_WaterfallAxis.compose;
12944
13161
  });
12945
13162
  // Translate data points from raw values
12946
13163
  (0,external_highcharts_src_js_default_namespaceObject.addEvent)(WaterfallSeries, 'afterColumnTranslate', function () {
12947
- const series = this, { options, points, yAxis } = series, minPointLength = (0,external_highcharts_src_js_default_namespaceObject.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);
13164
+ 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);
12948
13165
  let previousIntermediate = threshold, previousY = threshold, y, total, hPos;
12949
13166
  for (let i = 0; i < points.length; i++) {
12950
13167
  const point = points[i], yValue = processedYData[i], shapeArgs = point.shapeArgs, box = (0,external_highcharts_src_js_default_namespaceObject.extend)({