highcharts 11.3.0 → 11.4.0

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 (773) hide show
  1. package/README.md +1 -1
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +27 -19
  4. package/css/stocktools/gui.css +19 -7
  5. package/es-modules/Accessibility/A11yI18n.js +4 -6
  6. package/es-modules/Accessibility/Accessibility.js +8 -6
  7. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +11 -6
  8. package/es-modules/Accessibility/Components/LegendComponent.js +4 -4
  9. package/es-modules/Accessibility/Components/MenuComponent.js +3 -6
  10. package/es-modules/Accessibility/Components/NavigatorComponent.js +6 -3
  11. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -7
  12. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +18 -3
  13. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +5 -3
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +4 -4
  15. package/es-modules/Accessibility/FocusBorder.js +5 -5
  16. package/es-modules/Accessibility/HighContrastMode.js +22 -13
  17. package/es-modules/Accessibility/HighContrastTheme.js +2 -6
  18. package/es-modules/Accessibility/KeyboardNavigation.js +17 -8
  19. package/es-modules/Accessibility/Options/A11yDefaults.js +11 -1
  20. package/es-modules/Accessibility/ProxyElement.js +4 -4
  21. package/es-modules/Accessibility/ProxyProvider.js +8 -2
  22. package/es-modules/Accessibility/Utils/DOMElementProvider.js +8 -0
  23. package/es-modules/Accessibility/Utils/EventProvider.js +9 -0
  24. package/es-modules/Core/Animation/Fx.js +3 -3
  25. package/es-modules/Core/Axis/Axis.js +43 -97
  26. package/es-modules/Core/Axis/Axis3DComposition.js +5 -5
  27. package/es-modules/Core/Axis/Axis3DDefaults.js +1 -1
  28. package/es-modules/Core/Axis/AxisDefaults.js +18 -7
  29. package/es-modules/Core/Axis/BrokenAxis.js +4 -6
  30. package/es-modules/Core/Axis/Color/ColorAxis.js +2 -1
  31. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -5
  32. package/es-modules/Core/Axis/DateTimeAxis.js +3 -5
  33. package/es-modules/Core/Axis/GridAxis.js +7 -7
  34. package/es-modules/Core/Axis/LogarithmicAxis.js +2 -4
  35. package/es-modules/Core/Axis/NavigatorAxisComposition.js +26 -22
  36. package/es-modules/Core/Axis/OrdinalAxis.js +97 -53
  37. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  38. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +4 -5
  39. package/es-modules/Core/Axis/RadialAxis.js +5 -5
  40. package/es-modules/Core/Axis/ScrollbarAxis.js +2 -2
  41. package/es-modules/Core/Axis/Stacking/StackItem.js +8 -4
  42. package/es-modules/Core/Axis/Stacking/StackingAxis.js +3 -5
  43. package/es-modules/Core/Axis/Tick.js +16 -7
  44. package/es-modules/Core/Axis/Tick3DComposition.js +2 -2
  45. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +4 -8
  46. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +3 -6
  47. package/es-modules/Core/Axis/WaterfallAxis.js +3 -3
  48. package/es-modules/Core/Axis/ZAxis.js +6 -11
  49. package/es-modules/Core/Chart/Chart.js +201 -176
  50. package/es-modules/Core/Chart/Chart3D.js +1 -1
  51. package/es-modules/Core/Chart/ChartDefaults.js +7 -0
  52. package/es-modules/Core/Chart/GanttChart.js +2 -2
  53. package/es-modules/Core/Chart/MapChart.js +12 -2
  54. package/es-modules/Core/Chart/StockChart.js +12 -11
  55. package/es-modules/Core/Color/Color.js +3 -3
  56. package/es-modules/Core/Color/Palettes.js +2 -2
  57. package/es-modules/Core/Defaults.js +18 -15
  58. package/es-modules/Core/Geometry/CircleUtilities.js +3 -3
  59. package/es-modules/Core/Globals.js +2 -2
  60. package/es-modules/Core/HttpUtilities.js +4 -4
  61. package/es-modules/Core/Legend/Legend.js +6 -6
  62. package/es-modules/Core/MSPointer.js +7 -7
  63. package/es-modules/Core/Pointer.js +230 -245
  64. package/es-modules/Core/Renderer/HTML/AST.js +1 -1
  65. package/es-modules/Core/Renderer/HTML/HTMLElement.js +213 -26
  66. package/es-modules/Core/Renderer/RendererUtilities.js +1 -1
  67. package/es-modules/Core/Renderer/SVG/SVGElement.js +85 -52
  68. package/es-modules/Core/Renderer/SVG/SVGLabel.js +14 -11
  69. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +17 -14
  70. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +8 -7
  71. package/es-modules/Core/Renderer/SVG/Symbols.js +1 -1
  72. package/es-modules/Core/Renderer/SVG/TextBuilder.js +2 -2
  73. package/es-modules/Core/Responsive.js +5 -6
  74. package/es-modules/Core/Series/DataLabel.js +70 -90
  75. package/es-modules/Core/Series/DataSeriesComposition.js +1 -1
  76. package/es-modules/Core/Series/DataSeriesConverter.js +2 -2
  77. package/es-modules/Core/Series/Point.js +48 -40
  78. package/es-modules/Core/Series/Series.js +61 -51
  79. package/es-modules/Core/Series/Series3D.js +2 -2
  80. package/es-modules/Core/Series/SeriesRegistry.js +10 -2
  81. package/es-modules/Core/Templating.js +1 -1
  82. package/es-modules/Core/Time.js +12 -7
  83. package/es-modules/Core/Tooltip.js +19 -17
  84. package/es-modules/Core/Utilities.js +54 -26
  85. package/es-modules/Data/Connectors/CSVConnector.js +2 -2
  86. package/es-modules/Data/Connectors/DataConnector.js +4 -2
  87. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +2 -2
  88. package/es-modules/Data/Connectors/HTMLTableConnector.js +2 -2
  89. package/es-modules/Data/Connectors/JSONConnector.js +3 -5
  90. package/es-modules/Data/Converters/CSVConverter.js +1 -3
  91. package/es-modules/Data/Converters/DataConverter.js +8 -2
  92. package/es-modules/Data/Converters/HTMLTableConverter.js +1 -3
  93. package/es-modules/Data/Converters/JSONConverter.js +1 -0
  94. package/es-modules/Data/DataTable.js +1 -2
  95. package/es-modules/Data/Formula/FormulaProcessor.js +4 -2
  96. package/es-modules/Data/Modifiers/DataModifier.js +15 -3
  97. package/es-modules/Extensions/Annotations/Annotation.js +6 -7
  98. package/es-modules/Extensions/Annotations/AnnotationChart.js +4 -5
  99. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +4 -4
  100. package/es-modules/Extensions/Annotations/ControlPoint.js +2 -2
  101. package/es-modules/Extensions/Annotations/ControlTarget.js +1 -1
  102. package/es-modules/Extensions/Annotations/Controllables/Controllable.js +7 -3
  103. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +3 -3
  104. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +8 -9
  105. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -4
  106. package/es-modules/Extensions/Annotations/EventEmitter.js +6 -6
  107. package/es-modules/Extensions/Annotations/NavigationBindings.js +29 -18
  108. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +6 -6
  109. package/es-modules/Extensions/Annotations/Popup/Popup.js +1 -1
  110. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +10 -6
  111. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +2 -2
  112. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +31 -31
  113. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +1 -1
  114. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +14 -11
  115. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +1 -1
  116. package/es-modules/Extensions/Annotations/Types/Measure.js +1 -1
  117. package/es-modules/Extensions/ArrowSymbols.js +7 -13
  118. package/es-modules/Extensions/Boost/Boost.js +39 -7
  119. package/es-modules/Extensions/Boost/BoostChart.js +4 -4
  120. package/es-modules/Extensions/Boost/BoostSeries.js +58 -13
  121. package/es-modules/Extensions/Boost/WGLRenderer.js +3 -3
  122. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +1 -1
  123. package/es-modules/Extensions/BoostCanvas.js +5 -4
  124. package/es-modules/Extensions/BorderRadius.js +5 -4
  125. package/es-modules/Extensions/Breadcrumbs/Breadcrumbs.js +9 -9
  126. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  127. package/es-modules/Extensions/Data.js +11 -11
  128. package/es-modules/Extensions/DataGrouping/DataGrouping.js +1 -1
  129. package/es-modules/Extensions/DataGrouping/DataGroupingAxisComposition.js +8 -9
  130. package/es-modules/Extensions/DataGrouping/DataGroupingDefaults.js +1 -1
  131. package/es-modules/Extensions/DataGrouping/DataGroupingSeriesComposition.js +6 -7
  132. package/es-modules/Extensions/Debugger/Debugger.js +1 -1
  133. package/es-modules/Extensions/Debugger/ErrorMessages.js +2 -2
  134. package/es-modules/Extensions/DragPanes/AxisResizer.js +13 -16
  135. package/es-modules/Extensions/DragPanes/DragPanes.js +2 -4
  136. package/es-modules/Extensions/DraggablePoints/DragDropDefaults.js +2 -1
  137. package/es-modules/Extensions/DraggablePoints/DragDropUtilities.js +1 -1
  138. package/es-modules/Extensions/DraggablePoints/DraggableChart.js +4 -4
  139. package/es-modules/Extensions/DraggablePoints/DraggablePoints.js +8 -9
  140. package/es-modules/Extensions/Drilldown/Drilldown.js +11 -9
  141. package/es-modules/Extensions/Drilldown/DrilldownSeries.js +5 -6
  142. package/es-modules/Extensions/ExportData/ExportData.js +27 -18
  143. package/es-modules/Extensions/Exporting/Exporting.js +25 -20
  144. package/es-modules/Extensions/Exporting/ExportingDefaults.js +1 -1
  145. package/es-modules/Extensions/Exporting/Fullscreen.js +5 -10
  146. package/es-modules/Extensions/MarkerClusters/MarkerClusterScatter.js +26 -21
  147. package/es-modules/Extensions/MarkerClusters/MarkerClusterSymbols.js +2 -12
  148. package/es-modules/Extensions/MarkerClusters/MarkerClusters.js +3 -3
  149. package/es-modules/Extensions/MouseWheelZoom/MouseWheelZoom.js +51 -161
  150. package/es-modules/Extensions/NoDataToDisplay/NoDataToDisplay.js +3 -5
  151. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +5 -6
  152. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  153. package/es-modules/Extensions/OverlappingDataLabels.js +21 -49
  154. package/es-modules/Extensions/Pane/PaneComposition.js +3 -5
  155. package/es-modules/Extensions/ParallelCoordinates/ParallelAxis.js +2 -4
  156. package/es-modules/Extensions/ParallelCoordinates/ParallelCoordinates.js +5 -6
  157. package/es-modules/Extensions/ParallelCoordinates/ParallelSeries.js +1 -1
  158. package/es-modules/Extensions/PatternFill.js +19 -22
  159. package/es-modules/Extensions/PriceIndication.js +1 -1
  160. package/es-modules/Extensions/ScrollablePlotArea.js +218 -292
  161. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +26 -18
  162. package/es-modules/Extensions/Sonification/Options.js +1 -0
  163. package/es-modules/Extensions/Sonification/SonificationSpeaker.js +2 -2
  164. package/es-modules/Extensions/Sonification/SynthPatch.js +3 -3
  165. package/es-modules/Extensions/StaticScale.js +3 -5
  166. package/es-modules/Gantt/Legacy.js +1 -1
  167. package/es-modules/Gantt/Pathfinder.js +2 -2
  168. package/es-modules/Gantt/PathfinderComposition.js +3 -5
  169. package/es-modules/Gantt/Tree.js +3 -3
  170. package/es-modules/Maps/GeoJSONComposition.js +20 -13
  171. package/es-modules/Maps/MapNavigation.js +2 -2
  172. package/es-modules/Maps/MapPointer.js +3 -19
  173. package/es-modules/Maps/MapSymbols.js +3 -9
  174. package/es-modules/Maps/MapView.js +134 -74
  175. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +5 -4
  176. package/es-modules/Series/Area/AreaSeries.js +2 -4
  177. package/es-modules/Series/Area3D/Area3DSeries.js +1 -1
  178. package/es-modules/Series/AreaRange/AreaRangePoint.js +2 -2
  179. package/es-modules/Series/AreaRange/AreaRangeSeries.js +2 -3
  180. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +1 -1
  181. package/es-modules/Series/Bar/BarSeries.js +1 -1
  182. package/es-modules/Series/Bellcurve/BellcurveSeries.js +1 -1
  183. package/es-modules/Series/BoxPlot/BoxPlotSeriesDefaults.js +4 -0
  184. package/es-modules/Series/Bubble/BubbleLegendComposition.js +1 -1
  185. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +2 -2
  186. package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
  187. package/es-modules/Series/Bubble/BubbleSeries.js +1 -1
  188. package/es-modules/Series/Bullet/BulletSeriesDefaults.js +2 -2
  189. package/es-modules/Series/Candlestick/CandlestickSeries.js +2 -2
  190. package/es-modules/Series/Candlestick/CandlestickSeriesDefaults.js +1 -5
  191. package/es-modules/Series/ColorMapComposition.js +1 -1
  192. package/es-modules/Series/Column/ColumnDataLabel.js +2 -2
  193. package/es-modules/Series/Column/ColumnSeries.js +20 -22
  194. package/es-modules/Series/Column/ColumnSeriesDefaults.js +1 -1
  195. package/es-modules/Series/Column3D/Column3DComposition.js +1 -1
  196. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  197. package/es-modules/Series/Cylinder/CylinderComposition.js +9 -9
  198. package/es-modules/Series/DataModifyComposition.js +5 -5
  199. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -2
  200. package/es-modules/Series/DependencyWheel/DependencyWheelSeriesDefaults.js +1 -1
  201. package/es-modules/Series/DragNodesComposition.js +7 -7
  202. package/es-modules/Series/DrawPointUtilities.js +0 -2
  203. package/es-modules/Series/Dumbbell/DumbbellSeriesDefaults.js +1 -1
  204. package/es-modules/Series/Funnel/FunnelSeries.js +1 -1
  205. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +6 -6
  206. package/es-modules/Series/Funnel3D/Funnel3DSeriesDefaults.js +2 -2
  207. package/es-modules/Series/Funnel3D/SVGElement3DFunnel.js +1 -1
  208. package/es-modules/Series/Gantt/GanttSeries.js +0 -1
  209. package/es-modules/Series/GeoHeatmap/GeoHeatmapSeries.js +5 -5
  210. package/es-modules/Series/GraphLayoutComposition.js +1 -1
  211. package/es-modules/Series/Heatmap/HeatmapSeries.js +2 -2
  212. package/es-modules/Series/Heatmap/HeatmapSeriesDefaults.js +1 -1
  213. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  214. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -3
  215. package/es-modules/Series/HeikinAshi/HeikinAshiSeriesDefaults.js +1 -1
  216. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +2 -2
  217. package/es-modules/Series/Item/ItemSeries.js +1 -1
  218. package/es-modules/Series/Line/LineSeries.js +1 -1
  219. package/es-modules/Series/Lollipop/LollipopSeries.js +3 -1
  220. package/es-modules/Series/Map/MapPoint.js +5 -1
  221. package/es-modules/Series/Map/MapSeries.js +32 -7
  222. package/es-modules/Series/Map/MapSeriesDefaults.js +5 -3
  223. package/es-modules/Series/Networkgraph/EulerIntegration.js +5 -5
  224. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +4 -4
  225. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +5 -5
  226. package/es-modules/Series/Networkgraph/QuadTree.js +1 -1
  227. package/es-modules/Series/Networkgraph/QuadTreeNode.js +1 -1
  228. package/es-modules/Series/Networkgraph/VerletIntegration.js +9 -9
  229. package/es-modules/Series/NodesComposition.js +1 -1
  230. package/es-modules/Series/OHLC/OHLCSeries.js +1 -1
  231. package/es-modules/Series/OHLC/OHLCSeriesDefaults.js +1 -1
  232. package/es-modules/Series/OnSeriesComposition.js +1 -1
  233. package/es-modules/Series/Organization/OrganizationPoint.js +1 -1
  234. package/es-modules/Series/Organization/OrganizationSeries.js +22 -10
  235. package/es-modules/Series/Organization/OrganizationSeriesDefaults.js +15 -2
  236. package/es-modules/Series/PackedBubble/PackedBubbleLayout.js +3 -5
  237. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  238. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +6 -10
  239. package/es-modules/Series/Pictorial/PictorialSeries.js +2 -2
  240. package/es-modules/Series/Pie/PieDataLabel.js +2 -2
  241. package/es-modules/Series/Pie/PiePoint.js +1 -1
  242. package/es-modules/Series/Pie/PieSeries.js +10 -1
  243. package/es-modules/Series/Pie/PieSeriesDefaults.js +1 -1
  244. package/es-modules/Series/Pie3D/Pie3DSeries.js +2 -2
  245. package/es-modules/Series/PolarComposition.js +22 -20
  246. package/es-modules/Series/Sankey/SankeyColumnComposition.js +1 -1
  247. package/es-modules/Series/Sankey/SankeySeries.js +8 -8
  248. package/es-modules/Series/Sankey/SankeySeriesDefaults.js +57 -13
  249. package/es-modules/Series/SeriesOnPointComposition.js +3 -3
  250. package/es-modules/Series/Spline/SplineSeries.js +1 -1
  251. package/es-modules/Series/Sunburst/SunburstPoint.js +1 -1
  252. package/es-modules/Series/Sunburst/SunburstSeries.js +2 -7
  253. package/es-modules/Series/Sunburst/SunburstSeriesDefaults.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstUtilities.js +1 -1
  255. package/es-modules/Series/TiledWebMap/TiledWebMapSeries.js +23 -25
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +2 -2
  257. package/es-modules/Series/Timeline/TimelineSeries.js +2 -2
  258. package/es-modules/Series/TreeUtilities.js +23 -1
  259. package/es-modules/Series/Treegraph/TreegraphLayout.js +7 -11
  260. package/es-modules/Series/Treegraph/TreegraphPoint.js +1 -0
  261. package/es-modules/Series/Treegraph/TreegraphSeries.js +8 -8
  262. package/es-modules/Series/Treegraph/TreegraphSeriesDefaults.js +39 -2
  263. package/es-modules/Series/Treemap/TreemapSeries.js +4 -2
  264. package/es-modules/Series/Treemap/TreemapUtilities.js +0 -7
  265. package/es-modules/Series/Variwide/VariwideComposition.js +6 -2
  266. package/es-modules/Series/Variwide/VariwideSeries.js +1 -1
  267. package/es-modules/Series/Venn/VennSeries.js +4 -4
  268. package/es-modules/Series/Venn/VennUtils.js +5 -6
  269. package/es-modules/Series/Waterfall/WaterfallSeriesDefaults.js +1 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +1 -1
  271. package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -4
  272. package/es-modules/Series/XRange/XRangePoint.js +2 -2
  273. package/es-modules/Series/XRange/XRangeSeries.js +1 -1
  274. package/es-modules/Shared/BaseForm.js +1 -1
  275. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/APO/APOIndicator.js +1 -1
  277. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -1
  278. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +1 -1
  279. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +2 -2
  280. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +1 -1
  281. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +1 -1
  282. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +1 -1
  283. package/es-modules/Stock/Indicators/LinearRegression/LinearRegressionIndicator.js +7 -7
  284. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +9 -9
  285. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +1 -1
  286. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -1
  287. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -2
  288. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  289. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +16 -17
  290. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +4 -5
  291. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +1 -1
  292. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +5 -5
  293. package/es-modules/Stock/Navigator/ChartNavigatorComposition.js +188 -0
  294. package/es-modules/Stock/Navigator/Navigator.js +42 -27
  295. package/es-modules/Stock/Navigator/NavigatorComposition.js +10 -149
  296. package/es-modules/Stock/Navigator/NavigatorDefaults.js +16 -2
  297. package/es-modules/Stock/Navigator/StandaloneNavigator.js +334 -0
  298. package/es-modules/Stock/Navigator/StandaloneNavigatorDefaults.js +64 -0
  299. package/es-modules/Stock/RangeSelector/RangeSelector.js +28 -16
  300. package/es-modules/Stock/RangeSelector/RangeSelectorComposition.js +2 -2
  301. package/es-modules/Stock/Scrollbar/Scrollbar.js +10 -10
  302. package/es-modules/Stock/Scrollbar/ScrollbarDefaults.js +1 -3
  303. package/es-modules/Stock/StockTools/StockToolbar.js +6 -5
  304. package/es-modules/Stock/StockTools/StockTools.js +10 -13
  305. package/es-modules/Stock/StockTools/StockToolsBindings.js +35 -35
  306. package/es-modules/Stock/StockTools/StockToolsDefaults.js +2 -1
  307. package/es-modules/Stock/StockTools/StockToolsGui.js +7 -8
  308. package/es-modules/Stock/StockTools/StockToolsUtilities.js +8 -9
  309. package/es-modules/Stock/Utilities/StockUtilities.js +41 -0
  310. package/es-modules/masters/highcharts-3d.src.js +2 -1
  311. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  312. package/es-modules/masters/highcharts-more.src.js +2 -1
  313. package/es-modules/masters/highcharts.src.js +41 -40
  314. package/es-modules/masters/highmaps.src.js +1 -1
  315. package/es-modules/masters/highstock.src.js +1 -1
  316. package/es-modules/masters/indicators/acceleration-bands.src.js +3 -1
  317. package/es-modules/masters/indicators/accumulation-distribution.src.js +3 -1
  318. package/es-modules/masters/indicators/ao.src.js +3 -1
  319. package/es-modules/masters/indicators/apo.src.js +3 -1
  320. package/es-modules/masters/indicators/aroon-oscillator.src.js +3 -1
  321. package/es-modules/masters/indicators/aroon.src.js +3 -1
  322. package/es-modules/masters/indicators/atr.src.js +3 -1
  323. package/es-modules/masters/indicators/bollinger-bands.src.js +3 -1
  324. package/es-modules/masters/indicators/cci.src.js +3 -1
  325. package/es-modules/masters/indicators/chaikin.src.js +3 -1
  326. package/es-modules/masters/indicators/cmf.src.js +3 -1
  327. package/es-modules/masters/indicators/cmo.src.js +3 -1
  328. package/es-modules/masters/indicators/dema.src.js +3 -1
  329. package/es-modules/masters/indicators/disparity-index.src.js +3 -1
  330. package/es-modules/masters/indicators/dmi.src.js +3 -1
  331. package/es-modules/masters/indicators/dpo.src.js +3 -1
  332. package/es-modules/masters/indicators/ema.src.js +2 -0
  333. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +3 -1
  334. package/es-modules/masters/indicators/indicators-all.src.js +3 -1
  335. package/es-modules/masters/indicators/indicators.src.js +7 -1
  336. package/es-modules/masters/indicators/keltner-channels.src.js +3 -1
  337. package/es-modules/masters/indicators/klinger.src.js +3 -1
  338. package/es-modules/masters/indicators/macd.src.js +3 -1
  339. package/es-modules/masters/indicators/mfi.src.js +3 -1
  340. package/es-modules/masters/indicators/momentum.src.js +3 -1
  341. package/es-modules/masters/indicators/natr.src.js +3 -1
  342. package/es-modules/masters/indicators/obv.src.js +3 -1
  343. package/es-modules/masters/indicators/pivot-points.src.js +3 -1
  344. package/es-modules/masters/indicators/ppo.src.js +3 -1
  345. package/es-modules/masters/indicators/price-channel.src.js +3 -1
  346. package/es-modules/masters/indicators/price-envelopes.src.js +3 -1
  347. package/es-modules/masters/indicators/psar.src.js +3 -1
  348. package/es-modules/masters/indicators/regressions.src.js +3 -1
  349. package/es-modules/masters/indicators/roc.src.js +3 -1
  350. package/es-modules/masters/indicators/rsi.src.js +3 -1
  351. package/es-modules/masters/indicators/slow-stochastic.src.js +3 -1
  352. package/es-modules/masters/indicators/stochastic.src.js +3 -1
  353. package/es-modules/masters/indicators/supertrend.src.js +3 -1
  354. package/es-modules/masters/indicators/tema.src.js +3 -1
  355. package/es-modules/masters/indicators/trendline.src.js +3 -1
  356. package/es-modules/masters/indicators/trix.src.js +3 -1
  357. package/es-modules/masters/indicators/volume-by-price.src.js +3 -1
  358. package/es-modules/masters/indicators/vwap.src.js +3 -1
  359. package/es-modules/masters/indicators/williams-r.src.js +3 -1
  360. package/es-modules/masters/indicators/wma.src.js +3 -1
  361. package/es-modules/masters/indicators/zigzag.src.js +3 -1
  362. package/es-modules/masters/modules/accessibility.src.js +4 -1
  363. package/es-modules/masters/modules/annotations-advanced.src.js +3 -5
  364. package/es-modules/masters/modules/annotations.src.js +6 -3
  365. package/es-modules/masters/modules/arc-diagram.src.js +3 -1
  366. package/es-modules/masters/modules/arrow-symbols.src.js +2 -1
  367. package/es-modules/masters/modules/boost-canvas.src.js +2 -1
  368. package/es-modules/masters/modules/boost.src.js +3 -2
  369. package/es-modules/masters/modules/broken-axis.src.js +4 -3
  370. package/es-modules/masters/modules/bullet.src.js +3 -1
  371. package/es-modules/masters/modules/coloraxis.src.js +4 -3
  372. package/es-modules/masters/modules/current-date-indicator.src.js +2 -1
  373. package/es-modules/masters/modules/cylinder.src.js +3 -1
  374. package/es-modules/masters/modules/data-tools.src.js +9 -8
  375. package/es-modules/masters/modules/data.src.js +9 -8
  376. package/es-modules/masters/modules/datagrouping.src.js +7 -5
  377. package/es-modules/masters/modules/debugger.src.js +3 -2
  378. package/es-modules/masters/modules/dependency-wheel.src.js +3 -1
  379. package/es-modules/masters/modules/dotplot.src.js +3 -1
  380. package/es-modules/masters/modules/drag-panes.src.js +2 -1
  381. package/es-modules/masters/modules/draggable-points.src.js +2 -1
  382. package/es-modules/masters/modules/drilldown.src.js +3 -2
  383. package/es-modules/masters/modules/dumbbell.src.js +3 -1
  384. package/es-modules/masters/modules/export-data.src.js +5 -4
  385. package/es-modules/masters/modules/exporting.src.js +6 -5
  386. package/es-modules/masters/modules/flowmap.src.js +3 -1
  387. package/es-modules/masters/modules/full-screen.src.js +4 -3
  388. package/es-modules/masters/modules/funnel.src.js +2 -1
  389. package/es-modules/masters/modules/funnel3d.src.js +4 -3
  390. package/es-modules/masters/modules/gantt.src.js +15 -17
  391. package/es-modules/masters/modules/geoheatmap.src.js +3 -1
  392. package/es-modules/masters/modules/grid-axis.src.js +2 -1
  393. package/es-modules/masters/modules/heatmap.src.js +3 -5
  394. package/es-modules/masters/modules/heikinashi.src.js +2 -1
  395. package/es-modules/masters/modules/histogram-bellcurve.src.js +3 -1
  396. package/es-modules/masters/modules/hollowcandlestick.src.js +3 -1
  397. package/es-modules/masters/modules/item-series.src.js +3 -1
  398. package/es-modules/masters/modules/lollipop.src.js +3 -1
  399. package/es-modules/masters/modules/map.src.js +15 -10
  400. package/es-modules/masters/modules/marker-clusters.src.js +2 -1
  401. package/es-modules/masters/modules/mouse-wheel-zoom.src.js +4 -2
  402. package/es-modules/masters/modules/navigator.src.d.ts +1 -0
  403. package/es-modules/masters/modules/navigator.src.js +19 -0
  404. package/es-modules/masters/modules/networkgraph.src.js +2 -1
  405. package/es-modules/masters/modules/no-data-to-display.src.js +2 -1
  406. package/es-modules/masters/modules/offline-exporting.src.js +4 -3
  407. package/es-modules/masters/modules/organization.src.js +3 -1
  408. package/es-modules/masters/modules/overlapping-datalabels.src.js +4 -2
  409. package/es-modules/masters/modules/parallel-coordinates.src.js +2 -1
  410. package/es-modules/masters/modules/pareto.src.js +3 -1
  411. package/es-modules/masters/modules/pathfinder.src.js +4 -3
  412. package/es-modules/masters/modules/pattern-fill.src.js +2 -1
  413. package/es-modules/masters/modules/pictorial.src.js +3 -1
  414. package/es-modules/masters/modules/price-indicator.src.js +2 -1
  415. package/es-modules/masters/modules/pyramid3d.src.js +3 -1
  416. package/es-modules/masters/modules/sankey.src.js +3 -1
  417. package/es-modules/masters/modules/series-label.src.js +2 -1
  418. package/es-modules/masters/modules/series-on-point.src.js +2 -1
  419. package/es-modules/masters/modules/solid-gauge.src.js +3 -1
  420. package/es-modules/masters/modules/sonification.src.js +2 -1
  421. package/es-modules/masters/modules/static-scale.src.js +2 -1
  422. package/es-modules/masters/modules/stock-tools.src.js +5 -3
  423. package/es-modules/masters/modules/stock.src.js +20 -15
  424. package/es-modules/masters/modules/streamgraph.src.js +3 -1
  425. package/es-modules/masters/modules/sunburst.src.js +4 -3
  426. package/es-modules/masters/modules/tiledwebmap.src.js +5 -4
  427. package/es-modules/masters/modules/tilemap.src.js +2 -1
  428. package/es-modules/masters/modules/timeline.src.js +3 -1
  429. package/es-modules/masters/modules/treegraph.src.js +3 -1
  430. package/es-modules/masters/modules/treegrid.src.js +2 -2
  431. package/es-modules/masters/modules/treemap.src.js +5 -4
  432. package/es-modules/masters/modules/variable-pie.src.js +3 -1
  433. package/es-modules/masters/modules/variwide.src.js +2 -1
  434. package/es-modules/masters/modules/vector.src.js +3 -1
  435. package/es-modules/masters/modules/venn.src.js +3 -1
  436. package/es-modules/masters/modules/windbarb.src.js +3 -1
  437. package/es-modules/masters/modules/wordcloud.src.js +3 -1
  438. package/es-modules/masters/modules/xrange.src.js +2 -1
  439. package/es-modules/masters/standalone-navigator.src.js +13 -0
  440. package/es-modules/masters/themes/avocado.src.js +2 -1
  441. package/es-modules/masters/themes/brand-dark.src.js +2 -1
  442. package/es-modules/masters/themes/brand-light.src.js +2 -1
  443. package/es-modules/masters/themes/dark-blue.src.js +2 -1
  444. package/es-modules/masters/themes/dark-green.src.js +2 -1
  445. package/es-modules/masters/themes/dark-unica.src.js +2 -1
  446. package/es-modules/masters/themes/gray.src.js +2 -1
  447. package/es-modules/masters/themes/grid-light.src.js +2 -1
  448. package/es-modules/masters/themes/grid.src.js +2 -1
  449. package/es-modules/masters/themes/high-contrast-dark.src.js +2 -1
  450. package/es-modules/masters/themes/high-contrast-light.src.js +2 -1
  451. package/es-modules/masters/themes/sand-signika.src.js +2 -1
  452. package/es-modules/masters/themes/skies.src.js +2 -1
  453. package/es-modules/masters/themes/sunset.src.js +2 -1
  454. package/es-modules/tsconfig.tsbuildinfo +1 -0
  455. package/globals.d.ts +9 -0
  456. package/globals.src.d.ts +9 -0
  457. package/highcharts-3d.js +3 -3
  458. package/highcharts-3d.src.js +32 -33
  459. package/highcharts-gantt.js +4 -4
  460. package/highcharts-gantt.src.js +5703 -5639
  461. package/highcharts-more.d.ts +4 -0
  462. package/highcharts-more.js +3 -3
  463. package/highcharts-more.src.d.ts +4 -0
  464. package/highcharts-more.src.js +88 -87
  465. package/highcharts.d.ts +834 -5365
  466. package/highcharts.js +4 -4
  467. package/highcharts.src.d.ts +834 -5365
  468. package/highcharts.src.js +1583 -1682
  469. package/highmaps.js +4 -4
  470. package/highmaps.src.js +1837 -1835
  471. package/highstock.js +4 -4
  472. package/highstock.src.js +12488 -12510
  473. package/indicators/acceleration-bands.js +3 -3
  474. package/indicators/acceleration-bands.src.js +12 -11
  475. package/indicators/accumulation-distribution.js +3 -3
  476. package/indicators/accumulation-distribution.src.js +6 -3
  477. package/indicators/ao.js +3 -3
  478. package/indicators/ao.src.js +3 -2
  479. package/indicators/apo.js +3 -3
  480. package/indicators/apo.src.js +4 -3
  481. package/indicators/aroon-oscillator.js +3 -3
  482. package/indicators/aroon-oscillator.src.js +12 -11
  483. package/indicators/aroon.js +3 -3
  484. package/indicators/aroon.src.js +13 -12
  485. package/indicators/atr.js +3 -3
  486. package/indicators/atr.src.js +3 -2
  487. package/indicators/bollinger-bands.js +3 -3
  488. package/indicators/bollinger-bands.src.js +12 -11
  489. package/indicators/cci.js +3 -3
  490. package/indicators/cci.src.js +3 -2
  491. package/indicators/chaikin.js +3 -3
  492. package/indicators/chaikin.src.js +7 -4
  493. package/indicators/cmf.js +3 -3
  494. package/indicators/cmf.src.js +4 -3
  495. package/indicators/cmo.js +3 -3
  496. package/indicators/cmo.src.js +5 -4
  497. package/indicators/dema.js +3 -3
  498. package/indicators/dema.src.js +3 -2
  499. package/indicators/disparity-index.js +3 -3
  500. package/indicators/disparity-index.src.js +3 -2
  501. package/indicators/dmi.js +3 -3
  502. package/indicators/dmi.src.js +12 -11
  503. package/indicators/dpo.js +3 -3
  504. package/indicators/dpo.src.js +4 -3
  505. package/indicators/ema.js +1 -1
  506. package/indicators/ema.src.js +2 -1
  507. package/indicators/ichimoku-kinko-hyo.js +3 -3
  508. package/indicators/ichimoku-kinko-hyo.src.js +3 -2
  509. package/indicators/indicators-all.js +3 -3
  510. package/indicators/indicators-all.src.js +63 -60
  511. package/indicators/indicators.js +3 -3
  512. package/indicators/indicators.src.js +286 -3
  513. package/indicators/keltner-channels.js +3 -3
  514. package/indicators/keltner-channels.src.js +12 -11
  515. package/indicators/klinger.js +3 -3
  516. package/indicators/klinger.src.js +13 -12
  517. package/indicators/macd.js +3 -3
  518. package/indicators/macd.src.js +3 -2
  519. package/indicators/mfi.js +3 -3
  520. package/indicators/mfi.src.js +3 -2
  521. package/indicators/momentum.js +3 -3
  522. package/indicators/momentum.src.js +3 -2
  523. package/indicators/natr.js +3 -3
  524. package/indicators/natr.src.js +3 -2
  525. package/indicators/obv.js +3 -3
  526. package/indicators/obv.src.js +4 -3
  527. package/indicators/pivot-points.js +3 -3
  528. package/indicators/pivot-points.src.js +5 -4
  529. package/indicators/ppo.js +3 -3
  530. package/indicators/ppo.src.js +4 -3
  531. package/indicators/price-channel.js +3 -3
  532. package/indicators/price-channel.src.js +12 -11
  533. package/indicators/price-envelopes.js +3 -3
  534. package/indicators/price-envelopes.src.js +12 -11
  535. package/indicators/psar.js +3 -3
  536. package/indicators/psar.src.js +3 -2
  537. package/indicators/regressions.js +3 -3
  538. package/indicators/regressions.src.js +10 -9
  539. package/indicators/roc.js +3 -3
  540. package/indicators/roc.src.js +3 -2
  541. package/indicators/rsi.js +3 -3
  542. package/indicators/rsi.src.js +3 -2
  543. package/indicators/slow-stochastic.js +3 -3
  544. package/indicators/slow-stochastic.src.js +3 -2
  545. package/indicators/stochastic.js +3 -3
  546. package/indicators/stochastic.src.js +12 -11
  547. package/indicators/supertrend.js +3 -3
  548. package/indicators/supertrend.src.js +20 -19
  549. package/indicators/tema.js +3 -3
  550. package/indicators/tema.src.js +3 -2
  551. package/indicators/trendline.js +3 -3
  552. package/indicators/trendline.src.js +3 -2
  553. package/indicators/trix.js +3 -3
  554. package/indicators/trix.src.js +3 -2
  555. package/indicators/volume-by-price.js +3 -3
  556. package/indicators/volume-by-price.src.js +8 -7
  557. package/indicators/vwap.js +3 -3
  558. package/indicators/vwap.src.js +3 -2
  559. package/indicators/williams-r.js +3 -3
  560. package/indicators/williams-r.src.js +4 -3
  561. package/indicators/wma.js +3 -3
  562. package/indicators/wma.src.js +3 -2
  563. package/indicators/zigzag.js +3 -3
  564. package/indicators/zigzag.src.js +8 -7
  565. package/lib/svg2pdf.js +7 -7
  566. package/lib/svg2pdf.src.js +185 -150
  567. package/modules/accessibility.js +3 -3
  568. package/modules/accessibility.src.js +664 -2793
  569. package/modules/annotations-advanced.d.ts +3 -0
  570. package/modules/annotations-advanced.js +3 -3
  571. package/modules/annotations-advanced.src.d.ts +3 -0
  572. package/modules/annotations-advanced.src.js +2949 -2920
  573. package/modules/annotations.d.ts +0 -3
  574. package/modules/annotations.js +3 -3
  575. package/modules/annotations.src.d.ts +0 -3
  576. package/modules/annotations.src.js +2926 -2905
  577. package/modules/arc-diagram.js +3 -3
  578. package/modules/arc-diagram.src.js +8 -6
  579. package/modules/arrow-symbols.js +3 -3
  580. package/modules/arrow-symbols.src.js +10 -13
  581. package/modules/boost-canvas.js +3 -3
  582. package/modules/boost-canvas.src.js +73 -26
  583. package/modules/boost.js +3 -3
  584. package/modules/boost.src.js +108 -30
  585. package/modules/broken-axis.js +3 -3
  586. package/modules/broken-axis.src.js +9 -9
  587. package/modules/bullet.js +3 -3
  588. package/modules/bullet.src.js +5 -4
  589. package/modules/coloraxis.js +3 -3
  590. package/modules/coloraxis.src.js +10 -9
  591. package/modules/current-date-indicator.js +3 -3
  592. package/modules/current-date-indicator.src.js +3 -2
  593. package/modules/cylinder.js +3 -3
  594. package/modules/cylinder.src.js +12 -11
  595. package/modules/data-tools.js +3 -3
  596. package/modules/data-tools.src.js +53 -36
  597. package/modules/data.d.ts +2 -2
  598. package/modules/data.js +3 -3
  599. package/modules/data.src.d.ts +2 -2
  600. package/modules/data.src.js +24 -23
  601. package/modules/datagrouping.js +3 -3
  602. package/modules/datagrouping.src.js +25 -23
  603. package/modules/debugger.js +3 -3
  604. package/modules/debugger.src.js +6 -5
  605. package/modules/dependency-wheel.js +3 -3
  606. package/modules/dependency-wheel.src.js +7 -5
  607. package/modules/dotplot.js +3 -3
  608. package/modules/dotplot.src.js +3 -2
  609. package/modules/drag-panes.js +3 -3
  610. package/modules/drag-panes.src.js +19 -21
  611. package/modules/draggable-points.js +3 -3
  612. package/modules/draggable-points.src.js +18 -16
  613. package/modules/drilldown.js +3 -3
  614. package/modules/drilldown.src.js +29 -26
  615. package/modules/dumbbell.js +3 -3
  616. package/modules/dumbbell.src.js +5 -4
  617. package/modules/export-data.js +3 -3
  618. package/modules/export-data.src.js +33 -22
  619. package/modules/exporting.d.ts +1 -1
  620. package/modules/exporting.js +3 -3
  621. package/modules/exporting.src.d.ts +1 -1
  622. package/modules/exporting.src.js +40 -39
  623. package/modules/flowmap.js +3 -3
  624. package/modules/flowmap.src.js +3 -2
  625. package/modules/full-screen.js +3 -3
  626. package/modules/full-screen.src.js +9 -13
  627. package/modules/funnel.js +3 -3
  628. package/modules/funnel.src.js +3 -2
  629. package/modules/funnel3d.js +3 -3
  630. package/modules/funnel3d.src.js +12 -12
  631. package/modules/gantt.d.ts +3 -4
  632. package/modules/gantt.js +3 -3
  633. package/modules/gantt.src.d.ts +3 -4
  634. package/modules/gantt.src.js +4165 -4002
  635. package/modules/geoheatmap.js +3 -3
  636. package/modules/geoheatmap.src.js +8 -7
  637. package/modules/grid-axis.js +3 -3
  638. package/modules/grid-axis.src.js +9 -8
  639. package/modules/heatmap.d.ts +2 -2
  640. package/modules/heatmap.js +3 -3
  641. package/modules/heatmap.src.d.ts +2 -2
  642. package/modules/heatmap.src.js +21 -15
  643. package/modules/heikinashi.js +3 -3
  644. package/modules/heikinashi.src.js +9 -6
  645. package/modules/histogram-bellcurve.js +3 -3
  646. package/modules/histogram-bellcurve.src.js +4 -3
  647. package/modules/hollowcandlestick.js +3 -3
  648. package/modules/hollowcandlestick.src.js +5 -4
  649. package/modules/item-series.js +3 -3
  650. package/modules/item-series.src.js +4 -3
  651. package/modules/lollipop.js +3 -3
  652. package/modules/lollipop.src.js +6 -3
  653. package/modules/map.d.ts +22 -1
  654. package/modules/map.js +3 -3
  655. package/modules/map.src.d.ts +22 -1
  656. package/modules/map.src.js +256 -155
  657. package/modules/marker-clusters.js +3 -3
  658. package/modules/marker-clusters.src.js +35 -37
  659. package/modules/mouse-wheel-zoom.js +3 -3
  660. package/modules/mouse-wheel-zoom.src.js +55 -163
  661. package/modules/navigator.d.ts +148 -0
  662. package/modules/navigator.js +9 -0
  663. package/modules/navigator.src.d.ts +148 -0
  664. package/modules/navigator.src.js +3921 -0
  665. package/modules/networkgraph.d.ts +2 -2
  666. package/modules/networkgraph.js +3 -3
  667. package/modules/networkgraph.src.d.ts +2 -2
  668. package/modules/networkgraph.src.js +36 -35
  669. package/modules/no-data-to-display.js +3 -3
  670. package/modules/no-data-to-display.src.js +6 -6
  671. package/modules/offline-exporting.js +3 -3
  672. package/modules/offline-exporting.src.js +10 -10
  673. package/modules/organization.js +3 -3
  674. package/modules/organization.src.js +41 -15
  675. package/modules/overlapping-datalabels.js +3 -3
  676. package/modules/overlapping-datalabels.src.js +4 -2
  677. package/modules/parallel-coordinates.js +3 -3
  678. package/modules/parallel-coordinates.src.js +12 -12
  679. package/modules/pareto.js +3 -3
  680. package/modules/pareto.src.js +3 -2
  681. package/modules/pathfinder.js +3 -3
  682. package/modules/pathfinder.src.js +18 -22
  683. package/modules/pattern-fill.js +3 -3
  684. package/modules/pattern-fill.src.js +22 -23
  685. package/modules/pictorial.js +3 -3
  686. package/modules/pictorial.src.js +25 -26
  687. package/modules/price-indicator.js +3 -3
  688. package/modules/price-indicator.src.js +3 -2
  689. package/modules/pyramid3d.js +3 -3
  690. package/modules/pyramid3d.src.js +3 -2
  691. package/modules/sankey.js +3 -3
  692. package/modules/sankey.src.js +93 -26
  693. package/modules/series-label.js +3 -3
  694. package/modules/series-label.src.js +28 -19
  695. package/modules/series-on-point.js +3 -3
  696. package/modules/series-on-point.src.js +5 -4
  697. package/modules/solid-gauge.js +3 -3
  698. package/modules/solid-gauge.src.js +3 -2
  699. package/modules/sonification.d.ts +2 -2
  700. package/modules/sonification.js +3 -3
  701. package/modules/sonification.src.d.ts +2 -2
  702. package/modules/sonification.src.js +8 -6
  703. package/modules/static-scale.js +3 -3
  704. package/modules/static-scale.src.js +6 -6
  705. package/modules/stock-tools.js +3 -3
  706. package/modules/stock-tools.src.js +109 -96
  707. package/modules/stock.d.ts +1 -1
  708. package/modules/stock.js +3 -3
  709. package/modules/stock.src.d.ts +1 -1
  710. package/modules/stock.src.js +10762 -10685
  711. package/modules/streamgraph.js +3 -3
  712. package/modules/streamgraph.src.js +3 -2
  713. package/modules/sunburst.js +3 -3
  714. package/modules/sunburst.src.js +50 -37
  715. package/modules/tiledwebmap.js +4 -4
  716. package/modules/tiledwebmap.src.js +28 -29
  717. package/modules/tilemap.js +3 -3
  718. package/modules/tilemap.src.js +4 -3
  719. package/modules/timeline.js +3 -3
  720. package/modules/timeline.src.js +5 -4
  721. package/modules/treegraph.js +3 -3
  722. package/modules/treegraph.src.js +58 -23
  723. package/modules/treegrid.js +3 -3
  724. package/modules/treegrid.src.js +49 -33
  725. package/modules/treemap.js +3 -3
  726. package/modules/treemap.src.js +44 -26
  727. package/modules/variable-pie.js +3 -3
  728. package/modules/variable-pie.src.js +3 -2
  729. package/modules/variwide.js +3 -3
  730. package/modules/variwide.src.js +9 -4
  731. package/modules/vector.js +3 -3
  732. package/modules/vector.src.js +3 -2
  733. package/modules/venn.js +3 -3
  734. package/modules/venn.src.js +16 -17
  735. package/modules/windbarb.js +3 -3
  736. package/modules/windbarb.src.js +5 -4
  737. package/modules/wordcloud.js +3 -3
  738. package/modules/wordcloud.src.js +10 -8
  739. package/modules/xrange.js +3 -3
  740. package/modules/xrange.src.js +5 -4
  741. package/package.json +1 -1
  742. package/standalone-navigator.js +2 -0
  743. package/standalone-navigator.src.js +49402 -0
  744. package/themes/avocado.js +3 -3
  745. package/themes/avocado.src.js +2 -1
  746. package/themes/brand-dark.js +3 -3
  747. package/themes/brand-dark.src.js +2 -1
  748. package/themes/brand-light.js +3 -3
  749. package/themes/brand-light.src.js +2 -1
  750. package/themes/dark-blue.js +3 -3
  751. package/themes/dark-blue.src.js +2 -1
  752. package/themes/dark-green.js +3 -3
  753. package/themes/dark-green.src.js +2 -1
  754. package/themes/dark-unica.js +3 -3
  755. package/themes/dark-unica.src.js +2 -1
  756. package/themes/gray.js +3 -3
  757. package/themes/gray.src.js +2 -1
  758. package/themes/grid-light.js +3 -3
  759. package/themes/grid-light.src.js +2 -1
  760. package/themes/grid.js +3 -3
  761. package/themes/grid.src.js +2 -1
  762. package/themes/high-contrast-dark.js +3 -3
  763. package/themes/high-contrast-dark.src.js +2 -1
  764. package/themes/high-contrast-light.js +3 -3
  765. package/themes/high-contrast-light.src.js +2 -1
  766. package/themes/sand-signika.js +3 -3
  767. package/themes/sand-signika.src.js +2 -1
  768. package/themes/skies.js +3 -3
  769. package/themes/skies.src.js +2 -1
  770. package/themes/sunset.js +3 -3
  771. package/themes/sunset.src.js +2 -1
  772. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +0 -259
  773. package/lib/canvg.js +0 -8
@@ -9,13 +9,6 @@
9
9
  * Highcharts feature to make the Y axis stay fixed when scrolling the chart
10
10
  * horizontally on mobile devices. Supports left and right side axes.
11
11
  */
12
- /*
13
- WIP on vertical scrollable plot area (#9378). To do:
14
- - Bottom axis positioning
15
- - Test with Gantt
16
- - Look for size optimizing the code
17
- - API and demos
18
- */
19
12
  'use strict';
20
13
  import A from '../Core/Animation/AnimationUtilities.js';
21
14
  const { stop } = A;
@@ -23,19 +16,99 @@ import H from '../Core/Globals.js';
23
16
  const { composed } = H;
24
17
  import RendererRegistry from '../Core/Renderer/RendererRegistry.js';
25
18
  import U from '../Core/Utilities.js';
26
- const { addEvent, createElement, css, defined, extend, merge, pick, pushUnique } = U;
19
+ const { addEvent, createElement, css, defined, merge, pushUnique } = U;
27
20
  /* *
28
21
  *
29
22
  * Functions
30
23
  *
31
24
  * */
32
25
  /** @private */
33
- function chartApplyFixed() {
34
- const { axisOffset, chartWidth, chartHeight, container, plotHeight, plotLeft, plotTop, plotWidth, scrollablePixelsX = 0, scrollablePixelsY = 0, scrollingContainer } = this, firstTime = !this.fixedDiv, chartOptions = this.options.chart, scrollableOptions = chartOptions.scrollablePlotArea, { scrollPositionX, scrollPositionY } = scrollableOptions, Renderer = RendererRegistry.getRendererType();
35
- let { fixedRenderer } = this;
36
- // First render
37
- if (!fixedRenderer) {
38
- this.fixedDiv = createElement('div', {
26
+ function onChartRender() {
27
+ let scrollablePlotArea = this.scrollablePlotArea;
28
+ if ((this.scrollablePixelsX || this.scrollablePixelsY) &&
29
+ !scrollablePlotArea) {
30
+ this.scrollablePlotArea = scrollablePlotArea = new ScrollablePlotArea(this);
31
+ }
32
+ scrollablePlotArea?.applyFixed();
33
+ }
34
+ /** @private */
35
+ function markDirty() {
36
+ if (this.chart.scrollablePlotArea) {
37
+ this.chart.scrollablePlotArea.isDirty = true;
38
+ }
39
+ }
40
+ class ScrollablePlotArea {
41
+ static compose(AxisClass, ChartClass, SeriesClass) {
42
+ if (pushUnique(composed, this.compose)) {
43
+ addEvent(AxisClass, 'afterInit', markDirty);
44
+ addEvent(ChartClass, 'afterSetChartSize', (e) => this.afterSetSize(e.target, e));
45
+ addEvent(ChartClass, 'render', onChartRender);
46
+ addEvent(SeriesClass, 'show', markDirty);
47
+ }
48
+ }
49
+ static afterSetSize(chart, e) {
50
+ const { minWidth, minHeight } = chart.options.chart.scrollablePlotArea || {}, { clipBox, plotBox, inverted, renderer } = chart;
51
+ let scrollablePixelsX, scrollablePixelsY, recalculateHoriz;
52
+ if (!renderer.forExport) {
53
+ // The amount of pixels to scroll, the difference between chart
54
+ // width and scrollable width
55
+ if (minWidth) {
56
+ chart.scrollablePixelsX = scrollablePixelsX = Math.max(0, minWidth - chart.chartWidth);
57
+ if (scrollablePixelsX) {
58
+ chart.scrollablePlotBox = merge(chart.plotBox);
59
+ plotBox.width = chart.plotWidth += scrollablePixelsX;
60
+ clipBox[inverted ? 'height' : 'width'] += scrollablePixelsX;
61
+ recalculateHoriz = true;
62
+ }
63
+ // Currently we can only do either X or Y
64
+ }
65
+ else if (minHeight) {
66
+ chart.scrollablePixelsY = scrollablePixelsY = Math.max(0, minHeight - chart.chartHeight);
67
+ if (defined(scrollablePixelsY)) {
68
+ chart.scrollablePlotBox = merge(chart.plotBox);
69
+ plotBox.height = chart.plotHeight += scrollablePixelsY;
70
+ clipBox[inverted ? 'width' : 'height'] += scrollablePixelsY;
71
+ recalculateHoriz = false;
72
+ }
73
+ }
74
+ if (defined(recalculateHoriz) && !e.skipAxes) {
75
+ for (const axis of chart.axes) {
76
+ // Apply the corrected plot size to the axes of the other
77
+ // orientation than the scrolling direction
78
+ if (axis.horiz === recalculateHoriz) {
79
+ axis.setAxisSize();
80
+ axis.setAxisTranslation();
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ constructor(chart) {
87
+ const chartOptions = chart.options.chart, Renderer = RendererRegistry.getRendererType(), scrollableOptions = chartOptions.scrollablePlotArea || {}, moveFixedElements = this.moveFixedElements.bind(this), styles = {
88
+ WebkitOverflowScrolling: 'touch',
89
+ overflowX: 'hidden',
90
+ overflowY: 'hidden'
91
+ };
92
+ if (chart.scrollablePixelsX) {
93
+ styles.overflowX = 'auto';
94
+ }
95
+ if (chart.scrollablePixelsY) {
96
+ styles.overflowY = 'auto';
97
+ }
98
+ this.chart = chart;
99
+ // Insert a container with relative position that scrolling and fixed
100
+ // container renders to (#10555)
101
+ const parentDiv = this.parentDiv = createElement('div', {
102
+ className: 'highcharts-scrolling-parent'
103
+ }, {
104
+ position: 'relative'
105
+ }, chart.renderTo),
106
+ // Add the necessary divs to provide scrolling
107
+ scrollingContainer = this.scrollingContainer = createElement('div', {
108
+ 'className': 'highcharts-scrolling'
109
+ }, styles, parentDiv), innerContainer = this.innerContainer = createElement('div', {
110
+ 'className': 'highcharts-inner-container'
111
+ }, void 0, scrollingContainer), fixedDiv = this.fixedDiv = createElement('div', {
39
112
  className: 'highcharts-fixed'
40
113
  }, {
41
114
  position: 'absolute',
@@ -43,311 +116,164 @@ function chartApplyFixed() {
43
116
  pointerEvents: 'none',
44
117
  zIndex: (chartOptions.style?.zIndex || 0) + 2,
45
118
  top: 0
46
- }, void 0, true);
47
- scrollingContainer?.parentNode.insertBefore(this.fixedDiv, scrollingContainer);
48
- css(this.renderTo, { overflow: 'visible' });
49
- this.fixedRenderer = fixedRenderer = new Renderer(this.fixedDiv, chartWidth, chartHeight, chartOptions.style);
119
+ }, void 0, true), fixedRenderer = this.fixedRenderer = new Renderer(fixedDiv, chart.chartWidth, chart.chartHeight, chartOptions.style);
50
120
  // Mask
51
- this.scrollableMask = fixedRenderer
121
+ this.mask = fixedRenderer
52
122
  .path()
53
123
  .attr({
54
124
  fill: chartOptions.backgroundColor || '#fff',
55
- 'fill-opacity': pick(scrollableOptions.opacity, 0.85),
125
+ 'fill-opacity': scrollableOptions.opacity ?? 0.85,
56
126
  zIndex: -1
57
127
  })
58
128
  .addClass('highcharts-scrollable-mask')
59
129
  .add();
60
- addEvent(this, 'afterShowResetZoom', this.moveFixedElements);
61
- addEvent(this, 'afterApplyDrilldown', this.moveFixedElements);
62
- addEvent(this, 'afterLayOutTitles', this.moveFixedElements);
130
+ scrollingContainer.parentNode.insertBefore(fixedDiv, scrollingContainer);
131
+ css(chart.renderTo, { overflow: 'visible' });
132
+ addEvent(chart, 'afterShowResetZoom', moveFixedElements);
133
+ addEvent(chart, 'afterApplyDrilldown', moveFixedElements);
134
+ addEvent(chart, 'afterLayOutTitles', moveFixedElements);
135
+ // On scroll, reset the chart position because it applies to the
136
+ // scrolled container
137
+ let lastHoverPoint;
138
+ addEvent(scrollingContainer, 'scroll', () => {
139
+ const { pointer, hoverPoint } = chart;
140
+ if (pointer) {
141
+ delete pointer.chartPosition;
142
+ if (hoverPoint) {
143
+ lastHoverPoint = hoverPoint;
144
+ }
145
+ pointer.runPointActions(void 0, lastHoverPoint, true);
146
+ }
147
+ });
148
+ // Now move the container inside
149
+ innerContainer.appendChild(chart.container);
63
150
  }
64
- else {
151
+ applyFixed() {
152
+ const { chart, fixedRenderer, isDirty, scrollingContainer } = this, { axisOffset, chartWidth, chartHeight, container, plotHeight, plotLeft, plotTop, plotWidth, scrollablePixelsX = 0, scrollablePixelsY = 0 } = chart, chartOptions = chart.options.chart, scrollableOptions = chartOptions.scrollablePlotArea || {}, { scrollPositionX = 0, scrollPositionY = 0 } = scrollableOptions, scrollableWidth = chartWidth + scrollablePixelsX, scrollableHeight = chartHeight + scrollablePixelsY;
65
153
  // Set the size of the fixed renderer to the visible width
66
154
  fixedRenderer.setSize(chartWidth, chartHeight);
67
- }
68
- if (this.scrollableDirty || firstTime) {
69
- this.scrollableDirty = false;
70
- this.moveFixedElements();
71
- }
72
- // Increase the size of the scrollable renderer and background
73
- const scrollableWidth = chartWidth + scrollablePixelsX, scrollableHeight = chartHeight + scrollablePixelsY;
74
- stop(this.container);
75
- css(container, {
76
- width: `${scrollableWidth}px`,
77
- height: `${scrollableHeight}px`
78
- });
79
- this.renderer.boxWrapper.attr({
80
- width: scrollableWidth,
81
- height: scrollableHeight,
82
- viewBox: [0, 0, scrollableWidth, scrollableHeight].join(' ')
83
- });
84
- this.chartBackground?.attr({
85
- width: scrollableWidth,
86
- height: scrollableHeight
87
- });
88
- if (scrollingContainer) {
155
+ if (isDirty ?? true) {
156
+ this.isDirty = false;
157
+ this.moveFixedElements();
158
+ }
159
+ // Increase the size of the scrollable renderer and background
160
+ stop(chart.container);
161
+ css(container, {
162
+ width: `${scrollableWidth}px`,
163
+ height: `${scrollableHeight}px`
164
+ });
165
+ chart.renderer.boxWrapper.attr({
166
+ width: scrollableWidth,
167
+ height: scrollableHeight,
168
+ viewBox: [0, 0, scrollableWidth, scrollableHeight].join(' ')
169
+ });
170
+ chart.chartBackground?.attr({
171
+ width: scrollableWidth,
172
+ height: scrollableHeight
173
+ });
89
174
  css(scrollingContainer, {
90
- width: `${this.chartWidth}px`,
91
- height: `${this.chartHeight}px`
175
+ width: `${chartWidth}px`,
176
+ height: `${chartHeight}px`
92
177
  });
93
- // Set scroll position
94
- if (firstTime) {
95
- if (scrollPositionX) {
96
- scrollingContainer.scrollLeft =
97
- scrollablePixelsX * scrollPositionX;
98
- }
99
- if (scrollPositionY) {
100
- scrollingContainer.scrollTop =
101
- scrollablePixelsY * scrollPositionY;
102
- }
178
+ // Set scroll position the first time (this.isDirty was undefined at
179
+ // the top of this function)
180
+ if (!defined(isDirty)) {
181
+ scrollingContainer.scrollLeft = scrollablePixelsX * scrollPositionX;
182
+ scrollingContainer.scrollTop = scrollablePixelsY * scrollPositionY;
183
+ }
184
+ // Mask behind the left and right side
185
+ const maskTop = plotTop - axisOffset[0] - 1, maskLeft = plotLeft - axisOffset[3] - 1, maskBottom = plotTop + plotHeight + axisOffset[2] + 1, maskRight = plotLeft + plotWidth + axisOffset[1] + 1, maskPlotRight = plotLeft + plotWidth - scrollablePixelsX, maskPlotBottom = plotTop + plotHeight - scrollablePixelsY;
186
+ let d = [['M', 0, 0]];
187
+ if (scrollablePixelsX) {
188
+ d = [
189
+ // Left side
190
+ ['M', 0, maskTop],
191
+ ['L', plotLeft - 1, maskTop],
192
+ ['L', plotLeft - 1, maskBottom],
193
+ ['L', 0, maskBottom],
194
+ ['Z'],
195
+ // Right side
196
+ ['M', maskPlotRight, maskTop],
197
+ ['L', chartWidth, maskTop],
198
+ ['L', chartWidth, maskBottom],
199
+ ['L', maskPlotRight, maskBottom],
200
+ ['Z']
201
+ ];
202
+ }
203
+ else if (scrollablePixelsY) {
204
+ d = [
205
+ // Top side
206
+ ['M', maskLeft, 0],
207
+ ['L', maskLeft, plotTop - 1],
208
+ ['L', maskRight, plotTop - 1],
209
+ ['L', maskRight, 0],
210
+ ['Z'],
211
+ // Bottom side
212
+ ['M', maskLeft, maskPlotBottom],
213
+ ['L', maskLeft, chartHeight],
214
+ ['L', maskRight, chartHeight],
215
+ ['L', maskRight, maskPlotBottom],
216
+ ['Z']
217
+ ];
218
+ }
219
+ if (chart.redrawTrigger !== 'adjustHeight') {
220
+ this.mask.attr({ d });
103
221
  }
104
222
  }
105
- // Mask behind the left and right side
106
- const maskTop = plotTop - axisOffset[0] - 1, maskLeft = plotLeft - axisOffset[3] - 1, maskBottom = plotTop + plotHeight + axisOffset[2] + 1, maskRight = plotLeft + plotWidth + axisOffset[1] + 1, maskPlotRight = plotLeft + plotWidth - scrollablePixelsX, maskPlotBottom = plotTop + plotHeight - scrollablePixelsY;
107
- let d;
108
- if (scrollablePixelsX) {
109
- d = [
110
- // Left side
111
- ['M', 0, maskTop],
112
- ['L', plotLeft - 1, maskTop],
113
- ['L', plotLeft - 1, maskBottom],
114
- ['L', 0, maskBottom],
115
- ['Z'],
116
- // Right side
117
- ['M', maskPlotRight, maskTop],
118
- ['L', chartWidth, maskTop],
119
- ['L', chartWidth, maskBottom],
120
- ['L', maskPlotRight, maskBottom],
121
- ['Z']
122
- ];
123
- }
124
- else if (scrollablePixelsY) {
125
- d = [
126
- // Top side
127
- ['M', maskLeft, 0],
128
- ['L', maskLeft, plotTop - 1],
129
- ['L', maskRight, plotTop - 1],
130
- ['L', maskRight, 0],
131
- ['Z'],
132
- // Bottom side
133
- ['M', maskLeft, maskPlotBottom],
134
- ['L', maskLeft, chartHeight],
135
- ['L', maskRight, chartHeight],
136
- ['L', maskRight, maskPlotBottom],
137
- ['Z']
223
+ /**
224
+ * These elements are moved over to the fixed renderer and stay fixed when
225
+ * the user scrolls the chart
226
+ * @private
227
+ */
228
+ moveFixedElements() {
229
+ const { container, inverted, scrollablePixelsX, scrollablePixelsY } = this.chart, fixedRenderer = this.fixedRenderer, fixedSelectors = [
230
+ '.highcharts-breadcrumbs-group',
231
+ '.highcharts-contextbutton',
232
+ '.highcharts-caption',
233
+ '.highcharts-credits',
234
+ '.highcharts-legend',
235
+ '.highcharts-legend-checkbox',
236
+ '.highcharts-navigator-series',
237
+ '.highcharts-navigator-xaxis',
238
+ '.highcharts-navigator-yaxis',
239
+ '.highcharts-navigator',
240
+ '.highcharts-reset-zoom',
241
+ '.highcharts-drillup-button',
242
+ '.highcharts-scrollbar',
243
+ '.highcharts-subtitle',
244
+ '.highcharts-title'
138
245
  ];
139
- }
140
- else {
141
- d = [['M', 0, 0]];
142
- }
143
- if (this.redrawTrigger !== 'adjustHeight') {
144
- this.scrollableMask?.attr({ d });
145
- }
146
- }
147
- /**
148
- * These elements are moved over to the fixed renderer and stay fixed when the
149
- * user scrolls the chart
150
- * @private
151
- */
152
- function chartMoveFixedElements() {
153
- const container = this.container, fixedRenderer = this.fixedRenderer, fixedSelectors = [
154
- '.highcharts-breadcrumbs-group',
155
- '.highcharts-contextbutton',
156
- '.highcharts-caption',
157
- '.highcharts-credits',
158
- '.highcharts-legend',
159
- '.highcharts-legend-checkbox',
160
- '.highcharts-navigator-series',
161
- '.highcharts-navigator-xaxis',
162
- '.highcharts-navigator-yaxis',
163
- '.highcharts-navigator',
164
- '.highcharts-reset-zoom',
165
- '.highcharts-drillup-button',
166
- '.highcharts-scrollbar',
167
- '.highcharts-subtitle',
168
- '.highcharts-title'
169
- ];
170
- let axisClass;
171
- if (this.scrollablePixelsX && !this.inverted) {
172
- axisClass = '.highcharts-yaxis';
173
- }
174
- else if (this.scrollablePixelsX && this.inverted) {
175
- axisClass = '.highcharts-xaxis';
176
- }
177
- else if (this.scrollablePixelsY && !this.inverted) {
178
- axisClass = '.highcharts-xaxis';
179
- }
180
- else if (this.scrollablePixelsY && this.inverted) {
181
- axisClass = '.highcharts-yaxis';
182
- }
183
- if (axisClass) {
184
- fixedSelectors.push(`${axisClass}:not(.highcharts-radial-axis)`, `${axisClass}-labels:not(.highcharts-radial-axis-labels)`);
185
- }
186
- for (const className of fixedSelectors) {
187
- [].forEach.call(container.querySelectorAll(className), (elem) => {
188
- (elem.namespaceURI === fixedRenderer.SVG_NS ?
189
- fixedRenderer.box :
190
- fixedRenderer.box.parentNode).appendChild(elem);
191
- elem.style.pointerEvents = 'auto';
192
- });
193
- }
194
- }
195
- /** @private */
196
- function chartSetUpScrolling() {
197
- const css = {
198
- WebkitOverflowScrolling: 'touch',
199
- overflowX: 'hidden',
200
- overflowY: 'hidden'
201
- };
202
- if (this.scrollablePixelsX) {
203
- css.overflowX = 'auto';
204
- }
205
- if (this.scrollablePixelsY) {
206
- css.overflowY = 'auto';
207
- }
208
- // Insert a container with position relative
209
- // that scrolling and fixed container renders to (#10555)
210
- this.scrollingParent = createElement('div', {
211
- className: 'highcharts-scrolling-parent'
212
- }, {
213
- position: 'relative'
214
- }, this.renderTo);
215
- // Add the necessary divs to provide scrolling
216
- this.scrollingContainer = createElement('div', {
217
- 'className': 'highcharts-scrolling'
218
- }, css, this.scrollingParent);
219
- // On scroll, reset the chart position because it applies to the scrolled
220
- // container
221
- let lastHoverPoint;
222
- addEvent(this.scrollingContainer, 'scroll', () => {
223
- if (this.pointer) {
224
- delete this.pointer.chartPosition;
225
- if (this.hoverPoint) {
226
- lastHoverPoint = this.hoverPoint;
227
- }
228
- this.pointer.runPointActions(void 0, lastHoverPoint, true);
246
+ let axisClass;
247
+ if (scrollablePixelsX && !inverted) {
248
+ axisClass = '.highcharts-yaxis';
229
249
  }
230
- });
231
- this.innerContainer = createElement('div', {
232
- 'className': 'highcharts-inner-container'
233
- }, null, this.scrollingContainer);
234
- // Now move the container inside
235
- this.innerContainer.appendChild(this.container);
236
- // Don't run again
237
- this.setUpScrolling = null;
238
- }
239
- /** @private */
240
- function compose(AxisClass, ChartClass, SeriesClass) {
241
- if (pushUnique(composed, compose)) {
242
- addEvent(AxisClass, 'afterInit', onAxisAfterInit);
243
- extend(ChartClass.prototype, {
244
- applyFixed: chartApplyFixed,
245
- moveFixedElements: chartMoveFixedElements,
246
- setUpScrolling: chartSetUpScrolling
247
- });
248
- addEvent(ChartClass, 'afterSetChartSize', onChartAfterSetChartSize);
249
- addEvent(ChartClass, 'render', onChartRender);
250
- addEvent(SeriesClass, 'show', onSeriesShow);
251
- }
252
- }
253
- /** @private */
254
- function onAxisAfterInit() {
255
- this.chart.scrollableDirty = true;
256
- }
257
- /** @private */
258
- function onChartAfterSetChartSize(e) {
259
- const scrollablePlotArea = this.options.chart.scrollablePlotArea, scrollableMinWidth = scrollablePlotArea && scrollablePlotArea.minWidth, scrollableMinHeight = scrollablePlotArea && scrollablePlotArea.minHeight;
260
- let scrollablePixelsX, scrollablePixelsY, corrections;
261
- if (!this.renderer.forExport) {
262
- // The amount of pixels to scroll, the difference between chart
263
- // width and scrollable width
264
- if (scrollableMinWidth) {
265
- this.scrollablePixelsX = scrollablePixelsX = Math.max(0, scrollableMinWidth - this.chartWidth);
266
- if (scrollablePixelsX) {
267
- this.scrollablePlotBox = (this.renderer.scrollablePlotBox = merge(this.plotBox));
268
- this.plotBox.width = this.plotWidth += scrollablePixelsX;
269
- if (this.inverted) {
270
- this.clipBox.height += scrollablePixelsX;
271
- }
272
- else {
273
- this.clipBox.width += scrollablePixelsX;
274
- }
275
- corrections = {
276
- // Corrections for right side
277
- 1: { name: 'right', value: scrollablePixelsX }
278
- };
279
- }
280
- // Currently we can only do either X or Y
250
+ else if (scrollablePixelsX && inverted) {
251
+ axisClass = '.highcharts-xaxis';
281
252
  }
282
- else if (scrollableMinHeight) {
283
- this.scrollablePixelsY = scrollablePixelsY = Math.max(0, scrollableMinHeight - this.chartHeight);
284
- if (defined(scrollablePixelsY)) {
285
- this.scrollablePlotBox = (this.renderer.scrollablePlotBox = merge(this.plotBox));
286
- this.plotBox.height = this.plotHeight += scrollablePixelsY;
287
- if (this.inverted) {
288
- this.clipBox.width += scrollablePixelsY;
289
- }
290
- else {
291
- this.clipBox.height += scrollablePixelsY;
292
- }
293
- corrections = {
294
- 2: { name: 'bottom', value: scrollablePixelsY }
295
- };
296
- }
253
+ else if (scrollablePixelsY && !inverted) {
254
+ axisClass = '.highcharts-xaxis';
297
255
  }
298
- if (corrections && !e.skipAxes) {
299
- for (const axis of this.axes) {
300
- // For right and bottom axes, only fix the plot line length
301
- if (corrections[axis.side]) {
302
- const originalGetPlotLinePath = axis.getPlotLinePath;
303
- // Get the plot lines right in getPlotLinePath,
304
- // temporarily set it to the adjusted plot width.
305
- // eslint-disable-next-line no-loop-func
306
- axis.getPlotLinePath = function () {
307
- const marginName = corrections[axis.side].name, correctionValue = corrections[axis.side].value,
308
- // axis.right or axis.bottom
309
- margin = this[marginName];
310
- // Temporarily adjust
311
- this[marginName] = margin - correctionValue;
312
- const path = originalGetPlotLinePath.apply(this, arguments);
313
- // Reset
314
- this[marginName] = margin;
315
- return path;
316
- };
317
- }
318
- else {
319
- // Apply the corrected plotWidth
320
- axis.setAxisSize();
321
- axis.setAxisTranslation();
322
- }
323
- }
256
+ else if (scrollablePixelsY && inverted) {
257
+ axisClass = '.highcharts-yaxis';
324
258
  }
325
- }
326
- }
327
- /** @private */
328
- function onChartRender() {
329
- if (this.scrollablePixelsX || this.scrollablePixelsY) {
330
- if (this.setUpScrolling) {
331
- this.setUpScrolling();
259
+ if (axisClass) {
260
+ fixedSelectors.push(`${axisClass}:not(.highcharts-radial-axis)`, `${axisClass}-labels:not(.highcharts-radial-axis-labels)`);
261
+ }
262
+ for (const className of fixedSelectors) {
263
+ [].forEach.call(container.querySelectorAll(className), (elem) => {
264
+ (elem.namespaceURI === fixedRenderer.SVG_NS ?
265
+ fixedRenderer.box :
266
+ fixedRenderer.box.parentNode).appendChild(elem);
267
+ elem.style.pointerEvents = 'auto';
268
+ });
332
269
  }
333
- this.applyFixed();
334
- }
335
- else if (this.fixedDiv) { // Has been in scrollable mode
336
- this.applyFixed();
337
270
  }
338
271
  }
339
- /** @private */
340
- function onSeriesShow() {
341
- this.chart.scrollableDirty = true;
342
- }
343
272
  /* *
344
273
  *
345
274
  * Default Export
346
275
  *
347
276
  * */
348
- const ScrollablePlotArea = {
349
- compose
350
- };
351
277
  export default ScrollablePlotArea;
352
278
  /* *
353
279
  *
@@ -421,4 +347,4 @@ export default ScrollablePlotArea;
421
347
  * @since 7.1.1
422
348
  * @apioption chart.scrollablePlotArea.opacity
423
349
  */
424
- (''); // keep doclets above in transpiled file
350
+ (''); // Keep doclets above in transpiled file
@@ -157,7 +157,7 @@ function checkClearPoint(series, x, y, bBox, checkDistance) {
157
157
  * @private
158
158
  */
159
159
  function compose(ChartClass, SVGRendererClass) {
160
- if (pushUnique(composed, compose)) {
160
+ if (pushUnique(composed, 'SeriesLabel')) {
161
161
  // Leave both events, we handle animation differently (#9815)
162
162
  addEvent(ChartClass, 'load', onChartRedraw);
163
163
  addEvent(ChartClass, 'redraw', onChartRedraw);
@@ -276,8 +276,10 @@ function drawSeriesLabels(chart) {
276
276
  for (i = points.length - 1; i > 0; i -= 1) {
277
277
  if (onArea) {
278
278
  // Centered
279
- x = points[i].chartX - bBox.width / 2;
280
- y = (points[i].chartCenterY || 0) - bBox.height / 2;
279
+ x = (points[i].chartCenterX ?? points[i].chartX) -
280
+ bBox.width / 2;
281
+ y = (points[i].chartCenterY ?? points[i].chartY) -
282
+ bBox.height / 2;
281
283
  if (insidePane(x, y, bBox)) {
282
284
  best = checkClearPoint(series, x, y, bBox);
283
285
  }
@@ -418,7 +420,7 @@ function getPointsOnGraph(series) {
418
420
  if (!series.xAxis && !series.yAxis) {
419
421
  return;
420
422
  }
421
- const distance = 16, points = series.points, interpolated = [], graph = series.graph || series.area, node = graph && graph.element, inverted = series.chart.inverted, xAxis = series.xAxis, yAxis = series.yAxis, paneLeft = inverted ? yAxis.pos : xAxis.pos, paneTop = inverted ? xAxis.pos : yAxis.pos, seriesLabelOptions = series.options.label || {}, onArea = pick(seriesLabelOptions.onArea, !!series.area), translatedThreshold = yAxis.getThreshold(series.options.threshold), grid = {};
423
+ const distance = 16, points = series.points, interpolated = [], graph = series.graph || series.area, node = graph && graph.element, inverted = series.chart.inverted, xAxis = series.xAxis, yAxis = series.yAxis, paneLeft = inverted ? yAxis.pos : xAxis.pos, paneTop = inverted ? xAxis.pos : yAxis.pos, paneHeight = inverted ? xAxis.len : yAxis.len, paneWidth = inverted ? yAxis.len : xAxis.len, seriesLabelOptions = series.options.label || {}, onArea = pick(seriesLabelOptions.onArea, !!series.area), translatedThreshold = yAxis.getThreshold(series.options.threshold), grid = {}, chartCenterKey = inverted ? 'chartCenterX' : 'chartCenterY';
422
424
  let i, deltaX, deltaY, delta, len, n, j;
423
425
  /**
424
426
  * Push the point to the interpolated points, but only if that position in
@@ -451,22 +453,22 @@ function getPointsOnGraph(series) {
451
453
  }
452
454
  len = node.getTotalLength();
453
455
  for (i = 0; i < len; i += distance) {
454
- const domPoint = node.getPointAtLength(i);
456
+ const domPoint = node.getPointAtLength(i), plotX = inverted ? paneWidth - domPoint.y : domPoint.x, plotY = inverted ? paneHeight - domPoint.x : domPoint.y;
455
457
  pushDiscrete({
456
- chartX: paneLeft + domPoint.x,
457
- chartY: paneTop + domPoint.y,
458
- plotX: domPoint.x,
459
- plotY: domPoint.y
458
+ chartX: paneLeft + plotX,
459
+ chartY: paneTop + plotY,
460
+ plotX,
461
+ plotY
460
462
  });
461
463
  }
462
464
  if (d) {
463
465
  graph.attr({ d });
464
466
  }
465
467
  // Last point
466
- const point = points[points.length - 1];
468
+ const point = points[points.length - 1], pos = point.pos();
467
469
  pushDiscrete({
468
- chartX: paneLeft + (point.plotX || 0),
469
- chartY: paneTop + (point.plotY || 0)
470
+ chartX: paneLeft + (pos?.[0] || 0),
471
+ chartY: paneTop + (pos?.[1] || 0)
470
472
  });
471
473
  // Interpolate
472
474
  }
@@ -474,7 +476,7 @@ function getPointsOnGraph(series) {
474
476
  len = points.length;
475
477
  let last;
476
478
  for (i = 0; i < len; i += 1) {
477
- const point = points[i], { plotX, plotY, plotHigh } = point;
479
+ const point = points[i], [plotX, plotY] = point.pos() || [], { plotHigh } = point;
478
480
  if (isNumber(plotX) && isNumber(plotY)) {
479
481
  const ctlPoint = {
480
482
  plotX,
@@ -489,8 +491,14 @@ function getPointsOnGraph(series) {
489
491
  ctlPoint.plotY = plotHigh;
490
492
  ctlPoint.chartY = paneTop + plotHigh;
491
493
  }
492
- ctlPoint.chartCenterY = paneTop + ((plotHigh ? plotHigh : plotY) +
493
- pick(point.yBottom, translatedThreshold)) / 2;
494
+ if (inverted) {
495
+ ctlPoint.chartCenterX = paneLeft + paneWidth - ((plotHigh ? plotHigh : point.plotY || 0) +
496
+ pick(point.yBottom, translatedThreshold)) / 2;
497
+ }
498
+ else {
499
+ ctlPoint.chartCenterY = paneTop + ((plotHigh ? plotHigh : plotY) +
500
+ pick(point.yBottom, translatedThreshold)) / 2;
501
+ }
494
502
  }
495
503
  // Add interpolated points
496
504
  if (last) {
@@ -505,9 +513,9 @@ function getPointsOnGraph(series) {
505
513
  (ctlPoint.chartX - last.chartX) * (j / n),
506
514
  chartY: last.chartY +
507
515
  (ctlPoint.chartY - last.chartY) * (j / n),
508
- chartCenterY: (last.chartCenterY || 0) +
509
- ((ctlPoint.chartCenterY || 0) -
510
- (last.chartCenterY || 0)) * (j / n),
516
+ [chartCenterKey]: (last[chartCenterKey] || 0) +
517
+ ((ctlPoint[chartCenterKey] || 0) -
518
+ (last[chartCenterKey] || 0)) * (j / n),
511
519
  plotX: (last.plotX || 0) +
512
520
  (plotX - (last.plotX || 0)) * (j / n),
513
521
  plotY: (last.plotY || 0) +