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
@@ -28,7 +28,7 @@ import Time from '../Time.js';
28
28
  import U from '../Utilities.js';
29
29
  import AST from '../Renderer/HTML/AST.js';
30
30
  import Tick from '../Axis/Tick.js';
31
- const { addEvent, attr, createElement, clamp, css, defined, diffObjects, discardElement, erase, error, extend, find, fireEvent, getStyle, isArray, isNumber, isObject, isString, merge, objectEach, pick, pInt, relativeLength, removeEvent, splat, syncTimeout, uniqueKey } = U;
31
+ const { addEvent, attr, createElement, css, defined, diffObjects, discardElement, erase, error, extend, find, fireEvent, getStyle, isArray, isNumber, isObject, isString, merge, objectEach, pick, pInt, relativeLength, removeEvent, splat, syncTimeout, uniqueKey } = U;
32
32
  /* *
33
33
  *
34
34
  * Class
@@ -58,7 +58,7 @@ const { addEvent, attr, createElement, clamp, css, defined, diffObjects, discard
58
58
  * The chart options structure.
59
59
  *
60
60
  * @param {Highcharts.ChartCallbackFunction} [callback]
61
- * Function to run when the chart has loaded and and all external images
61
+ * Function to run when the chart has loaded and all external images
62
62
  * are loaded. Defining a
63
63
  * [chart.events.load](https://api.highcharts.com/highcharts/chart.events.load)
64
64
  * handler is equivalent.
@@ -87,7 +87,7 @@ class Chart {
87
87
  * The chart options structure.
88
88
  *
89
89
  * @param {Highcharts.ChartCallbackFunction} [callback]
90
- * Function to run when the chart has loaded and and all external images are
90
+ * Function to run when the chart has loaded and all external images are
91
91
  * loaded. Defining a
92
92
  * [chart.events.load](https://api.highcharts.com/highcharts/chart.events.load)
93
93
  * handler is equivalent.
@@ -98,7 +98,12 @@ class Chart {
98
98
  static chart(a, b, c) {
99
99
  return new Chart(a, b, c);
100
100
  }
101
- constructor(a, b, c) {
101
+ /** Implementation */
102
+ constructor(a,
103
+ /* eslint-disable @typescript-eslint/no-unused-vars */
104
+ b, c
105
+ /* eslint-enable @typescript-eslint/no-unused-vars */
106
+ ) {
102
107
  this.sharedClips = {};
103
108
  const args = [
104
109
  // ES5 builds fail unless we cast it to an Array
@@ -143,7 +148,7 @@ class Chart {
143
148
  * Custom options.
144
149
  *
145
150
  * @param {Function} [callback]
146
- * Function to run when the chart has loaded and and all external
151
+ * Function to run when the chart has loaded and all external
147
152
  * images are loaded.
148
153
  *
149
154
  *
@@ -174,8 +179,6 @@ class Chart {
174
179
  this.userOptions = extend({}, userOptions);
175
180
  this.margin = [];
176
181
  this.spacing = [];
177
- // Pixel data bounds for touch zoom
178
- this.bounds = { h: {}, v: {} };
179
182
  // An array of functions that returns labels that should be
180
183
  // considered for anti-collision
181
184
  this.labelCollectors = [];
@@ -391,12 +394,8 @@ class Chart {
391
394
  * Returns true if the given point is inside the plot area.
392
395
  */
393
396
  isInsidePlot(plotX, plotY, options = {}) {
394
- const { inverted, plotBox, plotLeft, plotTop, scrollablePlotBox } = this;
395
- let scrollLeft = 0, scrollTop = 0;
396
- if (options.visiblePlotOnly && this.scrollingContainer) {
397
- ({ scrollLeft, scrollTop } = this.scrollingContainer);
398
- }
399
- const series = options.series, box = (options.visiblePlotOnly && scrollablePlotBox) || plotBox, x = options.inverted ? plotY : plotX, y = options.inverted ? plotX : plotY, e = {
397
+ const { inverted, plotBox, plotLeft, plotTop, scrollablePlotBox } = this, { scrollLeft = 0, scrollTop = 0 } = (options.visiblePlotOnly &&
398
+ this.scrollablePlotArea?.scrollingContainer) || {}, series = options.series, box = (options.visiblePlotOnly && scrollablePlotBox) || plotBox, x = options.inverted ? plotY : plotX, y = options.inverted ? plotX : plotY, e = {
400
399
  x,
401
400
  y,
402
401
  isInsidePlot: true,
@@ -1012,8 +1011,8 @@ class Chart {
1012
1011
  }
1013
1012
  // get the width and height
1014
1013
  chart.getChartSize();
1015
- const chartWidth = chart.chartWidth;
1016
1014
  const chartHeight = chart.chartHeight;
1015
+ let chartWidth = chart.chartWidth;
1017
1016
  // Allow table cells and flex-boxes to shrink without the chart blocking
1018
1017
  // them out (#6427)
1019
1018
  css(renderTo, { overflow: 'hidden' });
@@ -1047,6 +1046,17 @@ class Chart {
1047
1046
  id: containerId
1048
1047
  }, containerStyle, renderTo);
1049
1048
  chart.container = container;
1049
+ // Adjust width if setting height affected it (#20334)
1050
+ chart.getChartSize();
1051
+ if (chartWidth !== chart.chartWidth) {
1052
+ chartWidth = chart.chartWidth;
1053
+ if (!chart.styledMode) {
1054
+ css(container, {
1055
+ width: pick(optionsChart.style?.width, chartWidth + 'px')
1056
+ });
1057
+ }
1058
+ }
1059
+ chart.containerBox = chart.getContainerBox();
1050
1060
  // cache the cursor (#1650)
1051
1061
  chart._cursor = container.style.cursor;
1052
1062
  // Initialize the renderer
@@ -1061,7 +1071,6 @@ class Chart {
1061
1071
  * @type {Highcharts.SVGRenderer}
1062
1072
  */
1063
1073
  chart.renderer = new Renderer(container, chartWidth, chartHeight, void 0, optionsChart.forExport, options.exporting && options.exporting.allowHTML, chart.styledMode);
1064
- chart.containerBox = chart.getContainerBox();
1065
1074
  // Set the initial animation from the options
1066
1075
  setAnimation(void 0, chart);
1067
1076
  chart.setClassName(optionsChart.className);
@@ -1168,7 +1177,7 @@ class Chart {
1168
1177
  */
1169
1178
  reflow(e) {
1170
1179
  const chart = this, oldBox = chart.containerBox, containerBox = chart.getContainerBox();
1171
- delete chart.pointer.chartPosition;
1180
+ delete chart.pointer?.chartPosition;
1172
1181
  // Width and height checks for display:none. Target is doc in Opera
1173
1182
  // and win in Firefox, Chrome and IE9.
1174
1183
  if (!chart.isPrinting &&
@@ -1656,7 +1665,7 @@ class Chart {
1656
1665
  !chart.polar) {
1657
1666
  expectedSpace = options.tickLength;
1658
1667
  axis.createGroups();
1659
- // Calculate extecped space based on dummy tick
1668
+ // Calculate expected space based on dummy tick
1660
1669
  const mockTick = new Tick(axis, 0, '', true), label = mockTick.createLabel('x', labels);
1661
1670
  mockTick.destroy();
1662
1671
  if (label &&
@@ -1788,7 +1797,7 @@ class Chart {
1788
1797
  destroy() {
1789
1798
  const chart = this, axes = chart.axes, series = chart.series, container = chart.container, parentNode = container && container.parentNode;
1790
1799
  let i;
1791
- // fire the chart.destoy event
1800
+ // fire the chart.destroy event
1792
1801
  fireEvent(chart, 'destroy');
1793
1802
  // Delete the chart from charts lookup array
1794
1803
  if (chart.renderer.forExport) {
@@ -1875,7 +1884,7 @@ class Chart {
1875
1884
  // in Highcharts Stock.
1876
1885
  fireEvent(chart, 'beforeRender');
1877
1886
  chart.render();
1878
- chart.pointer.getChartPosition(); // #14973
1887
+ chart.pointer?.getChartPosition(); // #14973
1879
1888
  // Fire the load event if there are no external images
1880
1889
  if (!chart.renderer.imgCount && !chart.hasLoaded) {
1881
1890
  chart.onload();
@@ -2290,7 +2299,7 @@ class Chart {
2290
2299
  this.options.colors = options.colors;
2291
2300
  }
2292
2301
  if (options.time) {
2293
- // Maintaining legacy global time. If the chart is instanciated
2302
+ // Maintaining legacy global time. If the chart is instantiated
2294
2303
  // first with global time, then updated with time options, we need
2295
2304
  // to create a new Time instance to avoid mutating the global time
2296
2305
  // (#10536).
@@ -2304,7 +2313,7 @@ class Chart {
2304
2313
  // need to update the chart options separately. #14230.
2305
2314
  merge(true, chart.options.time, options.time);
2306
2315
  }
2307
- // Some option stuctures correspond one-to-one to chart objects that
2316
+ // Some option structures correspond one-to-one to chart objects that
2308
2317
  // have update methods, for example
2309
2318
  // options.credits => chart.credits
2310
2319
  // options.legend => chart.legend
@@ -2352,7 +2361,7 @@ class Chart {
2352
2361
  // No match by id found, match by index instead
2353
2362
  if (!item && chart[coll]) {
2354
2363
  item = chart[coll][pick(newOptions.index, i)];
2355
- // Check if we grabbed an item with an exising but
2364
+ // Check if we grabbed an item with an existing but
2356
2365
  // different id (#13541). Check that the item in this
2357
2366
  // position is not internal (navigator).
2358
2367
  if (item && ((hasId && defined(item.options.id)) ||
@@ -2477,7 +2486,7 @@ class Chart {
2477
2486
  const chart = this, lang = defaultOptions.lang, btnOptions = chart.zooming.resetButton, theme = btnOptions.theme, alignTo = (btnOptions.relativeTo === 'chart' ||
2478
2487
  btnOptions.relativeTo === 'spacingBox' ?
2479
2488
  null :
2480
- 'scrollablePlotBox');
2489
+ 'plotBox');
2481
2490
  /**
2482
2491
  * @private
2483
2492
  */
@@ -2506,58 +2515,7 @@ class Chart {
2506
2515
  * @emits Highcharts.Chart#event:selection
2507
2516
  */
2508
2517
  zoomOut() {
2509
- fireEvent(this, 'selection', { resetSelection: true }, this.zoom);
2510
- }
2511
- /**
2512
- * Zoom into a given portion of the chart given by axis coordinates.
2513
- *
2514
- * @private
2515
- * @function Highcharts.Chart#zoom
2516
- * @param {Highcharts.SelectEventObject} event
2517
- */
2518
- zoom(event) {
2519
- const chart = this, pointer = chart.pointer;
2520
- let displayButton = false, hasZoomed;
2521
- // If zoom is called with no arguments, reset the axes
2522
- if (!event || event.resetSelection) {
2523
- chart.axes.forEach(function (axis) {
2524
- hasZoomed = axis.zoom();
2525
- });
2526
- pointer.initiated = false; // #6804
2527
- }
2528
- else { // Else, zoom in on all axes
2529
- event.xAxis.concat(event.yAxis).forEach(function (axisData) {
2530
- const axis = axisData.axis, isXAxis = axis.isXAxis, { hasPinched, mouseDownX, mouseDownY } = pointer;
2531
- // Don't zoom more than minRange
2532
- if (pointer[isXAxis ? 'zoomX' : 'zoomY'] &&
2533
- (defined(mouseDownX) &&
2534
- defined(mouseDownY) &&
2535
- chart.isInsidePlot(mouseDownX - chart.plotLeft, mouseDownY - chart.plotTop, {
2536
- axis,
2537
- // Ignore touch positions if pinched on mobile
2538
- // #18062
2539
- ignoreX: hasPinched,
2540
- ignoreY: hasPinched
2541
- })) || !defined(chart.inverted ? mouseDownX : mouseDownY)) {
2542
- hasZoomed = axis.zoom(axisData.min, axisData.max);
2543
- if (axis.displayBtn) {
2544
- displayButton = true;
2545
- }
2546
- }
2547
- });
2548
- }
2549
- // Show or hide the Reset zoom button
2550
- const resetZoomButton = chart.resetZoomButton;
2551
- if (displayButton && !resetZoomButton) {
2552
- chart.showResetZoom();
2553
- }
2554
- else if (!displayButton && isObject(resetZoomButton)) {
2555
- chart.resetZoomButton = resetZoomButton.destroy();
2556
- }
2557
- // Redraw
2558
- if (hasZoomed) {
2559
- chart.redraw(pick(chart.options.chart.animation, event && event.animation, chart.pointCount < 100));
2560
- }
2518
+ fireEvent(this, 'selection', { resetSelection: true }, () => this.transform({ reset: true, trigger: 'zoom' }));
2561
2519
  }
2562
2520
  /**
2563
2521
  * Pan the chart by dragging the mouse across the pane. This function is
@@ -2566,132 +2524,199 @@ class Chart {
2566
2524
  *
2567
2525
  * @private
2568
2526
  * @function Highcharts.Chart#pan
2569
- * @param {Highcharts.PointerEventObject} e
2527
+ * @param {Highcharts.PointerEventObject} event
2570
2528
  * @param {string} panning
2571
2529
  */
2572
- pan(e, panning) {
2573
- const chart = this, hoverPoints = chart.hoverPoints, panningOptions = (typeof panning === 'object' ?
2530
+ pan(event, panning) {
2531
+ const chart = this, panningOptions = (typeof panning === 'object' ?
2574
2532
  panning :
2575
2533
  {
2576
2534
  enabled: panning,
2577
2535
  type: 'x'
2578
- }), chartOptions = chart.options.chart;
2579
- if (chartOptions && chartOptions.panning) {
2536
+ }), type = panningOptions.type, axes = type && chart[{
2537
+ x: 'xAxis',
2538
+ xy: 'axes',
2539
+ y: 'yAxis'
2540
+ }[type]]
2541
+ .filter((axis) => axis.options.panningEnabled && !axis.options.isInternal), chartOptions = chart.options.chart;
2542
+ if (chartOptions?.panning) {
2580
2543
  chartOptions.panning = panningOptions;
2581
2544
  }
2582
- const type = panningOptions.type;
2583
- let doRedraw;
2584
- fireEvent(this, 'pan', { originalEvent: e }, function () {
2585
- // remove active points for shared tooltip
2586
- if (hoverPoints) {
2587
- hoverPoints.forEach(function (point) {
2588
- point.setState();
2589
- });
2590
- }
2591
- let axes = chart.xAxis;
2592
- if (type === 'xy') {
2593
- axes = axes.concat(chart.yAxis);
2545
+ fireEvent(this, 'pan', { originalEvent: event }, () => {
2546
+ chart.transform({
2547
+ axes,
2548
+ event,
2549
+ to: {
2550
+ x: event.chartX - (chart.mouseDownX || 0),
2551
+ y: event.chartY - (chart.mouseDownY || 0)
2552
+ },
2553
+ trigger: 'pan'
2554
+ });
2555
+ css(chart.container, { cursor: 'move' });
2556
+ });
2557
+ }
2558
+ /**
2559
+ * Pan and scale the chart. Used internally by mouse-pan, touch-pan,
2560
+ * touch-zoom, and mousewheel zoom.
2561
+ *
2562
+ * The main positioning logic is created around two imaginary boxes. What is
2563
+ * currently within the `from` rectangle, should be transformed to fill up
2564
+ * the `to` rectangle.
2565
+ * - In a mouse zoom, the `from` rectangle is the selection, while the `to`
2566
+ * rectangle is the full plot area.
2567
+ * - In a touch zoom, the `from` rectangle is made up of the last two-finger
2568
+ * touch, while the `to`` rectangle is the current touch.
2569
+ * - In a mousewheel zoom, the `to` rectangle is a 10x10 px square,
2570
+ * while the `to` rectangle reflects the scale around that.
2571
+ *
2572
+ * @private
2573
+ * @function Highcharts.Chart#transform
2574
+ */
2575
+ transform(params) {
2576
+ const { axes = this.axes, event, from = {}, reset, selection, to = {}, trigger } = params, { inverted, resetZoomButton } = this;
2577
+ let hasZoomed = false, displayButton;
2578
+ // Remove active points for shared tooltip
2579
+ this.hoverPoints?.forEach((point) => point.setState());
2580
+ for (const axis of axes) {
2581
+ const { horiz, len, minPointOffset = 0, options, reversed } = axis, wh = horiz ? 'width' : 'height', xy = horiz ? 'x' : 'y', toLength = to[wh] || axis.len, fromLength = from[wh] || axis.len,
2582
+ // If fingers pinched very close on this axis, treat as pan
2583
+ scale = Math.abs(toLength) < 10 ?
2584
+ 1 :
2585
+ toLength / fromLength, fromCenter = (from[xy] || 0) + fromLength / 2 - axis.pos, toCenter = (to[xy] ?? axis.pos) +
2586
+ toLength / 2 - axis.pos, move = fromCenter - toCenter / scale, pointRangeDirection = (reversed && !inverted) ||
2587
+ (!reversed && inverted) ?
2588
+ -1 :
2589
+ 1, minPx = move;
2590
+ // Zooming in multiple panes, zoom only in the pane that receives
2591
+ // the input
2592
+ if (!reset && (fromCenter < 0 || fromCenter > axis.len)) {
2593
+ continue;
2594
2594
  }
2595
- else if (type === 'y') {
2596
- axes = chart.yAxis;
2595
+ let newMin = axis.toValue(minPx, true) +
2596
+ minPointOffset * pointRangeDirection, newMax = axis.toValue(minPx + len / scale, true) -
2597
+ ((minPointOffset * pointRangeDirection) ||
2598
+ // Polar zoom tests failed when this was not commented:
2599
+ // (axis.isXAxis && axis.pointRangePadding) ||
2600
+ 0), allExtremes = axis.allExtremes;
2601
+ if (newMin > newMax) {
2602
+ [newMin, newMax] = [newMax, newMin];
2597
2603
  }
2598
- const nextMousePos = {};
2599
- axes.forEach(function (axis) {
2600
- if (!axis.options.panningEnabled || axis.options.isInternal) {
2601
- return;
2602
- }
2603
- const horiz = axis.horiz, mousePos = e[horiz ? 'chartX' : 'chartY'], mouseDown = horiz ? 'mouseDownX' : 'mouseDownY', startPos = chart[mouseDown], halfPointRange = axis.minPointOffset || 0, pointRangeDirection = (axis.reversed && !chart.inverted) ||
2604
- (!axis.reversed && chart.inverted) ?
2605
- -1 :
2606
- 1, extremes = axis.getExtremes(), panMin = axis.toValue(startPos - mousePos, true) +
2607
- halfPointRange * pointRangeDirection, panMax = axis.toValue(startPos + axis.len - mousePos, true) -
2608
- ((halfPointRange * pointRangeDirection) ||
2609
- (axis.isXAxis && axis.pointRangePadding) ||
2610
- 0), flipped = panMax < panMin, hasVerticalPanning = axis.hasVerticalPanning();
2611
- let newMin = flipped ? panMax : panMin, newMax = flipped ? panMin : panMax, panningState = axis.panningState, spill;
2612
- // General calculations of panning state.
2613
- // This is related to using vertical panning. (#11315).
2614
- if (hasVerticalPanning &&
2615
- !axis.isXAxis && (!panningState || panningState.isDirty)) {
2616
- axis.series.forEach(function (series) {
2617
- const processedData = series.getProcessedData(true), dataExtremes = series.getExtremes(processedData.yData, true);
2618
- if (!panningState) {
2619
- panningState = {
2620
- startMin: Number.MAX_VALUE,
2621
- startMax: -Number.MAX_VALUE
2622
- };
2623
- }
2624
- if (isNumber(dataExtremes.dataMin) &&
2625
- isNumber(dataExtremes.dataMax)) {
2626
- panningState.startMin = Math.min(pick(series.options.threshold, Infinity), dataExtremes.dataMin, panningState.startMin);
2627
- panningState.startMax = Math.max(pick(series.options.threshold, -Infinity), dataExtremes.dataMax, panningState.startMax);
2628
- }
2604
+ // General calculations of the full data extremes. It is calculated
2605
+ // on the first call to transform, then reused for subsequent
2606
+ // touch/pan calls. (#11315).
2607
+ if (scale === 1 &&
2608
+ !reset &&
2609
+ axis.coll === 'yAxis' &&
2610
+ !allExtremes) {
2611
+ for (const series of axis.series) {
2612
+ const seriesExtremes = series.getExtremes(series.getProcessedData(true).yData, true);
2613
+ allExtremes ?? (allExtremes = {
2614
+ dataMin: Number.MAX_VALUE,
2615
+ dataMax: -Number.MAX_VALUE
2629
2616
  });
2617
+ if (isNumber(seriesExtremes.dataMin) &&
2618
+ isNumber(seriesExtremes.dataMax)) {
2619
+ allExtremes.dataMin = Math.min(seriesExtremes.dataMin, allExtremes.dataMin);
2620
+ allExtremes.dataMax = Math.max(seriesExtremes.dataMax, allExtremes.dataMax);
2621
+ }
2630
2622
  }
2631
- const paddedMin = Math.min(pick(panningState && panningState.startMin, extremes.dataMin), halfPointRange ?
2632
- extremes.min :
2633
- axis.toValue(axis.toPixels(extremes.min) -
2634
- axis.minPixelPadding));
2635
- const paddedMax = Math.max(pick(panningState && panningState.startMax, extremes.dataMax), halfPointRange ?
2636
- extremes.max :
2637
- axis.toValue(axis.toPixels(extremes.max) +
2638
- axis.minPixelPadding));
2639
- axis.panningState = panningState;
2640
- // It is not necessary to calculate extremes on ordinal axis,
2641
- // because they are already calculated, so we don't want to
2642
- // override them.
2643
- if (!axis.isOrdinal) {
2644
- // If the new range spills over, either to the min or max,
2645
- // adjust the new range.
2646
- spill = paddedMin - newMin;
2647
- if (spill > 0) {
2648
- newMax += spill;
2649
- newMin = paddedMin;
2623
+ axis.allExtremes = allExtremes;
2624
+ }
2625
+ const { dataMin, dataMax, min, max } = extend(axis.getExtremes(), allExtremes || {}),
2626
+ // For boosted chart where data extremes are skipped
2627
+ safeDataMin = dataMin ?? options.min, safeDataMax = dataMax ?? options.max, range = newMax - newMin, padRange = axis.categories ? 0 : Math.min(range, safeDataMax - safeDataMin), paddedMin = safeDataMin - padRange * (defined(options.min) ? 0 : options.minPadding), paddedMax = safeDataMax + padRange * (defined(options.max) ? 0 : options.maxPadding),
2628
+ // We're allowed to zoom outside the data extremes if we're
2629
+ // dealing with a bubble chart, if we're panning, or if we're
2630
+ // pinching or mousewheeling in.
2631
+ allowZoomOutside = axis.allowZoomOutside ||
2632
+ scale === 1 ||
2633
+ (trigger !== 'zoom' && scale > 1),
2634
+ // Calculate the floor and the ceiling
2635
+ floor = Math.min(options.min ?? paddedMin, paddedMin, allowZoomOutside ? min : paddedMin), ceiling = Math.max(options.max ?? paddedMax, paddedMax, allowZoomOutside ? max : paddedMax);
2636
+ // It is not necessary to calculate extremes on ordinal axis,
2637
+ // because they are already calculated, so we don't want to override
2638
+ // them.
2639
+ if (!axis.isOrdinal || scale !== 1 || reset) {
2640
+ // If the new range spills over, either to the min or max,
2641
+ // adjust it.
2642
+ if (newMin < floor) {
2643
+ newMin = floor;
2644
+ if (scale >= 1) {
2645
+ newMax = newMin + range;
2650
2646
  }
2651
- spill = newMax - paddedMax;
2652
- if (spill > 0) {
2653
- newMax = paddedMax;
2654
- newMin -= spill;
2647
+ }
2648
+ if (newMax > ceiling) {
2649
+ newMax = ceiling;
2650
+ if (scale >= 1) {
2651
+ newMin = newMax - range;
2652
+ }
2653
+ }
2654
+ // Set new extremes if they are actually new
2655
+ if (reset || (axis.series.length &&
2656
+ (newMin !== min || newMax !== max) &&
2657
+ newMin >= floor &&
2658
+ newMax <= ceiling)) {
2659
+ if (selection) {
2660
+ selection[axis.coll].push({
2661
+ axis,
2662
+ min: newMin,
2663
+ max: newMax
2664
+ });
2655
2665
  }
2656
- // Set new extremes if they are actually new
2657
- if (axis.series.length &&
2658
- newMin !== extremes.min &&
2659
- newMax !== extremes.max &&
2660
- newMin >= paddedMin &&
2661
- newMax <= paddedMax) {
2662
- axis.setExtremes(newMin, newMax, false, false, { trigger: 'pan' });
2663
- if (!chart.resetZoomButton &&
2664
- // Show reset zoom button only when both newMin and
2665
- // newMax values are between padded axis range.
2666
- newMin !== paddedMin &&
2667
- newMax !== paddedMax &&
2668
- type.match('y')) {
2669
- chart.showResetZoom();
2670
- axis.displayBtn = false;
2666
+ else {
2667
+ // Temporarily flag the axis as `isPanning` in order to
2668
+ // disallow certain axis padding options that would make
2669
+ // panning/zooming hard. Reset and redraw after the
2670
+ // operation has finished.
2671
+ axis.isPanning = trigger !== 'zoom';
2672
+ axis.setExtremes(reset ? void 0 : newMin, reset ? void 0 : newMax, false, false, { move, trigger, scale });
2673
+ if (!reset &&
2674
+ (newMin > floor || newMax < ceiling) &&
2675
+ trigger !== 'mousewheel') {
2676
+ displayButton = true;
2671
2677
  }
2672
- doRedraw = true;
2673
2678
  }
2674
- // set new reference for next run:
2675
- nextMousePos[mouseDown] = mousePos;
2679
+ hasZoomed = true;
2680
+ }
2681
+ if (event) {
2682
+ this[horiz ? 'mouseDownX' : 'mouseDownY'] =
2683
+ event[horiz ? 'chartX' : 'chartY'];
2676
2684
  }
2677
- });
2678
- objectEach(nextMousePos, (pos, down) => {
2679
- chart[down] = pos;
2680
- });
2681
- if (doRedraw) {
2682
- chart.redraw(false);
2683
2685
  }
2684
- css(chart.container, { cursor: 'move' });
2685
- });
2686
+ }
2687
+ if (hasZoomed) {
2688
+ if (selection) {
2689
+ fireEvent(this, 'selection', selection,
2690
+ // Run transform again, this time without the selection data
2691
+ // so that the transform is applied.
2692
+ () => {
2693
+ delete params.selection;
2694
+ params.trigger = 'zoom';
2695
+ this.transform(params);
2696
+ });
2697
+ }
2698
+ else {
2699
+ // Show or hide the Reset zoom button
2700
+ if (displayButton && !resetZoomButton) {
2701
+ this.showResetZoom();
2702
+ }
2703
+ else if (!displayButton && resetZoomButton) {
2704
+ this.resetZoomButton = resetZoomButton.destroy();
2705
+ }
2706
+ this.redraw(trigger === 'zoom' &&
2707
+ (this.options.chart.animation ?? this.pointCount < 100));
2708
+ }
2709
+ }
2710
+ return hasZoomed;
2686
2711
  }
2687
2712
  }
2688
2713
  extend(Chart.prototype, {
2689
2714
  // Hook for adding callbacks in modules
2690
2715
  callbacks: [],
2691
2716
  /**
2692
- * These collections (arrays) implement `Chart.addSomethig` method used in
2717
+ * These collections (arrays) implement `Chart.addSomething` method used in
2693
2718
  * chart.update() to create new object in the collection. Equivalent for
2694
- * deleting is resolved by simple `Somethig.remove()`.
2719
+ * deleting is resolved by simple `Something.remove()`.
2695
2720
  *
2696
2721
  * Note: We need to define these references after initializers are bound to
2697
2722
  * chart's prototype.
@@ -1364,7 +1364,7 @@ var Chart3D;
1364
1364
  };
1365
1365
  // Decide the bast place to put axis title/labels based on the
1366
1366
  // visible faces. Ideally, The labels can only be on the edge
1367
- // between a visible face and an invisble one. Also, the Y label
1367
+ // between a visible face and an invisible one. Also, the Y label
1368
1368
  // should be one the left-most edge (right-most if opposite).
1369
1369
  if (options3d.axisLabelPosition === 'auto') {
1370
1370
  const isValidEdge = function (face1, face2) {
@@ -898,6 +898,11 @@ const ChartDefaults = {
898
898
  * Additional CSS styles to apply inline to the container `div` and the root
899
899
  * SVG.
900
900
  *
901
+ * According to the CSS syntax documentation, it is recommended to quote
902
+ * font family names that contain white space, digits, or punctuation
903
+ * characters other than hyphens. In such cases, wrap the fontFamily
904
+ * name as follows: `fontFamily: '"Font name"'`.
905
+ *
901
906
  * Since v11, the root font size is 1rem by default, and all child element
902
907
  * are given a relative `em` font size by default. This allows implementers
903
908
  * to control all the chart's font sizes by only setting the root level.
@@ -906,6 +911,8 @@ const ChartDefaults = {
906
911
  * `.highcharts-root` class.
907
912
  * @sample {highcharts} highcharts/chart/style-serif-font/
908
913
  * Using a serif type font
914
+ * @sample {highcharts} highcharts/chart/style-special-font/
915
+ * Using a font with special character in name
909
916
  * @sample {highcharts} highcharts/members/relative-font-size/
910
917
  * Relative font sizes
911
918
  * @sample {highcharts} highcharts/css/em/
@@ -45,7 +45,7 @@ class GanttChart extends Chart {
45
45
  * Custom options.
46
46
  *
47
47
  * @param {Function} [callback]
48
- * Function to run when the chart has loaded and and all external
48
+ * Function to run when the chart has loaded and all external
49
49
  * images are loaded.
50
50
  *
51
51
  *
@@ -165,7 +165,7 @@ class GanttChart extends Chart {
165
165
  * The chart options structure.
166
166
  *
167
167
  * @param {Highcharts.ChartCallbackFunction} [callback]
168
- * Function to run when the chart has loaded and and all external
168
+ * Function to run when the chart has loaded and all external
169
169
  * images are loaded. Defining a
170
170
  * [chart.events.load](https://api.highcharts.com/highcharts/chart.events.load)
171
171
  * handler is equivalent.
@@ -45,7 +45,7 @@ class MapChart extends Chart {
45
45
  * Custom options.
46
46
  *
47
47
  * @param {Function} [callback]
48
- * Function to run when the chart has loaded and and all external
48
+ * Function to run when the chart has loaded and all external
49
49
  * images are loaded.
50
50
  *
51
51
  *
@@ -119,6 +119,16 @@ class MapChart extends Chart {
119
119
  void 0);
120
120
  }
121
121
  }
122
+ update(options) {
123
+ // Calculate and set the recommended map view if map option is set
124
+ if (options.chart && 'map' in options.chart) {
125
+ this.mapView?.recommendMapView(this, [
126
+ options.chart.map,
127
+ ...(this.options.series || []).map((s) => s.mapData)
128
+ ], true);
129
+ }
130
+ super.update.apply(this, arguments);
131
+ }
122
132
  }
123
133
  /* *
124
134
  *
@@ -201,7 +211,7 @@ class MapChart extends Chart {
201
211
  // specific styled mode files.
202
212
  const split = path.split(/[ ,;]+/);
203
213
  arr = split.map((item) => {
204
- if (!/[A-za-z]/.test(item)) {
214
+ if (!/[A-Za-z]/.test(item)) {
205
215
  return parseFloat(item);
206
216
  }
207
217
  return item;