highcharts 9.3.1 → 10.0.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 (862) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +1 -1
  3. package/css/highcharts.css +21 -4
  4. package/css/highcharts.scss +18 -3
  5. package/css/stocktools/gui.css +1 -1
  6. package/css/themes/dark-unica.css +21 -4
  7. package/css/themes/grid-light.css +21 -4
  8. package/css/themes/sand-signika.css +21 -4
  9. package/es-modules/Accessibility/A11yI18n.js +1 -5
  10. package/es-modules/Accessibility/Accessibility.js +12 -6
  11. package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
  12. package/es-modules/Accessibility/Components/AnnotationsA11y.js +9 -5
  13. package/es-modules/Accessibility/Components/ContainerComponent.js +1 -1
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -19
  15. package/es-modules/Accessibility/Components/LegendComponent.js +196 -98
  16. package/es-modules/Accessibility/Components/MenuComponent.js +16 -15
  17. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +11 -14
  18. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +22 -12
  19. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +9 -5
  20. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +19 -44
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +77 -56
  23. package/es-modules/Accessibility/Components/ZoomComponent.js +148 -67
  24. package/es-modules/Accessibility/FocusBorder.js +0 -5
  25. package/es-modules/Accessibility/HighContrastMode.js +4 -3
  26. package/es-modules/Accessibility/KeyboardNavigation.js +117 -101
  27. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -5
  28. package/es-modules/Accessibility/Options/LangOptions.js +3 -3
  29. package/es-modules/Accessibility/ProxyElement.js +26 -12
  30. package/es-modules/Accessibility/ProxyProvider.js +10 -5
  31. package/es-modules/Accessibility/Utils/Announcer.js +2 -2
  32. package/es-modules/Accessibility/Utils/ChartUtilities.js +17 -32
  33. package/es-modules/Accessibility/Utils/HTMLUtilities.js +0 -12
  34. package/es-modules/Core/Animation/Fx.js +5 -14
  35. package/es-modules/Core/Axis/Axis.js +189 -111
  36. package/es-modules/Core/Axis/Axis3D.js +10 -4
  37. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  38. package/es-modules/Core/Axis/Color/ColorAxis.js +28 -8
  39. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
  40. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  41. package/es-modules/Core/Axis/GridAxis.js +34 -23
  42. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  43. package/es-modules/Core/Axis/OrdinalAxis.js +83 -79
  44. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  45. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +18 -10
  47. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  48. package/es-modules/Core/Axis/Tick.js +2 -4
  49. package/es-modules/Core/Axis/TreeGridAxis.js +26 -17
  50. package/es-modules/Core/Axis/TreeGridTick.js +15 -1
  51. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  52. package/es-modules/Core/Axis/ZAxis.js +1 -1
  53. package/es-modules/Core/Chart/Chart.js +42 -44
  54. package/es-modules/Core/Chart/Chart3D.js +24 -21
  55. package/es-modules/Core/Chart/ChartDefaults.js +32 -11
  56. package/es-modules/Core/Chart/GanttChart.js +4 -4
  57. package/es-modules/Core/Chart/MapChart.js +4 -9
  58. package/es-modules/Core/Chart/StockChart.js +10 -23
  59. package/es-modules/Core/DefaultOptions.js +5 -2
  60. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  61. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  62. package/es-modules/Core/Globals.js +4 -18
  63. package/es-modules/Core/HttpUtilities.js +18 -12
  64. package/es-modules/Core/Legend/Legend.js +22 -21
  65. package/es-modules/Core/Navigator.js +43 -28
  66. package/es-modules/Core/Pointer.js +28 -20
  67. package/es-modules/Core/Renderer/HTML/AST.js +88 -18
  68. package/es-modules/Core/Renderer/HTML/HTMLElement.js +4 -2
  69. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  70. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  71. package/es-modules/Core/Renderer/SVG/SVGElement.js +33 -57
  72. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  73. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  74. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -28
  75. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  76. package/es-modules/Core/Renderer/SVG/TextBuilder.js +25 -17
  77. package/es-modules/Core/Responsive.js +2 -3
  78. package/es-modules/Core/Scrollbar.js +14 -12
  79. package/es-modules/Core/Series/DataLabel.js +26 -13
  80. package/es-modules/Core/Series/Point.js +19 -18
  81. package/es-modules/Core/Series/Series.js +77 -88
  82. package/es-modules/Core/Series/SeriesDefaults.js +9 -5
  83. package/es-modules/Core/Time.js +14 -11
  84. package/es-modules/Core/Tooltip.js +30 -64
  85. package/es-modules/Core/Utilities.js +33 -45
  86. package/es-modules/Data/DataConverter.js +0 -6
  87. package/es-modules/Data/DataSeriesConverter.js +9 -5
  88. package/es-modules/Data/DataTable.js +2 -1
  89. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  90. package/es-modules/Data/Parsers/CSVParser.js +3 -2
  91. package/es-modules/Data/Parsers/GoogleSheetsParser.js +5 -2
  92. package/es-modules/Data/Stores/CSVStore.js +2 -2
  93. package/es-modules/Data/Stores/DataStore.js +1 -1
  94. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  95. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  96. package/es-modules/Extensions/Annotations/Annotations.js +18 -10
  97. package/es-modules/Extensions/Annotations/ControlPoint.js +0 -2
  98. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  99. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +1 -1
  100. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  101. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  102. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  103. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  104. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +6 -3
  105. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  106. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  107. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  108. package/es-modules/Extensions/Annotations/NavigationBindings.js +34 -29
  109. package/es-modules/Extensions/Annotations/Popup.js +40 -32
  110. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  111. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  112. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  113. package/es-modules/Extensions/Annotations/Types/Measure.js +15 -11
  114. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +2 -1
  115. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +8 -4
  116. package/es-modules/Extensions/Annotations/Types/Tunnel.js +10 -5
  117. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  118. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  119. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -9
  120. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  121. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  122. package/es-modules/Extensions/Boost/WGLRenderer.js +64 -49
  123. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  124. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  125. package/es-modules/Extensions/Breadcrumbs.js +874 -0
  126. package/es-modules/Extensions/Data.js +30 -62
  127. package/es-modules/Extensions/DataGrouping.js +27 -17
  128. package/es-modules/Extensions/DraggablePoints.js +16 -15
  129. package/es-modules/Extensions/Drilldown.js +148 -90
  130. package/es-modules/Extensions/ExportData.js +6 -5
  131. package/es-modules/Extensions/Exporting/Exporting.js +32 -44
  132. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  133. package/es-modules/Extensions/FullScreen.js +4 -3
  134. package/es-modules/Extensions/GeoJSON.js +152 -127
  135. package/es-modules/Extensions/MarkerClusters.js +37 -21
  136. package/es-modules/Extensions/Math3D.js +4 -4
  137. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +133 -46
  138. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  139. package/es-modules/Extensions/Oldie/Oldie.js +13 -77
  140. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  141. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  142. package/es-modules/Extensions/Pane.js +6 -6
  143. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  144. package/es-modules/Extensions/PatternFill.js +17 -11
  145. package/es-modules/Extensions/Polar.js +6 -3
  146. package/es-modules/Extensions/PriceIndication.js +2 -1
  147. package/es-modules/Extensions/RangeSelector.js +19 -55
  148. package/es-modules/Extensions/ScrollablePlotArea.js +7 -3
  149. package/es-modules/Extensions/SeriesLabel.js +1 -1
  150. package/es-modules/Extensions/Sonification/ChartSonify.js +32 -26
  151. package/es-modules/Extensions/Sonification/Instrument.js +12 -15
  152. package/es-modules/Extensions/Sonification/PointSonify.js +12 -8
  153. package/es-modules/Extensions/Sonification/SeriesSonify.js +33 -18
  154. package/es-modules/Extensions/Sonification/SignalHandler.js +4 -6
  155. package/es-modules/Extensions/Sonification/Sonification.js +1 -1
  156. package/es-modules/Extensions/Sonification/SonificationUtilities.js +11 -7
  157. package/es-modules/Extensions/Sonification/Timeline.js +2 -7
  158. package/es-modules/Extensions/Sonification/TimelineEvent.js +0 -1
  159. package/es-modules/Extensions/Sonification/TimelinePath.js +8 -8
  160. package/es-modules/Extensions/Stacking.js +8 -25
  161. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  162. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  163. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  164. package/es-modules/Extensions/Themes/Grid.js +4 -2
  165. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  166. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  167. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  168. package/es-modules/Gantt/Connection.js +2 -2
  169. package/es-modules/Gantt/Pathfinder.js +6 -5
  170. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  171. package/es-modules/Maps/MapNavigation.js +54 -14
  172. package/es-modules/Maps/MapPointer.js +18 -1
  173. package/es-modules/Maps/MapSymbols.js +23 -3
  174. package/es-modules/Maps/MapUtilities.js +56 -0
  175. package/es-modules/Maps/MapView.js +606 -135
  176. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  177. package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
  178. package/es-modules/Maps/Projection.js +169 -77
  179. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  180. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  181. package/es-modules/Maps/Projections/Miller.js +23 -10
  182. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  183. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
  186. package/es-modules/Series/Area/AreaSeries.js +13 -13
  187. package/es-modules/Series/Area3DSeries.js +4 -2
  188. package/es-modules/Series/AreaRange/AreaRangeSeries.js +24 -12
  189. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -1
  190. package/es-modules/Series/Bubble/BubbleLegendItem.js +2 -12
  191. package/es-modules/Series/Candlestick/CandlestickSeries.js +0 -1
  192. package/es-modules/Series/ColorMapMixin.js +84 -0
  193. package/es-modules/Series/Column/ColumnSeries.js +20 -17
  194. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  195. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +5 -2
  196. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  197. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  198. package/es-modules/Series/DataModifyComposition.js +1 -0
  199. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -3
  200. package/es-modules/Series/DrawPointComposition.js +7 -4
  201. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  202. package/es-modules/Series/Dumbbell/DumbbellSeries.js +0 -3
  203. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  204. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  205. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  206. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  207. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  208. package/es-modules/Series/HLC/HLCSeries.js +1 -6
  209. package/es-modules/Series/Heatmap/HeatmapPoint.js +10 -10
  210. package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -10
  211. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +8 -6
  212. package/es-modules/Series/Histogram/HistogramSeries.js +4 -4
  213. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  214. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +19 -20
  215. package/es-modules/Series/Item/ItemSeries.js +4 -5
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  217. package/es-modules/Series/Map/MapPoint.js +30 -1
  218. package/es-modules/Series/Map/MapSeries.js +216 -190
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
  221. package/es-modules/Series/MapLine/MapLineSeries.js +0 -4
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
  224. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  225. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  226. package/es-modules/Series/Networkgraph/Networkgraph.js +1 -5
  227. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  228. package/es-modules/Series/NodesComposition.js +60 -12
  229. package/es-modules/Series/OHLC/OHLCPoint.js +0 -1
  230. package/es-modules/Series/OHLC/OHLCSeries.js +8 -1
  231. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  232. package/es-modules/Series/Organization/OrganizationSeries.js +81 -25
  233. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  234. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  235. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +2 -4
  236. package/es-modules/Series/Pie/PiePoint.js +14 -7
  237. package/es-modules/Series/Pie/PieSeries.js +1 -1
  238. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  239. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  240. package/es-modules/Series/Pie3D/Pie3DSeries.js +20 -1
  241. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  242. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  243. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  244. package/es-modules/Series/Sankey/SankeySeries.js +10 -126
  245. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  246. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  247. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  248. package/es-modules/Series/Sunburst/SunburstSeries.js +15 -4
  249. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  250. package/es-modules/Series/Tilemap/TilemapPoint.js +0 -2
  251. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  252. package/es-modules/Series/TreeUtilities.js +2 -2
  253. package/es-modules/Series/Treemap/TreemapSeries.js +104 -99
  254. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  255. package/es-modules/Series/Venn/VennSeries.js +6 -9
  256. package/es-modules/Series/Venn/VennUtils.js +8 -7
  257. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -3
  258. package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
  259. package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -10
  260. package/es-modules/Series/XRange/XRangePoint.js +6 -12
  261. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  262. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +12 -0
  263. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -0
  264. package/es-modules/Stock/Indicators/BB/BBIndicator.js +12 -0
  265. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  266. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +9 -5
  267. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +2 -1
  268. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  269. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +12 -0
  270. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -3
  271. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +30 -12
  272. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -1
  273. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +70 -6
  274. package/es-modules/Stock/Indicators/PC/PCIndicator.js +11 -0
  275. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  276. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  277. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +11 -5
  278. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -3
  280. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  281. package/es-modules/Stock/StockToolsBindings.js +13 -6
  282. package/es-modules/Stock/StockToolsGui.js +34 -23
  283. package/es-modules/masters/highcharts-3d.src.js +1 -1
  284. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  285. package/es-modules/masters/highcharts-more.src.js +1 -1
  286. package/es-modules/masters/highcharts.src.js +1 -1
  287. package/es-modules/masters/highmaps.src.js +1 -1
  288. package/es-modules/masters/highstock.src.js +1 -1
  289. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  290. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  291. package/es-modules/masters/indicators/ao.src.js +1 -1
  292. package/es-modules/masters/indicators/apo.src.js +1 -1
  293. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  294. package/es-modules/masters/indicators/aroon.src.js +1 -1
  295. package/es-modules/masters/indicators/atr.src.js +1 -1
  296. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  297. package/es-modules/masters/indicators/cci.src.js +1 -1
  298. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  299. package/es-modules/masters/indicators/cmf.src.js +1 -1
  300. package/es-modules/masters/indicators/cmo.src.js +1 -1
  301. package/es-modules/masters/indicators/dema.src.js +1 -1
  302. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  303. package/es-modules/masters/indicators/dmi.src.js +1 -1
  304. package/es-modules/masters/indicators/dpo.src.js +1 -1
  305. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  306. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  307. package/es-modules/masters/indicators/indicators.src.js +1 -1
  308. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  309. package/es-modules/masters/indicators/klinger.src.js +1 -1
  310. package/es-modules/masters/indicators/macd.src.js +1 -1
  311. package/es-modules/masters/indicators/mfi.src.js +1 -1
  312. package/es-modules/masters/indicators/momentum.src.js +1 -1
  313. package/es-modules/masters/indicators/natr.src.js +1 -1
  314. package/es-modules/masters/indicators/obv.src.js +1 -1
  315. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  316. package/es-modules/masters/indicators/ppo.src.js +1 -1
  317. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  318. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  319. package/es-modules/masters/indicators/psar.src.js +1 -1
  320. package/es-modules/masters/indicators/regressions.src.js +1 -1
  321. package/es-modules/masters/indicators/roc.src.js +1 -1
  322. package/es-modules/masters/indicators/rsi.src.js +1 -1
  323. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  324. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  325. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  326. package/es-modules/masters/indicators/tema.src.js +1 -1
  327. package/es-modules/masters/indicators/trendline.src.js +1 -1
  328. package/es-modules/masters/indicators/trix.src.js +1 -1
  329. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  330. package/es-modules/masters/indicators/vwap.src.js +1 -1
  331. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  332. package/es-modules/masters/indicators/wma.src.js +1 -1
  333. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  334. package/es-modules/masters/modules/accessibility.src.js +2 -2
  335. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  336. package/es-modules/masters/modules/annotations.src.js +1 -1
  337. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  338. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  339. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  340. package/es-modules/masters/modules/boost.src.js +1 -1
  341. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  342. package/es-modules/masters/modules/bullet.src.js +1 -1
  343. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  344. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  345. package/es-modules/masters/modules/cylinder.src.js +1 -1
  346. package/es-modules/masters/modules/data.src.js +1 -1
  347. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  348. package/es-modules/masters/modules/debugger.src.js +1 -1
  349. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  350. package/es-modules/masters/modules/dotplot.src.js +1 -1
  351. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  352. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  353. package/es-modules/masters/modules/drilldown.src.js +2 -1
  354. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  355. package/es-modules/masters/modules/export-data.src.js +1 -1
  356. package/es-modules/masters/modules/exporting.src.js +1 -1
  357. package/es-modules/masters/modules/full-screen.src.js +1 -1
  358. package/es-modules/masters/modules/funnel.src.js +1 -1
  359. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  360. package/es-modules/masters/modules/gantt.src.js +1 -1
  361. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  362. package/es-modules/masters/modules/heatmap.src.js +1 -1
  363. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  364. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  365. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  366. package/es-modules/masters/modules/item-series.src.js +1 -1
  367. package/es-modules/masters/modules/lollipop.src.js +1 -1
  368. package/es-modules/masters/modules/map.src.js +5 -1
  369. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  370. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  371. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  372. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  373. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  374. package/es-modules/masters/modules/oldie.src.js +1 -1
  375. package/es-modules/masters/modules/organization.src.js +1 -1
  376. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  377. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  378. package/es-modules/masters/modules/pareto.src.js +1 -1
  379. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  380. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  381. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  382. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  383. package/es-modules/masters/modules/sankey.src.js +1 -1
  384. package/es-modules/masters/modules/series-label.src.js +1 -1
  385. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  386. package/es-modules/masters/modules/sonification.src.js +1 -1
  387. package/es-modules/masters/modules/static-scale.src.js +1 -1
  388. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  389. package/es-modules/masters/modules/stock.src.js +1 -1
  390. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  391. package/es-modules/masters/modules/sunburst.src.js +1 -1
  392. package/es-modules/masters/modules/tilemap.src.js +1 -1
  393. package/es-modules/masters/modules/timeline.src.js +1 -1
  394. package/es-modules/masters/modules/treegrid.src.js +1 -1
  395. package/es-modules/masters/modules/treemap.src.js +5 -1
  396. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  397. package/es-modules/masters/modules/variwide.src.js +1 -1
  398. package/es-modules/masters/modules/vector.src.js +1 -1
  399. package/es-modules/masters/modules/venn.src.js +1 -1
  400. package/es-modules/masters/modules/windbarb.src.js +1 -1
  401. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  402. package/es-modules/masters/modules/xrange.src.js +1 -1
  403. package/es-modules/masters/themes/avocado.src.js +1 -1
  404. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  405. package/es-modules/masters/themes/brand-light.src.js +14 -0
  406. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  407. package/es-modules/masters/themes/dark-green.src.js +1 -1
  408. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  409. package/es-modules/masters/themes/gray.src.js +1 -1
  410. package/es-modules/masters/themes/grid-light.src.js +1 -1
  411. package/es-modules/masters/themes/grid.src.js +1 -1
  412. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  413. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  414. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  415. package/es-modules/masters/themes/skies.src.js +1 -1
  416. package/es-modules/masters/themes/sunset.src.js +1 -1
  417. package/highcharts-3d.js +99 -98
  418. package/highcharts-3d.js.map +1 -1
  419. package/highcharts-3d.src.js +114 -54
  420. package/highcharts-gantt.js +805 -800
  421. package/highcharts-gantt.js.map +1 -1
  422. package/highcharts-gantt.src.js +1102 -973
  423. package/highcharts-more.js +195 -194
  424. package/highcharts-more.js.map +1 -1
  425. package/highcharts-more.src.js +85 -104
  426. package/highcharts.d.ts +8196 -2661
  427. package/highcharts.js +590 -585
  428. package/highcharts.js.map +1 -1
  429. package/highcharts.src.d.ts +8196 -2661
  430. package/highcharts.src.js +872 -745
  431. package/highmaps.js +757 -727
  432. package/highmaps.js.map +1 -1
  433. package/highmaps.src.js +3983 -2601
  434. package/highstock.js +792 -788
  435. package/highstock.js.map +1 -1
  436. package/highstock.src.js +1118 -1001
  437. package/indicators/acceleration-bands.d.ts +17 -1
  438. package/indicators/acceleration-bands.js +12 -10
  439. package/indicators/acceleration-bands.js.map +1 -1
  440. package/indicators/acceleration-bands.src.d.ts +17 -1
  441. package/indicators/acceleration-bands.src.js +98 -7
  442. package/indicators/accumulation-distribution.js +5 -5
  443. package/indicators/accumulation-distribution.js.map +1 -1
  444. package/indicators/accumulation-distribution.src.js +11 -2
  445. package/indicators/ao.js +6 -6
  446. package/indicators/ao.js.map +1 -1
  447. package/indicators/ao.src.js +11 -2
  448. package/indicators/apo.js +5 -5
  449. package/indicators/apo.js.map +1 -1
  450. package/indicators/apo.src.js +11 -2
  451. package/indicators/aroon-oscillator.d.ts +17 -1
  452. package/indicators/aroon-oscillator.js +10 -9
  453. package/indicators/aroon-oscillator.js.map +1 -1
  454. package/indicators/aroon-oscillator.src.d.ts +17 -1
  455. package/indicators/aroon-oscillator.src.js +86 -7
  456. package/indicators/aroon.d.ts +17 -1
  457. package/indicators/aroon.js +11 -9
  458. package/indicators/aroon.js.map +1 -1
  459. package/indicators/aroon.src.d.ts +17 -1
  460. package/indicators/aroon.src.js +87 -7
  461. package/indicators/atr.js +5 -5
  462. package/indicators/atr.js.map +1 -1
  463. package/indicators/atr.src.js +11 -2
  464. package/indicators/bollinger-bands.d.ts +17 -1
  465. package/indicators/bollinger-bands.js +12 -10
  466. package/indicators/bollinger-bands.js.map +1 -1
  467. package/indicators/bollinger-bands.src.d.ts +17 -1
  468. package/indicators/bollinger-bands.src.js +98 -7
  469. package/indicators/cci.js +5 -5
  470. package/indicators/cci.js.map +1 -1
  471. package/indicators/cci.src.js +11 -2
  472. package/indicators/chaikin.js +8 -8
  473. package/indicators/chaikin.js.map +1 -1
  474. package/indicators/chaikin.src.js +11 -2
  475. package/indicators/cmf.js +6 -6
  476. package/indicators/cmf.js.map +1 -1
  477. package/indicators/cmf.src.js +46 -17
  478. package/indicators/cmo.js +5 -5
  479. package/indicators/cmo.js.map +1 -1
  480. package/indicators/cmo.src.js +11 -2
  481. package/indicators/dema.js +5 -5
  482. package/indicators/dema.js.map +1 -1
  483. package/indicators/dema.src.js +11 -2
  484. package/indicators/disparity-index.js +6 -6
  485. package/indicators/disparity-index.js.map +1 -1
  486. package/indicators/disparity-index.src.js +13 -3
  487. package/indicators/dmi.js +12 -11
  488. package/indicators/dmi.js.map +1 -1
  489. package/indicators/dmi.src.js +95 -12
  490. package/indicators/dpo.js +5 -5
  491. package/indicators/dpo.js.map +1 -1
  492. package/indicators/dpo.src.js +11 -2
  493. package/indicators/ema.js +2 -1
  494. package/indicators/ema.js.map +1 -1
  495. package/indicators/ema.src.js +10 -1
  496. package/indicators/ichimoku-kinko-hyo.js +16 -16
  497. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  498. package/indicators/ichimoku-kinko-hyo.src.js +17 -8
  499. package/indicators/indicators-all.d.ts +17 -1
  500. package/indicators/indicators-all.js +199 -197
  501. package/indicators/indicators-all.js.map +1 -1
  502. package/indicators/indicators-all.src.d.ts +17 -1
  503. package/indicators/indicators-all.src.js +266 -69
  504. package/indicators/indicators.js +13 -12
  505. package/indicators/indicators.js.map +1 -1
  506. package/indicators/indicators.src.js +23 -8
  507. package/indicators/keltner-channels.d.ts +17 -1
  508. package/indicators/keltner-channels.js +12 -10
  509. package/indicators/keltner-channels.js.map +1 -1
  510. package/indicators/keltner-channels.src.d.ts +17 -1
  511. package/indicators/keltner-channels.src.js +98 -7
  512. package/indicators/klinger.js +14 -12
  513. package/indicators/klinger.js.map +1 -1
  514. package/indicators/klinger.src.js +94 -10
  515. package/indicators/macd.js +12 -11
  516. package/indicators/macd.js.map +1 -1
  517. package/indicators/macd.src.js +12 -3
  518. package/indicators/mfi.js +6 -6
  519. package/indicators/mfi.js.map +1 -1
  520. package/indicators/mfi.src.js +11 -2
  521. package/indicators/momentum.js +5 -5
  522. package/indicators/momentum.js.map +1 -1
  523. package/indicators/momentum.src.js +11 -2
  524. package/indicators/natr.js +5 -4
  525. package/indicators/natr.js.map +1 -1
  526. package/indicators/natr.src.js +11 -2
  527. package/indicators/obv.js +5 -5
  528. package/indicators/obv.js.map +1 -1
  529. package/indicators/obv.src.js +11 -2
  530. package/indicators/pivot-points.js +11 -11
  531. package/indicators/pivot-points.js.map +1 -1
  532. package/indicators/pivot-points.src.js +13 -3
  533. package/indicators/ppo.js +5 -5
  534. package/indicators/ppo.js.map +1 -1
  535. package/indicators/ppo.src.js +11 -2
  536. package/indicators/price-channel.d.ts +17 -1
  537. package/indicators/price-channel.js +11 -9
  538. package/indicators/price-channel.js.map +1 -1
  539. package/indicators/price-channel.src.d.ts +17 -1
  540. package/indicators/price-channel.src.js +97 -7
  541. package/indicators/price-envelopes.js +8 -8
  542. package/indicators/price-envelopes.js.map +1 -1
  543. package/indicators/price-envelopes.src.js +11 -2
  544. package/indicators/psar.js +7 -6
  545. package/indicators/psar.js.map +1 -1
  546. package/indicators/psar.src.js +11 -2
  547. package/indicators/regressions.js +12 -12
  548. package/indicators/regressions.js.map +1 -1
  549. package/indicators/regressions.src.js +41 -14
  550. package/indicators/roc.js +5 -5
  551. package/indicators/roc.js.map +1 -1
  552. package/indicators/roc.src.js +11 -2
  553. package/indicators/rsi.js +6 -5
  554. package/indicators/rsi.js.map +1 -1
  555. package/indicators/rsi.src.js +13 -3
  556. package/indicators/slow-stochastic.js +5 -5
  557. package/indicators/slow-stochastic.js.map +1 -1
  558. package/indicators/slow-stochastic.src.js +11 -2
  559. package/indicators/stochastic.d.ts +17 -1
  560. package/indicators/stochastic.js +12 -10
  561. package/indicators/stochastic.js.map +1 -1
  562. package/indicators/stochastic.src.d.ts +17 -1
  563. package/indicators/stochastic.src.js +89 -8
  564. package/indicators/supertrend.js +10 -10
  565. package/indicators/supertrend.js.map +1 -1
  566. package/indicators/supertrend.src.js +11 -2
  567. package/indicators/tema.js +6 -6
  568. package/indicators/tema.js.map +1 -1
  569. package/indicators/tema.src.js +11 -2
  570. package/indicators/trendline.js +5 -5
  571. package/indicators/trendline.js.map +1 -1
  572. package/indicators/trendline.src.js +11 -2
  573. package/indicators/trix.js +4 -4
  574. package/indicators/trix.js.map +1 -1
  575. package/indicators/trix.src.js +11 -2
  576. package/indicators/volume-by-price.js +17 -17
  577. package/indicators/volume-by-price.js.map +1 -1
  578. package/indicators/volume-by-price.src.js +14 -5
  579. package/indicators/vwap.js +5 -5
  580. package/indicators/vwap.js.map +1 -1
  581. package/indicators/vwap.src.js +30 -9
  582. package/indicators/williams-r.js +6 -5
  583. package/indicators/williams-r.js.map +1 -1
  584. package/indicators/williams-r.src.js +11 -2
  585. package/indicators/wma.js +5 -5
  586. package/indicators/wma.js.map +1 -1
  587. package/indicators/wma.src.js +11 -2
  588. package/indicators/zigzag.js +6 -6
  589. package/indicators/zigzag.js.map +1 -1
  590. package/indicators/zigzag.src.js +11 -2
  591. package/lib/jspdf.js +299 -184
  592. package/lib/jspdf.src.js +25266 -18067
  593. package/lib/svg2pdf.js +35 -31
  594. package/lib/svg2pdf.src.js +5721 -4179
  595. package/modules/accessibility.d.ts +0 -35
  596. package/modules/accessibility.js +232 -226
  597. package/modules/accessibility.js.map +1 -1
  598. package/modules/accessibility.src.d.ts +0 -35
  599. package/modules/accessibility.src.js +792 -613
  600. package/modules/annotations-advanced.js +175 -175
  601. package/modules/annotations-advanced.js.map +1 -1
  602. package/modules/annotations-advanced.src.js +175 -129
  603. package/modules/annotations.js +124 -124
  604. package/modules/annotations.js.map +1 -1
  605. package/modules/annotations.src.js +130 -102
  606. package/modules/arc-diagram.js +25 -0
  607. package/modules/arc-diagram.js.map +1 -0
  608. package/modules/arc-diagram.src.js +770 -0
  609. package/modules/arrow-symbols.js +4 -3
  610. package/modules/arrow-symbols.js.map +1 -1
  611. package/modules/arrow-symbols.src.js +11 -2
  612. package/modules/boost-canvas.js +15 -15
  613. package/modules/boost-canvas.js.map +1 -1
  614. package/modules/boost-canvas.src.js +11 -2
  615. package/modules/boost.js +80 -79
  616. package/modules/boost.js.map +1 -1
  617. package/modules/boost.src.js +103 -85
  618. package/modules/broken-axis.js +13 -13
  619. package/modules/broken-axis.js.map +1 -1
  620. package/modules/broken-axis.src.js +28 -13
  621. package/modules/bullet.js +9 -9
  622. package/modules/bullet.js.map +1 -1
  623. package/modules/bullet.src.js +11 -2
  624. package/modules/coloraxis.js +24 -24
  625. package/modules/coloraxis.js.map +1 -1
  626. package/modules/coloraxis.src.js +42 -13
  627. package/modules/current-date-indicator.js +5 -4
  628. package/modules/current-date-indicator.js.map +1 -1
  629. package/modules/current-date-indicator.src.js +11 -2
  630. package/modules/cylinder.js +11 -11
  631. package/modules/cylinder.js.map +1 -1
  632. package/modules/cylinder.src.js +47 -6
  633. package/modules/data.d.ts +6 -6
  634. package/modules/data.js +34 -33
  635. package/modules/data.js.map +1 -1
  636. package/modules/data.src.d.ts +6 -6
  637. package/modules/data.src.js +68 -84
  638. package/modules/datagrouping.js +21 -20
  639. package/modules/datagrouping.js.map +1 -1
  640. package/modules/datagrouping.src.js +38 -19
  641. package/modules/debugger.js +6 -6
  642. package/modules/debugger.js.map +1 -1
  643. package/modules/debugger.src.js +11 -2
  644. package/modules/dependency-wheel.js +12 -11
  645. package/modules/dependency-wheel.js.map +1 -1
  646. package/modules/dependency-wheel.src.js +15 -6
  647. package/modules/dotplot.js +6 -6
  648. package/modules/dotplot.js.map +1 -1
  649. package/modules/dotplot.src.js +11 -2
  650. package/modules/drag-panes.js +10 -10
  651. package/modules/drag-panes.js.map +1 -1
  652. package/modules/drag-panes.src.js +11 -2
  653. package/modules/draggable-points.js +35 -34
  654. package/modules/draggable-points.js.map +1 -1
  655. package/modules/draggable-points.src.js +27 -17
  656. package/modules/drilldown.d.ts +19 -0
  657. package/modules/drilldown.js +37 -25
  658. package/modules/drilldown.js.map +1 -1
  659. package/modules/drilldown.src.d.ts +19 -0
  660. package/modules/drilldown.src.js +1091 -101
  661. package/modules/dumbbell.js +17 -17
  662. package/modules/dumbbell.js.map +1 -1
  663. package/modules/dumbbell.src.js +11 -6
  664. package/modules/export-data.js +22 -21
  665. package/modules/export-data.js.map +1 -1
  666. package/modules/export-data.src.js +17 -7
  667. package/modules/exporting.js +39 -39
  668. package/modules/exporting.js.map +1 -1
  669. package/modules/exporting.src.js +114 -62
  670. package/modules/full-screen.js +8 -7
  671. package/modules/full-screen.js.map +1 -1
  672. package/modules/full-screen.src.js +15 -5
  673. package/modules/funnel.js +12 -12
  674. package/modules/funnel.js.map +1 -1
  675. package/modules/funnel.src.js +11 -2
  676. package/modules/funnel3d.js +21 -21
  677. package/modules/funnel3d.js.map +1 -1
  678. package/modules/funnel3d.src.js +27 -11
  679. package/modules/gantt.js +217 -217
  680. package/modules/gantt.js.map +1 -1
  681. package/modules/gantt.src.js +241 -230
  682. package/modules/grid-axis.js +23 -23
  683. package/modules/grid-axis.js.map +1 -1
  684. package/modules/grid-axis.src.js +46 -27
  685. package/modules/heatmap.js +40 -39
  686. package/modules/heatmap.js.map +1 -1
  687. package/modules/heatmap.src.js +119 -117
  688. package/modules/heikinashi.js +8 -8
  689. package/modules/heikinashi.js.map +1 -1
  690. package/modules/heikinashi.src.js +19 -8
  691. package/modules/histogram-bellcurve.js +13 -13
  692. package/modules/histogram-bellcurve.js.map +1 -1
  693. package/modules/histogram-bellcurve.src.js +17 -7
  694. package/modules/hollowcandlestick.js +9 -9
  695. package/modules/hollowcandlestick.js.map +1 -1
  696. package/modules/hollowcandlestick.src.js +31 -26
  697. package/modules/item-series.js +12 -12
  698. package/modules/item-series.js.map +1 -1
  699. package/modules/item-series.src.js +16 -7
  700. package/modules/lollipop.js +7 -7
  701. package/modules/lollipop.js.map +1 -1
  702. package/modules/lollipop.src.js +12 -3
  703. package/modules/map.d.ts +82 -43
  704. package/modules/map.js +169 -144
  705. package/modules/map.js.map +1 -1
  706. package/modules/map.src.d.ts +82 -43
  707. package/modules/map.src.js +8003 -6739
  708. package/modules/marker-clusters.js +36 -36
  709. package/modules/marker-clusters.js.map +1 -1
  710. package/modules/marker-clusters.src.js +50 -24
  711. package/modules/networkgraph.d.ts +5 -0
  712. package/modules/networkgraph.js +49 -48
  713. package/modules/networkgraph.js.map +1 -1
  714. package/modules/networkgraph.src.d.ts +5 -0
  715. package/modules/networkgraph.src.js +87 -48
  716. package/modules/no-data-to-display.js +5 -5
  717. package/modules/no-data-to-display.js.map +1 -1
  718. package/modules/no-data-to-display.src.js +11 -2
  719. package/modules/offline-exporting.js +20 -18
  720. package/modules/offline-exporting.js.map +1 -1
  721. package/modules/offline-exporting.src.js +149 -53
  722. package/modules/oldie-polyfills.js +7 -7
  723. package/modules/oldie-polyfills.js.map +1 -1
  724. package/modules/oldie-polyfills.src.js +11 -2
  725. package/modules/oldie.js +30 -30
  726. package/modules/oldie.js.map +1 -1
  727. package/modules/oldie.src.js +29 -80
  728. package/modules/organization.js +16 -14
  729. package/modules/organization.js.map +1 -1
  730. package/modules/organization.src.js +168 -32
  731. package/modules/overlapping-datalabels.js +3 -2
  732. package/modules/overlapping-datalabels.js.map +1 -1
  733. package/modules/overlapping-datalabels.src.js +11 -2
  734. package/modules/parallel-coordinates.js +11 -11
  735. package/modules/parallel-coordinates.js.map +1 -1
  736. package/modules/parallel-coordinates.src.js +16 -5
  737. package/modules/pareto.js +7 -7
  738. package/modules/pareto.js.map +1 -1
  739. package/modules/pareto.src.js +11 -2
  740. package/modules/pathfinder.js +31 -31
  741. package/modules/pathfinder.js.map +1 -1
  742. package/modules/pathfinder.src.js +31 -21
  743. package/modules/pattern-fill.js +14 -14
  744. package/modules/pattern-fill.js.map +1 -1
  745. package/modules/pattern-fill.src.js +28 -13
  746. package/modules/price-indicator.js +5 -5
  747. package/modules/price-indicator.js.map +1 -1
  748. package/modules/price-indicator.src.js +13 -3
  749. package/modules/pyramid3d.js +4 -4
  750. package/modules/pyramid3d.js.map +1 -1
  751. package/modules/pyramid3d.src.js +13 -3
  752. package/modules/sankey.d.ts +5 -0
  753. package/modules/sankey.js +32 -29
  754. package/modules/sankey.js.map +1 -1
  755. package/modules/sankey.src.d.ts +5 -0
  756. package/modules/sankey.src.js +340 -156
  757. package/modules/series-label.js +18 -17
  758. package/modules/series-label.js.map +1 -1
  759. package/modules/series-label.src.js +12 -3
  760. package/modules/solid-gauge.js +10 -10
  761. package/modules/solid-gauge.js.map +1 -1
  762. package/modules/solid-gauge.src.js +27 -3
  763. package/modules/sonification.js +59 -59
  764. package/modules/sonification.js.map +1 -1
  765. package/modules/sonification.src.js +131 -104
  766. package/modules/static-scale.js +5 -4
  767. package/modules/static-scale.js.map +1 -1
  768. package/modules/static-scale.src.js +11 -2
  769. package/modules/stock-tools.js +107 -107
  770. package/modules/stock-tools.js.map +1 -1
  771. package/modules/stock-tools.src.js +137 -98
  772. package/modules/stock.js +162 -162
  773. package/modules/stock.js.map +1 -1
  774. package/modules/stock.src.js +257 -258
  775. package/modules/streamgraph.js +5 -4
  776. package/modules/streamgraph.js.map +1 -1
  777. package/modules/streamgraph.src.js +11 -2
  778. package/modules/sunburst.d.ts +3 -0
  779. package/modules/sunburst.js +73 -61
  780. package/modules/sunburst.js.map +1 -1
  781. package/modules/sunburst.src.d.ts +3 -0
  782. package/modules/sunburst.src.js +1128 -205
  783. package/modules/tilemap.js +17 -17
  784. package/modules/tilemap.js.map +1 -1
  785. package/modules/tilemap.src.js +11 -11
  786. package/modules/timeline.js +18 -18
  787. package/modules/timeline.js.map +1 -1
  788. package/modules/timeline.src.js +11 -2
  789. package/modules/treegrid.js +57 -56
  790. package/modules/treegrid.js.map +1 -1
  791. package/modules/treegrid.src.js +106 -58
  792. package/modules/treemap.d.ts +3 -0
  793. package/modules/treemap.js +53 -41
  794. package/modules/treemap.js.map +1 -1
  795. package/modules/treemap.src.d.ts +3 -0
  796. package/modules/treemap.src.js +1113 -200
  797. package/modules/variable-pie.js +9 -9
  798. package/modules/variable-pie.js.map +1 -1
  799. package/modules/variable-pie.src.js +11 -2
  800. package/modules/variwide.js +12 -12
  801. package/modules/variwide.js.map +1 -1
  802. package/modules/variwide.src.js +17 -4
  803. package/modules/vector.js +8 -7
  804. package/modules/vector.js.map +1 -1
  805. package/modules/vector.src.js +11 -2
  806. package/modules/venn.js +31 -31
  807. package/modules/venn.js.map +1 -1
  808. package/modules/venn.src.js +34 -23
  809. package/modules/windbarb.js +15 -15
  810. package/modules/windbarb.js.map +1 -1
  811. package/modules/windbarb.src.js +11 -2
  812. package/modules/wordcloud.js +23 -23
  813. package/modules/wordcloud.js.map +1 -1
  814. package/modules/wordcloud.src.js +26 -18
  815. package/modules/xrange.js +16 -16
  816. package/modules/xrange.js.map +1 -1
  817. package/modules/xrange.src.js +21 -34
  818. package/package.json +1 -1
  819. package/themes/avocado.js +4 -3
  820. package/themes/avocado.js.map +1 -1
  821. package/themes/avocado.src.js +11 -2
  822. package/themes/brand-dark.js +16 -0
  823. package/themes/brand-dark.js.map +1 -0
  824. package/themes/brand-dark.src.js +337 -0
  825. package/themes/brand-light.js +15 -0
  826. package/themes/brand-light.js.map +1 -0
  827. package/themes/brand-light.src.js +303 -0
  828. package/themes/dark-blue.js +9 -8
  829. package/themes/dark-blue.js.map +1 -1
  830. package/themes/dark-blue.src.js +11 -2
  831. package/themes/dark-green.js +9 -8
  832. package/themes/dark-green.js.map +1 -1
  833. package/themes/dark-green.src.js +11 -2
  834. package/themes/dark-unica.js +8 -7
  835. package/themes/dark-unica.js.map +1 -1
  836. package/themes/dark-unica.src.js +15 -4
  837. package/themes/gray.js +9 -8
  838. package/themes/gray.js.map +1 -1
  839. package/themes/gray.src.js +11 -2
  840. package/themes/grid-light.js +5 -4
  841. package/themes/grid-light.js.map +1 -1
  842. package/themes/grid-light.src.js +15 -4
  843. package/themes/grid.js +5 -5
  844. package/themes/grid.js.map +1 -1
  845. package/themes/grid.src.js +15 -4
  846. package/themes/high-contrast-dark.js +7 -7
  847. package/themes/high-contrast-dark.js.map +1 -1
  848. package/themes/high-contrast-dark.src.js +21 -12
  849. package/themes/high-contrast-light.js +3 -3
  850. package/themes/high-contrast-light.js.map +1 -1
  851. package/themes/high-contrast-light.src.js +21 -12
  852. package/themes/sand-signika.js +5 -5
  853. package/themes/sand-signika.js.map +1 -1
  854. package/themes/sand-signika.src.js +11 -2
  855. package/themes/skies.js +5 -5
  856. package/themes/skies.js.map +1 -1
  857. package/themes/skies.src.js +11 -2
  858. package/themes/sunset.js +3 -3
  859. package/themes/sunset.js.map +1 -1
  860. package/themes/sunset.src.js +11 -2
  861. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  862. package/es-modules/Series/ColorMapComposition.js +0 -109
@@ -23,14 +23,13 @@ var __extends = (this && this.__extends) || (function () {
23
23
  })();
24
24
  import A from '../../Core/Animation/AnimationUtilities.js';
25
25
  var animObject = A.animObject;
26
- import ColorMapComposition from '../ColorMapComposition.js';
27
- var colorMapSeriesMixin = ColorMapComposition.colorMapSeriesMixin;
26
+ import ColorMapMixin from '../ColorMapMixin.js';
28
27
  import CU from '../CenteredUtilities.js';
29
28
  import H from '../../Core/Globals.js';
30
29
  var noop = H.noop;
31
30
  import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
32
31
  import MapChart from '../../Core/Chart/MapChart.js';
33
- var maps = MapChart.maps, splitPath = MapChart.splitPath;
32
+ var splitPath = MapChart.splitPath;
34
33
  import MapPoint from './MapPoint.js';
35
34
  import MapView from '../../Maps/MapView.js';
36
35
  import Series from '../../Core/Series/Series.js';
@@ -40,7 +39,7 @@ var
40
39
  _a = SeriesRegistry.seriesTypes, ColumnSeries = _a.column, ScatterSeries = _a.scatter;
41
40
  import SVGRenderer from '../../Core/Renderer/SVG/SVGRenderer.js';
42
41
  import U from '../../Core/Utilities.js';
43
- 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;
42
+ 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;
44
43
  /* *
45
44
  *
46
45
  * Class
@@ -68,7 +67,7 @@ var MapSeries = /** @class */ (function (_super) {
68
67
  _this.joinBy = void 0;
69
68
  _this.options = void 0;
70
69
  _this.points = void 0;
71
- _this.transformGroup = void 0;
70
+ _this.processedData = [];
72
71
  return _this;
73
72
  /* eslint-enable valid-jsdoc */
74
73
  }
@@ -135,7 +134,10 @@ var MapSeries = /** @class */ (function (_super) {
135
134
  scaleX: 1,
136
135
  scaleY: 1,
137
136
  opacity: 1
138
- });
137
+ }, this.chart.options.drilldown.animation);
138
+ if (chart.drilldown) {
139
+ chart.drilldown.fadeInGroup(this.dataLabelsGroup);
140
+ }
139
141
  }
140
142
  }
141
143
  };
@@ -167,6 +169,7 @@ var MapSeries = /** @class */ (function (_super) {
167
169
  MapSeries.prototype.clearBounds = function () {
168
170
  this.points.forEach(function (point) {
169
171
  delete point.bounds;
172
+ delete point.insetIndex;
170
173
  delete point.projectedPath;
171
174
  });
172
175
  delete this.bounds;
@@ -200,29 +203,43 @@ var MapSeries = /** @class */ (function (_super) {
200
203
  */
201
204
  MapSeries.prototype.drawPoints = function () {
202
205
  var _this = this;
203
- var _a = this, chart = _a.chart, group = _a.group, svgTransform = _a.svgTransform;
206
+ var _a = this, chart = _a.chart, group = _a.group, _b = _a.transformGroups, transformGroups = _b === void 0 ? [] : _b;
204
207
  var mapView = chart.mapView, renderer = chart.renderer;
205
- // Set a group that handles transform during zooming and panning in
206
- // order to preserve clipping on series.group
207
- if (!this.transformGroup) {
208
- this.transformGroup = renderer.g().add(group);
209
- this.transformGroup.survive = true;
208
+ if (!mapView) {
209
+ return;
210
+ }
211
+ // Set groups that handle transform during zooming and panning in order
212
+ // to preserve clipping on series.group
213
+ this.transformGroups = transformGroups;
214
+ if (!transformGroups[0]) {
215
+ transformGroups[0] = renderer.g().add(group);
210
216
  }
217
+ mapView.insets.forEach(function (inset, i) {
218
+ if (!transformGroups[i + 1]) {
219
+ transformGroups.push(renderer.g().add(group));
220
+ }
221
+ });
211
222
  // Draw the shapes again
212
223
  if (this.doFullTranslate()) {
213
224
  // Individual point actions.
214
- if (chart.hasRendered && !chart.styledMode) {
215
- this.points.forEach(function (point) {
216
- // Restore state color on update/redraw (#3529)
217
- if (point.shapeArgs) {
218
- point.shapeArgs.fill = _this.pointAttribs(point, point.state).fill;
219
- }
220
- });
221
- }
222
- // Draw them in transformGroup
223
- this.group = this.transformGroup;
225
+ this.points.forEach(function (point) {
226
+ var graphic = point.graphic, shapeArgs = point.shapeArgs;
227
+ // Points should be added in the corresponding transform group
228
+ point.group = transformGroups[typeof point.insetIndex === 'number' ?
229
+ point.insetIndex + 1 :
230
+ 0];
231
+ // When the point has been moved between insets after
232
+ // MapView.update
233
+ if (graphic && graphic.parentGroup !== point.group) {
234
+ graphic.add(point.group);
235
+ }
236
+ // Restore state color on update/redraw (#3529)
237
+ if (shapeArgs && chart.hasRendered && !chart.styledMode) {
238
+ shapeArgs.fill = _this.pointAttribs(point, point.state).fill;
239
+ }
240
+ });
241
+ // Draw the points
224
242
  ColumnSeries.prototype.drawPoints.apply(this);
225
- this.group = group; // Reset
226
243
  // Add class names
227
244
  this.points.forEach(function (point) {
228
245
  if (point.graphic) {
@@ -232,11 +249,10 @@ var MapSeries = /** @class */ (function (_super) {
232
249
  'highcharts-name-' +
233
250
  point.name.replace(/ /g, '-').toLowerCase();
234
251
  }
235
- if (point.properties &&
236
- point.properties['hc-key']) {
252
+ if (point.properties && point.properties['hc-key']) {
237
253
  className +=
238
254
  ' highcharts-key-' +
239
- point.properties['hc-key'].toLowerCase();
255
+ point.properties['hc-key'].toString().toLowerCase();
240
256
  }
241
257
  if (className) {
242
258
  point.graphic.addClass(className);
@@ -249,55 +265,54 @@ var MapSeries = /** @class */ (function (_super) {
249
265
  });
250
266
  }
251
267
  // Apply the SVG transform
252
- if (mapView && svgTransform) {
253
- var strokeWidth_1 = pick(this.options[(this.pointAttrToOptions &&
254
- this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
268
+ transformGroups.forEach(function (transformGroup, i) {
269
+ var view = i === 0 ? mapView : mapView.insets[i - 1], svgTransform = view.getSVGTransform(), strokeWidth = pick(_this.options[(_this.pointAttrToOptions &&
270
+ _this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
255
271
  );
256
- /* Animate or move to the new zoom level. In order to prevent
257
- flickering as the different transform components are set out
258
- of sync (#5991), we run a fake animator attribute and set
259
- scale and translation synchronously in the same step.
272
+ /*
273
+ Animate or move to the new zoom level. In order to prevent
274
+ flickering as the different transform components are set out of sync
275
+ (#5991), we run a fake animator attribute and set scale and
276
+ translation synchronously in the same step.
260
277
 
261
- A possible improvement to the API would be to handle this in
262
- the renderer or animation engine itself, to ensure that when
263
- we are animating multiple properties, we make sure that each
264
- step for each property is performed in the same step. Also,
265
- for symbols and for transform properties, it should induce a
266
- single updateTransform and symbolAttr call. */
267
- var scale_1 = svgTransform.scaleX;
268
- var flipFactor_1 = svgTransform.scaleY > 0 ? 1 : -1;
269
- var transformGroup_1 = this.transformGroup;
278
+ A possible improvement to the API would be to handle this in the
279
+ renderer or animation engine itself, to ensure that when we are
280
+ animating multiple properties, we make sure that each step for each
281
+ property is performed in the same step. Also, for symbols and for
282
+ transform properties, it should induce a single updateTransform and
283
+ symbolAttr call.
284
+ */
285
+ var scale = svgTransform.scaleX;
286
+ var flipFactor = svgTransform.scaleY > 0 ? 1 : -1;
270
287
  if (renderer.globalAnimation && chart.hasRendered) {
271
- var startTranslateX_1 = Number(transformGroup_1.attr('translateX'));
272
- var startTranslateY_1 = Number(transformGroup_1.attr('translateY'));
273
- var startScale_1 = Number(transformGroup_1.attr('scaleX'));
288
+ var startTranslateX_1 = Number(transformGroup.attr('translateX'));
289
+ var startTranslateY_1 = Number(transformGroup.attr('translateY'));
290
+ var startScale_1 = Number(transformGroup.attr('scaleX'));
274
291
  var step = function (now, fx) {
275
292
  var scaleStep = startScale_1 +
276
- (scale_1 - startScale_1) * fx.pos;
277
- transformGroup_1.attr({
278
- translateX: (startTranslateX_1 +
279
- (svgTransform.translateX - startTranslateX_1) * fx.pos),
280
- translateY: (startTranslateY_1 +
281
- (svgTransform.translateY - startTranslateY_1) * fx.pos),
293
+ (scale - startScale_1) * fx.pos;
294
+ transformGroup.attr({
295
+ translateX: (startTranslateX_1 + (svgTransform.translateX - startTranslateX_1) * fx.pos),
296
+ translateY: (startTranslateY_1 + (svgTransform.translateY - startTranslateY_1) * fx.pos),
282
297
  scaleX: scaleStep,
283
- scaleY: scaleStep * flipFactor_1
298
+ scaleY: scaleStep * flipFactor
284
299
  });
285
- group.element.setAttribute('stroke-width', strokeWidth_1 / scaleStep);
300
+ transformGroup.element.setAttribute('stroke-width', strokeWidth / scaleStep);
286
301
  };
287
- transformGroup_1
302
+ transformGroup
288
303
  .attr({ animator: 0 })
289
304
  .animate({ animator: 1 }, { step: step });
290
305
  // When dragging or first rendering, animation is off
291
306
  }
292
307
  else {
293
- transformGroup_1.attr(svgTransform);
308
+ transformGroup.attr(svgTransform);
294
309
  // Set the stroke-width directly on the group element so the
295
310
  // children inherit it. We need to use setAttribute directly,
296
311
  // because the stroke-widthSetter method expects a stroke color
297
312
  // also to be set.
298
- group.element.setAttribute('stroke-width', strokeWidth_1 / scale_1);
313
+ transformGroup.element.setAttribute('stroke-width', strokeWidth / scale);
299
314
  }
300
- }
315
+ });
301
316
  this.drawMapDataLabels();
302
317
  };
303
318
  /**
@@ -305,9 +320,8 @@ var MapSeries = /** @class */ (function (_super) {
305
320
  *
306
321
  */
307
322
  MapSeries.prototype.getProjectedBounds = function () {
308
- if (!this.bounds) {
309
- var MAX_VALUE_1 = Number.MAX_VALUE, projection_1 = this.chart.mapView &&
310
- this.chart.mapView.projection, allBounds_1 = [];
323
+ if (!this.bounds && this.chart.mapView) {
324
+ var MAX_VALUE = Number.MAX_VALUE, _a = this.chart.mapView, insets_1 = _a.insets, projection_1 = _a.projection, allBounds_1 = [];
311
325
  // Find the bounding box of each point
312
326
  (this.points || []).forEach(function (point) {
313
327
  if (point.path || point.geometry) {
@@ -323,37 +337,32 @@ var MapSeries = /** @class */ (function (_super) {
323
337
  }
324
338
  // The first time a map point is used, analyze its box
325
339
  if (!point.bounds) {
326
- var path = MapPoint.getProjectedPath(point, projection_1), properties = point.properties;
327
- var x2_1 = -MAX_VALUE_1, x1_1 = MAX_VALUE_1, y2_1 = -MAX_VALUE_1, y1_1 = MAX_VALUE_1, validBounds_1;
328
- path.forEach(function (seg) {
329
- var x = seg[seg.length - 2];
330
- var y = seg[seg.length - 1];
331
- if (typeof x === 'number' &&
332
- typeof y === 'number') {
333
- x1_1 = Math.min(x1_1, x);
334
- x2_1 = Math.max(x2_1, x);
335
- y1_1 = Math.min(y1_1, y);
336
- y2_1 = Math.max(y2_1, y);
337
- validBounds_1 = true;
338
- }
339
- });
340
- if (validBounds_1) {
341
- // Cache point bounding box for use to position data
342
- // labels, bubbles etc
343
- var propMiddleX = properties && properties['hc-middle-x'], midX = (x1_1 + (x2_1 - x1_1) * pick(point.middleX, isNumber(propMiddleX) ? 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 };
340
+ var bounds = point.getProjectedBounds(projection_1);
341
+ if (bounds) {
351
342
  point.labelrank = pick(point.labelrank,
352
343
  // Bigger shape, higher rank
353
- (x2_1 - x1_1) * (y2_1 - y1_1));
344
+ ((bounds.x2 - bounds.x1) *
345
+ (bounds.y2 - bounds.y1)));
346
+ var midX_1 = bounds.midX, midY_1 = bounds.midY;
347
+ if (insets_1 && isNumber(midX_1) && isNumber(midY_1)) {
348
+ var inset = find(insets_1, function (inset) { return inset.isInside({
349
+ x: midX_1, y: midY_1
350
+ }); });
351
+ if (inset) {
352
+ // Project again, but with the inset
353
+ // projection
354
+ delete point.projectedPath;
355
+ bounds = point.getProjectedBounds(inset.projection);
356
+ if (bounds) {
357
+ inset.allBounds.push(bounds);
358
+ }
359
+ point.insetIndex = insets_1.indexOf(inset);
360
+ }
361
+ }
362
+ point.bounds = bounds;
354
363
  }
355
364
  }
356
- if (point.bounds) {
365
+ if (point.bounds && point.insetIndex === void 0) {
357
366
  allBounds_1.push(point.bounds);
358
367
  }
359
368
  }
@@ -400,37 +409,70 @@ var MapSeries = /** @class */ (function (_super) {
400
409
  return attr;
401
410
  };
402
411
  /**
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.
412
+ * Extend setData to call processData and generatePoints immediately.
406
413
  * @private
407
414
  */
408
- 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;
415
+ MapSeries.prototype.setData = function () {
416
+ _super.prototype.setData.apply(this, arguments);
417
+ this.processData();
418
+ this.generatePoints();
419
+ };
420
+ /**
421
+ * Extend processData to join in mapData. If the allAreas option is true,
422
+ * all areas from the mapData are used, and those that don't correspond to a
423
+ * data value are given null values. The results are stored in
424
+ * `processedData` in order to avoid mutating `data`.
425
+ * @private
426
+ */
427
+ MapSeries.prototype.processData = function () {
428
+ var options = this.options, data = options.data, chartOptions = this.chart.options.chart, joinBy = this.joinBy, pointArrayMap = options.keys || this.pointArrayMap, dataUsed = [], mapMap = {};
429
+ var mapView = this.chart.mapView, mapDataObject = mapView && (
430
+ // Get map either from series or global
431
+ isObject(options.mapData, true) ?
432
+ mapView.getGeoMap(options.mapData) : mapView.geoMap), mapTransforms = this.chart.mapTransforms, mapPoint, props, i;
433
+ // Pick up transform definitions for chart
434
+ this.chart.mapTransforms = mapTransforms =
435
+ chartOptions.mapTransforms ||
436
+ mapDataObject && mapDataObject['hc-transform'] ||
437
+ mapTransforms;
438
+ // Cache cos/sin of transform rotation angle
439
+ if (mapTransforms) {
440
+ objectEach(mapTransforms, function (transform) {
441
+ if (transform.rotation) {
442
+ transform.cosAngle = Math.cos(transform.rotation);
443
+ transform.sinAngle = Math.sin(transform.rotation);
444
+ }
445
+ });
446
+ }
447
+ var mapData;
448
+ if (isArray(options.mapData)) {
449
+ mapData = options.mapData;
450
+ }
451
+ else if (mapDataObject && mapDataObject.type === 'FeatureCollection') {
452
+ this.mapTitle = mapDataObject.title;
453
+ mapData = H.geojson(mapDataObject, this.type, this);
415
454
  }
416
- // Pick up numeric values, add index
417
- // Convert Array point definitions to objects using pointArrayMap
455
+ // Reset processedData
456
+ this.processedData = [];
457
+ var processedData = this.processedData;
458
+ // Pick up numeric values, add index. Convert Array point definitions to
459
+ // objects using pointArrayMap.
418
460
  if (data) {
419
461
  data.forEach(function (val, i) {
420
462
  var ix = 0;
421
463
  if (isNumber(val)) {
422
- data[i] = {
464
+ processedData[i] = {
423
465
  value: val
424
466
  };
425
467
  }
426
468
  else if (isArray(val)) {
427
- data[i] = {};
469
+ processedData[i] = {};
428
470
  // Automatically copy first item to hc-key if there is
429
471
  // an extra leading string
430
472
  if (!options.keys &&
431
473
  val.length > pointArrayMap.length &&
432
474
  typeof val[0] === 'string') {
433
- data[i]['hc-key'] = val[0];
475
+ processedData[i]['hc-key'] = val[0];
434
476
  ++ix;
435
477
  }
436
478
  // Run through pointArrayMap and what's left of the
@@ -439,40 +481,24 @@ var MapSeries = /** @class */ (function (_super) {
439
481
  if (pointArrayMap[j] &&
440
482
  typeof val[ix] !== 'undefined') {
441
483
  if (pointArrayMap[j].indexOf('.') > 0) {
442
- MapPoint.prototype.setNestedProperty(data[i], val[ix], pointArrayMap[j]);
484
+ MapPoint.prototype.setNestedProperty(processedData[i], val[ix], pointArrayMap[j]);
443
485
  }
444
486
  else {
445
- data[i][pointArrayMap[j]] =
487
+ processedData[i][pointArrayMap[j]] =
446
488
  val[ix];
447
489
  }
448
490
  }
449
491
  }
450
492
  }
451
- if (joinBy && joinBy[0] === '_i') {
452
- data[i]._i = i;
493
+ else {
494
+ processedData[i] = data[i];
453
495
  }
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);
496
+ if (joinBy && joinBy[0] === '_i') {
497
+ processedData[i]._i = i;
468
498
  }
469
499
  });
470
500
  }
471
501
  if (mapData) {
472
- if (mapData.type === 'FeatureCollection') {
473
- this.mapTitle = mapData.title;
474
- mapData = H.geojson(mapData, this.type, this);
475
- }
476
502
  this.mapData = mapData;
477
503
  this.mapMap = {};
478
504
  for (i = 0; i < mapData.length; i++) {
@@ -487,9 +513,9 @@ var MapSeries = /** @class */ (function (_super) {
487
513
  }
488
514
  this.mapMap = mapMap;
489
515
  // Registered the point codes that actually hold data
490
- if (data && joinBy[1]) {
516
+ if (joinBy[1]) {
491
517
  var joinKey_1 = joinBy[1];
492
- data.forEach(function (pointOptions) {
518
+ processedData.forEach(function (pointOptions) {
493
519
  var mapKey = getNestedProperty(joinKey_1, pointOptions);
494
520
  if (mapMap[mapKey]) {
495
521
  dataUsed.push(mapMap[mapKey]);
@@ -497,37 +523,35 @@ var MapSeries = /** @class */ (function (_super) {
497
523
  });
498
524
  }
499
525
  if (options.allAreas) {
500
- // this.getBox(mapData);
501
- data = data || [];
502
- // Registered the point codes that actually hold data
526
+ // Register the point codes that actually hold data
503
527
  if (joinBy[1]) {
504
528
  var joinKey_2 = joinBy[1];
505
- data.forEach(function (pointOptions) {
529
+ processedData.forEach(function (pointOptions) {
506
530
  dataUsed.push(getNestedProperty(joinKey_2, pointOptions));
507
531
  });
508
532
  }
509
533
  // 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
534
+ // will be drawn as null points. Searching a string is faster
535
+ // than Array.indexOf
536
+ var dataUsedString_1 = ('|' +
537
+ dataUsed
538
+ .map(function (point) {
539
+ return point && point[joinBy[0]];
540
+ })
541
+ .join('|') +
542
+ '|');
514
543
  mapData.forEach(function (mapPoint) {
515
544
  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;
545
+ dataUsedString_1.indexOf('|' + mapPoint[joinBy[0]] + '|') === -1) {
546
+ processedData.push(merge(mapPoint, { value: null }));
522
547
  }
523
548
  });
524
- } /* else {
525
- this.getBox(dataUsed); // Issue #4784
526
- } */
549
+ }
527
550
  }
528
- Series.prototype.setData.call(this, data, redraw, animation, updatePoints);
529
- this.processData();
530
- this.generatePoints();
551
+ // The processedXData array is used by general chart logic for checking
552
+ // data length in various scanarios
553
+ this.processedXData = new Array(processedData.length);
554
+ return void 0;
531
555
  };
532
556
  /**
533
557
  * Extend setOptions by picking up the joinBy option and applying it to a
@@ -559,42 +583,30 @@ var MapSeries = /** @class */ (function (_super) {
559
583
  delete this.bounds;
560
584
  this.getProjectedBounds();
561
585
  }
562
- // Calculate the SVG transform
563
- var svgTransform;
564
586
  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;
570
- var translateY = this.chart.plotHeight / 2 - y * scale * flipFactor;
571
- svgTransform = {
572
- scaleX: scale,
573
- scaleY: scale * flipFactor,
574
- translateX: translateX,
575
- translateY: translateY
576
- };
577
- this.svgTransform = svgTransform;
587
+ var mainSvgTransform_1 = mapView.getSVGTransform();
588
+ series.points.forEach(function (point) {
589
+ var svgTransform = (isNumber(point.insetIndex) &&
590
+ mapView.insets[point.insetIndex].getSVGTransform()) || mainSvgTransform_1;
591
+ // Record the middle point (loosely based on centroid),
592
+ // determined by the middleX and middleY options.
593
+ if (svgTransform &&
594
+ point.bounds &&
595
+ isNumber(point.bounds.midX) &&
596
+ isNumber(point.bounds.midY)) {
597
+ point.plotX = point.bounds.midX * svgTransform.scaleX +
598
+ svgTransform.translateX;
599
+ point.plotY = point.bounds.midY * svgTransform.scaleY +
600
+ svgTransform.translateY;
601
+ }
602
+ if (doFullTranslate) {
603
+ point.shapeType = 'path';
604
+ point.shapeArgs = {
605
+ d: MapPoint.getProjectedPath(point, projection)
606
+ };
607
+ }
608
+ });
578
609
  }
579
- series.points.forEach(function (point) {
580
- // Record the middle point (loosely based on centroid),
581
- // determined by the middleX and middleY options.
582
- if (svgTransform &&
583
- point.bounds &&
584
- isNumber(point.bounds.midX) &&
585
- isNumber(point.bounds.midY)) {
586
- point.plotX = point.bounds.midX * svgTransform.scaleX +
587
- svgTransform.translateX;
588
- point.plotY = point.bounds.midY * svgTransform.scaleY +
589
- svgTransform.translateY;
590
- }
591
- if (doFullTranslate) {
592
- point.shapeType = 'path';
593
- point.shapeArgs = {
594
- d: MapPoint.getProjectedPath(point, projection)
595
- };
596
- }
597
- });
598
610
  fireEvent(series, 'afterTranslate');
599
611
  };
600
612
  /**
@@ -610,6 +622,16 @@ var MapSeries = /** @class */ (function (_super) {
610
622
  * @optionparent plotOptions.map
611
623
  */
612
624
  MapSeries.defaultOptions = merge(ScatterSeries.defaultOptions, {
625
+ /**
626
+ * Whether the MapView takes this series into account when computing the
627
+ * default zoom and center of the map.
628
+ *
629
+ * @sample maps/series/affectsmapview/
630
+ * US map with world map backdrop
631
+ *
632
+ * @since 10.0.0
633
+ */
634
+ affectsMapView: true,
613
635
  animation: false,
614
636
  dataLabels: {
615
637
  crop: false,
@@ -842,8 +864,9 @@ var MapSeries = /** @class */ (function (_super) {
842
864
  }(ScatterSeries));
843
865
  extend(MapSeries.prototype, {
844
866
  type: 'map',
845
- axisTypes: ['colorAxis'],
846
- colorKey: 'value',
867
+ axisTypes: ColorMapMixin.SeriesMixin.axisTypes,
868
+ colorAttribs: ColorMapMixin.SeriesMixin.colorAttribs,
869
+ colorKey: ColorMapMixin.SeriesMixin.colorKey,
847
870
  // When tooltip is not shared, this series (and derivatives) requires
848
871
  // direct touch/hover. KD-tree does not apply.
849
872
  directTouch: true,
@@ -856,19 +879,18 @@ extend(MapSeries.prototype, {
856
879
  forceDL: true,
857
880
  getCenter: CU.getCenter,
858
881
  getExtremesFromAll: true,
859
- getSymbol: noop,
882
+ getSymbol: ColorMapMixin.SeriesMixin.getSymbol,
860
883
  isCartesian: false,
861
- parallelArrays: colorMapSeriesMixin.parallelArrays,
862
- pointArrayMap: colorMapSeriesMixin.pointArrayMap,
884
+ parallelArrays: ColorMapMixin.SeriesMixin.parallelArrays,
885
+ pointArrayMap: ColorMapMixin.SeriesMixin.pointArrayMap,
863
886
  pointClass: MapPoint,
864
887
  // X axis and Y axis must have same translation slope
865
888
  preserveAspectRatio: true,
866
889
  searchPoint: noop,
867
- trackerGroups: colorMapSeriesMixin.trackerGroups,
890
+ trackerGroups: ColorMapMixin.SeriesMixin.trackerGroups,
868
891
  // Get axis extremes from paths, not values
869
892
  useMapGeometry: true
870
893
  });
871
- ColorMapComposition.compose(MapSeries, MapPoint);
872
894
  SeriesRegistry.registerSeriesType('map', MapSeries);
873
895
  /* *
874
896
  *
@@ -882,13 +904,17 @@ export default MapSeries;
882
904
  *
883
905
  * */
884
906
  /**
885
- * A map data object containing a `geometry` or `path` definition and optionally
886
- * additional properties to join in the `data` as per the `joinBy` option.
907
+ * An array of objects containing a `geometry` or `path` definition and
908
+ * optionally additional properties to join in the `data` as per the `joinBy`
909
+ * option. GeoJSON and TopoJSON structures can also be passed directly into
910
+ * `mapData`.
887
911
  *
888
912
  * @sample maps/demo/category-map/
889
913
  * Map data and joinBy
914
+ * @sample maps/series/mapdata-multiple/
915
+ * Multiple map sources
890
916
  *
891
- * @type {Array<Highcharts.SeriesMapDataOptions>|*}
917
+ * @type {Array<Highcharts.SeriesMapDataOptions>|Highcharts.GeoJSON|Highcharts.TopoJSON}
892
918
  * @product highmaps
893
919
  * @apioption series.mapData
894
920
  */