highcharts 9.3.3 → 10.2.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 (917) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/A11yI18n.js +4 -4
  8. package/es-modules/Accessibility/Accessibility.js +3 -4
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  10. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  11. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  12. package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
  13. package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
  14. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  16. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  17. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  18. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
  19. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
  20. package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
  21. package/es-modules/Accessibility/FocusBorder.js +6 -5
  22. package/es-modules/Accessibility/HighContrastMode.js +3 -3
  23. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  24. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
  25. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  26. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  27. package/es-modules/Accessibility/ProxyElement.js +14 -6
  28. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  29. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  30. package/es-modules/Core/Animation/Fx.js +1 -1
  31. package/es-modules/Core/Axis/Axis.js +197 -91
  32. package/es-modules/Core/Axis/AxisDefaults.js +8 -8
  33. package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
  34. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
  35. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  36. package/es-modules/Core/Axis/GridAxis.js +821 -821
  37. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  38. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  39. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  40. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGridTick.js +13 -2
  43. package/es-modules/Core/Axis/ZAxis.js +3 -1
  44. package/es-modules/Core/Chart/Chart.js +27 -8
  45. package/es-modules/Core/Chart/Chart3D.js +1 -11
  46. package/es-modules/Core/Chart/ChartDefaults.js +46 -14
  47. package/es-modules/Core/Chart/GanttChart.js +3 -1
  48. package/es-modules/Core/Chart/MapChart.js +4 -7
  49. package/es-modules/Core/Chart/StockChart.js +7 -5
  50. package/es-modules/Core/Color/Color.js +1 -1
  51. package/es-modules/Core/DefaultOptions.js +19 -15
  52. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  53. package/es-modules/Core/Globals.js +4 -18
  54. package/es-modules/Core/HttpUtilities.js +46 -39
  55. package/es-modules/Core/Legend/Legend.js +14 -12
  56. package/es-modules/Core/MSPointer.js +3 -1
  57. package/es-modules/Core/Navigator.js +16 -13
  58. package/es-modules/Core/Pointer.js +16 -12
  59. package/es-modules/Core/Renderer/HTML/AST.js +68 -8
  60. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  61. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  62. package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
  63. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  64. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
  66. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
  67. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  68. package/es-modules/Core/Scrollbar.js +9 -5
  69. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  70. package/es-modules/Core/Series/DataLabel.js +67 -38
  71. package/es-modules/Core/Series/Point.js +11 -2
  72. package/es-modules/Core/Series/Series.js +57 -27
  73. package/es-modules/Core/Series/Series3D.js +3 -1
  74. package/es-modules/Core/Series/SeriesDefaults.js +7 -4
  75. package/es-modules/Core/Time.js +6 -7
  76. package/es-modules/Core/Tooltip.js +17 -34
  77. package/es-modules/Core/Utilities.js +33 -33
  78. package/es-modules/Data/DataConverter.js +1 -1
  79. package/es-modules/Data/DataTable.js +12 -10
  80. package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
  81. package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
  82. package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
  83. package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
  85. package/es-modules/Data/Modifiers/SortModifier.js +3 -1
  86. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  87. package/es-modules/Data/Parsers/DataParser.js +1 -1
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  90. package/es-modules/Data/Stores/CSVStore.js +8 -5
  91. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  92. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  93. package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
  94. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
  97. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
  99. package/es-modules/Extensions/Annotations/Popup.js +2 -2
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  102. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
  103. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
  104. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
  105. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
  106. package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
  107. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
  108. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  109. package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
  110. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
  111. package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
  112. package/es-modules/Extensions/Boost/BoostInit.js +9 -3
  113. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  114. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  115. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  116. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  117. package/es-modules/Extensions/BoostCanvas.js +11 -5
  118. package/es-modules/Extensions/Breadcrumbs.js +898 -0
  119. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  120. package/es-modules/Extensions/Data.js +661 -613
  121. package/es-modules/Extensions/DataGrouping.js +8 -3
  122. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  123. package/es-modules/Extensions/DownloadURL.js +3 -3
  124. package/es-modules/Extensions/DragPanes.js +1 -1
  125. package/es-modules/Extensions/DraggablePoints.js +9 -7
  126. package/es-modules/Extensions/Drilldown.js +152 -97
  127. package/es-modules/Extensions/ExportData.js +58 -9
  128. package/es-modules/Extensions/Exporting/Exporting.js +34 -23
  129. package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
  130. package/es-modules/Extensions/FullScreen.js +121 -54
  131. package/es-modules/Extensions/GeoJSON.js +149 -125
  132. package/es-modules/Extensions/MarkerClusters.js +36 -22
  133. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  134. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  135. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  136. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  137. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  138. package/es-modules/Extensions/Pane.js +3 -3
  139. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  140. package/es-modules/Extensions/PatternFill.js +14 -2
  141. package/es-modules/Extensions/RangeSelector.js +29 -18
  142. package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
  143. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
  144. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  145. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  146. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  147. package/es-modules/Extensions/Stacking.js +5 -4
  148. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  149. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  150. package/es-modules/Maps/MapNavigation.js +49 -12
  151. package/es-modules/Maps/MapPointer.js +16 -0
  152. package/es-modules/Maps/MapUtilities.js +56 -0
  153. package/es-modules/Maps/MapView.js +619 -137
  154. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  155. package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
  156. package/es-modules/Maps/Projection.js +182 -88
  157. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  158. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  159. package/es-modules/Maps/Projections/Miller.js +23 -10
  160. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  161. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  162. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
  163. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
  164. package/es-modules/Series/Area/AreaSeries.js +21 -14
  165. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  166. package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
  167. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  168. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  169. package/es-modules/Series/Bar/BarSeries.js +3 -1
  170. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  171. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  172. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  173. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  174. package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
  175. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  176. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  177. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  178. package/es-modules/Series/CenteredUtilities.js +8 -2
  179. package/es-modules/Series/ColorMapComposition.js +111 -0
  180. package/es-modules/Series/Column/ColumnSeries.js +10 -7
  181. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
  182. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  183. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  184. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  185. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  186. package/es-modules/Series/DataModifyComposition.js +1 -0
  187. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  188. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
  189. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  190. package/es-modules/Series/DrawPointUtilities.js +87 -0
  191. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  192. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  193. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  194. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  195. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  196. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  197. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  198. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
  199. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  200. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  201. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  202. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  203. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  204. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  205. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  206. package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
  207. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  208. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  209. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  210. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  211. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  212. package/es-modules/Series/Item/ItemPoint.js +3 -1
  213. package/es-modules/Series/Item/ItemSeries.js +3 -1
  214. package/es-modules/Series/Line/LineSeries.js +4 -2
  215. package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
  217. package/es-modules/Series/Map/MapPoint.js +32 -7
  218. package/es-modules/Series/Map/MapSeries.js +298 -189
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
  221. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
  224. package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
  225. package/es-modules/Series/NodesComposition.js +101 -49
  226. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  227. package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
  228. package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
  229. package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
  230. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
  231. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
  232. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  233. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  234. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  235. package/es-modules/Series/Pie/PiePoint.js +15 -6
  236. package/es-modules/Series/Pie/PieSeries.js +51 -37
  237. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  238. package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
  239. package/es-modules/Series/PolarComposition.js +819 -0
  240. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  241. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  242. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  243. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  244. package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
  245. package/es-modules/Series/Sankey/SankeySeries.js +35 -136
  246. package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
  247. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  248. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
  249. package/es-modules/Series/SeriesOnPointComposition.js +391 -0
  250. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
  251. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  252. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  253. package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
  255. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  257. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  258. package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
  259. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  260. package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
  261. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  262. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  263. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  264. package/es-modules/Series/Vector/VectorSeries.js +3 -1
  265. package/es-modules/Series/Venn/VennPoint.js +5 -5
  266. package/es-modules/Series/Venn/VennSeries.js +9 -6
  267. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  268. package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
  269. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  271. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  272. package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
  273. package/es-modules/Series/XRange/XRangePoint.js +3 -1
  274. package/es-modules/Series/XRange/XRangeSeries.js +3 -1
  275. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  277. package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
  278. package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
  280. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
  281. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
  282. package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
  283. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
  284. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
  285. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
  286. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
  287. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
  288. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
  289. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
  290. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  291. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
  292. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
  293. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
  294. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
  295. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
  296. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
  297. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
  298. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
  299. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
  300. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
  301. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
  302. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  303. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
  304. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
  305. package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
  306. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
  307. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
  308. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
  309. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
  310. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
  311. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
  312. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
  313. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
  314. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
  315. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  316. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
  317. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  318. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
  319. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
  320. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
  321. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
  322. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
  323. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
  324. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
  325. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
  326. package/es-modules/Stock/StockToolsBindings.js +51 -43
  327. package/es-modules/Stock/StockToolsGui.js +1 -1
  328. package/es-modules/masters/highcharts-3d.src.js +1 -1
  329. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  330. package/es-modules/masters/highcharts-more.src.js +4 -4
  331. package/es-modules/masters/highcharts.src.js +1 -1
  332. package/es-modules/masters/highmaps.src.js +1 -1
  333. package/es-modules/masters/highstock.src.js +1 -1
  334. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  335. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  336. package/es-modules/masters/indicators/ao.src.js +1 -1
  337. package/es-modules/masters/indicators/apo.src.js +1 -1
  338. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  339. package/es-modules/masters/indicators/aroon.src.js +1 -1
  340. package/es-modules/masters/indicators/atr.src.js +1 -1
  341. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  342. package/es-modules/masters/indicators/cci.src.js +1 -1
  343. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  344. package/es-modules/masters/indicators/cmf.src.js +1 -1
  345. package/es-modules/masters/indicators/cmo.src.js +1 -1
  346. package/es-modules/masters/indicators/dema.src.js +1 -1
  347. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  348. package/es-modules/masters/indicators/dmi.src.js +1 -1
  349. package/es-modules/masters/indicators/dpo.src.js +1 -1
  350. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  351. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  352. package/es-modules/masters/indicators/indicators.src.js +1 -1
  353. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  354. package/es-modules/masters/indicators/klinger.src.js +1 -1
  355. package/es-modules/masters/indicators/macd.src.js +1 -1
  356. package/es-modules/masters/indicators/mfi.src.js +1 -1
  357. package/es-modules/masters/indicators/momentum.src.js +1 -1
  358. package/es-modules/masters/indicators/natr.src.js +1 -1
  359. package/es-modules/masters/indicators/obv.src.js +1 -1
  360. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  361. package/es-modules/masters/indicators/ppo.src.js +1 -1
  362. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  363. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  364. package/es-modules/masters/indicators/psar.src.js +1 -1
  365. package/es-modules/masters/indicators/regressions.src.js +1 -1
  366. package/es-modules/masters/indicators/roc.src.js +1 -1
  367. package/es-modules/masters/indicators/rsi.src.js +1 -1
  368. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  369. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  370. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  371. package/es-modules/masters/indicators/tema.src.js +1 -1
  372. package/es-modules/masters/indicators/trendline.src.js +1 -1
  373. package/es-modules/masters/indicators/trix.src.js +1 -1
  374. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  375. package/es-modules/masters/indicators/vwap.src.js +1 -1
  376. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  377. package/es-modules/masters/indicators/wma.src.js +1 -1
  378. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  379. package/es-modules/masters/modules/accessibility.src.js +1 -1
  380. package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
  381. package/es-modules/masters/modules/annotations.src.js +2 -2
  382. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  383. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  384. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  385. package/es-modules/masters/modules/boost.src.js +1 -1
  386. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  387. package/es-modules/masters/modules/bullet.src.js +1 -1
  388. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  389. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  390. package/es-modules/masters/modules/cylinder.src.js +1 -1
  391. package/es-modules/masters/modules/data.src.js +2 -1
  392. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  393. package/es-modules/masters/modules/debugger.src.js +1 -1
  394. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  395. package/es-modules/masters/modules/dotplot.src.js +1 -1
  396. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  397. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  398. package/es-modules/masters/modules/drilldown.src.js +2 -1
  399. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  400. package/es-modules/masters/modules/export-data.src.js +1 -1
  401. package/es-modules/masters/modules/exporting.src.js +1 -1
  402. package/es-modules/masters/modules/full-screen.src.js +1 -1
  403. package/es-modules/masters/modules/funnel.src.js +1 -1
  404. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  405. package/es-modules/masters/modules/gantt.src.js +1 -1
  406. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  407. package/es-modules/masters/modules/heatmap.src.js +1 -1
  408. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  409. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  410. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  411. package/es-modules/masters/modules/item-series.src.js +1 -1
  412. package/es-modules/masters/modules/lollipop.src.js +1 -1
  413. package/es-modules/masters/modules/map.src.js +5 -1
  414. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  415. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  416. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  417. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  418. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  419. package/es-modules/masters/modules/oldie.src.js +1 -1
  420. package/es-modules/masters/modules/organization.src.js +1 -1
  421. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  422. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  423. package/es-modules/masters/modules/pareto.src.js +1 -1
  424. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  425. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  426. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  427. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  428. package/es-modules/masters/modules/sankey.src.js +1 -1
  429. package/es-modules/masters/modules/series-label.src.js +5 -2
  430. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  431. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  432. package/es-modules/masters/modules/sonification.src.js +2 -6
  433. package/es-modules/masters/modules/static-scale.src.js +1 -1
  434. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  435. package/es-modules/masters/modules/stock.src.js +1 -1
  436. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  437. package/es-modules/masters/modules/sunburst.src.js +1 -1
  438. package/es-modules/masters/modules/tilemap.src.js +1 -1
  439. package/es-modules/masters/modules/timeline.src.js +1 -1
  440. package/es-modules/masters/modules/treegrid.src.js +1 -1
  441. package/es-modules/masters/modules/treemap.src.js +5 -1
  442. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  443. package/es-modules/masters/modules/variwide.src.js +1 -1
  444. package/es-modules/masters/modules/vector.src.js +1 -1
  445. package/es-modules/masters/modules/venn.src.js +1 -1
  446. package/es-modules/masters/modules/windbarb.src.js +1 -1
  447. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  448. package/es-modules/masters/modules/xrange.src.js +1 -1
  449. package/es-modules/masters/themes/avocado.src.js +1 -1
  450. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  451. package/es-modules/masters/themes/brand-light.src.js +1 -1
  452. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  453. package/es-modules/masters/themes/dark-green.src.js +1 -1
  454. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  455. package/es-modules/masters/themes/gray.src.js +1 -1
  456. package/es-modules/masters/themes/grid-light.src.js +1 -1
  457. package/es-modules/masters/themes/grid.src.js +1 -1
  458. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  459. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  460. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  461. package/es-modules/masters/themes/skies.src.js +1 -1
  462. package/es-modules/masters/themes/sunset.src.js +1 -1
  463. package/highcharts-3d.js +99 -98
  464. package/highcharts-3d.js.map +1 -1
  465. package/highcharts-3d.src.js +51 -21
  466. package/highcharts-gantt.js +811 -801
  467. package/highcharts-gantt.js.map +1 -1
  468. package/highcharts-gantt.src.js +2020 -1607
  469. package/highcharts-more.d.ts +10 -0
  470. package/highcharts-more.js +194 -194
  471. package/highcharts-more.js.map +1 -1
  472. package/highcharts-more.src.d.ts +10 -0
  473. package/highcharts-more.src.js +3512 -3364
  474. package/highcharts.d.ts +12336 -965
  475. package/highcharts.js +595 -586
  476. package/highcharts.js.map +1 -1
  477. package/highcharts.src.d.ts +12336 -965
  478. package/highcharts.src.js +1047 -665
  479. package/highmaps.js +763 -728
  480. package/highmaps.js.map +1 -1
  481. package/highmaps.src.js +4482 -2639
  482. package/highstock.js +798 -788
  483. package/highstock.js.map +1 -1
  484. package/highstock.src.js +1177 -739
  485. package/indicators/acceleration-bands.d.ts +1 -17
  486. package/indicators/acceleration-bands.js +11 -11
  487. package/indicators/acceleration-bands.js.map +1 -1
  488. package/indicators/acceleration-bands.src.d.ts +1 -17
  489. package/indicators/acceleration-bands.src.js +99 -100
  490. package/indicators/accumulation-distribution.js +5 -5
  491. package/indicators/accumulation-distribution.js.map +1 -1
  492. package/indicators/accumulation-distribution.src.js +11 -2
  493. package/indicators/ao.js +6 -6
  494. package/indicators/ao.js.map +1 -1
  495. package/indicators/ao.src.js +13 -4
  496. package/indicators/apo.js +5 -5
  497. package/indicators/apo.js.map +1 -1
  498. package/indicators/apo.src.js +11 -2
  499. package/indicators/aroon-oscillator.d.ts +1 -17
  500. package/indicators/aroon-oscillator.js +10 -10
  501. package/indicators/aroon-oscillator.js.map +1 -1
  502. package/indicators/aroon-oscillator.src.d.ts +1 -17
  503. package/indicators/aroon-oscillator.src.js +99 -100
  504. package/indicators/aroon.d.ts +1 -17
  505. package/indicators/aroon.js +11 -11
  506. package/indicators/aroon.js.map +1 -1
  507. package/indicators/aroon.src.d.ts +1 -17
  508. package/indicators/aroon.src.js +99 -100
  509. package/indicators/atr.js +5 -5
  510. package/indicators/atr.js.map +1 -1
  511. package/indicators/atr.src.js +11 -2
  512. package/indicators/bollinger-bands.d.ts +1 -17
  513. package/indicators/bollinger-bands.js +11 -12
  514. package/indicators/bollinger-bands.js.map +1 -1
  515. package/indicators/bollinger-bands.src.d.ts +1 -17
  516. package/indicators/bollinger-bands.src.js +102 -103
  517. package/indicators/cci.js +5 -5
  518. package/indicators/cci.js.map +1 -1
  519. package/indicators/cci.src.js +11 -2
  520. package/indicators/chaikin.js +8 -8
  521. package/indicators/chaikin.js.map +1 -1
  522. package/indicators/chaikin.src.js +11 -2
  523. package/indicators/cmf.js +6 -6
  524. package/indicators/cmf.js.map +1 -1
  525. package/indicators/cmf.src.js +11 -2
  526. package/indicators/cmo.js +5 -5
  527. package/indicators/cmo.js.map +1 -1
  528. package/indicators/cmo.src.js +11 -2
  529. package/indicators/dema.js +5 -5
  530. package/indicators/dema.js.map +1 -1
  531. package/indicators/dema.src.js +11 -2
  532. package/indicators/disparity-index.js +6 -6
  533. package/indicators/disparity-index.js.map +1 -1
  534. package/indicators/disparity-index.src.js +11 -2
  535. package/indicators/dmi.js +12 -12
  536. package/indicators/dmi.js.map +1 -1
  537. package/indicators/dmi.src.js +109 -106
  538. package/indicators/dpo.js +5 -5
  539. package/indicators/dpo.js.map +1 -1
  540. package/indicators/dpo.src.js +11 -2
  541. package/indicators/ema.js +2 -1
  542. package/indicators/ema.js.map +1 -1
  543. package/indicators/ema.src.js +10 -1
  544. package/indicators/ichimoku-kinko-hyo.js +16 -16
  545. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  546. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  547. package/indicators/indicators-all.d.ts +1 -17
  548. package/indicators/indicators-all.js +198 -196
  549. package/indicators/indicators-all.js.map +1 -1
  550. package/indicators/indicators-all.src.d.ts +1 -17
  551. package/indicators/indicators-all.src.js +151 -129
  552. package/indicators/indicators.js +13 -12
  553. package/indicators/indicators.js.map +1 -1
  554. package/indicators/indicators.src.js +21 -5
  555. package/indicators/keltner-channels.d.ts +1 -17
  556. package/indicators/keltner-channels.js +11 -11
  557. package/indicators/keltner-channels.js.map +1 -1
  558. package/indicators/keltner-channels.src.d.ts +1 -17
  559. package/indicators/keltner-channels.src.js +99 -100
  560. package/indicators/klinger.js +14 -14
  561. package/indicators/klinger.js.map +1 -1
  562. package/indicators/klinger.src.js +99 -100
  563. package/indicators/macd.js +13 -11
  564. package/indicators/macd.js.map +1 -1
  565. package/indicators/macd.src.js +35 -14
  566. package/indicators/mfi.js +6 -6
  567. package/indicators/mfi.js.map +1 -1
  568. package/indicators/mfi.src.js +11 -2
  569. package/indicators/momentum.js +5 -5
  570. package/indicators/momentum.js.map +1 -1
  571. package/indicators/momentum.src.js +11 -2
  572. package/indicators/natr.js +5 -4
  573. package/indicators/natr.js.map +1 -1
  574. package/indicators/natr.src.js +11 -2
  575. package/indicators/obv.js +5 -5
  576. package/indicators/obv.js.map +1 -1
  577. package/indicators/obv.src.js +11 -2
  578. package/indicators/pivot-points.js +11 -11
  579. package/indicators/pivot-points.js.map +1 -1
  580. package/indicators/pivot-points.src.js +11 -2
  581. package/indicators/ppo.js +5 -5
  582. package/indicators/ppo.js.map +1 -1
  583. package/indicators/ppo.src.js +11 -2
  584. package/indicators/price-channel.d.ts +1 -17
  585. package/indicators/price-channel.js +11 -11
  586. package/indicators/price-channel.js.map +1 -1
  587. package/indicators/price-channel.src.d.ts +1 -17
  588. package/indicators/price-channel.src.js +99 -100
  589. package/indicators/price-envelopes.js +8 -8
  590. package/indicators/price-envelopes.js.map +1 -1
  591. package/indicators/price-envelopes.src.js +11 -2
  592. package/indicators/psar.js +7 -6
  593. package/indicators/psar.js.map +1 -1
  594. package/indicators/psar.src.js +11 -2
  595. package/indicators/regressions.js +12 -12
  596. package/indicators/regressions.js.map +1 -1
  597. package/indicators/regressions.src.js +11 -2
  598. package/indicators/roc.js +5 -5
  599. package/indicators/roc.js.map +1 -1
  600. package/indicators/roc.src.js +11 -2
  601. package/indicators/rsi.js +6 -5
  602. package/indicators/rsi.js.map +1 -1
  603. package/indicators/rsi.src.js +11 -2
  604. package/indicators/slow-stochastic.js +5 -5
  605. package/indicators/slow-stochastic.js.map +1 -1
  606. package/indicators/slow-stochastic.src.js +11 -2
  607. package/indicators/stochastic.d.ts +1 -17
  608. package/indicators/stochastic.js +12 -12
  609. package/indicators/stochastic.js.map +1 -1
  610. package/indicators/stochastic.src.d.ts +1 -17
  611. package/indicators/stochastic.src.js +99 -100
  612. package/indicators/supertrend.js +10 -10
  613. package/indicators/supertrend.js.map +1 -1
  614. package/indicators/supertrend.src.js +14 -5
  615. package/indicators/tema.js +6 -6
  616. package/indicators/tema.js.map +1 -1
  617. package/indicators/tema.src.js +11 -2
  618. package/indicators/trendline.js +5 -5
  619. package/indicators/trendline.js.map +1 -1
  620. package/indicators/trendline.src.js +11 -2
  621. package/indicators/trix.js +4 -4
  622. package/indicators/trix.js.map +1 -1
  623. package/indicators/trix.src.js +11 -2
  624. package/indicators/volume-by-price.js +17 -17
  625. package/indicators/volume-by-price.js.map +1 -1
  626. package/indicators/volume-by-price.src.js +11 -2
  627. package/indicators/vwap.js +5 -5
  628. package/indicators/vwap.js.map +1 -1
  629. package/indicators/vwap.src.js +11 -2
  630. package/indicators/williams-r.js +6 -5
  631. package/indicators/williams-r.js.map +1 -1
  632. package/indicators/williams-r.src.js +11 -2
  633. package/indicators/wma.js +5 -5
  634. package/indicators/wma.js.map +1 -1
  635. package/indicators/wma.src.js +11 -2
  636. package/indicators/zigzag.js +6 -6
  637. package/indicators/zigzag.js.map +1 -1
  638. package/indicators/zigzag.src.js +11 -2
  639. package/lib/jspdf.js +299 -184
  640. package/lib/jspdf.src.js +25266 -18067
  641. package/lib/svg2pdf.js +35 -31
  642. package/lib/svg2pdf.src.js +5721 -4179
  643. package/modules/accessibility.js +242 -237
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.js +599 -390
  646. package/modules/annotations-advanced.js +192 -192
  647. package/modules/annotations-advanced.js.map +1 -1
  648. package/modules/annotations-advanced.src.js +96 -47
  649. package/modules/annotations.js +126 -126
  650. package/modules/annotations.js.map +1 -1
  651. package/modules/annotations.src.js +67 -25
  652. package/modules/arc-diagram.js +25 -0
  653. package/modules/arc-diagram.js.map +1 -0
  654. package/modules/arc-diagram.src.js +778 -0
  655. package/modules/arrow-symbols.js +4 -3
  656. package/modules/arrow-symbols.js.map +1 -1
  657. package/modules/arrow-symbols.src.js +11 -2
  658. package/modules/boost-canvas.js +16 -15
  659. package/modules/boost-canvas.js.map +1 -1
  660. package/modules/boost-canvas.src.js +22 -7
  661. package/modules/boost.js +81 -79
  662. package/modules/boost.js.map +1 -1
  663. package/modules/boost.src.js +90 -51
  664. package/modules/broken-axis.js +13 -13
  665. package/modules/broken-axis.js.map +1 -1
  666. package/modules/broken-axis.src.js +11 -2
  667. package/modules/bullet.js +9 -9
  668. package/modules/bullet.js.map +1 -1
  669. package/modules/bullet.src.js +12 -6
  670. package/modules/coloraxis.js +24 -24
  671. package/modules/coloraxis.js.map +1 -1
  672. package/modules/coloraxis.src.js +37 -11
  673. package/modules/current-date-indicator.js +5 -4
  674. package/modules/current-date-indicator.js.map +1 -1
  675. package/modules/current-date-indicator.src.js +12 -3
  676. package/modules/cylinder.js +11 -11
  677. package/modules/cylinder.js.map +1 -1
  678. package/modules/cylinder.src.js +11 -2
  679. package/modules/data.d.ts +12 -12
  680. package/modules/data.js +33 -33
  681. package/modules/data.js.map +1 -1
  682. package/modules/data.src.d.ts +12 -12
  683. package/modules/data.src.js +906 -846
  684. package/modules/datagrouping.js +21 -20
  685. package/modules/datagrouping.js.map +1 -1
  686. package/modules/datagrouping.src.js +19 -5
  687. package/modules/debugger.js +8 -7
  688. package/modules/debugger.js.map +1 -1
  689. package/modules/debugger.src.js +15 -2
  690. package/modules/dependency-wheel.js +12 -11
  691. package/modules/dependency-wheel.js.map +1 -1
  692. package/modules/dependency-wheel.src.js +14 -5
  693. package/modules/dotplot.js +6 -6
  694. package/modules/dotplot.js.map +1 -1
  695. package/modules/dotplot.src.js +11 -2
  696. package/modules/drag-panes.js +10 -10
  697. package/modules/drag-panes.js.map +1 -1
  698. package/modules/drag-panes.src.js +12 -3
  699. package/modules/draggable-points.js +35 -34
  700. package/modules/draggable-points.js.map +1 -1
  701. package/modules/draggable-points.src.js +20 -9
  702. package/modules/drilldown.d.ts +19 -0
  703. package/modules/drilldown.js +37 -25
  704. package/modules/drilldown.js.map +1 -1
  705. package/modules/drilldown.src.d.ts +19 -0
  706. package/modules/drilldown.src.js +1124 -108
  707. package/modules/dumbbell.d.ts +4 -0
  708. package/modules/dumbbell.js +17 -17
  709. package/modules/dumbbell.js.map +1 -1
  710. package/modules/dumbbell.src.d.ts +4 -0
  711. package/modules/dumbbell.src.js +34 -13
  712. package/modules/export-data.js +24 -21
  713. package/modules/export-data.js.map +1 -1
  714. package/modules/export-data.src.js +87 -14
  715. package/modules/exporting.d.ts +8 -8
  716. package/modules/exporting.js +39 -39
  717. package/modules/exporting.js.map +1 -1
  718. package/modules/exporting.src.d.ts +8 -8
  719. package/modules/exporting.src.js +270 -135
  720. package/modules/full-screen.js +8 -7
  721. package/modules/full-screen.js.map +1 -1
  722. package/modules/full-screen.src.js +135 -58
  723. package/modules/funnel.js +12 -12
  724. package/modules/funnel.js.map +1 -1
  725. package/modules/funnel.src.js +13 -4
  726. package/modules/funnel3d.js +21 -21
  727. package/modules/funnel3d.js.map +1 -1
  728. package/modules/funnel3d.src.js +11 -2
  729. package/modules/gantt.js +218 -217
  730. package/modules/gantt.js.map +1 -1
  731. package/modules/gantt.src.js +983 -943
  732. package/modules/grid-axis.js +23 -23
  733. package/modules/grid-axis.js.map +1 -1
  734. package/modules/grid-axis.src.js +900 -890
  735. package/modules/heatmap.js +40 -39
  736. package/modules/heatmap.js.map +1 -1
  737. package/modules/heatmap.src.js +160 -113
  738. package/modules/heikinashi.js +8 -8
  739. package/modules/heikinashi.js.map +1 -1
  740. package/modules/heikinashi.src.js +11 -2
  741. package/modules/histogram-bellcurve.js +13 -13
  742. package/modules/histogram-bellcurve.js.map +1 -1
  743. package/modules/histogram-bellcurve.src.js +11 -2
  744. package/modules/hollowcandlestick.js +9 -9
  745. package/modules/hollowcandlestick.js.map +1 -1
  746. package/modules/hollowcandlestick.src.js +19 -10
  747. package/modules/item-series.js +12 -12
  748. package/modules/item-series.js.map +1 -1
  749. package/modules/item-series.src.js +11 -2
  750. package/modules/lollipop.js +7 -7
  751. package/modules/lollipop.js.map +1 -1
  752. package/modules/lollipop.src.js +12 -3
  753. package/modules/map.d.ts +80 -43
  754. package/modules/map.js +171 -144
  755. package/modules/map.js.map +1 -1
  756. package/modules/map.src.d.ts +80 -43
  757. package/modules/map.src.js +8292 -6822
  758. package/modules/marker-clusters.js +36 -36
  759. package/modules/marker-clusters.js.map +1 -1
  760. package/modules/marker-clusters.src.js +48 -28
  761. package/modules/networkgraph.d.ts +1 -12
  762. package/modules/networkgraph.js +46 -45
  763. package/modules/networkgraph.js.map +1 -1
  764. package/modules/networkgraph.src.d.ts +1 -12
  765. package/modules/networkgraph.src.js +127 -55
  766. package/modules/no-data-to-display.js +5 -5
  767. package/modules/no-data-to-display.js.map +1 -1
  768. package/modules/no-data-to-display.src.js +12 -3
  769. package/modules/offline-exporting.js +20 -18
  770. package/modules/offline-exporting.js.map +1 -1
  771. package/modules/offline-exporting.src.js +129 -28
  772. package/modules/oldie-polyfills.js +7 -7
  773. package/modules/oldie-polyfills.js.map +1 -1
  774. package/modules/oldie-polyfills.src.js +11 -2
  775. package/modules/oldie.js +30 -30
  776. package/modules/oldie.js.map +1 -1
  777. package/modules/oldie.src.js +13 -4
  778. package/modules/organization.js +16 -14
  779. package/modules/organization.js.map +1 -1
  780. package/modules/organization.src.js +168 -34
  781. package/modules/overlapping-datalabels.js +3 -2
  782. package/modules/overlapping-datalabels.js.map +1 -1
  783. package/modules/overlapping-datalabels.src.js +11 -2
  784. package/modules/parallel-coordinates.js +11 -11
  785. package/modules/parallel-coordinates.js.map +1 -1
  786. package/modules/parallel-coordinates.src.js +12 -3
  787. package/modules/pareto.js +7 -7
  788. package/modules/pareto.js.map +1 -1
  789. package/modules/pareto.src.js +11 -2
  790. package/modules/pathfinder.js +31 -31
  791. package/modules/pathfinder.js.map +1 -1
  792. package/modules/pathfinder.src.js +11 -2
  793. package/modules/pattern-fill.js +15 -14
  794. package/modules/pattern-fill.js.map +1 -1
  795. package/modules/pattern-fill.src.js +25 -3
  796. package/modules/price-indicator.js +5 -5
  797. package/modules/price-indicator.js.map +1 -1
  798. package/modules/price-indicator.src.js +11 -2
  799. package/modules/pyramid3d.js +4 -4
  800. package/modules/pyramid3d.js.map +1 -1
  801. package/modules/pyramid3d.src.js +11 -2
  802. package/modules/sankey.d.ts +1 -12
  803. package/modules/sankey.js +32 -29
  804. package/modules/sankey.js.map +1 -1
  805. package/modules/sankey.src.d.ts +1 -12
  806. package/modules/sankey.src.js +422 -207
  807. package/modules/series-label.js +18 -17
  808. package/modules/series-label.js.map +1 -1
  809. package/modules/series-label.src.js +482 -386
  810. package/modules/series-on-point.js +18 -0
  811. package/modules/series-on-point.js.map +1 -0
  812. package/modules/series-on-point.src.js +464 -0
  813. package/modules/solid-gauge.js +10 -10
  814. package/modules/solid-gauge.js.map +1 -1
  815. package/modules/solid-gauge.src.js +15 -6
  816. package/modules/sonification.js +59 -59
  817. package/modules/sonification.js.map +1 -1
  818. package/modules/sonification.src.js +13 -8
  819. package/modules/static-scale.js +5 -4
  820. package/modules/static-scale.js.map +1 -1
  821. package/modules/static-scale.src.js +11 -2
  822. package/modules/stock-tools.js +167 -167
  823. package/modules/stock-tools.js.map +1 -1
  824. package/modules/stock-tools.src.js +118 -67
  825. package/modules/stock.js +205 -204
  826. package/modules/stock.js.map +1 -1
  827. package/modules/stock.src.js +141 -76
  828. package/modules/streamgraph.js +5 -4
  829. package/modules/streamgraph.js.map +1 -1
  830. package/modules/streamgraph.src.js +11 -2
  831. package/modules/sunburst.d.ts +3 -0
  832. package/modules/sunburst.js +73 -60
  833. package/modules/sunburst.js.map +1 -1
  834. package/modules/sunburst.src.d.ts +3 -0
  835. package/modules/sunburst.src.js +1391 -406
  836. package/modules/tilemap.js +17 -17
  837. package/modules/tilemap.js.map +1 -1
  838. package/modules/tilemap.src.js +11 -2
  839. package/modules/timeline.js +18 -18
  840. package/modules/timeline.js.map +1 -1
  841. package/modules/timeline.src.js +14 -5
  842. package/modules/treegrid.js +57 -56
  843. package/modules/treegrid.js.map +1 -1
  844. package/modules/treegrid.src.js +913 -892
  845. package/modules/treemap.d.ts +3 -0
  846. package/modules/treemap.js +54 -41
  847. package/modules/treemap.js.map +1 -1
  848. package/modules/treemap.src.d.ts +3 -0
  849. package/modules/treemap.src.js +1229 -255
  850. package/modules/variable-pie.js +9 -9
  851. package/modules/variable-pie.js.map +1 -1
  852. package/modules/variable-pie.src.js +11 -2
  853. package/modules/variwide.js +12 -12
  854. package/modules/variwide.js.map +1 -1
  855. package/modules/variwide.src.js +11 -2
  856. package/modules/vector.js +8 -7
  857. package/modules/vector.js.map +1 -1
  858. package/modules/vector.src.js +11 -2
  859. package/modules/venn.js +31 -31
  860. package/modules/venn.js.map +1 -1
  861. package/modules/venn.src.js +88 -105
  862. package/modules/windbarb.js +15 -15
  863. package/modules/windbarb.js.map +1 -1
  864. package/modules/windbarb.src.js +11 -2
  865. package/modules/wordcloud.js +23 -23
  866. package/modules/wordcloud.js.map +1 -1
  867. package/modules/wordcloud.src.js +92 -109
  868. package/modules/xrange.js +16 -16
  869. package/modules/xrange.js.map +1 -1
  870. package/modules/xrange.src.js +11 -2
  871. package/package.json +1 -1
  872. package/themes/avocado.js +4 -3
  873. package/themes/avocado.js.map +1 -1
  874. package/themes/avocado.src.js +11 -2
  875. package/themes/brand-dark.js +9 -8
  876. package/themes/brand-dark.js.map +1 -1
  877. package/themes/brand-dark.src.js +11 -2
  878. package/themes/brand-light.js +8 -8
  879. package/themes/brand-light.js.map +1 -1
  880. package/themes/brand-light.src.js +11 -2
  881. package/themes/dark-blue.js +9 -8
  882. package/themes/dark-blue.js.map +1 -1
  883. package/themes/dark-blue.src.js +11 -2
  884. package/themes/dark-green.js +9 -8
  885. package/themes/dark-green.js.map +1 -1
  886. package/themes/dark-green.src.js +11 -2
  887. package/themes/dark-unica.js +8 -7
  888. package/themes/dark-unica.js.map +1 -1
  889. package/themes/dark-unica.src.js +11 -2
  890. package/themes/gray.js +9 -8
  891. package/themes/gray.js.map +1 -1
  892. package/themes/gray.src.js +11 -2
  893. package/themes/grid-light.js +5 -4
  894. package/themes/grid-light.js.map +1 -1
  895. package/themes/grid-light.src.js +11 -2
  896. package/themes/grid.js +5 -5
  897. package/themes/grid.js.map +1 -1
  898. package/themes/grid.src.js +11 -2
  899. package/themes/high-contrast-dark.js +7 -7
  900. package/themes/high-contrast-dark.js.map +1 -1
  901. package/themes/high-contrast-dark.src.js +21 -12
  902. package/themes/high-contrast-light.js +3 -3
  903. package/themes/high-contrast-light.js.map +1 -1
  904. package/themes/high-contrast-light.src.js +21 -12
  905. package/themes/sand-signika.js +5 -5
  906. package/themes/sand-signika.js.map +1 -1
  907. package/themes/sand-signika.src.js +11 -2
  908. package/themes/skies.js +5 -5
  909. package/themes/skies.js.map +1 -1
  910. package/themes/skies.src.js +11 -2
  911. package/themes/sunset.js +3 -3
  912. package/themes/sunset.js.map +1 -1
  913. package/themes/sunset.src.js +11 -2
  914. package/es-modules/Extensions/Polar.js +0 -740
  915. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  916. package/es-modules/Series/ColorMapMixin.js +0 -84
  917. package/es-modules/Series/DrawPointComposition.js +0 -111
@@ -12,10 +12,12 @@ var __extends = (this && this.__extends) || (function () {
12
12
  var extendStatics = function (d, b) {
13
13
  extendStatics = Object.setPrototypeOf ||
14
14
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
15
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
15
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
16
16
  return extendStatics(d, b);
17
17
  };
18
18
  return function (d, b) {
19
+ if (typeof b !== "function" && b !== null)
20
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
19
21
  extendStatics(d, b);
20
22
  function __() { this.constructor = d; }
21
23
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -23,13 +25,13 @@ var __extends = (this && this.__extends) || (function () {
23
25
  })();
24
26
  import A from '../../Core/Animation/AnimationUtilities.js';
25
27
  var animObject = A.animObject;
26
- import ColorMapMixin from '../ColorMapMixin.js';
28
+ import ColorMapComposition from '../ColorMapComposition.js';
27
29
  import CU from '../CenteredUtilities.js';
28
30
  import H from '../../Core/Globals.js';
29
31
  var noop = H.noop;
30
32
  import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
31
33
  import MapChart from '../../Core/Chart/MapChart.js';
32
- var maps = MapChart.maps, splitPath = MapChart.splitPath;
34
+ var splitPath = MapChart.splitPath;
33
35
  import MapPoint from './MapPoint.js';
34
36
  import MapView from '../../Maps/MapView.js';
35
37
  import Series from '../../Core/Series/Series.js';
@@ -39,7 +41,7 @@ var
39
41
  _a = SeriesRegistry.seriesTypes, ColumnSeries = _a.column, ScatterSeries = _a.scatter;
40
42
  import SVGRenderer from '../../Core/Renderer/SVG/SVGRenderer.js';
41
43
  import U from '../../Core/Utilities.js';
42
- var extend = U.extend, fireEvent = U.fireEvent, getNestedProperty = U.getNestedProperty, isArray = U.isArray, isNumber = U.isNumber, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
44
+ var extend = U.extend, find = U.find, fireEvent = U.fireEvent, getNestedProperty = U.getNestedProperty, isArray = U.isArray, isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick, splat = U.splat;
43
45
  /* *
44
46
  *
45
47
  * Class
@@ -67,7 +69,7 @@ var MapSeries = /** @class */ (function (_super) {
67
69
  _this.joinBy = void 0;
68
70
  _this.options = void 0;
69
71
  _this.points = void 0;
70
- _this.transformGroup = void 0;
72
+ _this.processedData = [];
71
73
  return _this;
72
74
  /* eslint-enable valid-jsdoc */
73
75
  }
@@ -134,7 +136,10 @@ var MapSeries = /** @class */ (function (_super) {
134
136
  scaleX: 1,
135
137
  scaleY: 1,
136
138
  opacity: 1
137
- });
139
+ }, this.chart.options.drilldown.animation);
140
+ if (chart.drilldown) {
141
+ chart.drilldown.fadeInGroup(this.dataLabelsGroup);
142
+ }
138
143
  }
139
144
  }
140
145
  };
@@ -166,6 +171,7 @@ var MapSeries = /** @class */ (function (_super) {
166
171
  MapSeries.prototype.clearBounds = function () {
167
172
  this.points.forEach(function (point) {
168
173
  delete point.bounds;
174
+ delete point.insetIndex;
169
175
  delete point.projectedPath;
170
176
  });
171
177
  delete this.bounds;
@@ -199,58 +205,104 @@ var MapSeries = /** @class */ (function (_super) {
199
205
  */
200
206
  MapSeries.prototype.drawPoints = function () {
201
207
  var _this = this;
202
- var _a = this, chart = _a.chart, group = _a.group, svgTransform = _a.svgTransform;
203
- var mapView = chart.mapView, renderer = chart.renderer;
204
- // Set a group that handles transform during zooming and panning in
205
- // order to preserve clipping on series.group
206
- if (!this.transformGroup) {
207
- this.transformGroup = renderer.g().add(group);
208
- this.transformGroup.survive = true;
208
+ var series = this, _a = this, chart = _a.chart, group = _a.group, _b = _a.transformGroups, transformGroups = _b === void 0 ? [] : _b, mapView = chart.mapView, renderer = chart.renderer;
209
+ if (!mapView) {
210
+ return;
211
+ }
212
+ // Set groups that handle transform during zooming and panning in order
213
+ // to preserve clipping on series.group
214
+ this.transformGroups = transformGroups;
215
+ if (!transformGroups[0]) {
216
+ transformGroups[0] = renderer.g().add(group);
209
217
  }
218
+ mapView.insets.forEach(function (inset, i) {
219
+ if (!transformGroups[i + 1]) {
220
+ transformGroups.push(renderer.g().add(group));
221
+ }
222
+ });
210
223
  // Draw the shapes again
211
224
  if (this.doFullTranslate()) {
212
225
  // Individual point actions.
213
- if (chart.hasRendered && !chart.styledMode) {
214
- this.points.forEach(function (point) {
215
- // Restore state color on update/redraw (#3529)
216
- if (point.shapeArgs) {
217
- point.shapeArgs.fill = _this.pointAttribs(point, point.state).fill;
218
- }
219
- });
220
- }
221
- // Draw them in transformGroup
222
- this.group = this.transformGroup;
226
+ this.points.forEach(function (point) {
227
+ var graphic = point.graphic, shapeArgs = point.shapeArgs;
228
+ // Points should be added in the corresponding transform group
229
+ point.group = transformGroups[typeof point.insetIndex === 'number' ?
230
+ point.insetIndex + 1 :
231
+ 0];
232
+ // When the point has been moved between insets after
233
+ // MapView.update
234
+ if (graphic && graphic.parentGroup !== point.group) {
235
+ graphic.add(point.group);
236
+ }
237
+ // Restore state color on update/redraw (#3529)
238
+ if (shapeArgs && chart.hasRendered && !chart.styledMode) {
239
+ shapeArgs.fill = _this.pointAttribs(point, point.state).fill;
240
+ }
241
+ });
242
+ // Draw the points
223
243
  ColumnSeries.prototype.drawPoints.apply(this);
224
- this.group = group; // Reset
225
244
  // Add class names
226
245
  this.points.forEach(function (point) {
227
- if (point.graphic) {
246
+ var graphic = point.graphic;
247
+ if (graphic) {
248
+ var animate_1 = graphic.animate;
228
249
  var className = '';
229
250
  if (point.name) {
230
251
  className +=
231
252
  'highcharts-name-' +
232
253
  point.name.replace(/ /g, '-').toLowerCase();
233
254
  }
234
- if (point.properties &&
235
- point.properties['hc-key']) {
255
+ if (point.properties && point.properties['hc-key']) {
236
256
  className +=
237
257
  ' highcharts-key-' +
238
- point.properties['hc-key'].toLowerCase();
258
+ point.properties['hc-key'].toString().toLowerCase();
239
259
  }
240
260
  if (className) {
241
- point.graphic.addClass(className);
261
+ graphic.addClass(className);
242
262
  }
243
263
  // In styled mode, apply point colors by CSS
244
264
  if (chart.styledMode) {
245
- point.graphic.css(_this.pointAttribs(point, point.selected && 'select' || void 0));
265
+ graphic.css(_this.pointAttribs(point, point.selected && 'select' || void 0));
246
266
  }
267
+ graphic.animate = function (params, options, complete) {
268
+ var switchBack = false;
269
+ // When strokeWidth is animating
270
+ if (params['stroke-width']) {
271
+ var strokeWidth = pick(series.getStrokeWidth(series.options), 1 // Styled mode
272
+ ), inheritedStrokeWidth = (strokeWidth /
273
+ (chart.mapView &&
274
+ chart.mapView.getScale() ||
275
+ 1));
276
+ // For animating from inherit,
277
+ // .attr() reads the property as the starting point
278
+ if (graphic['stroke-width'] === 'inherit') {
279
+ graphic['stroke-width'] = inheritedStrokeWidth;
280
+ }
281
+ // For animating to inherit
282
+ if (params['stroke-width'] === 'inherit') {
283
+ params['stroke-width'] = inheritedStrokeWidth;
284
+ switchBack = true;
285
+ }
286
+ }
287
+ var ret = animate_1.call(graphic, params, options, switchBack ? function () {
288
+ // Switch back to "inherit" for zooming
289
+ // to work with the existing logic + complete
290
+ graphic.attr({
291
+ 'stroke-width': 'inherit'
292
+ });
293
+ // Proceed
294
+ if (complete) {
295
+ complete.apply(this, arguments);
296
+ }
297
+ } : complete);
298
+ return ret;
299
+ };
247
300
  }
248
301
  });
249
302
  }
250
303
  // Apply the SVG transform
251
- if (mapView && svgTransform) {
252
- var strokeWidth_1 = pick(this.options[(this.pointAttrToOptions &&
253
- this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
304
+ transformGroups.forEach(function (transformGroup, i) {
305
+ var view = i === 0 ? mapView : mapView.insets[i - 1], svgTransform = view.getSVGTransform(), strokeWidth = pick(_this.getStrokeWidth(_this.options), 1 // Styled mode
254
306
  );
255
307
  /*
256
308
  Animate or move to the new zoom level. In order to prevent
@@ -265,38 +317,37 @@ var MapSeries = /** @class */ (function (_super) {
265
317
  transform properties, it should induce a single updateTransform and
266
318
  symbolAttr call.
267
319
  */
268
- var scale_1 = svgTransform.scaleX;
269
- var flipFactor_1 = svgTransform.scaleY > 0 ? 1 : -1;
270
- var transformGroup_1 = this.transformGroup;
320
+ var scale = svgTransform.scaleX;
321
+ var flipFactor = svgTransform.scaleY > 0 ? 1 : -1;
271
322
  if (renderer.globalAnimation && chart.hasRendered) {
272
- var startTranslateX_1 = Number(transformGroup_1.attr('translateX')), startTranslateY_1 = Number(transformGroup_1.attr('translateY')), startScale_1 = Number(transformGroup_1.attr('scaleX'));
323
+ var startTranslateX_1 = Number(transformGroup.attr('translateX'));
324
+ var startTranslateY_1 = Number(transformGroup.attr('translateY'));
325
+ var startScale_1 = Number(transformGroup.attr('scaleX'));
273
326
  var step = function (now, fx) {
274
327
  var scaleStep = startScale_1 +
275
- (scale_1 - startScale_1) * fx.pos;
276
- transformGroup_1.attr({
277
- translateX: (startTranslateX_1 +
278
- (svgTransform.translateX - startTranslateX_1) * fx.pos),
279
- translateY: (startTranslateY_1 +
280
- (svgTransform.translateY - startTranslateY_1) * fx.pos),
328
+ (scale - startScale_1) * fx.pos;
329
+ transformGroup.attr({
330
+ translateX: (startTranslateX_1 + (svgTransform.translateX - startTranslateX_1) * fx.pos),
331
+ translateY: (startTranslateY_1 + (svgTransform.translateY - startTranslateY_1) * fx.pos),
281
332
  scaleX: scaleStep,
282
- scaleY: scaleStep * flipFactor_1
333
+ scaleY: scaleStep * flipFactor
283
334
  });
284
- group.element.setAttribute('stroke-width', strokeWidth_1 / scaleStep);
335
+ transformGroup.element.setAttribute('stroke-width', strokeWidth / scaleStep);
285
336
  };
286
- transformGroup_1
337
+ transformGroup
287
338
  .attr({ animator: 0 })
288
339
  .animate({ animator: 1 }, { step: step });
289
340
  // When dragging or first rendering, animation is off
290
341
  }
291
342
  else {
292
- transformGroup_1.attr(svgTransform);
343
+ transformGroup.attr(svgTransform);
293
344
  // Set the stroke-width directly on the group element so the
294
345
  // children inherit it. We need to use setAttribute directly,
295
346
  // because the stroke-widthSetter method expects a stroke color
296
347
  // also to be set.
297
- group.element.setAttribute('stroke-width', strokeWidth_1 / scale_1);
348
+ transformGroup.element.setAttribute('stroke-width', strokeWidth / scale);
298
349
  }
299
- }
350
+ });
300
351
  this.drawMapDataLabels();
301
352
  };
302
353
  /**
@@ -304,9 +355,8 @@ var MapSeries = /** @class */ (function (_super) {
304
355
  *
305
356
  */
306
357
  MapSeries.prototype.getProjectedBounds = function () {
307
- if (!this.bounds) {
308
- var MAX_VALUE_1 = Number.MAX_VALUE, projection_1 = this.chart.mapView &&
309
- this.chart.mapView.projection, allBounds_1 = [];
358
+ if (!this.bounds && this.chart.mapView) {
359
+ var _a = this.chart.mapView, insets_1 = _a.insets, projection_1 = _a.projection, allBounds_1 = [];
310
360
  // Find the bounding box of each point
311
361
  (this.points || []).forEach(function (point) {
312
362
  if (point.path || point.geometry) {
@@ -322,38 +372,32 @@ var MapSeries = /** @class */ (function (_super) {
322
372
  }
323
373
  // The first time a map point is used, analyze its box
324
374
  if (!point.bounds) {
325
- var path = MapPoint.getProjectedPath(point, projection_1), properties = point.properties;
326
- var x2_1 = -MAX_VALUE_1, x1_1 = MAX_VALUE_1, y2_1 = -MAX_VALUE_1, y1_1 = MAX_VALUE_1, validBounds_1;
327
- path.forEach(function (seg) {
328
- var x = seg[seg.length - 2];
329
- var y = seg[seg.length - 1];
330
- if (typeof x === 'number' &&
331
- typeof y === 'number') {
332
- x1_1 = Math.min(x1_1, x);
333
- x2_1 = Math.max(x2_1, x);
334
- y1_1 = Math.min(y1_1, y);
335
- y2_1 = Math.max(y2_1, y);
336
- validBounds_1 = true;
337
- }
338
- });
339
- if (validBounds_1) {
340
- // Cache point bounding box for use to position data
341
- // labels, bubbles etc
342
- var propMiddleX = (properties && properties['hc-middle-x']), midX = (x1_1 + (x2_1 - x1_1) * pick(point.middleX, isNumber(propMiddleX) ?
343
- propMiddleX : 0.5)), propMiddleY = (properties && properties['hc-middle-y']);
344
- var middleYFraction = pick(point.middleY, isNumber(propMiddleY) ? propMiddleY : 0.5);
345
- // No geographic geometry, only path given => flip
346
- if (!point.geometry) {
347
- middleYFraction = 1 - middleYFraction;
348
- }
349
- var midY = y2_1 - (y2_1 - y1_1) * middleYFraction;
350
- point.bounds = { midX: midX, midY: midY, x1: x1_1, y1: y1_1, x2: x2_1, y2: y2_1 };
375
+ var bounds = point.getProjectedBounds(projection_1);
376
+ if (bounds) {
351
377
  point.labelrank = pick(point.labelrank,
352
378
  // Bigger shape, higher rank
353
- (x2_1 - x1_1) * (y2_1 - y1_1));
379
+ ((bounds.x2 - bounds.x1) *
380
+ (bounds.y2 - bounds.y1)));
381
+ var midX_1 = bounds.midX, midY_1 = bounds.midY;
382
+ if (insets_1 && isNumber(midX_1) && isNumber(midY_1)) {
383
+ var inset = find(insets_1, function (inset) { return inset.isInside({
384
+ x: midX_1, y: midY_1
385
+ }); });
386
+ if (inset) {
387
+ // Project again, but with the inset
388
+ // projection
389
+ delete point.projectedPath;
390
+ bounds = point.getProjectedBounds(inset.projection);
391
+ if (bounds) {
392
+ inset.allBounds.push(bounds);
393
+ }
394
+ point.insetIndex = insets_1.indexOf(inset);
395
+ }
396
+ }
397
+ point.bounds = bounds;
354
398
  }
355
399
  }
356
- if (point.bounds) {
400
+ if (point.bounds && point.insetIndex === void 0) {
357
401
  allBounds_1.push(point.bounds);
358
402
  }
359
403
  }
@@ -362,6 +406,18 @@ var MapSeries = /** @class */ (function (_super) {
362
406
  }
363
407
  return this.bounds;
364
408
  };
409
+ /**
410
+ * Return the stroke-width either from a series options or point options
411
+ * object. This function is used by both the map series where the
412
+ * `borderWidth` sets the stroke-width, and the mapline series where the
413
+ * `lineWidth` sets the stroke-width.
414
+ * @private
415
+ */
416
+ MapSeries.prototype.getStrokeWidth = function (options) {
417
+ var pointAttrToOptions = this.pointAttrToOptions;
418
+ return options[pointAttrToOptions &&
419
+ pointAttrToOptions['stroke-width'] || 'borderWidth'];
420
+ };
365
421
  /**
366
422
  * Define hasData function for non-cartesian series. Returns true if the
367
423
  * series has points at all.
@@ -382,15 +438,24 @@ var MapSeries = /** @class */ (function (_super) {
382
438
  this.colorAttribs(point) :
383
439
  ColumnSeries.prototype.pointAttribs.call(this, point, state);
384
440
  // Individual stroke width
385
- var pointStrokeWidth = point.options[(this.pointAttrToOptions &&
386
- this.pointAttrToOptions['stroke-width']) || 'borderWidth'];
441
+ var pointStrokeWidth = this.getStrokeWidth(point.options);
442
+ // Handle state specific border or line width
443
+ if (state) {
444
+ var stateOptions = merge(this.options.states[state], point.options.states &&
445
+ point.options.states[state] ||
446
+ {});
447
+ pointStrokeWidth = this.getStrokeWidth(stateOptions);
448
+ }
387
449
  if (pointStrokeWidth && mapView) {
388
450
  pointStrokeWidth /= mapView.getScale();
389
451
  }
390
452
  // In order for dash style to avoid being scaled, set the transformed
391
453
  // stroke width on the item
392
- if (attr.dashstyle && mapView && this.options.borderWidth) {
393
- pointStrokeWidth = this.options.borderWidth / mapView.getScale();
454
+ var seriesStrokeWidth = this.getStrokeWidth(this.options);
455
+ if (attr.dashstyle &&
456
+ mapView &&
457
+ isNumber(seriesStrokeWidth)) {
458
+ pointStrokeWidth = seriesStrokeWidth / mapView.getScale();
394
459
  }
395
460
  attr['stroke-width'] = pick(pointStrokeWidth,
396
461
  // By default set the stroke-width on the group element and let all
@@ -400,37 +465,85 @@ var MapSeries = /** @class */ (function (_super) {
400
465
  return attr;
401
466
  };
402
467
  /**
403
- * Extend setData to join in mapData. If the allAreas option is true, all
404
- * areas from the mapData are used, and those that don't correspond to a
405
- * data value are given null values.
468
+ * @private
469
+ */
470
+ MapSeries.prototype.updateData = function () {
471
+ // #16782
472
+ if (this.processedData) {
473
+ return false;
474
+ }
475
+ return _super.prototype.updateData.apply(this, arguments);
476
+ };
477
+ /**
478
+ * Extend setData to call processData and generatePoints immediately.
406
479
  * @private
407
480
  */
408
481
  MapSeries.prototype.setData = function (data, redraw, animation, updatePoints) {
409
- var options = this.options, chartOptions = this.chart.options.chart, globalMapData = chartOptions && chartOptions.map, mapData = options.mapData, joinBy = this.joinBy, pointArrayMap = options.keys || this.pointArrayMap, dataUsed = [], mapMap = {}, mapPoint, mapTransforms = this.chart.mapTransforms, props, i;
410
- // Collect mapData from chart options if not defined on series
411
- if (!mapData && globalMapData) {
412
- mapData = typeof globalMapData === 'string' ?
413
- maps[globalMapData] :
414
- globalMapData;
482
+ if (redraw === void 0) { redraw = true; }
483
+ delete this.bounds;
484
+ _super.prototype.setData.call(this, data, false, void 0, updatePoints);
485
+ this.processData();
486
+ this.generatePoints();
487
+ if (redraw) {
488
+ this.chart.redraw(animation);
415
489
  }
416
- // Pick up numeric values, add index
417
- // Convert Array point definitions to objects using pointArrayMap
490
+ };
491
+ /**
492
+ * Extend processData to join in mapData. If the allAreas option is true,
493
+ * all areas from the mapData are used, and those that don't correspond to a
494
+ * data value are given null values. The results are stored in
495
+ * `processedData` in order to avoid mutating `data`.
496
+ * @private
497
+ */
498
+ MapSeries.prototype.processData = function () {
499
+ var options = this.options, data = options.data, chartOptions = this.chart.options.chart, joinBy = this.joinBy, pointArrayMap = options.keys || this.pointArrayMap, dataUsed = [], mapMap = {};
500
+ var mapView = this.chart.mapView, mapDataObject = mapView && (
501
+ // Get map either from series or global
502
+ isObject(options.mapData, true) ?
503
+ mapView.getGeoMap(options.mapData) : mapView.geoMap), mapTransforms = this.chart.mapTransforms, mapPoint, props, i;
504
+ // Pick up transform definitions for chart
505
+ this.chart.mapTransforms = mapTransforms =
506
+ chartOptions.mapTransforms ||
507
+ mapDataObject && mapDataObject['hc-transform'] ||
508
+ mapTransforms;
509
+ // Cache cos/sin of transform rotation angle
510
+ if (mapTransforms) {
511
+ objectEach(mapTransforms, function (transform) {
512
+ if (transform.rotation) {
513
+ transform.cosAngle = Math.cos(transform.rotation);
514
+ transform.sinAngle = Math.sin(transform.rotation);
515
+ }
516
+ });
517
+ }
518
+ var mapData;
519
+ if (isArray(options.mapData)) {
520
+ mapData = options.mapData;
521
+ }
522
+ else if (mapDataObject && mapDataObject.type === 'FeatureCollection') {
523
+ this.mapTitle = mapDataObject.title;
524
+ mapData = H.geojson(mapDataObject, this.type, this);
525
+ }
526
+ // Reset processedData
527
+ this.processedData = [];
528
+ var processedData = this.processedData;
529
+ // Pick up numeric values, add index. Convert Array point definitions to
530
+ // objects using pointArrayMap.
418
531
  if (data) {
419
532
  data.forEach(function (val, i) {
420
533
  var ix = 0;
421
534
  if (isNumber(val)) {
422
- data[i] = {
535
+ processedData[i] = {
423
536
  value: val
424
537
  };
425
538
  }
426
539
  else if (isArray(val)) {
427
- data[i] = {};
540
+ processedData[i] = {};
428
541
  // Automatically copy first item to hc-key if there is
429
542
  // an extra leading string
430
543
  if (!options.keys &&
431
544
  val.length > pointArrayMap.length &&
432
545
  typeof val[0] === 'string') {
433
- data[i]['hc-key'] = val[0];
546
+ processedData[i]['hc-key'] = val[0];
434
547
  ++ix;
435
548
  }
436
549
  // Run through pointArrayMap and what's left of the
@@ -439,40 +552,24 @@ var MapSeries = /** @class */ (function (_super) {
439
552
  if (pointArrayMap[j] &&
440
553
  typeof val[ix] !== 'undefined') {
441
554
  if (pointArrayMap[j].indexOf('.') > 0) {
442
- MapPoint.prototype.setNestedProperty(data[i], val[ix], pointArrayMap[j]);
555
+ MapPoint.prototype.setNestedProperty(processedData[i], val[ix], pointArrayMap[j]);
443
556
  }
444
557
  else {
445
- data[i][pointArrayMap[j]] =
558
+ processedData[i][pointArrayMap[j]] =
446
559
  val[ix];
447
560
  }
448
561
  }
449
562
  }
450
563
  }
451
- if (joinBy && joinBy[0] === '_i') {
452
- data[i]._i = i;
564
+ else {
565
+ processedData[i] = data[i];
453
566
  }
454
- });
455
- }
456
- // this.getBox(data as any);
457
- // Pick up transform definitions for chart
458
- this.chart.mapTransforms = mapTransforms =
459
- chartOptions.mapTransforms ||
460
- mapData && mapData['hc-transform'] ||
461
- mapTransforms;
462
- // Cache cos/sin of transform rotation angle
463
- if (mapTransforms) {
464
- objectEach(mapTransforms, function (transform) {
465
- if (transform.rotation) {
466
- transform.cosAngle = Math.cos(transform.rotation);
467
- transform.sinAngle = Math.sin(transform.rotation);
567
+ if (joinBy && joinBy[0] === '_i') {
568
+ processedData[i]._i = i;
468
569
  }
469
570
  });
470
571
  }
471
572
  if (mapData) {
472
- if (mapData.type === 'FeatureCollection') {
473
- this.mapTitle = mapData.title;
474
- mapData = H.geojson(mapData, this.type, this);
475
- }
476
573
  this.mapData = mapData;
477
574
  this.mapMap = {};
478
575
  for (i = 0; i < mapData.length; i++) {
@@ -487,9 +584,9 @@ var MapSeries = /** @class */ (function (_super) {
487
584
  }
488
585
  this.mapMap = mapMap;
489
586
  // Registered the point codes that actually hold data
490
- if (data && joinBy[1]) {
587
+ if (joinBy[1]) {
491
588
  var joinKey_1 = joinBy[1];
492
- data.forEach(function (pointOptions) {
589
+ processedData.forEach(function (pointOptions) {
493
590
  var mapKey = getNestedProperty(joinKey_1, pointOptions);
494
591
  if (mapMap[mapKey]) {
495
592
  dataUsed.push(mapMap[mapKey]);
@@ -497,37 +594,35 @@ var MapSeries = /** @class */ (function (_super) {
497
594
  });
498
595
  }
499
596
  if (options.allAreas) {
500
- // this.getBox(mapData);
501
- data = data || [];
502
- // Registered the point codes that actually hold data
597
+ // Register the point codes that actually hold data
503
598
  if (joinBy[1]) {
504
599
  var joinKey_2 = joinBy[1];
505
- data.forEach(function (pointOptions) {
600
+ processedData.forEach(function (pointOptions) {
506
601
  dataUsed.push(getNestedProperty(joinKey_2, pointOptions));
507
602
  });
508
603
  }
509
604
  // Add those map points that don't correspond to data, which
510
- // will be drawn as null points
511
- dataUsed = ('|' + dataUsed.map(function (point) {
512
- return point && point[joinBy[0]];
513
- }).join('|') + '|'); // Faster than array.indexOf
605
+ // will be drawn as null points. Searching a string is faster
606
+ // than Array.indexOf
607
+ var dataUsedString_1 = ('|' +
608
+ dataUsed
609
+ .map(function (point) {
610
+ return point && point[joinBy[0]];
611
+ })
612
+ .join('|') +
613
+ '|');
514
614
  mapData.forEach(function (mapPoint) {
515
615
  if (!joinBy[0] ||
516
- dataUsed.indexOf('|' + mapPoint[joinBy[0]] + '|') === -1) {
517
- data.push(merge(mapPoint, { value: null }));
518
- // #5050 - adding all areas causes the update
519
- // optimization of setData to kick in, even though
520
- // the point order has changed
521
- updatePoints = false;
616
+ dataUsedString_1.indexOf('|' + mapPoint[joinBy[0]] + '|') === -1) {
617
+ processedData.push(merge(mapPoint, { value: null }));
522
618
  }
523
619
  });
524
- } /* else {
525
- this.getBox(dataUsed); // Issue #4784
526
- } */
620
+ }
527
621
  }
528
- Series.prototype.setData.call(this, data, redraw, animation, updatePoints);
529
- this.processData();
530
- this.generatePoints();
622
+ // The processedXData array is used by general chart logic for checking
623
+ // data length in various scanarios
624
+ this.processedXData = new Array(processedData.length);
625
+ return void 0;
531
626
  };
532
627
  /**
533
628
  * Extend setOptions by picking up the joinBy option and applying it to a
@@ -557,43 +652,42 @@ var MapSeries = /** @class */ (function (_super) {
557
652
  this.processData();
558
653
  this.generatePoints();
559
654
  delete this.bounds;
560
- this.getProjectedBounds();
655
+ if (mapView &&
656
+ !mapView.userOptions.center &&
657
+ !isNumber(mapView.userOptions.zoom)) {
658
+ // Not only recalculate bounds but also fit view
659
+ mapView.fitToBounds(void 0, void 0, false); // #17012
660
+ }
661
+ else {
662
+ // If center and zoom is defined in user options, get bounds but
663
+ // don't change view
664
+ this.getProjectedBounds();
665
+ }
561
666
  }
562
- // Calculate the SVG transform
563
- var svgTransform;
564
667
  if (mapView) {
565
- var scale = mapView.getScale();
566
- var _a = mapView.projection.forward(mapView.center), x = _a[0], y = _a[1];
567
- // When dealing with unprojected coordinates, y axis is flipped.
568
- var flipFactor = mapView.projection.hasCoordinates ? -1 : 1;
569
- var translateX = this.chart.plotWidth / 2 - x * scale, translateY = this.chart.plotHeight / 2 - y * scale * flipFactor;
570
- svgTransform = {
571
- scaleX: scale,
572
- scaleY: scale * flipFactor,
573
- translateX: translateX,
574
- translateY: translateY
575
- };
576
- this.svgTransform = svgTransform;
668
+ var mainSvgTransform_1 = mapView.getSVGTransform();
669
+ series.points.forEach(function (point) {
670
+ var svgTransform = (isNumber(point.insetIndex) &&
671
+ mapView.insets[point.insetIndex].getSVGTransform()) || mainSvgTransform_1;
672
+ // Record the middle point (loosely based on centroid),
673
+ // determined by the middleX and middleY options.
674
+ if (svgTransform &&
675
+ point.bounds &&
676
+ isNumber(point.bounds.midX) &&
677
+ isNumber(point.bounds.midY)) {
678
+ point.plotX = point.bounds.midX * svgTransform.scaleX +
679
+ svgTransform.translateX;
680
+ point.plotY = point.bounds.midY * svgTransform.scaleY +
681
+ svgTransform.translateY;
682
+ }
683
+ if (doFullTranslate) {
684
+ point.shapeType = 'path';
685
+ point.shapeArgs = {
686
+ d: MapPoint.getProjectedPath(point, projection)
687
+ };
688
+ }
689
+ });
577
690
  }
578
- series.points.forEach(function (point) {
579
- // Record the middle point (loosely based on centroid),
580
- // determined by the middleX and middleY options.
581
- if (svgTransform &&
582
- point.bounds &&
583
- isNumber(point.bounds.midX) &&
584
- isNumber(point.bounds.midY)) {
585
- point.plotX = point.bounds.midX * svgTransform.scaleX +
586
- svgTransform.translateX;
587
- point.plotY = point.bounds.midY * svgTransform.scaleY +
588
- svgTransform.translateY;
589
- }
590
- if (doFullTranslate) {
591
- point.shapeType = 'path';
592
- point.shapeArgs = {
593
- d: MapPoint.getProjectedPath(point, projection)
594
- };
595
- }
596
- });
597
691
  fireEvent(series, 'afterTranslate');
598
692
  };
599
693
  /**
@@ -609,6 +703,16 @@ var MapSeries = /** @class */ (function (_super) {
609
703
  * @optionparent plotOptions.map
610
704
  */
611
705
  MapSeries.defaultOptions = merge(ScatterSeries.defaultOptions, {
706
+ /**
707
+ * Whether the MapView takes this series into account when computing the
708
+ * default zoom and center of the map.
709
+ *
710
+ * @sample maps/series/affectsmapview/
711
+ * US map with world map backdrop
712
+ *
713
+ * @since 10.0.0
714
+ */
715
+ affectsMapView: true,
612
716
  animation: false,
613
717
  dataLabels: {
614
718
  crop: false,
@@ -641,7 +745,7 @@ var MapSeries = /** @class */ (function (_super) {
641
745
  *
642
746
  * @private
643
747
  */
644
- nullColor: "#f7f7f7" /* neutralColor3 */,
748
+ nullColor: "#f7f7f7" /* Palette.neutralColor3 */,
645
749
  /**
646
750
  * Whether to allow pointer interaction like tooltips and mouse events
647
751
  * on null points.
@@ -695,7 +799,7 @@ var MapSeries = /** @class */ (function (_super) {
695
799
  *
696
800
  * @private
697
801
  */
698
- borderColor: "#cccccc" /* neutralColor20 */,
802
+ borderColor: "#cccccc" /* Palette.neutralColor20 */,
699
803
  /**
700
804
  * The border width of each map area.
701
805
  *
@@ -830,7 +934,7 @@ var MapSeries = /** @class */ (function (_super) {
830
934
  * @product highmaps
831
935
  * @apioption plotOptions.series.states.select.color
832
936
  */
833
- color: "#cccccc" /* neutralColor20 */
937
+ color: "#cccccc" /* Palette.neutralColor20 */
834
938
  },
835
939
  inactive: {
836
940
  opacity: 1
@@ -841,9 +945,9 @@ var MapSeries = /** @class */ (function (_super) {
841
945
  }(ScatterSeries));
842
946
  extend(MapSeries.prototype, {
843
947
  type: 'map',
844
- axisTypes: ColorMapMixin.SeriesMixin.axisTypes,
845
- colorAttribs: ColorMapMixin.SeriesMixin.colorAttribs,
846
- colorKey: ColorMapMixin.SeriesMixin.colorKey,
948
+ axisTypes: ColorMapComposition.seriesMembers.axisTypes,
949
+ colorAttribs: ColorMapComposition.seriesMembers.colorAttribs,
950
+ colorKey: ColorMapComposition.seriesMembers.colorKey,
847
951
  // When tooltip is not shared, this series (and derivatives) requires
848
952
  // direct touch/hover. KD-tree does not apply.
849
953
  directTouch: true,
@@ -856,18 +960,19 @@ extend(MapSeries.prototype, {
856
960
  forceDL: true,
857
961
  getCenter: CU.getCenter,
858
962
  getExtremesFromAll: true,
859
- getSymbol: ColorMapMixin.SeriesMixin.getSymbol,
963
+ getSymbol: noop,
860
964
  isCartesian: false,
861
- parallelArrays: ColorMapMixin.SeriesMixin.parallelArrays,
862
- pointArrayMap: ColorMapMixin.SeriesMixin.pointArrayMap,
965
+ parallelArrays: ColorMapComposition.seriesMembers.parallelArrays,
966
+ pointArrayMap: ColorMapComposition.seriesMembers.pointArrayMap,
863
967
  pointClass: MapPoint,
864
968
  // X axis and Y axis must have same translation slope
865
969
  preserveAspectRatio: true,
866
970
  searchPoint: noop,
867
- trackerGroups: ColorMapMixin.SeriesMixin.trackerGroups,
971
+ trackerGroups: ColorMapComposition.seriesMembers.trackerGroups,
868
972
  // Get axis extremes from paths, not values
869
973
  useMapGeometry: true
870
974
  });
975
+ ColorMapComposition.compose(MapSeries);
871
976
  SeriesRegistry.registerSeriesType('map', MapSeries);
872
977
  /* *
873
978
  *
@@ -881,13 +986,17 @@ export default MapSeries;
881
986
  *
882
987
  * */
883
988
  /**
884
- * A map data object containing a `geometry` or `path` definition and optionally
885
- * additional properties to join in the `data` as per the `joinBy` option.
989
+ * An array of objects containing a `geometry` or `path` definition and
990
+ * optionally additional properties to join in the `data` as per the `joinBy`
991
+ * option. GeoJSON and TopoJSON structures can also be passed directly into
992
+ * `mapData`.
886
993
  *
887
994
  * @sample maps/demo/category-map/
888
995
  * Map data and joinBy
996
+ * @sample maps/series/mapdata-multiple/
997
+ * Multiple map sources
889
998
  *
890
- * @type {Array<Highcharts.SeriesMapDataOptions>|*}
999
+ * @type {Array<Highcharts.SeriesMapDataOptions>|Highcharts.GeoJSON|Highcharts.TopoJSON}
891
1000
  * @product highmaps
892
1001
  * @apioption series.mapData
893
1002
  */