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
@@ -16,7 +16,7 @@ const { defaultOptions } = D;
16
16
  import F from '../Templating.js';
17
17
  const { format } = F;
18
18
  import U from '../Utilities.js';
19
- const { addEvent, defined, erase, extend, fireEvent, getNestedProperty, isArray, isFunction, isNumber, isObject, merge, objectEach, pick, syncTimeout, removeEvent, uniqueKey } = U;
19
+ const { addEvent, erase, extend, fireEvent, getNestedProperty, isArray, isFunction, isNumber, isObject, pick, syncTimeout, removeEvent, uniqueKey } = U;
20
20
  /* eslint-disable no-invalid-this, valid-jsdoc */
21
21
  /* *
22
22
  *
@@ -314,14 +314,9 @@ class Point {
314
314
  */
315
315
  firePointEvent(eventType, eventArgs, defaultFunction) {
316
316
  const point = this, series = this.series, seriesOptions = series.options;
317
- // load event handlers on demand to save time on mouseover/out
318
- if (seriesOptions.point.events[eventType] ||
319
- (point.options &&
320
- point.options.events &&
321
- point.options.events[eventType])) {
322
- point.importEvents();
323
- }
324
- // add default handler if in selection mode
317
+ // Load event handlers on demand to save time on mouseover/out
318
+ point.manageEvent(eventType);
319
+ // Add default handler if in selection mode
325
320
  if (eventType === 'click' && seriesOptions.allowPointSelect) {
326
321
  defaultFunction = function (event) {
327
322
  // Control key is for Windows, meta (= Cmd key) for Mac, Shift
@@ -894,7 +889,7 @@ class Point {
894
889
  loopPoint.selected = loopPoint.options.selected =
895
890
  false;
896
891
  loopSeries.options.data[loopSeries.data.indexOf(loopPoint)] = loopPoint.options;
897
- // Programatically selecting a point should restore
892
+ // Programmatically selecting a point should restore
898
893
  // normal state, but when click happened on other
899
894
  // point, set inactive state to match other points
900
895
  loopPoint.setState(chart.hoverPoints &&
@@ -917,12 +912,15 @@ class Point {
917
912
  * The event arguments.
918
913
  */
919
914
  onMouseOver(e) {
920
- const point = this, series = point.series, chart = series.chart, pointer = chart.pointer;
921
- e = e ?
922
- pointer.normalize(e) :
923
- // In cases where onMouseOver is called directly without an event
924
- pointer.getChartCoordinatesFromPoint(point, chart.inverted);
925
- pointer.runPointActions(e, point);
915
+ const point = this, series = point.series, { inverted, pointer } = series.chart;
916
+ if (pointer) {
917
+ e = e ?
918
+ pointer.normalize(e) :
919
+ // In cases where onMouseOver is called directly without an
920
+ // event
921
+ pointer.getChartCoordinatesFromPoint(point, inverted);
922
+ pointer.runPointActions(e, point);
923
+ }
926
924
  }
927
925
  /**
928
926
  * Runs on mouse out from the point. Called internally from mouse and touch
@@ -942,22 +940,32 @@ class Point {
942
940
  chart.hoverPoints = chart.hoverPoint = null;
943
941
  }
944
942
  /**
945
- * Import events from the series' and point's options. Only do it on
943
+ * Manage specific event from the series' and point's options. Only do it on
946
944
  * demand, to save processing time on hovering.
947
945
  *
948
946
  * @private
949
947
  * @function Highcharts.Point#importEvents
950
948
  */
951
- importEvents() {
952
- if (!this.hasImportedEvents) {
953
- const point = this, options = merge(point.series.options.point, point.options), events = options.events;
954
- point.events = events;
955
- objectEach(events, function (event, eventType) {
956
- if (isFunction(event)) {
957
- addEvent(point, eventType, event);
958
- }
959
- });
960
- this.hasImportedEvents = true;
949
+ manageEvent(eventType) {
950
+ const point = this, options = point.series.options.point || {}, userEvent = options.events?.[eventType];
951
+ if (isFunction(userEvent) &&
952
+ (!point.hcEvents?.[eventType] ||
953
+ // Some HC modules, like marker-clusters, draggable-poins etc.
954
+ // use events in their logic, so we need to be sure, that
955
+ // callback function is different
956
+ point.hcEvents?.[eventType]?.map((el) => el.fn)
957
+ .indexOf(userEvent) === -1)) {
958
+ addEvent(point, eventType, userEvent);
959
+ point.hasImportedEvents = true;
960
+ }
961
+ else if (point.hasImportedEvents &&
962
+ !userEvent &&
963
+ point.hcEvents?.[eventType]) {
964
+ removeEvent(point, eventType);
965
+ delete point.hcEvents[eventType];
966
+ if (!Object.keys(point.hcEvents)) {
967
+ point.hasImportedEvents = false;
968
+ }
961
969
  }
962
970
  }
963
971
  /**
@@ -1160,7 +1168,7 @@ export default Point;
1160
1168
  * @callback Highcharts.PointClickCallbackFunction
1161
1169
  *
1162
1170
  * @param {Highcharts.Point} this
1163
- * The point where the event occured.
1171
+ * The point where the event occurred.
1164
1172
  *
1165
1173
  * @param {Highcharts.PointClickEventObject} event
1166
1174
  * Event arguments.
@@ -1226,10 +1234,10 @@ export default Point;
1226
1234
  * @callback Highcharts.PointMouseOutCallbackFunction
1227
1235
  *
1228
1236
  * @param {Highcharts.Point} this
1229
- * Point where the event occured.
1237
+ * Point where the event occurred.
1230
1238
  *
1231
1239
  * @param {global.PointerEvent} event
1232
- * Event that occured.
1240
+ * Event that occurred.
1233
1241
  */
1234
1242
  /**
1235
1243
  * Gets fired when the mouse enters the area close to the point.
@@ -1237,10 +1245,10 @@ export default Point;
1237
1245
  * @callback Highcharts.PointMouseOverCallbackFunction
1238
1246
  *
1239
1247
  * @param {Highcharts.Point} this
1240
- * Point where the event occured.
1248
+ * Point where the event occurred.
1241
1249
  *
1242
1250
  * @param {global.Event} event
1243
- * Event that occured.
1251
+ * Event that occurred.
1244
1252
  */
1245
1253
  /**
1246
1254
  * The generic point options for all series.
@@ -1267,10 +1275,10 @@ export default Point;
1267
1275
  * @callback Highcharts.PointRemoveCallbackFunction
1268
1276
  *
1269
1277
  * @param {Highcharts.Point} this
1270
- * Point where the event occured.
1278
+ * Point where the event occurred.
1271
1279
  *
1272
1280
  * @param {global.Event} event
1273
- * Event that occured.
1281
+ * Event that occurred.
1274
1282
  */
1275
1283
  /**
1276
1284
  * Possible key values for the point state options.
@@ -1284,10 +1292,10 @@ export default Point;
1284
1292
  * @callback Highcharts.PointUpdateCallbackFunction
1285
1293
  *
1286
1294
  * @param {Highcharts.Point} this
1287
- * Point where the event occured.
1295
+ * Point where the event occurred.
1288
1296
  *
1289
1297
  * @param {Highcharts.PointUpdateEventObject} event
1290
- * Event that occured.
1298
+ * Event that occurred.
1291
1299
  */
1292
1300
  /**
1293
1301
  * Information about the update event.
@@ -1330,10 +1338,10 @@ export default Point;
1330
1338
  * @callback Highcharts.PointSelectCallbackFunction
1331
1339
  *
1332
1340
  * @param {Highcharts.Point} this
1333
- * Point where the event occured.
1341
+ * Point where the event occurred.
1334
1342
  *
1335
1343
  * @param {Highcharts.PointInteractionEventObject} event
1336
- * Event that occured.
1344
+ * Event that occurred.
1337
1345
  */
1338
1346
  /**
1339
1347
  * Fires when the point is unselected either programmatically or following a
@@ -1342,9 +1350,9 @@ export default Point;
1342
1350
  * @callback Highcharts.PointUnselectCallbackFunction
1343
1351
  *
1344
1352
  * @param {Highcharts.Point} this
1345
- * Point where the event occured.
1353
+ * Point where the event occurred.
1346
1354
  *
1347
1355
  * @param {Highcharts.PointInteractionEventObject} event
1348
- * Event that occured.
1356
+ * Event that occurred.
1349
1357
  */
1350
1358
  ''; // keeps doclets above in JS file.
@@ -15,7 +15,7 @@ const { defaultOptions } = D;
15
15
  import F from '../Foundation.js';
16
16
  const { registerEventOptions } = F;
17
17
  import H from '../Globals.js';
18
- const { hasTouch, svg, win } = H;
18
+ const { svg, win } = H;
19
19
  import LegendSymbol from '../Legend/LegendSymbol.js';
20
20
  import Point from './Point.js';
21
21
  import SeriesDefaults from './SeriesDefaults.js';
@@ -244,7 +244,7 @@ class Series {
244
244
  // loop through the chart's axis objects
245
245
  chart[coll].forEach(function (axis) {
246
246
  axisOptions = axis.options;
247
- // apply if the series xAxis or yAxis option mathches
247
+ // apply if the series xAxis or yAxis option matches
248
248
  // the number of the axis, or if undefined, use the
249
249
  // first axis
250
250
  if (pick(seriesOptions[coll], 0) === axis.index ||
@@ -331,7 +331,7 @@ class Series {
331
331
  * @function Highcharts.Series#hasMarkerChanged
332
332
  */
333
333
  hasMarkerChanged(options, oldOptions) {
334
- const series = this, marker = options.marker, oldMarker = oldOptions.marker || {};
334
+ const marker = options.marker, oldMarker = oldOptions.marker || {};
335
335
  return marker && ((oldMarker.enabled && !marker.enabled) ||
336
336
  oldMarker.symbol !== marker.symbol || // #10870, #15946
337
337
  oldMarker.height !== marker.height || // #16274
@@ -449,7 +449,8 @@ class Series {
449
449
  }
450
450
  // Handle color zones
451
451
  this.zoneAxis = options.zoneAxis || 'y';
452
- const zones = this.zones = (options.zones || []).slice();
452
+ const zones = this.zones = // #20440, create deep copy of zones options
453
+ (options.zones || []).map((z) => ({ ...z }));
453
454
  if ((options.negativeColor || options.negativeFillColor) &&
454
455
  !options.zones) {
455
456
  zone = {
@@ -1167,7 +1168,7 @@ class Series {
1167
1168
  // restore keys options (#6590)
1168
1169
  series.options.keys = keys;
1169
1170
  // Hide cropped-away points - this only runs when the number of
1170
- // points is above cropThreshold, or when swithching view from
1171
+ // points is above cropThreshold, or when switching view from
1171
1172
  // non-grouped data to grouped data (#637)
1172
1173
  if (data &&
1173
1174
  (processedDataLength !== (dataLength = data.length) ||
@@ -1428,7 +1429,7 @@ class Series {
1428
1429
  point.stackY = yValue;
1429
1430
  // in case of variwide series (where widths of points are
1430
1431
  // different in most cases), stack labels are positioned
1431
- // wrongly, so the call of the setOffset is omited here and
1432
+ // wrongly, so the call of the setOffset is omitted here and
1432
1433
  // labels are correctly positioned later, at the end of the
1433
1434
  // variwide's translate function (#10962)
1434
1435
  if (!series.irregularWidths) {
@@ -1444,7 +1445,7 @@ class Series {
1444
1445
  if (series.dataModify) {
1445
1446
  yValue = series.dataModify.modifyValue(yValue, i);
1446
1447
  }
1447
- // Set the the plotY value, reset it for redraws #3201, #18422
1448
+ // Set the plotY value, reset it for redraws #3201, #18422
1448
1449
  let plotY;
1449
1450
  if (isNumber(yValue) && point.plotX !== void 0) {
1450
1451
  plotY = yAxis.translate(yValue, false, true, false, true);
@@ -1533,16 +1534,21 @@ class Series {
1533
1534
  getClipBox() {
1534
1535
  const { chart, xAxis, yAxis } = this;
1535
1536
  // If no axes on the series, use global clipBox
1536
- const seriesBox = merge(chart.clipBox);
1537
+ let { x, y, width, height } = merge(chart.clipBox);
1537
1538
  // Otherwise, use clipBox.width which is corrected for plotBorderWidth
1538
1539
  // and clipOffset
1539
1540
  if (xAxis && xAxis.len !== chart.plotSizeX) {
1540
- seriesBox.width = xAxis.len;
1541
+ width = xAxis.len;
1541
1542
  }
1542
1543
  if (yAxis && yAxis.len !== chart.plotSizeY) {
1543
- seriesBox.height = yAxis.len;
1544
+ height = yAxis.len;
1544
1545
  }
1545
- return seriesBox;
1546
+ // If the chart is inverted and the series is not invertible, the chart
1547
+ // clip box should be inverted, but not the series clip box (#20264)
1548
+ if (chart.inverted && !this.invertible) {
1549
+ [width, height] = [height, width];
1550
+ }
1551
+ return { x, y, width, height };
1546
1552
  }
1547
1553
  /**
1548
1554
  * Get the shared clip key, creating it if it doesn't exist.
@@ -1633,17 +1639,17 @@ class Series {
1633
1639
  animationClipRect.attr('height', clipBox.height);
1634
1640
  }
1635
1641
  group.clip(animationClipRect);
1636
- if (markerGroup) {
1637
- markerGroup.clip(markerAnimationClipRect);
1638
- }
1642
+ markerGroup?.clip(markerAnimationClipRect);
1639
1643
  // Run the animation
1640
1644
  }
1641
1645
  else if (animationClipRect &&
1642
1646
  // Only first series in this pane
1643
1647
  !animationClipRect.hasClass('highcharts-animating')) {
1644
1648
  const finalBox = this.getClipBox(), step = animation.step;
1645
- // Only do this when there are actually markers
1646
- if (markerGroup && markerGroup.element.childNodes.length) {
1649
+ // Only do this when there are actually markers, or we have multiple
1650
+ // series (#20473)
1651
+ if (markerGroup?.element.childNodes.length ||
1652
+ chart.series.length > 1) {
1647
1653
  // To provide as smooth animation as possible, update the marker
1648
1654
  // group clipping in steps of the main group animation
1649
1655
  animation.step = function (val, fx) {
@@ -1651,8 +1657,7 @@ class Series {
1651
1657
  step.apply(fx, arguments);
1652
1658
  }
1653
1659
  if (fx.prop === 'width' &&
1654
- markerAnimationClipRect &&
1655
- markerAnimationClipRect.element) {
1660
+ markerAnimationClipRect?.element) {
1656
1661
  markerAnimationClipRect.attr(inverted ? 'height' : 'width', val + 99);
1657
1662
  }
1658
1663
  };
@@ -1897,11 +1902,11 @@ class Series {
1897
1902
  destroy(keepEventsForUpdate) {
1898
1903
  const series = this, chart = series.chart, issue134 = /AppleWebKit\/533/.test(win.navigator.userAgent), data = series.data || [];
1899
1904
  let destroy, i, point, axis;
1900
- // add event hook
1905
+ // Add event hook
1901
1906
  fireEvent(series, 'destroy', { keepEventsForUpdate });
1902
- // remove events
1907
+ // Remove events
1903
1908
  this.removeEvents(keepEventsForUpdate);
1904
- // erase from axes
1909
+ // Erase from axes
1905
1910
  (series.axisTypes || []).forEach(function (AXIS) {
1906
1911
  axis = series[AXIS];
1907
1912
  if (axis && axis.series) {
@@ -1909,11 +1914,11 @@ class Series {
1909
1914
  axis.isDirty = axis.forceRedraw = true;
1910
1915
  }
1911
1916
  });
1912
- // remove legend items
1917
+ // Remove legend items
1913
1918
  if (series.legendItem) {
1914
1919
  series.chart.legend.destroyItem(series);
1915
1920
  }
1916
- // destroy all points with their elements
1921
+ // Destroy all points with their elements
1917
1922
  i = data.length;
1918
1923
  while (i--) {
1919
1924
  point = data[i];
@@ -1921,7 +1926,10 @@ class Series {
1921
1926
  point.destroy();
1922
1927
  }
1923
1928
  }
1924
- series.zones.forEach(destroyObjectProperties);
1929
+ for (const zone of series.zones) {
1930
+ // Destroy SVGElement's but preserve primitive props (#20426)
1931
+ destroyObjectProperties(zone, void 0, true);
1932
+ }
1925
1933
  // Clear the animation timeout if we are destroying the series
1926
1934
  // during initial animation
1927
1935
  U.clearTimeout(series.animationTimeout);
@@ -1929,20 +1937,20 @@ class Series {
1929
1937
  objectEach(series, function (val, prop) {
1930
1938
  // Survive provides a hook for not destroying
1931
1939
  if (val instanceof SVGElement && !val.survive) {
1932
- // issue 134 workaround
1940
+ // Issue 134 workaround
1933
1941
  destroy = issue134 && prop === 'group' ?
1934
1942
  'hide' :
1935
1943
  'destroy';
1936
1944
  val[destroy]();
1937
1945
  }
1938
1946
  });
1939
- // remove from hoverSeries
1947
+ // Remove from hoverSeries
1940
1948
  if (chart.hoverSeries === series) {
1941
1949
  chart.hoverSeries = void 0;
1942
1950
  }
1943
1951
  erase(chart.series, series);
1944
1952
  chart.orderItems('series');
1945
- // clear all members
1953
+ // Clear all members
1946
1954
  objectEach(series, function (val, prop) {
1947
1955
  if (!keepEventsForUpdate || prop !== 'hcEvents') {
1948
1956
  delete series[prop];
@@ -1990,7 +1998,7 @@ class Series {
1990
1998
  });
1991
1999
  };
1992
2000
  // Reset
1993
- zones.forEach((zone, i) => {
2001
+ zones.forEach((zone) => {
1994
2002
  zone.lineClip = [];
1995
2003
  zone.translated = clamp(axis.toPixels(pick(zone.value, axisMax), true) || 0, 0, len);
1996
2004
  });
@@ -2153,7 +2161,7 @@ class Series {
2153
2161
  const chart = this.chart, inverted = (chart.inverted &&
2154
2162
  !chart.polar &&
2155
2163
  horAxis &&
2156
- this.invertible !== false &&
2164
+ this.invertible &&
2157
2165
  name === 'series');
2158
2166
  // Swap axes for inverted (#2339)
2159
2167
  if (chart.inverted) {
@@ -2512,14 +2520,12 @@ class Series {
2512
2520
  tracker.addClass('highcharts-tracker')
2513
2521
  .on('mouseover', onMouseOver)
2514
2522
  .on('mouseout', (e) => {
2515
- pointer.onTrackerMouseOut(e);
2523
+ pointer?.onTrackerMouseOut(e);
2516
2524
  });
2517
2525
  if (options.cursor && !chart.styledMode) {
2518
2526
  tracker.css({ cursor: options.cursor });
2519
2527
  }
2520
- if (hasTouch) {
2521
- tracker.on('touchstart', onMouseOver);
2522
- }
2528
+ tracker.on('touchstart', onMouseOver);
2523
2529
  }
2524
2530
  });
2525
2531
  }
@@ -2637,7 +2643,7 @@ class Series {
2637
2643
  /**
2638
2644
  * Remove a point from the series. Unlike the
2639
2645
  * {@link Highcharts.Point#remove} method, this can also be done on a point
2640
- * that is not instanciated because it is outside the view or subject to
2646
+ * that is not instantiated because it is outside the view or subject to
2641
2647
  * Highcharts Stock data grouping.
2642
2648
  *
2643
2649
  * @sample highcharts/members/series-removepoint/
@@ -2818,7 +2824,8 @@ class Series {
2818
2824
  'level',
2819
2825
  // Map specific, consider moving it to series-specific preserve-
2820
2826
  // properties (#10617)
2821
- 'mapMap', 'mapData', 'minY', 'maxY', 'minX', 'maxX');
2827
+ 'mapMap', 'mapData', 'minY', 'maxY', 'minX', 'maxX', 'transformGroups' // #18857
2828
+ );
2822
2829
  if (options.visible !== false) {
2823
2830
  preserve.push('area', 'graph');
2824
2831
  }
@@ -2865,6 +2872,8 @@ class Series {
2865
2872
  // reinserted within the `init` call below
2866
2873
  series.remove(false, false, false, true);
2867
2874
  if (casting) {
2875
+ // #20264: Re-detect a certain chart properties from new series
2876
+ chart.propFromSeries();
2868
2877
  // Modern browsers including IE11
2869
2878
  if (Object.setPrototypeOf) {
2870
2879
  Object.setPrototypeOf(series, seriesTypes[newType].prototype);
@@ -2908,7 +2917,7 @@ class Series {
2908
2917
  kinds.dataLabel = 1;
2909
2918
  }
2910
2919
  else {
2911
- // If the marker got disabled or changed its symbol, width or
2920
+ // If the marker got disabled or changed its symbol, width or
2912
2921
  // height - destroy
2913
2922
  if (this.hasMarkerChanged(seriesOptions, oldOptions)) {
2914
2923
  kinds.graphic = 1;
@@ -2974,7 +2983,7 @@ class Series {
2974
2983
  */
2975
2984
  onMouseOver() {
2976
2985
  const series = this, chart = series.chart, hoverSeries = chart.hoverSeries, pointer = chart.pointer;
2977
- pointer.setHoverChartIndex();
2986
+ pointer?.setHoverChartIndex();
2978
2987
  // set normal state to previous series
2979
2988
  if (hoverSeries && hoverSeries !== series) {
2980
2989
  hoverSeries.onMouseOut();
@@ -3302,6 +3311,7 @@ extend(Series.prototype, {
3302
3311
  coll: 'series',
3303
3312
  colorCounter: 0,
3304
3313
  directTouch: false,
3314
+ invertible: true,
3305
3315
  isCartesian: true,
3306
3316
  kdAxisArray: ['clientX', 'plotY'],
3307
3317
  // Each point's x and y values are stored in this.xData and this.yData:
@@ -3363,7 +3373,7 @@ export default Series;
3363
3373
  * @callback Highcharts.SeriesAfterAnimateCallbackFunction
3364
3374
  *
3365
3375
  * @param {Highcharts.Series} this
3366
- * The series where the event occured.
3376
+ * The series where the event occurred.
3367
3377
  *
3368
3378
  * @param {Highcharts.SeriesAfterAnimateEventObject} event
3369
3379
  * Event arguments.
@@ -3388,7 +3398,7 @@ export default Series;
3388
3398
  * @callback Highcharts.SeriesCheckboxClickCallbackFunction
3389
3399
  *
3390
3400
  * @param {Highcharts.Series} this
3391
- * The series where the event occured.
3401
+ * The series where the event occurred.
3392
3402
  *
3393
3403
  * @param {Highcharts.SeriesCheckboxClickEventObject} event
3394
3404
  * Event arguments.
@@ -3421,7 +3431,7 @@ export default Series;
3421
3431
  * @callback Highcharts.SeriesClickCallbackFunction
3422
3432
  *
3423
3433
  * @param {Highcharts.Series} this
3424
- * The series where the event occured.
3434
+ * The series where the event occurred.
3425
3435
  *
3426
3436
  * @param {Highcharts.SeriesClickEventObject} event
3427
3437
  * Event arguments.
@@ -3443,10 +3453,10 @@ export default Series;
3443
3453
  * @callback Highcharts.SeriesHideCallbackFunction
3444
3454
  *
3445
3455
  * @param {Highcharts.Series} this
3446
- * The series where the event occured.
3456
+ * The series where the event occurred.
3447
3457
  *
3448
3458
  * @param {global.Event} event
3449
- * The event that occured.
3459
+ * The event that occurred.
3450
3460
  */
3451
3461
  /**
3452
3462
  * The SVG value used for the `stroke-linecap` and `stroke-linejoin` of a line
@@ -3462,10 +3472,10 @@ export default Series;
3462
3472
  * @callback Highcharts.SeriesLegendItemClickCallbackFunction
3463
3473
  *
3464
3474
  * @param {Highcharts.Series} this
3465
- * The series where the event occured.
3475
+ * The series where the event occurred.
3466
3476
  *
3467
3477
  * @param {Highcharts.SeriesLegendItemClickEventObject} event
3468
- * The event that occured.
3478
+ * The event that occurred.
3469
3479
  */
3470
3480
  /**
3471
3481
  * Information about the event.
@@ -3494,10 +3504,10 @@ export default Series;
3494
3504
  * @callback Highcharts.SeriesMouseOutCallbackFunction
3495
3505
  *
3496
3506
  * @param {Highcharts.Series} this
3497
- * Series where the event occured.
3507
+ * Series where the event occurred.
3498
3508
  *
3499
3509
  * @param {global.PointerEvent} event
3500
- * Event that occured.
3510
+ * Event that occurred.
3501
3511
  */
3502
3512
  /**
3503
3513
  * Gets fired when the mouse enters the graph.
@@ -3505,10 +3515,10 @@ export default Series;
3505
3515
  * @callback Highcharts.SeriesMouseOverCallbackFunction
3506
3516
  *
3507
3517
  * @param {Highcharts.Series} this
3508
- * Series where the event occured.
3518
+ * Series where the event occurred.
3509
3519
  *
3510
3520
  * @param {global.PointerEvent} event
3511
- * Event that occured.
3521
+ * Event that occurred.
3512
3522
  */
3513
3523
  /**
3514
3524
  * Translation and scale for the plot area of a series.
@@ -3534,10 +3544,10 @@ export default Series;
3534
3544
  * @callback Highcharts.SeriesShowCallbackFunction
3535
3545
  *
3536
3546
  * @param {Highcharts.Series} this
3537
- * Series where the event occured.
3547
+ * Series where the event occurred.
3538
3548
  *
3539
3549
  * @param {global.Event} event
3540
- * Event that occured.
3550
+ * Event that occurred.
3541
3551
  */
3542
3552
  /**
3543
3553
  * Possible key values for the series state options.
@@ -3680,4 +3690,4 @@ export default Series;
3680
3690
  * @product highcharts highstock
3681
3691
  * @apioption series.zIndex
3682
3692
  */
3683
- ''; // include precedent doclets in transpilat
3693
+ ''; // include precedent doclets in transpiled
@@ -29,7 +29,7 @@ class Series3D extends Series {
29
29
  *
30
30
  * */
31
31
  static compose(SeriesClass) {
32
- if (pushUnique(composed, this.compose)) {
32
+ if (pushUnique(composed, 'Core.Series3D')) {
33
33
  addEvent(SeriesClass, 'afterTranslate', function () {
34
34
  if (this.chart.is3d()) {
35
35
  this.translate3dPoints();
@@ -53,7 +53,7 @@ class Series3D extends Series {
53
53
  const series = this, seriesOptions = series.options, chart = series.chart, zAxis = pick(series.zAxis, chart.options.zAxis[0]), rawPoints = [], rawPointsX = [], stack = seriesOptions.stacking ?
54
54
  (isNumber(seriesOptions.stack) ? seriesOptions.stack : 0) :
55
55
  series.index || 0;
56
- let rawPoint, projectedPoint, zValue, i;
56
+ let projectedPoint, zValue;
57
57
  series.zPadding = stack *
58
58
  (seriesOptions.depth || 0 + (seriesOptions.groupZPadding || 1));
59
59
  series.data.forEach((rawPoint) => {
@@ -13,7 +13,7 @@ import D from '../Defaults.js';
13
13
  const { defaultOptions } = D;
14
14
  import Point from './Point.js';
15
15
  import U from '../Utilities.js';
16
- const { extendClass, merge } = U;
16
+ const { extend, extendClass, merge } = U;
17
17
  /* *
18
18
  *
19
19
  * Namespace
@@ -47,10 +47,14 @@ var SeriesRegistry;
47
47
  if (!seriesProto.pointClass) {
48
48
  seriesProto.pointClass = Point;
49
49
  }
50
+ if (SeriesRegistry.seriesTypes[seriesType]) {
51
+ return false;
52
+ }
50
53
  if (seriesOptions) {
51
54
  defaultPlotOptions[seriesType] = seriesOptions;
52
55
  }
53
56
  SeriesRegistry.seriesTypes[seriesType] = SeriesClass;
57
+ return true;
54
58
  }
55
59
  SeriesRegistry.registerSeriesType = registerSeriesType;
56
60
  /**
@@ -86,11 +90,15 @@ var SeriesRegistry;
86
90
  // Merge the options
87
91
  defaultPlotOptions[type] = merge(defaultPlotOptions[parent], options);
88
92
  // Create the class
93
+ delete SeriesRegistry.seriesTypes[type];
89
94
  registerSeriesType(type, extendClass(SeriesRegistry.seriesTypes[parent] || function () { }, seriesProto));
90
95
  SeriesRegistry.seriesTypes[type].prototype.type = type;
91
96
  // Create the point class if needed
92
97
  if (pointProto) {
93
- SeriesRegistry.seriesTypes[type].prototype.pointClass = extendClass(Point, pointProto);
98
+ class PointClass extends Point {
99
+ }
100
+ extend(PointClass.prototype, pointProto);
101
+ SeriesRegistry.seriesTypes[type].prototype.pointClass = PointClass;
94
102
  }
95
103
  return SeriesRegistry.seriesTypes[type];
96
104
  }
@@ -11,7 +11,7 @@
11
11
  import D from './Defaults.js';
12
12
  const { defaultOptions, defaultTime } = D;
13
13
  import U from './Utilities.js';
14
- const { extend, getNestedProperty, isArray, isNumber, isObject, isString, pick, pInt } = U;
14
+ const { extend, getNestedProperty, isArray, isNumber, isObject, pick, pInt } = U;
15
15
  const helpers = {
16
16
  // Built-in helpers
17
17
  add: (a, b) => a + b,
@@ -290,12 +290,16 @@ class Time {
290
290
  if (options.timezone) {
291
291
  return (timestamp) => {
292
292
  try {
293
- const [date, gmt, hours, colon, minutes = 0] =
294
- // eslint-disable-next-line new-cap
295
- Intl.DateTimeFormat('en', {
296
- timeZone: options.timezone,
297
- timeZoneName: 'shortOffset'
298
- })
293
+ // Cache the DateTimeFormat instances for performance
294
+ // (#20720)
295
+ const cacheKey = `shortOffset,${options.timezone || ''}`, dateTimeFormat = Time.formatCache[cacheKey] = (Time.formatCache[cacheKey] ||
296
+ // eslint-disable-next-line new-cap
297
+ Intl.DateTimeFormat('en', {
298
+ timeZone: options.timezone,
299
+ timeZoneName: 'shortOffset'
300
+ }));
301
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
302
+ const [date, gmt, hours, colon, minutes = 0] = dateTimeFormat
299
303
  .format(timestamp)
300
304
  .split(/(GMT|:)/)
301
305
  .map(Number), offset = -(hours + minutes / 60) * 60 * 60000;
@@ -421,7 +425,7 @@ class Time {
421
425
  p: hours < 12 ? 'AM' : 'PM',
422
426
  // Lower case AM or PM
423
427
  P: hours < 12 ? 'am' : 'pm',
424
- // Two digits seconds, 00 through 59
428
+ // Two digits seconds, 00 through 59
425
429
  S: pad(this.get('Seconds', date)),
426
430
  // Milliseconds (naming from Ruby)
427
431
  L: pad(Math.floor(timestamp % 1000), 3)
@@ -670,6 +674,7 @@ class Time {
670
674
  return this.resolveDTLFormat(dateTimeLabelFormats[n]).main;
671
675
  }
672
676
  }
677
+ Time.formatCache = {};
673
678
  /* *
674
679
  *
675
680
  * Default export