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
@@ -887,6 +887,7 @@ export default Options;
887
887
  /**
888
888
  * Sonification/audio chart options for a series.
889
889
  *
890
+ * @declare Highcharts.SeriesSonificationOptions
890
891
  * @since 11.0.0
891
892
  * @requires modules/sonification
892
893
  * @apioption plotOptions.series.sonification
@@ -45,7 +45,7 @@ class SonificationSpeaker {
45
45
  * @function Highcharts.SonificationSpeaker#say
46
46
  * @param {string} message The message to speak.
47
47
  * @param {SonificationSpeakerOptionsObject} [options]
48
- * Optionally override spaker configuration.
48
+ * Optionally override speaker configuration.
49
49
  */
50
50
  say(message, options) {
51
51
  if (this.synthesis) {
@@ -69,7 +69,7 @@ class SonificationSpeaker {
69
69
  * @param {string} message
70
70
  * The message to speak.
71
71
  * @param {SonificationSpeakerOptionsObject} [options]
72
- * Optionally override spaker configuration.
72
+ * Optionally override speaker configuration.
73
73
  */
74
74
  sayAtTime(time, message, options) {
75
75
  this.scheduled.push(setTimeout(this.say.bind(this, message, options), time));
@@ -14,11 +14,11 @@
14
14
  import U from '../../Core/Utilities.js';
15
15
  const { clamp, defined, pick } = U;
16
16
  /**
17
- * Get the multipler value from a pitch tracked multiplier. The parameter
17
+ * Get the multiplier value from a pitch tracked multiplier. The parameter
18
18
  * specifies the multiplier at ca 3200Hz. It is 1 at ca 50Hz. In between
19
19
  * it is mapped logarithmically.
20
20
  * @private
21
- * @param {number} multiplier The multipler to track.
21
+ * @param {number} multiplier The multiplier to track.
22
22
  * @param {number} freq The current frequency.
23
23
  */
24
24
  function getPitchTrackedMultiplierVal(multiplier, freq) {
@@ -217,7 +217,7 @@ class Oscillator {
217
217
  getVMTarget() {
218
218
  return this.vmNode && this.vmNode.gain;
219
219
  }
220
- // Schedule one of the osciallator envelopes at a specified time in
220
+ // Schedule one of the oscillator envelopes at a specified time in
221
221
  // seconds (in AudioContext timespace).
222
222
  runEnvelopeAtTime(type, time) {
223
223
  if (!this.gainNode) {
@@ -8,10 +8,8 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import H from '../Core/Globals.js';
12
- const { composed } = H;
13
11
  import U from '../Core/Utilities.js';
14
- const { addEvent, defined, isNumber, pick, pushUnique } = U;
12
+ const { addEvent, defined, isNumber, pick } = U;
15
13
  /* *
16
14
  *
17
15
  * Composition
@@ -19,8 +17,8 @@ const { addEvent, defined, isNumber, pick, pushUnique } = U;
19
17
  * */
20
18
  /** @private */
21
19
  function compose(AxisClass, ChartClass) {
22
- if (pushUnique(composed, compose)) {
23
- const chartProto = ChartClass.prototype;
20
+ const chartProto = ChartClass.prototype;
21
+ if (!chartProto.adjustHeight) {
24
22
  addEvent(AxisClass, 'afterSetOptions', onAxisAfterSetOptions);
25
23
  chartProto.adjustHeight = chartAdjustHeight;
26
24
  addEvent(ChartClass, 'render', chartProto.adjustHeight);
@@ -51,7 +51,7 @@ function calculateObstacleMargin(obstacles) {
51
51
  }
52
52
  }
53
53
  }
54
- // Ensure we always have at least one value, even in very spaceous charts
54
+ // Ensure we always have at least one value, even in very spacious charts
55
55
  distances.push(80);
56
56
  return max(Math.floor(distances.sort((a, b) => (a - b))[
57
57
  // Discard first 10% of the relevant distances, and then grab
@@ -106,7 +106,7 @@ function calculateObstacleMargin(obstacles) {
106
106
  }
107
107
  }
108
108
  }
109
- // Ensure we always have at least one value, even in very spaceous charts
109
+ // Ensure we always have at least one value, even in very spacious charts
110
110
  distances.push(80);
111
111
  return max(Math.floor(distances.sort(function (a, b) {
112
112
  return (a - b);
@@ -295,7 +295,7 @@ class Pathfinder {
295
295
  * @function Highcharts.Pathfinder#getChartObstacles
296
296
  *
297
297
  * @param {Object} options
298
- * Options for the calculation. Currenlty only
298
+ * Options for the calculation. Currently only
299
299
  * options.algorithmMargin.
300
300
  *
301
301
  * @return {Array<object>}
@@ -12,10 +12,8 @@
12
12
  import ConnectorsDefaults from './ConnectorsDefaults.js';
13
13
  import D from '../Core/Defaults.js';
14
14
  const { setOptions } = D;
15
- import H from '../Core/Globals.js';
16
- const { composed } = H;
17
15
  import U from '../Core/Utilities.js';
18
- const { defined, error, merge, pushUnique } = U;
16
+ const { defined, error, merge } = U;
19
17
  /* *
20
18
  *
21
19
  * Functions
@@ -87,8 +85,8 @@ var ConnectionComposition;
87
85
  * */
88
86
  /** @private */
89
87
  function compose(ChartClass, PathfinderClass, PointClass) {
90
- if (pushUnique(composed, compose)) {
91
- const pointProto = PointClass.prototype;
88
+ const pointProto = PointClass.prototype;
89
+ if (!pointProto.getPathfinderAnchorPoint) {
92
90
  // Initialize Pathfinder for charts
93
91
  ChartClass.prototype.callbacks.push(function (chart) {
94
92
  const options = chart.options;
@@ -23,7 +23,7 @@ const { extend, isNumber, pick } = U;
23
23
  *
24
24
  * */
25
25
  /**
26
- * Creates an object map from parent id to childrens index.
26
+ * Creates an object map from parent id to children's index.
27
27
  *
28
28
  * @private
29
29
  * @function Highcharts.Tree#getListOfParents
@@ -52,7 +52,7 @@ function getListOfParents(data) {
52
52
  Object.keys(listOfParents).forEach((node) => {
53
53
  if ((node !== root) && (ids.indexOf(node) === -1)) {
54
54
  const adoptedByRoot = listOfParents[node].map(function (orphan) {
55
- const { parent, ...parentExcluded } = orphan; // #15196
55
+ const { ...parentExcluded } = orphan; // #15196
56
56
  return parentExcluded;
57
57
  });
58
58
  listOfParents[root].push(...adoptedByRoot);
@@ -75,7 +75,7 @@ function getNode(id, parent, level, data, mapOfIdToChildren, options) {
75
75
  if (typeof before === 'function') {
76
76
  before(node, options);
77
77
  }
78
- // Call getNode recursively on the children. Calulate the height of the
78
+ // Call getNode recursively on the children. Calculate the height of the
79
79
  // node, and the number of descendants.
80
80
  const children = ((mapOfIdToChildren[id] || [])).map((child) => {
81
81
  const node = getNode(child.id, id, (level + 1), child, mapOfIdToChildren, options), childStart = child.start || NaN, childEnd = (child.milestone === true ?
@@ -9,11 +9,11 @@
9
9
  * */
10
10
  'use strict';
11
11
  import H from '../Core/Globals.js';
12
- const { composed, win } = H;
12
+ const { win } = H;
13
13
  import T from '../Core/Templating.js';
14
14
  const { format } = T;
15
15
  import U from '../Core/Utilities.js';
16
- const { error, extend, merge, pushUnique, wrap } = U;
16
+ const { error, extend, merge, wrap } = U;
17
17
  /* *
18
18
  *
19
19
  * Composition
@@ -160,13 +160,13 @@ var GeoJSONComposition;
160
160
  }
161
161
  /** @private */
162
162
  function compose(ChartClass) {
163
- if (pushUnique(composed, compose)) {
164
- const proto = ChartClass.prototype;
165
- proto.fromLatLonToPoint = chartFromLatLonToPoint;
166
- proto.fromPointToLatLon = chartFromPointToLatLon;
167
- proto.transformFromLatLon = chartTransformFromLatLon;
168
- proto.transformToLatLon = chartTransformToLatLon;
169
- wrap(proto, 'addCredits', wrapChartAddCredit);
163
+ const chartProto = ChartClass.prototype;
164
+ if (!chartProto.transformFromLatLon) {
165
+ chartProto.fromLatLonToPoint = chartFromLatLonToPoint;
166
+ chartProto.fromPointToLatLon = chartFromPointToLatLon;
167
+ chartProto.transformFromLatLon = chartTransformFromLatLon;
168
+ chartProto.transformToLatLon = chartTransformToLatLon;
169
+ wrap(chartProto, 'addCredits', wrapChartAddCredit);
170
170
  }
171
171
  }
172
172
  GeoJSONComposition.compose = compose;
@@ -262,8 +262,9 @@ var GeoJSONComposition;
262
262
  objectName = Object.keys(topology.objects)[0];
263
263
  }
264
264
  const obj = topology.objects[objectName];
265
- // Already decoded => return cache
266
- if (obj['hc-decoded-geojson']) {
265
+ // Already decoded with the same title => return cache
266
+ if (obj['hc-decoded-geojson'] &&
267
+ obj['hc-decoded-geojson'].title === topology.title) {
267
268
  return obj['hc-decoded-geojson'];
268
269
  }
269
270
  // Do the initial transform
@@ -285,7 +286,7 @@ var GeoJSONComposition;
285
286
  }
286
287
  }
287
288
  }
288
- // Recurse down any depth of multi-dimentional arrays of arcs and insert
289
+ // Recurse down any depth of multi-dimensional arrays of arcs and insert
289
290
  // the coordinates
290
291
  const arcsToCoordinates = (arcs) => {
291
292
  if (typeof arcs[0] === 'number') {
@@ -424,7 +425,7 @@ export default GeoJSONComposition;
424
425
  * @name Highcharts.GeoJSONTranslation#crs
425
426
  * @type {string}
426
427
  */ /**
427
- * Define the portion of the map that this defintion applies to. Defined as a
428
+ * Define the portion of the map that this definition applies to. Defined as a
428
429
  * GeoJSON polygon feature object, with `type` and `coordinates` properties.
429
430
  * @name Highcharts.GeoJSONTranslation#hitZone
430
431
  * @type {Highcharts.Dictionary<*>|undefined}
@@ -498,6 +499,12 @@ export default GeoJSONComposition;
498
499
  *
499
500
  * @typedef {Array<number>} Highcharts.LonLatArray
500
501
  */
502
+ /**
503
+ * An array of GeoJSON or TopoJSON objects or strings used as map data for
504
+ * series.
505
+ *
506
+ * @typedef {Array<*>|GeoJSON|TopoJSON|string} Highcharts.MapDataType
507
+ */
501
508
  /**
502
509
  * A TopoJSON object, see description on the
503
510
  * [project's GitHub page](https://github.com/topojson/topojson).
@@ -61,7 +61,7 @@ class MapNavigation {
61
61
  static compose(MapChartClass, PointerClass, SVGRendererClass) {
62
62
  MapPointer.compose(PointerClass);
63
63
  MapSymbols.compose(SVGRendererClass);
64
- if (pushUnique(composed, this.compose)) {
64
+ if (pushUnique(composed, 'Map.Navigation')) {
65
65
  // Extend the Chart.render method to add zooming and panning
66
66
  addEvent(MapChartClass, 'beforeRender', function () {
67
67
  // Render the plus and minus buttons. Doing this before the
@@ -116,7 +116,7 @@ class MapNavigation {
116
116
  if (!mapNav.navButtonsGroup) {
117
117
  mapNav.navButtonsGroup = chart.renderer.g()
118
118
  .attr({
119
- zIndex: 4 // #4955, // #8392
119
+ zIndex: 7 // #4955, #8392, #20476
120
120
  })
121
121
  .add();
122
122
  }
@@ -8,10 +8,8 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import H from '../Core/Globals.js';
12
- const { composed } = H;
13
11
  import U from '../Core/Utilities.js';
14
- const { defined, extend, pick, pushUnique, wrap } = U;
12
+ const { defined, extend, pick, wrap } = U;
15
13
  /* *
16
14
  *
17
15
  * Composition
@@ -36,14 +34,13 @@ var MapPointer;
36
34
  * @private
37
35
  */
38
36
  function compose(PointerClass) {
39
- if (pushUnique(composed, compose)) {
40
- const pointerProto = PointerClass.prototype;
37
+ const pointerProto = PointerClass.prototype;
38
+ if (!pointerProto.onContainerDblClick) {
41
39
  extend(pointerProto, {
42
40
  onContainerDblClick,
43
41
  onContainerMouseWheel
44
42
  });
45
43
  wrap(pointerProto, 'normalize', wrapNormalize);
46
- wrap(pointerProto, 'pinchTranslate', wrapPinchTranslate);
47
44
  wrap(pointerProto, 'zoomOption', wrapZoomOption);
48
45
  }
49
46
  }
@@ -117,19 +114,6 @@ var MapPointer;
117
114
  }
118
115
  return e;
119
116
  }
120
- /**
121
- * Extend the pinchTranslate method to preserve fixed ratio when zooming.
122
- * @private
123
- */
124
- function wrapPinchTranslate(proceed, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch) {
125
- let xBigger;
126
- proceed.call(this, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch);
127
- // Keep ratio
128
- if (this.chart.options.chart.type === 'map' && this.hasZoom) {
129
- xBigger = transform.scaleX > transform.scaleY;
130
- this.pinchTranslateDirection(!xBigger, pinchDown, touches, transform, selectionMarker, clip, lastValidTouch, xBigger ? transform.scaleX : transform.scaleY);
131
- }
132
- }
133
117
  /**
134
118
  * The pinchType is inferred from mapNavigation options.
135
119
  * @private
@@ -8,10 +8,6 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import H from '../Core/Globals.js';
12
- const { composed } = H;
13
- import U from '../Core/Utilities.js';
14
- const { pushUnique } = U;
15
11
  /* *
16
12
  *
17
13
  * Variables
@@ -32,11 +28,9 @@ function bottomButton(x, y, w, h, options) {
32
28
  return symbols.roundedRect(x, y, w, h, options);
33
29
  }
34
30
  function compose(SVGRendererClass) {
35
- if (pushUnique(composed, compose)) {
36
- symbols = SVGRendererClass.prototype.symbols;
37
- symbols.bottombutton = bottomButton;
38
- symbols.topbutton = topButton;
39
- }
31
+ symbols = SVGRendererClass.prototype.symbols;
32
+ symbols.bottombutton = bottomButton;
33
+ symbols.topbutton = topButton;
40
34
  }
41
35
  function topButton(x, y, w, h, options) {
42
36
  if (options) {
@@ -50,6 +50,19 @@ function zoomFromBounds(b, playingField) {
50
50
  const { width, height } = playingField, scaleToField = Math.max((b.x2 - b.x1) / (width / tileSize), (b.y2 - b.y1) / (height / tileSize));
51
51
  return Math.log(worldSize / scaleToField) / Math.log(2);
52
52
  }
53
+ /**
54
+ * Calculate and set the recommended map view drilldown or drillup if mapData
55
+ * is set for the series.
56
+ * @private
57
+ */
58
+ function recommendedMapViewAfterDrill(e) {
59
+ if (e.seriesOptions.mapData) {
60
+ this.mapView?.recommendMapView(this, [
61
+ this.options.chart.map,
62
+ e.seriesOptions.mapData
63
+ ], this.options.drilldown?.mapZooming);
64
+ }
65
+ }
53
66
  /*
54
67
  const mergeCollections = <
55
68
  T extends Array<AnyRecord|undefined>
@@ -99,7 +112,7 @@ class MapView {
99
112
  *
100
113
  * */
101
114
  static compose(MapChartClass) {
102
- if (pushUnique(composed, this.compose)) {
115
+ if (pushUnique(composed, 'MapView')) {
103
116
  maps = MapChartClass.maps;
104
117
  // Initialize MapView after initialization, but before firstRender
105
118
  addEvent(MapChartClass, 'afterInit', function () {
@@ -112,6 +125,8 @@ class MapView {
112
125
  */
113
126
  this.mapView = new MapView(this, this.options.mapView);
114
127
  }, { order: 0 });
128
+ addEvent(MapChartClass, 'addSeriesAsDrilldown', recommendedMapViewAfterDrill);
129
+ addEvent(MapChartClass, 'afterDrillUp', recommendedMapViewAfterDrill);
115
130
  }
116
131
  }
117
132
  /**
@@ -164,66 +179,17 @@ class MapView {
164
179
  this.eventsToUnbind = [];
165
180
  this.insets = [];
166
181
  this.padding = [0, 0, 0, 0];
167
- let recommendedMapView;
168
- let recommendedProjection;
182
+ this.recommendedMapView = {};
169
183
  if (!(this instanceof MapViewInset)) {
170
- // Handle the global map and series-level mapData
171
- const geoMaps = [
184
+ this.recommendMapView(chart, [
172
185
  chart.options.chart.map,
173
186
  ...(chart.options.series || []).map((s) => s.mapData)
174
- ]
175
- .map((mapData) => this.getGeoMap(mapData));
176
- const allGeoBounds = [];
177
- geoMaps.forEach((geoMap) => {
178
- if (geoMap) {
179
- // Use the first geo map as main
180
- if (!recommendedMapView) {
181
- recommendedMapView =
182
- geoMap['hc-recommended-mapview'];
183
- }
184
- // Combine the bounding boxes of all loaded maps
185
- if (geoMap.bbox) {
186
- const [x1, y1, x2, y2] = geoMap.bbox;
187
- allGeoBounds.push({ x1, y1, x2, y2 });
188
- }
189
- }
190
- });
191
- // Get the composite bounds
192
- const geoBounds = (allGeoBounds.length &&
193
- MapView.compositeBounds(allGeoBounds));
194
- // Provide a best-guess recommended projection if not set in
195
- // the map or in user options
196
- fireEvent(chart, 'beforeMapViewInit', {
197
- geoBounds
198
- }, function () {
199
- if (geoBounds) {
200
- const { x1, y1, x2, y2 } = geoBounds;
201
- recommendedProjection =
202
- (x2 - x1 > 180 && y2 - y1 > 90) ?
203
- // Wide angle, go for the world view
204
- {
205
- name: 'EqualEarth'
206
- } :
207
- // Narrower angle, use a projection better
208
- // suited for local view
209
- {
210
- name: 'LambertConformalConic',
211
- parallels: [y1, y2],
212
- rotation: [-(x1 + x2) / 2]
213
- };
214
- }
215
- });
216
- // Register the main geo map (from options.chart.map) if set
217
- this.geoMap = geoMaps[0];
187
+ ]);
218
188
  }
219
189
  this.userOptions = options || {};
220
- if (chart.options.mapView &&
221
- chart.options.mapView.recommendedMapView) {
222
- recommendedMapView = chart.options.mapView.recommendedMapView;
223
- }
224
- const o = merge(MapViewDefaults, { projection: recommendedProjection }, recommendedMapView, options);
190
+ const o = merge(MapViewDefaults, this.recommendedMapView, options);
225
191
  // Merge the inset collections by id, or index if id missing
226
- const recInsets = recommendedMapView && recommendedMapView.insets, optInsets = options && options.insets;
192
+ const recInsets = this.recommendedMapView?.insets, optInsets = options && options.insets;
227
193
  if (recInsets && optInsets) {
228
194
  o.insets = MapView.mergeInsets(recInsets, optInsets);
229
195
  }
@@ -520,6 +486,90 @@ class MapView {
520
486
  const coordinates = this.projection.inverse([point.x, point.y]);
521
487
  return { lon: coordinates[0], lat: coordinates[1] };
522
488
  }
489
+ /**
490
+ * Calculate and set the recommended map view based on provided map data
491
+ * from series.
492
+ *
493
+ * @requires modules/map
494
+ *
495
+ * @function Highcharts.MapView#recommendMapView
496
+ *
497
+ * @since @next
498
+ *
499
+ * @param {Highcharts.Chart} chart
500
+ * Chart object
501
+ *
502
+ * @param {Array<MapDataType | undefined>} mapDataArray
503
+ * Array of map data from all series.
504
+ *
505
+ * @param {boolean} [update=false]
506
+ * Whether to update the chart with recommended map view.
507
+ *
508
+ * @return {Highcharts.MapViewOptions|undefined} Best suitable map view.
509
+ */
510
+ recommendMapView(chart, mapDataArray, update = false) {
511
+ // Reset recommended map view
512
+ this.recommendedMapView = {};
513
+ // Handle the global map and series-level mapData
514
+ const geoMaps = mapDataArray.map((mapData) => this.getGeoMap(mapData));
515
+ const allGeoBounds = [];
516
+ geoMaps.forEach((geoMap) => {
517
+ if (geoMap) {
518
+ // Use the first geo map as main
519
+ if (!Object.keys(this.recommendedMapView).length) {
520
+ this.recommendedMapView =
521
+ geoMap['hc-recommended-mapview'] || {};
522
+ }
523
+ // Combine the bounding boxes of all loaded maps
524
+ if (geoMap.bbox) {
525
+ const [x1, y1, x2, y2] = geoMap.bbox;
526
+ allGeoBounds.push({ x1, y1, x2, y2 });
527
+ }
528
+ }
529
+ });
530
+ // Get the composite bounds
531
+ const geoBounds = (allGeoBounds.length &&
532
+ MapView.compositeBounds(allGeoBounds));
533
+ // Provide a best-guess recommended projection if not set in
534
+ // the map or in user options
535
+ fireEvent(this, 'onRecommendMapView', {
536
+ geoBounds,
537
+ chart
538
+ }, function () {
539
+ if (geoBounds &&
540
+ this.recommendedMapView) {
541
+ if (!this.recommendedMapView.projection) {
542
+ const { x1, y1, x2, y2 } = geoBounds;
543
+ this.recommendedMapView.projection =
544
+ (x2 - x1 > 180 && y2 - y1 > 90) ?
545
+ // Wide angle, go for the world view
546
+ {
547
+ name: 'EqualEarth',
548
+ parallels: [0, 0],
549
+ rotation: [0]
550
+ } :
551
+ // Narrower angle, use a projection better
552
+ // suited for local view
553
+ {
554
+ name: 'LambertConformalConic',
555
+ parallels: [y1, y2],
556
+ rotation: [-(x1 + x2) / 2]
557
+ };
558
+ }
559
+ if (!this.recommendedMapView.insets) {
560
+ this.recommendedMapView.insets = void 0; // Reset insets
561
+ }
562
+ }
563
+ });
564
+ // Register the main geo map (from options.chart.map) if set
565
+ this.geoMap = geoMaps[0];
566
+ if (update &&
567
+ chart.hasRendered &&
568
+ !chart.userOptions.mapView?.projection &&
569
+ this.recommendedMapView) {
570
+ this.update(this.recommendedMapView);
571
+ }
572
+ }
523
573
  redraw(animation) {
524
574
  this.chart.series.forEach((s) => {
525
575
  if (s.useMapGeometry) {
@@ -665,21 +715,34 @@ class MapView {
665
715
  }
666
716
  setUpEvents() {
667
717
  const { chart } = this;
668
- // Set up panning for maps. In orthographic projections the globe will
669
- // rotate, otherwise adjust the map center.
670
- let mouseDownCenterProjected;
671
- let mouseDownKey;
672
- let mouseDownRotation;
718
+ // Set up panning and touch zoom for maps. In orthographic projections
719
+ // the globe will rotate, otherwise adjust the map center and zoom.
720
+ let mouseDownCenterProjected, mouseDownKey, mouseDownRotation;
673
721
  const onPan = (e) => {
674
- const pinchDown = chart.pointer.pinchDown, projection = this.projection;
675
- let { mouseDownX, mouseDownY } = chart;
676
- if (pinchDown.length === 1) {
722
+ const { lastTouches, pinchDown } = chart.pointer, projection = this.projection, touches = e.touches;
723
+ let { mouseDownX, mouseDownY } = chart, howMuch = 0;
724
+ if (pinchDown?.length === 1) {
677
725
  mouseDownX = pinchDown[0].chartX;
678
726
  mouseDownY = pinchDown[0].chartY;
679
727
  }
680
- if (typeof mouseDownX === 'number' &&
681
- typeof mouseDownY === 'number') {
682
- const key = `${mouseDownX},${mouseDownY}`, { chartX, chartY } = e.originalEvent;
728
+ else if (pinchDown?.length === 2) {
729
+ mouseDownX = (pinchDown[0].chartX + pinchDown[1].chartX) / 2;
730
+ mouseDownY = (pinchDown[0].chartY + pinchDown[1].chartY) / 2;
731
+ }
732
+ // How much has the distance between the fingers changed?
733
+ if (touches?.length === 2 && lastTouches) {
734
+ const startDistance = Math.sqrt(Math.pow(lastTouches[0].chartX - lastTouches[1].chartX, 2) +
735
+ Math.pow(lastTouches[0].chartY - lastTouches[1].chartY, 2)), endDistance = Math.sqrt(Math.pow(touches[0].chartX - touches[1].chartX, 2) +
736
+ Math.pow(touches[0].chartY - touches[1].chartY, 2));
737
+ howMuch = Math.log(startDistance / endDistance) / Math.log(0.5);
738
+ }
739
+ if (isNumber(mouseDownX) && isNumber(mouseDownY)) {
740
+ const key = `${mouseDownX},${mouseDownY}`;
741
+ let { chartX, chartY } = e.originalEvent;
742
+ if (touches?.length === 2) {
743
+ chartX = (touches[0].chartX + touches[1].chartX) / 2;
744
+ chartY = (touches[0].chartY + touches[1].chartY) / 2;
745
+ }
683
746
  // Reset starting position
684
747
  if (key !== mouseDownKey) {
685
748
  mouseDownKey = key;
@@ -693,6 +756,7 @@ class MapView {
693
756
  zoomFromBounds(worldBounds, this.playingField)) || -Infinity;
694
757
  // Panning rotates the globe
695
758
  if (projection.options.name === 'Orthographic' &&
759
+ (touches?.length || 0) < 2 &&
696
760
  // ... but don't rotate if we're loading only a part of the
697
761
  // world
698
762
  (this.minZoom || Infinity) < worldZoom * 1.3) {
@@ -726,7 +790,7 @@ class MapView {
726
790
  ]);
727
791
  // #19190 Skip NaN coords
728
792
  if (!isNaN(newCenter[0] + newCenter[1])) {
729
- this.setView(newCenter, void 0, true, false);
793
+ this.zoomBy(howMuch, newCenter, void 0, false);
730
794
  }
731
795
  }
732
796
  e.preventDefault();
@@ -856,13 +920,10 @@ class MapView {
856
920
  * The animation to apply to a the redraw
857
921
  */
858
922
  zoomBy(howMuch, coords, chartCoords, animation) {
859
- const chart = this.chart;
860
- const projectedCenter = this.projection.forward(this.center);
861
- // let { x, y } = coords || {};
862
- let [x, y] = coords ? this.projection.forward(coords) : [];
923
+ const chart = this.chart, projectedCenter = this.projection.forward(this.center);
863
924
  if (typeof howMuch === 'number') {
864
925
  const zoom = this.zoom + howMuch;
865
- let center;
926
+ let center, x, y;
866
927
  // Keep chartX and chartY stationary - convert to lat and lng
867
928
  if (chartCoords) {
868
929
  const [chartX, chartY] = chartCoords;
@@ -875,14 +936,13 @@ class MapView {
875
936
  // Keep lon and lat stationary by adjusting the center
876
937
  if (typeof x === 'number' && typeof y === 'number') {
877
938
  const scale = 1 - Math.pow(2, this.zoom) / Math.pow(2, zoom);
878
- // const projectedCenter = this.projection.forward(this.center);
879
939
  const offsetX = projectedCenter[0] - x;
880
940
  const offsetY = projectedCenter[1] - y;
881
941
  projectedCenter[0] -= offsetX * scale;
882
942
  projectedCenter[1] += offsetY * scale;
883
943
  center = this.projection.inverse(projectedCenter);
884
944
  }
885
- this.setView(center, zoom, void 0, animation);
945
+ this.setView(coords || center, zoom, void 0, animation);
886
946
  // Undefined howMuch => reset zoom
887
947
  }
888
948
  else {
@@ -148,14 +148,13 @@ class ArcDiagramSeries extends SankeySeries {
148
148
  ((fromNode.shapeArgs.height || 0) - linkWeight) / 2 :
149
149
  getX(fromNode, 'linksFrom'), toX = centeredLinks ? toNode.nodeX +
150
150
  ((toNode.shapeArgs.height || 0) - linkWeight) / 2 :
151
- getX(toNode, 'linksTo'), bottom = nodeTop, linkWidth = linkWeight;
151
+ getX(toNode, 'linksTo'), bottom = nodeTop;
152
152
  if (fromX > toX) {
153
153
  [fromX, toX] = [toX, fromX];
154
154
  }
155
155
  if (seriesOptions.reversed) {
156
156
  [fromX, toX] = [toX, fromX];
157
157
  bottom = (chart.plotSizeY || 0) - bottom;
158
- linkWidth = -linkWidth;
159
158
  }
160
159
  point.shapeType = 'path';
161
160
  point.linkBase = [
@@ -295,9 +294,11 @@ class ArcDiagramSeries extends SankeySeries {
295
294
  this.options.dataLabels.textPath = textPath;
296
295
  }
297
296
  }
298
- pointAttribs(point, state) {
297
+ pointAttribs(point,
298
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
299
+ state) {
299
300
  if (point && point.isNode) {
300
- const { opacity, ...attrs } = Series.prototype.pointAttribs
301
+ const { ...attrs } = Series.prototype.pointAttribs
301
302
  .apply(this, arguments);
302
303
  return attrs;
303
304
  }