highcharts 9.2.2 → 9.3.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 (747) hide show
  1. package/README.md +13 -6
  2. package/bower.json +1 -1
  3. package/css/annotations/popup.css +48 -8
  4. package/css/annotations/popup.scss +70 -22
  5. package/css/highcharts.css +45 -0
  6. package/css/highcharts.scss +40 -0
  7. package/css/themes/dark-unica.css +45 -0
  8. package/css/themes/grid-light.css +45 -0
  9. package/css/themes/sand-signika.css +45 -0
  10. package/es-modules/Accessibility/A11yI18n.js +273 -224
  11. package/es-modules/Accessibility/Accessibility.js +233 -128
  12. package/es-modules/Accessibility/AccessibilityComponent.js +79 -314
  13. package/es-modules/Accessibility/Components/AnnotationsA11y.js +10 -0
  14. package/es-modules/Accessibility/Components/ContainerComponent.js +52 -27
  15. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +46 -23
  16. package/es-modules/Accessibility/Components/LegendComponent.js +97 -65
  17. package/es-modules/Accessibility/Components/MenuComponent.js +59 -40
  18. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -8
  19. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +152 -115
  20. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +133 -68
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +64 -27
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +38 -21
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +380 -325
  24. package/es-modules/Accessibility/Components/ZoomComponent.js +28 -20
  25. package/es-modules/Accessibility/FocusBorder.js +192 -147
  26. package/es-modules/Accessibility/HighContrastMode.js +78 -66
  27. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  28. package/es-modules/Accessibility/KeyboardNavigation.js +144 -70
  29. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  30. package/es-modules/Accessibility/Options/DeprecatedOptions.js +11 -1
  31. package/es-modules/Accessibility/Options/LangOptions.js +1 -2
  32. package/es-modules/Accessibility/Options/Options.js +32 -17
  33. package/es-modules/Accessibility/ProxyElement.js +212 -0
  34. package/es-modules/Accessibility/ProxyProvider.js +305 -0
  35. package/es-modules/Accessibility/Utils/Announcer.js +15 -8
  36. package/es-modules/Accessibility/Utils/ChartUtilities.js +41 -16
  37. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  38. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  39. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -30
  40. package/es-modules/Core/Axis/Axis.js +37 -30
  41. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  42. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +54 -4
  43. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  44. package/es-modules/Core/Axis/OrdinalAxis.js +8 -12
  45. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +10 -3
  47. package/es-modules/Core/Axis/TreeGridAxis.js +2 -2
  48. package/es-modules/Core/Axis/TreeGridTick.js +1 -2
  49. package/es-modules/Core/Chart/Chart.js +2 -3
  50. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  51. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  52. package/es-modules/Core/Chart/MapChart.js +10 -22
  53. package/es-modules/Core/Chart/StockChart.js +3 -293
  54. package/es-modules/Core/Color/Palettes.js +22 -0
  55. package/es-modules/Core/DefaultOptions.js +19 -17
  56. package/es-modules/Core/Foundation.js +39 -31
  57. package/es-modules/Core/Globals.js +1 -1
  58. package/es-modules/Core/HttpUtilities.js +3 -3
  59. package/es-modules/Core/Legend/Legend.js +7 -3
  60. package/es-modules/Core/Navigator.js +7 -8
  61. package/es-modules/Core/Pointer.js +39 -36
  62. package/es-modules/Core/Renderer/HTML/AST.js +2 -0
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +23 -18
  64. package/es-modules/Core/Renderer/SVG/SVGElement.js +3 -4
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -18
  66. package/es-modules/Core/Renderer/SVG/TextBuilder.js +3 -3
  67. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  68. package/es-modules/Core/Series/DataLabel.js +2 -3
  69. package/es-modules/Core/Series/Point.js +5 -3
  70. package/es-modules/Core/Series/Series.js +153 -162
  71. package/es-modules/Core/Series/SeriesDefaults.js +3 -4
  72. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  73. package/es-modules/Core/Tooltip.js +44 -17
  74. package/es-modules/Core/Utilities.js +15 -7
  75. package/es-modules/Data/DataConverter.js +489 -0
  76. package/es-modules/Data/DataPromise.js +252 -0
  77. package/es-modules/Data/DataSeriesConverter.js +203 -0
  78. package/es-modules/Data/DataTable.js +1204 -0
  79. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  80. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  81. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  82. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  83. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  85. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  86. package/es-modules/Data/Parsers/CSVParser.js +399 -0
  87. package/es-modules/Data/Parsers/DataParser.js +101 -0
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +220 -0
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  90. package/es-modules/Data/Stores/CSVStore.js +317 -0
  91. package/es-modules/Data/Stores/DataStore.js +276 -0
  92. package/es-modules/Data/Stores/GoogleSheetsStore.js +167 -0
  93. package/es-modules/Data/Stores/HTMLTableStore.js +351 -0
  94. package/es-modules/Extensions/Annotations/Annotations.js +61 -11
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  97. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +7 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +68 -19
  99. package/es-modules/Extensions/Annotations/Popup.js +479 -141
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +1 -1
  102. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  103. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  104. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  105. package/es-modules/Extensions/Annotations/Types/Measure.js +14 -8
  106. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +5 -5
  107. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +207 -0
  108. package/es-modules/Extensions/Annotations/Types/Tunnel.js +3 -5
  109. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  110. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -1
  111. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  112. package/es-modules/Extensions/BoostCanvas.js +1 -2
  113. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  114. package/es-modules/Extensions/DataGrouping.js +31 -18
  115. package/es-modules/Extensions/DownloadURL.js +2 -2
  116. package/es-modules/Extensions/DragPanes.js +1 -2
  117. package/es-modules/Extensions/Drilldown.js +2 -3
  118. package/es-modules/Extensions/Exporting/Exporting.js +8 -7
  119. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  120. package/es-modules/Extensions/GeoJSON.js +39 -63
  121. package/es-modules/Extensions/MarkerClusters.js +115 -97
  122. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  123. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +9 -8
  124. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  125. package/es-modules/Extensions/Oldie/Oldie.js +2 -3
  126. package/es-modules/Extensions/Pane.js +5 -6
  127. package/es-modules/Extensions/RangeSelector.js +3 -4
  128. package/es-modules/Extensions/Sonification/ChartSonify.js +247 -637
  129. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  130. package/es-modules/Extensions/Sonification/Instrument.js +496 -426
  131. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  132. package/es-modules/Extensions/Sonification/Options.js +10 -0
  133. package/es-modules/Extensions/Sonification/PointSonify.js +203 -152
  134. package/es-modules/Extensions/Sonification/SeriesSonify.js +459 -0
  135. package/es-modules/Extensions/Sonification/SignalHandler.js +124 -0
  136. package/es-modules/Extensions/Sonification/Sonification.js +26 -52
  137. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +62 -84
  138. package/es-modules/Extensions/Sonification/Timeline.js +255 -567
  139. package/es-modules/Extensions/Sonification/TimelineEvent.js +158 -0
  140. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  141. package/es-modules/Maps/MapNavigation.js +27 -64
  142. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  143. package/es-modules/Maps/MapPointer.js +7 -5
  144. package/es-modules/Maps/MapView.js +450 -0
  145. package/es-modules/Maps/MapViewOptionsDefault.js +95 -0
  146. package/es-modules/Maps/Projection.js +433 -0
  147. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  148. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  149. package/es-modules/Maps/Projections/Miller.js +17 -0
  150. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  151. package/es-modules/Maps/Projections/ProjectionRegistry.js +17 -0
  152. package/es-modules/Maps/Projections/WebMercator.js +25 -0
  153. package/es-modules/Series/AreaRange/AreaRangeSeries.js +4 -5
  154. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -8
  155. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  156. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  157. package/es-modules/Series/Bubble/BubbleLegendItem.js +3 -3
  158. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  159. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  160. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -18
  161. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  162. package/es-modules/Series/ColorMapComposition.js +109 -0
  163. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  164. package/es-modules/Series/Column/ColumnSeries.js +3 -4
  165. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +6 -6
  166. package/es-modules/Series/DataModifyComposition.js +539 -0
  167. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  168. package/es-modules/Series/DerivedComposition.js +137 -0
  169. package/es-modules/Series/DrawPointComposition.js +111 -0
  170. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -3
  171. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  172. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  173. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  174. package/es-modules/Series/Gantt/GanttSeries.js +0 -2
  175. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  176. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  177. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  178. package/es-modules/Series/HLC/HLCSeries.js +383 -0
  179. package/es-modules/Series/Heatmap/HeatmapPoint.js +3 -4
  180. package/es-modules/Series/Heatmap/HeatmapSeries.js +19 -6
  181. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +2 -3
  182. package/es-modules/Series/Histogram/HistogramSeries.js +3 -7
  183. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +9 -10
  184. package/es-modules/Series/Line/LineSeries.js +1 -2
  185. package/es-modules/Series/Map/MapPoint.js +23 -16
  186. package/es-modules/Series/Map/MapSeries.js +268 -309
  187. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  188. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  189. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  190. package/es-modules/Series/MapPoint/MapPointSeries.js +87 -4
  191. package/es-modules/Series/Networkgraph/Networkgraph.js +5 -5
  192. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +76 -29
  193. package/es-modules/Series/OHLC/OHLCPoint.js +2 -6
  194. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  195. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  196. package/es-modules/Series/Organization/OrganizationSeries.js +2 -3
  197. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +46 -6
  198. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  199. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  200. package/es-modules/Series/Pie/PieSeries.js +6 -7
  201. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  202. package/es-modules/Series/Sankey/SankeySeries.js +89 -20
  203. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  204. package/es-modules/Series/Sunburst/SunburstSeries.js +4 -4
  205. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -3
  206. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  207. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +86 -76
  208. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  209. package/es-modules/Series/Treemap/TreemapSeries.js +8 -8
  210. package/es-modules/Series/Venn/VennPoint.js +16 -7
  211. package/es-modules/Series/Venn/VennSeries.js +5 -8
  212. package/es-modules/Series/Venn/VennUtils.js +550 -439
  213. package/es-modules/Series/Waterfall/WaterfallSeries.js +2 -3
  214. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  215. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  216. package/es-modules/Series/Wordcloud/WordcloudSeries.js +24 -20
  217. package/es-modules/Series/Wordcloud/WordcloudUtils.js +673 -484
  218. package/es-modules/Series/XRange/XRangePoint.js +1 -0
  219. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -6
  220. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  221. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  222. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -6
  223. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  224. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  225. package/es-modules/Stock/Indicators/BB/BBIndicator.js +27 -11
  226. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  227. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  228. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +19 -11
  229. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +17 -11
  230. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  231. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +11 -9
  232. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -16
  233. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +2 -2
  234. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  235. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  236. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  237. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -2
  238. package/es-modules/{Mixins/MultipleLines.js → Stock/Indicators/MultipleLinesComposition.js} +136 -87
  239. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  240. package/es-modules/Stock/Indicators/PC/PCIndicator.js +14 -13
  241. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  242. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  243. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +9 -32
  244. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  245. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -8
  246. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  247. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  248. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  249. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +20 -3
  250. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  251. package/es-modules/Stock/StockToolsBindings.js +144 -42
  252. package/es-modules/Stock/StockToolsGui.js +405 -11
  253. package/es-modules/masters/highcharts-3d.src.js +1 -1
  254. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  255. package/es-modules/masters/highcharts-more.src.js +1 -1
  256. package/es-modules/masters/highcharts.src.js +1 -1
  257. package/es-modules/masters/highmaps.src.js +1 -1
  258. package/es-modules/masters/highstock.src.js +1 -1
  259. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  260. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  261. package/es-modules/masters/indicators/ao.src.js +1 -1
  262. package/es-modules/masters/indicators/apo.src.js +1 -1
  263. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  264. package/es-modules/masters/indicators/aroon.src.js +1 -1
  265. package/es-modules/masters/indicators/atr.src.js +1 -1
  266. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  267. package/es-modules/masters/indicators/cci.src.js +1 -1
  268. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  269. package/es-modules/masters/indicators/cmf.src.js +1 -1
  270. package/es-modules/masters/indicators/cmo.src.js +1 -1
  271. package/es-modules/masters/indicators/dema.src.js +1 -1
  272. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  273. package/es-modules/masters/indicators/dmi.src.js +1 -1
  274. package/es-modules/masters/indicators/dpo.src.js +1 -1
  275. package/es-modules/masters/indicators/ema.src.js +4 -10
  276. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  277. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  278. package/es-modules/masters/indicators/indicators.src.js +2 -1
  279. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  280. package/es-modules/masters/indicators/klinger.src.js +1 -1
  281. package/es-modules/masters/indicators/macd.src.js +1 -1
  282. package/es-modules/masters/indicators/mfi.src.js +1 -1
  283. package/es-modules/masters/indicators/momentum.src.js +1 -1
  284. package/es-modules/masters/indicators/natr.src.js +1 -1
  285. package/es-modules/masters/indicators/obv.src.js +1 -1
  286. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  287. package/es-modules/masters/indicators/ppo.src.js +1 -1
  288. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  289. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  290. package/es-modules/masters/indicators/psar.src.js +1 -1
  291. package/es-modules/masters/indicators/regressions.src.js +1 -1
  292. package/es-modules/masters/indicators/roc.src.js +1 -1
  293. package/es-modules/masters/indicators/rsi.src.js +1 -1
  294. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  295. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  296. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  297. package/es-modules/masters/indicators/tema.src.js +1 -1
  298. package/es-modules/masters/indicators/trendline.src.js +1 -1
  299. package/es-modules/masters/indicators/trix.src.js +1 -1
  300. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  301. package/es-modules/masters/indicators/vwap.src.js +1 -1
  302. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  303. package/es-modules/masters/indicators/wma.src.js +1 -1
  304. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  305. package/es-modules/masters/modules/accessibility.src.js +16 -2
  306. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  307. package/es-modules/masters/modules/annotations.src.js +1 -1
  308. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  309. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  310. package/es-modules/masters/modules/boost.src.js +1 -1
  311. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  312. package/es-modules/masters/modules/bullet.src.js +1 -1
  313. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  314. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  315. package/es-modules/masters/modules/cylinder.src.js +1 -1
  316. package/es-modules/masters/modules/data.src.js +6 -3
  317. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  318. package/es-modules/masters/modules/debugger.src.js +1 -1
  319. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  320. package/es-modules/masters/modules/dotplot.src.js +1 -1
  321. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  322. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  323. package/es-modules/masters/modules/drilldown.src.js +1 -1
  324. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  325. package/es-modules/masters/modules/export-data.src.js +1 -1
  326. package/es-modules/masters/modules/exporting.src.js +1 -1
  327. package/es-modules/masters/modules/full-screen.src.js +1 -1
  328. package/es-modules/masters/modules/funnel.src.js +1 -1
  329. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  330. package/es-modules/masters/modules/gantt.src.js +1 -1
  331. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  332. package/es-modules/masters/modules/heatmap.src.js +1 -2
  333. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  334. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  335. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  336. package/es-modules/masters/modules/item-series.src.js +1 -1
  337. package/es-modules/masters/modules/lollipop.src.js +1 -1
  338. package/es-modules/masters/modules/map.src.js +1 -3
  339. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  340. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  341. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  342. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  343. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  344. package/es-modules/masters/modules/oldie.src.js +1 -1
  345. package/es-modules/masters/modules/organization.src.js +1 -1
  346. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  347. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  348. package/es-modules/masters/modules/pareto.src.js +1 -1
  349. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  350. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  351. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  352. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  353. package/es-modules/masters/modules/sankey.src.js +1 -1
  354. package/es-modules/masters/modules/series-label.src.js +1 -1
  355. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  356. package/es-modules/masters/modules/sonification.src.js +33 -2
  357. package/es-modules/masters/modules/static-scale.src.js +1 -1
  358. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  359. package/es-modules/masters/modules/stock.src.js +4 -1
  360. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  361. package/es-modules/masters/modules/sunburst.src.js +1 -1
  362. package/es-modules/masters/modules/tilemap.src.js +1 -1
  363. package/es-modules/masters/modules/timeline.src.js +1 -1
  364. package/es-modules/masters/modules/treegrid.src.js +1 -1
  365. package/es-modules/masters/modules/treemap.src.js +1 -1
  366. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  367. package/es-modules/masters/modules/variwide.src.js +1 -1
  368. package/es-modules/masters/modules/vector.src.js +1 -1
  369. package/es-modules/masters/modules/venn.src.js +1 -1
  370. package/es-modules/masters/modules/windbarb.src.js +1 -1
  371. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  372. package/es-modules/masters/modules/xrange.src.js +1 -1
  373. package/es-modules/masters/themes/avocado.src.js +1 -1
  374. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  375. package/es-modules/masters/themes/dark-green.src.js +1 -1
  376. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  377. package/es-modules/masters/themes/gray.src.js +1 -1
  378. package/es-modules/masters/themes/grid-light.src.js +1 -1
  379. package/es-modules/masters/themes/grid.src.js +1 -1
  380. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  381. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  382. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  383. package/es-modules/masters/themes/skies.src.js +1 -1
  384. package/es-modules/masters/themes/sunset.src.js +1 -1
  385. package/highcharts-3d.js +1 -1
  386. package/highcharts-3d.src.js +1 -1
  387. package/highcharts-gantt.js +801 -804
  388. package/highcharts-gantt.js.map +1 -1
  389. package/highcharts-gantt.src.js +775 -739
  390. package/highcharts-more.js +194 -193
  391. package/highcharts-more.js.map +1 -1
  392. package/highcharts-more.src.js +207 -119
  393. package/highcharts.d.ts +9670 -4217
  394. package/highcharts.js +585 -588
  395. package/highcharts.js.map +1 -1
  396. package/highcharts.src.d.ts +9670 -4217
  397. package/highcharts.src.js +608 -587
  398. package/highmaps.js +726 -708
  399. package/highmaps.js.map +1 -1
  400. package/highmaps.src.js +2708 -1587
  401. package/highstock.js +788 -783
  402. package/highstock.js.map +1 -1
  403. package/highstock.src.js +1896 -1267
  404. package/indicators/acceleration-bands.js +10 -9
  405. package/indicators/acceleration-bands.js.map +1 -1
  406. package/indicators/acceleration-bands.src.js +156 -112
  407. package/indicators/accumulation-distribution.js +1 -1
  408. package/indicators/accumulation-distribution.src.js +1 -1
  409. package/indicators/ao.js +6 -6
  410. package/indicators/ao.js.map +1 -1
  411. package/indicators/ao.src.js +4 -4
  412. package/indicators/apo.js +5 -6
  413. package/indicators/apo.js.map +1 -1
  414. package/indicators/apo.src.js +16 -84
  415. package/indicators/aroon-oscillator.js +9 -9
  416. package/indicators/aroon-oscillator.js.map +1 -1
  417. package/indicators/aroon-oscillator.src.js +160 -177
  418. package/indicators/aroon.js +9 -9
  419. package/indicators/aroon.js.map +1 -1
  420. package/indicators/aroon.src.js +156 -112
  421. package/indicators/atr.js +1 -1
  422. package/indicators/atr.src.js +1 -1
  423. package/indicators/bollinger-bands.js +10 -9
  424. package/indicators/bollinger-bands.js.map +1 -1
  425. package/indicators/bollinger-bands.src.js +180 -117
  426. package/indicators/cci.js +1 -1
  427. package/indicators/cci.src.js +1 -1
  428. package/indicators/chaikin.js +8 -9
  429. package/indicators/chaikin.js.map +1 -1
  430. package/indicators/chaikin.src.js +8 -76
  431. package/indicators/cmf.js +1 -1
  432. package/indicators/cmf.src.js +1 -1
  433. package/indicators/cmo.js +1 -1
  434. package/indicators/cmo.src.js +1 -1
  435. package/indicators/dema.js +5 -6
  436. package/indicators/dema.js.map +1 -1
  437. package/indicators/dema.src.js +3 -75
  438. package/indicators/disparity-index.js +6 -7
  439. package/indicators/disparity-index.js.map +1 -1
  440. package/indicators/disparity-index.src.js +19 -74
  441. package/indicators/dmi.js +11 -11
  442. package/indicators/dmi.js.map +1 -1
  443. package/indicators/dmi.src.js +173 -116
  444. package/indicators/dpo.js +1 -1
  445. package/indicators/dpo.src.js +1 -1
  446. package/indicators/ema.js +1 -13
  447. package/indicators/ema.js.map +1 -1
  448. package/indicators/ema.src.js +7 -188
  449. package/indicators/ichimoku-kinko-hyo.js +1 -1
  450. package/indicators/ichimoku-kinko-hyo.src.js +1 -1
  451. package/indicators/indicators-all.js +197 -203
  452. package/indicators/indicators-all.js.map +1 -1
  453. package/indicators/indicators-all.src.js +649 -720
  454. package/indicators/indicators.js +12 -12
  455. package/indicators/indicators.js.map +1 -1
  456. package/indicators/indicators.src.js +188 -124
  457. package/indicators/keltner-channels.js +10 -10
  458. package/indicators/keltner-channels.js.map +1 -1
  459. package/indicators/keltner-channels.src.js +164 -118
  460. package/indicators/klinger.js +12 -13
  461. package/indicators/klinger.js.map +1 -1
  462. package/indicators/klinger.src.js +161 -184
  463. package/indicators/macd.js +2 -2
  464. package/indicators/macd.js.map +1 -1
  465. package/indicators/macd.src.js +2 -3
  466. package/indicators/mfi.js +1 -1
  467. package/indicators/mfi.src.js +1 -1
  468. package/indicators/momentum.js +1 -1
  469. package/indicators/momentum.src.js +1 -1
  470. package/indicators/natr.js +3 -3
  471. package/indicators/natr.js.map +1 -1
  472. package/indicators/natr.src.js +2 -4
  473. package/indicators/obv.js +1 -1
  474. package/indicators/obv.src.js +1 -1
  475. package/indicators/pivot-points.js +1 -1
  476. package/indicators/pivot-points.src.js +1 -1
  477. package/indicators/ppo.js +5 -6
  478. package/indicators/ppo.js.map +1 -1
  479. package/indicators/ppo.src.js +3 -75
  480. package/indicators/price-channel.js +9 -9
  481. package/indicators/price-channel.js.map +1 -1
  482. package/indicators/price-channel.src.js +207 -168
  483. package/indicators/price-envelopes.js +1 -1
  484. package/indicators/price-envelopes.src.js +1 -1
  485. package/indicators/psar.js +1 -1
  486. package/indicators/psar.src.js +1 -1
  487. package/indicators/regressions.js +1 -1
  488. package/indicators/regressions.src.js +9 -9
  489. package/indicators/roc.js +1 -1
  490. package/indicators/roc.src.js +1 -1
  491. package/indicators/rsi.js +1 -1
  492. package/indicators/rsi.src.js +1 -1
  493. package/indicators/slow-stochastic.js +5 -6
  494. package/indicators/slow-stochastic.js.map +1 -1
  495. package/indicators/slow-stochastic.src.js +2 -72
  496. package/indicators/stochastic.js +10 -10
  497. package/indicators/stochastic.js.map +1 -1
  498. package/indicators/stochastic.src.js +209 -164
  499. package/indicators/supertrend.js +10 -10
  500. package/indicators/supertrend.js.map +1 -1
  501. package/indicators/supertrend.src.js +6 -7
  502. package/indicators/tema.js +6 -7
  503. package/indicators/tema.js.map +1 -1
  504. package/indicators/tema.src.js +28 -75
  505. package/indicators/trendline.js +1 -1
  506. package/indicators/trendline.src.js +1 -1
  507. package/indicators/trix.js +4 -5
  508. package/indicators/trix.js.map +1 -1
  509. package/indicators/trix.src.js +8 -76
  510. package/indicators/volume-by-price.js +16 -16
  511. package/indicators/volume-by-price.js.map +1 -1
  512. package/indicators/volume-by-price.src.js +21 -3
  513. package/indicators/vwap.js +1 -1
  514. package/indicators/vwap.src.js +1 -1
  515. package/indicators/williams-r.js +5 -6
  516. package/indicators/williams-r.js.map +1 -1
  517. package/indicators/williams-r.src.js +41 -51
  518. package/indicators/wma.js +1 -1
  519. package/indicators/wma.src.js +1 -1
  520. package/indicators/zigzag.js +1 -1
  521. package/indicators/zigzag.src.js +1 -1
  522. package/modules/accessibility.d.ts +5 -0
  523. package/modules/accessibility.js +234 -216
  524. package/modules/accessibility.js.map +1 -1
  525. package/modules/accessibility.src.d.ts +5 -0
  526. package/modules/accessibility.src.js +9709 -8608
  527. package/modules/annotations-advanced.d.ts +30 -0
  528. package/modules/annotations-advanced.js +191 -165
  529. package/modules/annotations-advanced.js.map +1 -1
  530. package/modules/annotations-advanced.src.d.ts +30 -0
  531. package/modules/annotations-advanced.src.js +1578 -320
  532. package/modules/annotations.js +121 -107
  533. package/modules/annotations.js.map +1 -1
  534. package/modules/annotations.src.js +958 -229
  535. package/modules/arrow-symbols.js +1 -1
  536. package/modules/arrow-symbols.src.js +1 -1
  537. package/modules/boost-canvas.js +15 -15
  538. package/modules/boost-canvas.js.map +1 -1
  539. package/modules/boost-canvas.src.js +3 -3
  540. package/modules/boost.js +79 -79
  541. package/modules/boost.js.map +1 -1
  542. package/modules/boost.src.js +10 -9
  543. package/modules/broken-axis.js +1 -1
  544. package/modules/broken-axis.src.js +1 -1
  545. package/modules/bullet.js +1 -1
  546. package/modules/bullet.src.js +1 -1
  547. package/modules/coloraxis.js +24 -24
  548. package/modules/coloraxis.js.map +1 -1
  549. package/modules/coloraxis.src.js +69 -98
  550. package/modules/current-date-indicator.js +4 -4
  551. package/modules/current-date-indicator.js.map +1 -1
  552. package/modules/current-date-indicator.src.js +4 -4
  553. package/modules/cylinder.js +1 -1
  554. package/modules/cylinder.src.js +1 -1
  555. package/modules/data.js +19 -19
  556. package/modules/data.js.map +1 -1
  557. package/modules/data.src.js +9 -6
  558. package/modules/datagrouping.js +20 -20
  559. package/modules/datagrouping.js.map +1 -1
  560. package/modules/datagrouping.src.js +33 -19
  561. package/modules/debugger.js +1 -1
  562. package/modules/debugger.src.js +1 -1
  563. package/modules/dependency-wheel.js +11 -11
  564. package/modules/dependency-wheel.js.map +1 -1
  565. package/modules/dependency-wheel.src.js +4 -7
  566. package/modules/dotplot.js +1 -1
  567. package/modules/dotplot.src.js +1 -1
  568. package/modules/drag-panes.js +8 -8
  569. package/modules/drag-panes.js.map +1 -1
  570. package/modules/drag-panes.src.js +3 -3
  571. package/modules/draggable-points.js +1 -1
  572. package/modules/draggable-points.src.js +1 -1
  573. package/modules/drilldown.js +24 -24
  574. package/modules/drilldown.js.map +1 -1
  575. package/modules/drilldown.src.js +4 -4
  576. package/modules/dumbbell.js +17 -17
  577. package/modules/dumbbell.js.map +1 -1
  578. package/modules/dumbbell.src.js +4 -4
  579. package/modules/export-data.js +1 -1
  580. package/modules/export-data.js.map +1 -1
  581. package/modules/export-data.src.js +3 -3
  582. package/modules/exporting.js +39 -38
  583. package/modules/exporting.js.map +1 -1
  584. package/modules/exporting.src.js +98 -67
  585. package/modules/full-screen.js +1 -1
  586. package/modules/full-screen.src.js +1 -1
  587. package/modules/funnel.js +12 -12
  588. package/modules/funnel.js.map +1 -1
  589. package/modules/funnel.src.js +9 -6
  590. package/modules/funnel3d.js +1 -1
  591. package/modules/funnel3d.src.js +1 -1
  592. package/modules/gantt.js +217 -218
  593. package/modules/gantt.js.map +1 -1
  594. package/modules/gantt.src.js +167 -152
  595. package/modules/grid-axis.js +1 -1
  596. package/modules/grid-axis.src.js +1 -1
  597. package/modules/heatmap.js +39 -39
  598. package/modules/heatmap.js.map +1 -1
  599. package/modules/heatmap.src.js +177 -162
  600. package/modules/heikinashi.js +1 -1
  601. package/modules/heikinashi.src.js +4 -4
  602. package/modules/histogram-bellcurve.js +13 -13
  603. package/modules/histogram-bellcurve.js.map +1 -1
  604. package/modules/histogram-bellcurve.src.js +91 -86
  605. package/modules/hollowcandlestick.js +9 -9
  606. package/modules/hollowcandlestick.js.map +1 -1
  607. package/modules/hollowcandlestick.src.js +11 -11
  608. package/modules/item-series.js +1 -1
  609. package/modules/item-series.src.js +1 -1
  610. package/modules/lollipop.js +1 -1
  611. package/modules/lollipop.src.js +1 -1
  612. package/modules/map.d.ts +136 -14
  613. package/modules/map.js +142 -122
  614. package/modules/map.js.map +1 -1
  615. package/modules/map.src.d.ts +136 -14
  616. package/modules/map.src.js +2129 -1029
  617. package/modules/marker-clusters.js +36 -36
  618. package/modules/marker-clusters.js.map +1 -1
  619. package/modules/marker-clusters.src.js +173 -142
  620. package/modules/networkgraph.d.ts +12 -1
  621. package/modules/networkgraph.js +49 -49
  622. package/modules/networkgraph.js.map +1 -1
  623. package/modules/networkgraph.src.d.ts +12 -1
  624. package/modules/networkgraph.src.js +91 -43
  625. package/modules/no-data-to-display.js +5 -5
  626. package/modules/no-data-to-display.js.map +1 -1
  627. package/modules/no-data-to-display.src.js +3 -3
  628. package/modules/offline-exporting.js +17 -17
  629. package/modules/offline-exporting.js.map +1 -1
  630. package/modules/offline-exporting.src.js +13 -13
  631. package/modules/oldie-polyfills.js +1 -1
  632. package/modules/oldie-polyfills.src.js +1 -1
  633. package/modules/oldie.js +26 -26
  634. package/modules/oldie.js.map +1 -1
  635. package/modules/oldie.src.js +4 -4
  636. package/modules/organization.js +13 -13
  637. package/modules/organization.js.map +1 -1
  638. package/modules/organization.src.js +4 -4
  639. package/modules/overlapping-datalabels.js +1 -1
  640. package/modules/overlapping-datalabels.src.js +1 -1
  641. package/modules/parallel-coordinates.js +1 -1
  642. package/modules/parallel-coordinates.src.js +1 -1
  643. package/modules/pareto.js +7 -7
  644. package/modules/pareto.js.map +1 -1
  645. package/modules/pareto.src.js +89 -78
  646. package/modules/pathfinder.js +1 -1
  647. package/modules/pathfinder.src.js +1 -1
  648. package/modules/pattern-fill.js +1 -1
  649. package/modules/pattern-fill.src.js +1 -1
  650. package/modules/price-indicator.js +1 -1
  651. package/modules/price-indicator.src.js +1 -1
  652. package/modules/pyramid3d.js +1 -1
  653. package/modules/pyramid3d.src.js +1 -1
  654. package/modules/sankey.d.ts +12 -1
  655. package/modules/sankey.js +29 -29
  656. package/modules/sankey.js.map +1 -1
  657. package/modules/sankey.src.d.ts +12 -1
  658. package/modules/sankey.src.js +300 -176
  659. package/modules/series-label.js +1 -1
  660. package/modules/series-label.src.js +1 -1
  661. package/modules/solid-gauge.js +1 -1
  662. package/modules/solid-gauge.src.js +1 -1
  663. package/modules/sonification.js +59 -55
  664. package/modules/sonification.js.map +1 -1
  665. package/modules/sonification.src.js +3034 -2553
  666. package/modules/static-scale.js +1 -1
  667. package/modules/static-scale.src.js +1 -1
  668. package/modules/stock-tools.js +177 -164
  669. package/modules/stock-tools.js.map +1 -1
  670. package/modules/stock-tools.src.js +1001 -131
  671. package/modules/stock.d.ts +39 -6
  672. package/modules/stock.js +204 -196
  673. package/modules/stock.js.map +1 -1
  674. package/modules/stock.src.d.ts +39 -6
  675. package/modules/stock.src.js +1689 -1081
  676. package/modules/streamgraph.js +1 -1
  677. package/modules/streamgraph.src.js +1 -1
  678. package/modules/sunburst.js +61 -60
  679. package/modules/sunburst.js.map +1 -1
  680. package/modules/sunburst.src.js +329 -266
  681. package/modules/tilemap.js +17 -17
  682. package/modules/tilemap.js.map +1 -1
  683. package/modules/tilemap.src.js +3 -4
  684. package/modules/timeline.js +18 -18
  685. package/modules/timeline.js.map +1 -1
  686. package/modules/timeline.src.js +5 -5
  687. package/modules/treegrid.js +56 -57
  688. package/modules/treegrid.js.map +1 -1
  689. package/modules/treegrid.src.js +126 -120
  690. package/modules/treemap.js +41 -41
  691. package/modules/treemap.js.map +1 -1
  692. package/modules/treemap.src.js +319 -254
  693. package/modules/variable-pie.js +1 -1
  694. package/modules/variable-pie.src.js +1 -1
  695. package/modules/variwide.js +1 -1
  696. package/modules/variwide.src.js +1 -1
  697. package/modules/vector.js +1 -1
  698. package/modules/vector.src.js +1 -1
  699. package/modules/venn.js +31 -31
  700. package/modules/venn.js.map +1 -1
  701. package/modules/venn.src.js +731 -721
  702. package/modules/windbarb.js +15 -15
  703. package/modules/windbarb.js.map +1 -1
  704. package/modules/windbarb.src.js +90 -62
  705. package/modules/wordcloud.js +23 -24
  706. package/modules/wordcloud.js.map +1 -1
  707. package/modules/wordcloud.src.js +897 -949
  708. package/modules/xrange.js +2 -2
  709. package/modules/xrange.js.map +1 -1
  710. package/modules/xrange.src.js +2 -1
  711. package/package.json +1 -1
  712. package/themes/avocado.js +1 -1
  713. package/themes/avocado.src.js +1 -1
  714. package/themes/dark-blue.js +1 -1
  715. package/themes/dark-blue.src.js +1 -1
  716. package/themes/dark-green.js +1 -1
  717. package/themes/dark-green.src.js +1 -1
  718. package/themes/dark-unica.js +1 -1
  719. package/themes/dark-unica.src.js +1 -1
  720. package/themes/gray.js +1 -1
  721. package/themes/gray.src.js +1 -1
  722. package/themes/grid-light.js +1 -1
  723. package/themes/grid-light.src.js +1 -1
  724. package/themes/grid.js +1 -1
  725. package/themes/grid.src.js +1 -1
  726. package/themes/high-contrast-dark.js +1 -1
  727. package/themes/high-contrast-dark.src.js +1 -1
  728. package/themes/high-contrast-light.js +1 -1
  729. package/themes/high-contrast-light.src.js +1 -1
  730. package/themes/sand-signika.js +1 -1
  731. package/themes/sand-signika.src.js +1 -1
  732. package/themes/skies.js +1 -1
  733. package/themes/skies.src.js +1 -1
  734. package/themes/sunset.js +1 -1
  735. package/themes/sunset.src.js +1 -1
  736. package/es-modules/Core/Axis/MapAxis.js +0 -157
  737. package/es-modules/Core/Color/Palette.js +0 -82
  738. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  739. package/es-modules/Mixins/ColorMapSeries.js +0 -82
  740. package/es-modules/Mixins/ColorSeries.js +0 -77
  741. package/es-modules/Mixins/DerivedSeries.js +0 -118
  742. package/es-modules/Mixins/DrawPoint.js +0 -81
  743. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  744. package/es-modules/Mixins/Navigation.js +0 -54
  745. package/es-modules/Mixins/NelderMead.js +0 -132
  746. package/es-modules/Mixins/Polygon.js +0 -259
  747. package/es-modules/Mixins/ReduceArray.js +0 -54
@@ -21,15 +21,18 @@ var __extends = (this && this.__extends) || (function () {
21
21
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
22
22
  };
23
23
  })();
24
- import ColorMapMixin from '../../Mixins/ColorMapSeries.js';
25
- var colorMapSeriesMixin = ColorMapMixin.colorMapSeriesMixin;
24
+ import A from '../../Core/Animation/AnimationUtilities.js';
25
+ var animObject = A.animObject;
26
+ import ColorMapComposition from '../ColorMapComposition.js';
27
+ var colorMapSeriesMixin = ColorMapComposition.colorMapSeriesMixin;
28
+ import CU from '../CenteredUtilities.js';
26
29
  import H from '../../Core/Globals.js';
27
30
  var noop = H.noop;
28
31
  import LegendSymbol from '../../Core/Legend/LegendSymbol.js';
29
32
  import MapChart from '../../Core/Chart/MapChart.js';
30
33
  var maps = MapChart.maps, splitPath = MapChart.splitPath;
31
34
  import MapPoint from './MapPoint.js';
32
- import palette from '../../Core/Color/Palette.js';
35
+ import MapView from '../../Maps/MapView.js';
33
36
  import Series from '../../Core/Series/Series.js';
34
37
  import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
35
38
  var
@@ -59,12 +62,6 @@ var MapSeries = /** @class */ (function (_super) {
59
62
  *
60
63
  * */
61
64
  var _this = _super !== null && _super.apply(this, arguments) || this;
62
- /* *
63
- *
64
- * Properties
65
- *
66
- * */
67
- _this.baseTrans = void 0;
68
65
  _this.chart = void 0;
69
66
  _this.data = void 0;
70
67
  _this.group = void 0;
@@ -88,19 +85,14 @@ var MapSeries = /** @class */ (function (_super) {
88
85
  * @private
89
86
  */
90
87
  MapSeries.prototype.animate = function (init) {
91
- var chart = this.chart, animation = this.options.animation, group = this.group, xAxis = this.xAxis, yAxis = this.yAxis, left = xAxis.pos, top = yAxis.pos;
88
+ var _a = this, chart = _a.chart, group = _a.group, animation = animObject(this.options.animation);
92
89
  if (chart.renderer.isSVG) {
93
- if (animation === true) {
94
- animation = {
95
- duration: 1000
96
- };
97
- }
98
90
  // Initialize the animation
99
91
  if (init) {
100
92
  // Scale down the group and place it in the center
101
93
  group.attr({
102
- translateX: left + xAxis.len / 2,
103
- translateY: top + yAxis.len / 2,
94
+ translateX: chart.plotLeft + chart.plotWidth / 2,
95
+ translateY: chart.plotTop + chart.plotHeight / 2,
104
96
  scaleX: 0.001,
105
97
  scaleY: 0.001
106
98
  });
@@ -108,8 +100,8 @@ var MapSeries = /** @class */ (function (_super) {
108
100
  }
109
101
  else {
110
102
  group.animate({
111
- translateX: left,
112
- translateY: top,
103
+ translateX: chart.plotLeft,
104
+ translateY: chart.plotTop,
113
105
  scaleX: 1,
114
106
  scaleY: 1
115
107
  }, animation);
@@ -117,32 +109,34 @@ var MapSeries = /** @class */ (function (_super) {
117
109
  }
118
110
  };
119
111
  /**
120
- * Animate in the new series from the clicked point in the old series.
121
- * Depends on the drilldown.js module
112
+ * Animate in the new series. Depends on the drilldown.js module.
122
113
  * @private
123
114
  */
124
115
  MapSeries.prototype.animateDrilldown = function (init) {
125
- var toBox = this.chart.plotBox, level = this.chart.drilldownLevels[this.chart.drilldownLevels.length - 1], fromBox = level.bBox, animationOptions = this.chart.options.drilldown.animation, scale;
126
- if (!init) {
127
- scale = Math.min(fromBox.width / toBox.width, fromBox.height / toBox.height);
128
- level.shapeArgs = {
129
- scaleX: scale,
130
- scaleY: scale,
131
- translateX: fromBox.x,
132
- translateY: fromBox.y
133
- };
134
- this.points.forEach(function (point) {
135
- if (point.graphic) {
136
- point.graphic
137
- .attr(level.shapeArgs)
138
- .animate({
139
- scaleX: 1,
140
- scaleY: 1,
141
- translateX: 0,
142
- translateY: 0
143
- }, animationOptions);
144
- }
145
- });
116
+ var chart = this.chart, group = this.group;
117
+ if (chart.renderer.isSVG) {
118
+ // Initialize the animation
119
+ if (init) {
120
+ // Scale down the group and place it in the center. This is a
121
+ // regression from <= v9.2, when it animated from the old point.
122
+ group.attr({
123
+ translateX: chart.plotLeft + chart.plotWidth / 2,
124
+ translateY: chart.plotTop + chart.plotHeight / 2,
125
+ scaleX: 0.1,
126
+ scaleY: 0.1,
127
+ opacity: 0.01
128
+ });
129
+ // Run the animation
130
+ }
131
+ else {
132
+ group.animate({
133
+ translateX: chart.plotLeft,
134
+ translateY: chart.plotTop,
135
+ scaleX: 1,
136
+ scaleY: 1,
137
+ opacity: 1
138
+ });
139
+ }
146
140
  }
147
141
  };
148
142
  /**
@@ -150,8 +144,17 @@ var MapSeries = /** @class */ (function (_super) {
150
144
  * series and animate them into the origin point in the upper series.
151
145
  * @private
152
146
  */
153
- MapSeries.prototype.animateDrillupFrom = function (level) {
154
- ColumnSeries.prototype.animateDrillupFrom.call(this, level);
147
+ MapSeries.prototype.animateDrillupFrom = function () {
148
+ var chart = this.chart;
149
+ if (chart.renderer.isSVG) {
150
+ this.group.animate({
151
+ translateX: chart.plotLeft + chart.plotWidth / 2,
152
+ translateY: chart.plotTop + chart.plotHeight / 2,
153
+ scaleX: 0.1,
154
+ scaleY: 0.1,
155
+ opacity: 0.01
156
+ });
157
+ }
155
158
  };
156
159
  /**
157
160
  * When drilling up, keep the upper series invisible until the lower series
@@ -161,16 +164,23 @@ var MapSeries = /** @class */ (function (_super) {
161
164
  MapSeries.prototype.animateDrillupTo = function (init) {
162
165
  ColumnSeries.prototype.animateDrillupTo.call(this, init);
163
166
  };
167
+ MapSeries.prototype.clearBounds = function () {
168
+ this.points.forEach(function (point) {
169
+ delete point.bounds;
170
+ delete point.projectedPath;
171
+ });
172
+ delete this.bounds;
173
+ };
164
174
  /**
165
175
  * Allow a quick redraw by just translating the area group. Used for zooming
166
176
  * and panning in capable browsers.
167
177
  * @private
168
178
  */
169
179
  MapSeries.prototype.doFullTranslate = function () {
170
- return (this.isDirtyData ||
180
+ return Boolean(this.isDirtyData ||
171
181
  this.chart.isResizing ||
172
182
  this.chart.renderer.isVML ||
173
- !this.baseTrans);
183
+ !this.hasRendered);
174
184
  };
175
185
  /**
176
186
  * Draw the data labels. Special for maps is the time that the data labels
@@ -189,35 +199,32 @@ var MapSeries = /** @class */ (function (_super) {
189
199
  * @private
190
200
  */
191
201
  MapSeries.prototype.drawPoints = function () {
192
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, group = series.group, chart = series.chart, renderer = chart.renderer, scaleX, scaleY, translateX, translateY, baseTrans = this.baseTrans, transformGroup, startTranslateX, startTranslateY, startScaleX, startScaleY;
202
+ var _this = this;
203
+ var _a = this, chart = _a.chart, group = _a.group, svgTransform = _a.svgTransform;
204
+ var mapView = chart.mapView, renderer = chart.renderer;
193
205
  // Set a group that handles transform during zooming and panning in
194
206
  // order to preserve clipping on series.group
195
- if (!series.transformGroup) {
196
- series.transformGroup = renderer.g()
197
- .attr({
198
- scaleX: 1,
199
- scaleY: 1
200
- })
201
- .add(group);
202
- series.transformGroup.survive = true;
207
+ if (!this.transformGroup) {
208
+ this.transformGroup = renderer.g().add(group);
209
+ this.transformGroup.survive = true;
203
210
  }
204
211
  // Draw the shapes again
205
- if (series.doFullTranslate()) {
212
+ if (this.doFullTranslate()) {
206
213
  // Individual point actions.
207
214
  if (chart.hasRendered && !chart.styledMode) {
208
- series.points.forEach(function (point) {
215
+ this.points.forEach(function (point) {
209
216
  // Restore state color on update/redraw (#3529)
210
217
  if (point.shapeArgs) {
211
- point.shapeArgs.fill = series.pointAttribs(point, point.state).fill;
218
+ point.shapeArgs.fill = _this.pointAttribs(point, point.state).fill;
212
219
  }
213
220
  });
214
221
  }
215
222
  // Draw them in transformGroup
216
- series.group = series.transformGroup;
217
- ColumnSeries.prototype.drawPoints.apply(series);
218
- series.group = group; // Reset
223
+ this.group = this.transformGroup;
224
+ ColumnSeries.prototype.drawPoints.apply(this);
225
+ this.group = group; // Reset
219
226
  // Add class names
220
- series.points.forEach(function (point) {
227
+ this.points.forEach(function (point) {
221
228
  if (point.graphic) {
222
229
  var className = '';
223
230
  if (point.name) {
@@ -236,47 +243,16 @@ var MapSeries = /** @class */ (function (_super) {
236
243
  }
237
244
  // In styled mode, apply point colors by CSS
238
245
  if (chart.styledMode) {
239
- point.graphic.css(series.pointAttribs(point, point.selected && 'select' || void 0));
246
+ point.graphic.css(_this.pointAttribs(point, point.selected && 'select' || void 0));
240
247
  }
241
248
  }
242
249
  });
243
- // Set the base for later scale-zooming. The originX and originY
244
- // properties are the axis values in the plot area's upper left
245
- // corner.
246
- this.baseTrans = {
247
- originX: (xAxis.min -
248
- xAxis.minPixelPadding / xAxis.transA),
249
- originY: (yAxis.min -
250
- yAxis.minPixelPadding / yAxis.transA +
251
- (yAxis.reversed ? 0 : yAxis.len / yAxis.transA)),
252
- transAX: xAxis.transA,
253
- transAY: yAxis.transA
254
- };
255
- // Reset transformation in case we're doing a full translate
256
- // (#3789)
257
- this.transformGroup.animate({
258
- translateX: 0,
259
- translateY: 0,
260
- scaleX: 1,
261
- scaleY: 1
262
- });
263
- // Just update the scale and transform for better performance
264
250
  }
265
- else {
266
- scaleX = xAxis.transA / baseTrans.transAX;
267
- scaleY = yAxis.transA / baseTrans.transAY;
268
- translateX = xAxis.toPixels(baseTrans.originX, true);
269
- translateY = yAxis.toPixels(baseTrans.originY, true);
270
- // Handle rounding errors in normal view (#3789)
271
- if (scaleX > 0.99 &&
272
- scaleX < 1.01 &&
273
- scaleY > 0.99 &&
274
- scaleY < 1.01) {
275
- scaleX = 1;
276
- scaleY = 1;
277
- translateX = Math.round(translateX);
278
- translateY = Math.round(translateY);
279
- }
251
+ // 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
255
+ );
280
256
  /* Animate or move to the new zoom level. In order to prevent
281
257
  flickering as the different transform components are set out
282
258
  of sync (#5991), we run a fake animator attribute and set
@@ -288,135 +264,103 @@ var MapSeries = /** @class */ (function (_super) {
288
264
  step for each property is performed in the same step. Also,
289
265
  for symbols and for transform properties, it should induce a
290
266
  single updateTransform and symbolAttr call. */
291
- transformGroup = this.transformGroup;
292
- if (chart.renderer.globalAnimation) {
293
- startTranslateX = transformGroup.attr('translateX');
294
- startTranslateY = transformGroup.attr('translateY');
295
- startScaleX = transformGroup.attr('scaleX');
296
- startScaleY = transformGroup.attr('scaleY');
297
- transformGroup
267
+ var scale_1 = svgTransform.scaleX;
268
+ var flipFactor_1 = svgTransform.scaleY > 0 ? 1 : -1;
269
+ var transformGroup_1 = this.transformGroup;
270
+ 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'));
274
+ var step = function (now, fx) {
275
+ 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),
282
+ scaleX: scaleStep,
283
+ scaleY: scaleStep * flipFactor_1
284
+ });
285
+ group.element.setAttribute('stroke-width', strokeWidth_1 / scaleStep);
286
+ };
287
+ transformGroup_1
298
288
  .attr({ animator: 0 })
299
- .animate({
300
- animator: 1
301
- }, {
302
- step: function (now, fx) {
303
- transformGroup.attr({
304
- translateX: (startTranslateX +
305
- (translateX - startTranslateX) * fx.pos),
306
- translateY: (startTranslateY +
307
- (translateY - startTranslateY) * fx.pos),
308
- scaleX: (startScaleX +
309
- (scaleX - startScaleX) *
310
- fx.pos),
311
- scaleY: (startScaleY +
312
- (scaleY - startScaleY) * fx.pos)
313
- });
314
- }
315
- });
316
- // When dragging, animation is off.
289
+ .animate({ animator: 1 }, { step: step });
290
+ // When dragging or first rendering, animation is off
317
291
  }
318
292
  else {
319
- transformGroup.attr({
320
- translateX: translateX,
321
- translateY: translateY,
322
- scaleX: scaleX,
323
- scaleY: scaleY
324
- });
293
+ transformGroup_1.attr(svgTransform);
294
+ // Set the stroke-width directly on the group element so the
295
+ // children inherit it. We need to use setAttribute directly,
296
+ // because the stroke-widthSetter method expects a stroke color
297
+ // also to be set.
298
+ group.element.setAttribute('stroke-width', strokeWidth_1 / scale_1);
325
299
  }
326
300
  }
327
- /* Set the stroke-width directly on the group element so the
328
- children inherit it. We need to use setAttribute directly,
329
- because the stroke-widthSetter method expects a stroke color also
330
- to be set. */
331
- if (!chart.styledMode) {
332
- group.element.setAttribute('stroke-width', (pick(series.options[(series.pointAttrToOptions &&
333
- series.pointAttrToOptions['stroke-width']) || 'borderWidth'], 1 // Styled mode
334
- ) / (scaleX || 1)));
335
- }
336
301
  this.drawMapDataLabels();
337
302
  };
338
303
  /**
339
304
  * Get the bounding box of all paths in the map combined.
340
- * @private
305
+ *
341
306
  */
342
- MapSeries.prototype.getBox = function (paths) {
343
- var MAX_VALUE = Number.MAX_VALUE, maxX = -MAX_VALUE, minX = MAX_VALUE, maxY = -MAX_VALUE, minY = MAX_VALUE, minRange = MAX_VALUE, xAxis = this.xAxis, yAxis = this.yAxis, hasBox;
344
- // Find the bounding box
345
- (paths || []).forEach(function (point) {
346
- if (point.path) {
347
- if (typeof point.path === 'string') {
348
- point.path = splitPath(point.path);
349
- // Legacy one-dimensional array
350
- }
351
- else if (point.path[0] === 'M') {
352
- point.path = SVGRenderer.prototype.pathToSegments(point.path);
353
- }
354
- var path = point.path || [], pointMaxX_1 = -MAX_VALUE, pointMinX_1 = MAX_VALUE, pointMaxY_1 = -MAX_VALUE, pointMinY_1 = MAX_VALUE, properties = point.properties;
355
- // The first time a map point is used, analyze its box
356
- if (!point._foundBox) {
357
- path.forEach(function (seg) {
358
- var x = seg[seg.length - 2];
359
- var y = seg[seg.length - 1];
360
- if (typeof x === 'number' && typeof y === 'number') {
361
- pointMinX_1 = Math.min(pointMinX_1, x);
362
- pointMaxX_1 = Math.max(pointMaxX_1, x);
363
- pointMinY_1 = Math.min(pointMinY_1, y);
364
- pointMaxY_1 = Math.max(pointMaxY_1, y);
307
+ 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 = [];
311
+ // Find the bounding box of each point
312
+ (this.points || []).forEach(function (point) {
313
+ if (point.path || point.geometry) {
314
+ // @todo Try to puth these two conversions in
315
+ // MapPoint.applyOptions
316
+ if (typeof point.path === 'string') {
317
+ point.path = splitPath(point.path);
318
+ // Legacy one-dimensional array
319
+ }
320
+ else if (isArray(point.path) &&
321
+ point.path[0] === 'M') {
322
+ point.path = SVGRenderer.prototype.pathToSegments(point.path);
323
+ }
324
+ // The first time a map point is used, analyze its box
325
+ 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 };
351
+ point.labelrank = pick(point.labelrank,
352
+ // Bigger shape, higher rank
353
+ (x2_1 - x1_1) * (y2_1 - y1_1));
365
354
  }
366
- });
367
- // Cache point bounding box for use to position data
368
- // labels, bubbles etc
369
- point._midX = (pointMinX_1 + (pointMaxX_1 - pointMinX_1) * pick(point.middleX, properties &&
370
- properties['hc-middle-x'], 0.5));
371
- point._midY = (pointMinY_1 + (pointMaxY_1 - pointMinY_1) * pick(point.middleY, properties &&
372
- properties['hc-middle-y'], 0.5));
373
- point._maxX = pointMaxX_1;
374
- point._minX = pointMinX_1;
375
- point._maxY = pointMaxY_1;
376
- point._minY = pointMinY_1;
377
- point.labelrank = pick(point.labelrank, (pointMaxX_1 - pointMinX_1) * (pointMaxY_1 - pointMinY_1));
378
- point._foundBox = true;
355
+ }
356
+ if (point.bounds) {
357
+ allBounds_1.push(point.bounds);
358
+ }
379
359
  }
380
- maxX = Math.max(maxX, point._maxX);
381
- minX = Math.min(minX, point._minX);
382
- maxY = Math.max(maxY, point._maxY);
383
- minY = Math.min(minY, point._minY);
384
- minRange = Math.min(point._maxX - point._minX, point._maxY - point._minY, minRange);
385
- hasBox = true;
386
- }
387
- });
388
- // Set the box for the whole series
389
- if (hasBox) {
390
- this.minY = Math.min(minY, pick(this.minY, MAX_VALUE));
391
- this.maxY = Math.max(maxY, pick(this.maxY, -MAX_VALUE));
392
- this.minX = Math.min(minX, pick(this.minX, MAX_VALUE));
393
- this.maxX = Math.max(maxX, pick(this.maxX, -MAX_VALUE));
394
- // If no minRange option is set, set the default minimum zooming
395
- // range to 5 times the size of the smallest element
396
- if (xAxis && typeof xAxis.options.minRange === 'undefined') {
397
- xAxis.minRange = Math.min(5 * minRange, (this.maxX - this.minX) / 5, xAxis.minRange || MAX_VALUE);
398
- }
399
- if (yAxis && typeof yAxis.options.minRange === 'undefined') {
400
- yAxis.minRange = Math.min(5 * minRange, (this.maxY - this.minY) / 5, yAxis.minRange || MAX_VALUE);
401
- }
402
- }
403
- };
404
- MapSeries.prototype.getExtremes = function () {
405
- // Get the actual value extremes for colors
406
- var _a = Series.prototype.getExtremes
407
- .call(this, this.valueData), dataMin = _a.dataMin, dataMax = _a.dataMax;
408
- // Recalculate box on updated data
409
- if (this.chart.hasRendered && this.isDirtyData) {
410
- this.getBox(this.options.data);
411
- }
412
- if (isNumber(dataMin)) {
413
- this.valueMin = dataMin;
414
- }
415
- if (isNumber(dataMax)) {
416
- this.valueMax = dataMax;
360
+ });
361
+ this.bounds = MapView.compositeBounds(allBounds_1);
417
362
  }
418
- // Extremes for the mock Y axis
419
- return { dataMin: this.minY, dataMax: this.maxY };
363
+ return this.bounds;
420
364
  };
421
365
  /**
422
366
  * Define hasData function for non-cartesian series. Returns true if the
@@ -433,32 +377,27 @@ var MapSeries = /** @class */ (function (_super) {
433
377
  * @private
434
378
  */
435
379
  MapSeries.prototype.pointAttribs = function (point, state) {
436
- var attr = point.series.chart.styledMode ?
380
+ var _a = point.series.chart, mapView = _a.mapView, styledMode = _a.styledMode;
381
+ var attr = styledMode ?
437
382
  this.colorAttribs(point) :
438
383
  ColumnSeries.prototype.pointAttribs.call(this, point, state);
439
- // Set the stroke-width on the group element and let all point
440
- // graphics inherit. That way we don't have to iterate over all
441
- // points to update the stroke-width on zooming.
442
- attr['stroke-width'] = pick(point.options[(this.pointAttrToOptions &&
443
- this.pointAttrToOptions['stroke-width']) || 'borderWidth'], 'inherit');
444
- return attr;
445
- };
446
- /**
447
- * Override render to throw in an async call in IE8. Otherwise it chokes on
448
- * the US counties demo.
449
- * @private
450
- */
451
- MapSeries.prototype.render = function () {
452
- var series = this, render = Series.prototype.render;
453
- // Give IE8 some time to breathe.
454
- if (series.chart.renderer.isVML && series.data.length > 3000) {
455
- setTimeout(function () {
456
- render.call(series);
457
- });
384
+ // Individual stroke width
385
+ var pointStrokeWidth = point.options[(this.pointAttrToOptions &&
386
+ this.pointAttrToOptions['stroke-width']) || 'borderWidth'];
387
+ if (pointStrokeWidth && mapView) {
388
+ pointStrokeWidth /= mapView.getScale();
458
389
  }
459
- else {
460
- render.call(series);
390
+ // In order for dash style to avoid being scaled, set the transformed
391
+ // stroke width on the item
392
+ if (attr.dashstyle && mapView && this.options.borderWidth) {
393
+ pointStrokeWidth = this.options.borderWidth / mapView.getScale();
461
394
  }
395
+ attr['stroke-width'] = pick(pointStrokeWidth,
396
+ // By default set the stroke-width on the group element and let all
397
+ // point graphics inherit. That way we don't have to iterate over
398
+ // all points to update the stroke-width on zooming.
399
+ 'inherit');
400
+ return attr;
462
401
  };
463
402
  /**
464
403
  * Extend setData to join in mapData. If the allAreas option is true, all
@@ -514,7 +453,7 @@ var MapSeries = /** @class */ (function (_super) {
514
453
  }
515
454
  });
516
455
  }
517
- this.getBox(data);
456
+ // this.getBox(data as any);
518
457
  // Pick up transform definitions for chart
519
458
  this.chart.mapTransforms = mapTransforms =
520
459
  chartOptions.mapTransforms ||
@@ -558,7 +497,7 @@ var MapSeries = /** @class */ (function (_super) {
558
497
  });
559
498
  }
560
499
  if (options.allAreas) {
561
- this.getBox(mapData);
500
+ // this.getBox(mapData);
562
501
  data = data || [];
563
502
  // Registered the point codes that actually hold data
564
503
  if (joinBy[1]) {
@@ -582,12 +521,13 @@ var MapSeries = /** @class */ (function (_super) {
582
521
  updatePoints = false;
583
522
  }
584
523
  });
585
- }
586
- else {
524
+ } /* else {
587
525
  this.getBox(dataUsed); // Issue #4784
588
- }
526
+ } */
589
527
  }
590
528
  Series.prototype.setData.call(this, data, redraw, animation, updatePoints);
529
+ this.processData();
530
+ this.generatePoints();
591
531
  };
592
532
  /**
593
533
  * Extend setOptions by picking up the joinBy option and applying it to a
@@ -611,74 +551,52 @@ var MapSeries = /** @class */ (function (_super) {
611
551
  * @private
612
552
  */
613
553
  MapSeries.prototype.translate = function () {
614
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, doFullTranslate = series.doFullTranslate();
615
- series.generatePoints();
616
- series.data.forEach(function (point) {
554
+ var series = this, doFullTranslate = series.doFullTranslate(), mapView = this.chart.mapView, projection = mapView && mapView.projection;
555
+ // Recalculate box on updated data
556
+ if (this.chart.hasRendered && (this.isDirtyData || !this.hasRendered)) {
557
+ this.processData();
558
+ this.generatePoints();
559
+ delete this.bounds;
560
+ this.getProjectedBounds();
561
+ }
562
+ // Calculate the SVG transform
563
+ var svgTransform;
564
+ 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;
578
+ }
579
+ series.points.forEach(function (point) {
617
580
  // Record the middle point (loosely based on centroid),
618
581
  // determined by the middleX and middleY options.
619
- if (isNumber(point._midX) && isNumber(point._midY)) {
620
- point.plotX = xAxis.toPixels(point._midX, true);
621
- point.plotY = yAxis.toPixels(point._midY, true);
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;
622
590
  }
623
591
  if (doFullTranslate) {
624
592
  point.shapeType = 'path';
625
593
  point.shapeArgs = {
626
- d: series.translatePath(point.path)
594
+ d: MapPoint.getProjectedPath(point, projection)
627
595
  };
628
596
  }
629
597
  });
630
598
  fireEvent(series, 'afterTranslate');
631
599
  };
632
- /**
633
- * Translate the path, so it automatically fits into the plot area box.
634
- * @private
635
- */
636
- MapSeries.prototype.translatePath = function (path) {
637
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, xMin = xAxis.min, xTransA = xAxis.transA, xMinPixelPadding = xAxis.minPixelPadding, yMin = yAxis.min, yTransA = yAxis.transA, yMinPixelPadding = yAxis.minPixelPadding, ret = []; // Preserve the original
638
- // Do the translation
639
- if (path) {
640
- path.forEach(function (seg) {
641
- if (seg[0] === 'M') {
642
- ret.push([
643
- 'M',
644
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
645
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding
646
- ]);
647
- }
648
- else if (seg[0] === 'L') {
649
- ret.push([
650
- 'L',
651
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
652
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding
653
- ]);
654
- }
655
- else if (seg[0] === 'C') {
656
- ret.push([
657
- 'C',
658
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
659
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding,
660
- (seg[3] - (xMin || 0)) * xTransA + xMinPixelPadding,
661
- (seg[4] - (yMin || 0)) * yTransA + yMinPixelPadding,
662
- (seg[5] - (xMin || 0)) * xTransA + xMinPixelPadding,
663
- (seg[6] - (yMin || 0)) * yTransA + yMinPixelPadding
664
- ]);
665
- }
666
- else if (seg[0] === 'Q') {
667
- ret.push([
668
- 'Q',
669
- (seg[1] - (xMin || 0)) * xTransA + xMinPixelPadding,
670
- (seg[2] - (yMin || 0)) * yTransA + yMinPixelPadding,
671
- (seg[3] - (xMin || 0)) * xTransA + xMinPixelPadding,
672
- (seg[4] - (yMin || 0)) * yTransA + yMinPixelPadding
673
- ]);
674
- }
675
- else if (seg[0] === 'Z') {
676
- ret.push(['Z']);
677
- }
678
- });
679
- }
680
- return ret;
681
- };
682
600
  /**
683
601
  * The map series is used for basic choropleth maps, where each map area has
684
602
  * a color based on its value.
@@ -724,7 +642,7 @@ var MapSeries = /** @class */ (function (_super) {
724
642
  *
725
643
  * @private
726
644
  */
727
- nullColor: palette.neutralColor3,
645
+ nullColor: "#f7f7f7" /* neutralColor3 */,
728
646
  /**
729
647
  * Whether to allow pointer interaction like tooltips and mouse events
730
648
  * on null points.
@@ -778,7 +696,7 @@ var MapSeries = /** @class */ (function (_super) {
778
696
  *
779
697
  * @private
780
698
  */
781
- borderColor: palette.neutralColor20,
699
+ borderColor: "#cccccc" /* neutralColor20 */,
782
700
  /**
783
701
  * The border width of each map area.
784
702
  *
@@ -909,11 +827,11 @@ var MapSeries = /** @class */ (function (_super) {
909
827
  select: {
910
828
  /**
911
829
  * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
912
- * @default ${palette.neutralColor20}
830
+ * @default #cccccc
913
831
  * @product highmaps
914
832
  * @apioption plotOptions.series.states.select.color
915
833
  */
916
- color: palette.neutralColor20
834
+ color: "#cccccc" /* neutralColor20 */
917
835
  },
918
836
  inactive: {
919
837
  opacity: 1
@@ -924,9 +842,8 @@ var MapSeries = /** @class */ (function (_super) {
924
842
  }(ScatterSeries));
925
843
  extend(MapSeries.prototype, {
926
844
  type: 'map',
927
- axisTypes: colorMapSeriesMixin.axisTypes,
928
- colorAttribs: colorMapSeriesMixin.colorAttribs,
929
- colorKey: colorMapSeriesMixin.colorKey,
845
+ axisTypes: ['colorAxis'],
846
+ colorKey: 'value',
930
847
  // When tooltip is not shared, this series (and derivatives) requires
931
848
  // direct touch/hover. KD-tree does not apply.
932
849
  directTouch: true,
@@ -937,8 +854,10 @@ extend(MapSeries.prototype, {
937
854
  drawGraph: noop,
938
855
  drawLegendSymbol: LegendSymbol.drawRectangle,
939
856
  forceDL: true,
857
+ getCenter: CU.getCenter,
940
858
  getExtremesFromAll: true,
941
- getSymbol: colorMapSeriesMixin.getSymbol,
859
+ getSymbol: noop,
860
+ isCartesian: false,
942
861
  parallelArrays: colorMapSeriesMixin.parallelArrays,
943
862
  pointArrayMap: colorMapSeriesMixin.pointArrayMap,
944
863
  pointClass: MapPoint,
@@ -949,6 +868,7 @@ extend(MapSeries.prototype, {
949
868
  // Get axis extremes from paths, not values
950
869
  useMapGeometry: true
951
870
  });
871
+ ColorMapComposition.compose(MapSeries, MapPoint);
952
872
  SeriesRegistry.registerSeriesType('map', MapSeries);
953
873
  /* *
954
874
  *
@@ -962,8 +882,8 @@ export default MapSeries;
962
882
  *
963
883
  * */
964
884
  /**
965
- * A map data object containing a `path` definition and optionally additional
966
- * properties to join in the data as per the `joinBy` option.
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.
967
887
  *
968
888
  * @sample maps/demo/category-map/
969
889
  * Map data and joinBy
@@ -1054,6 +974,45 @@ export default MapSeries;
1054
974
  * @product highmaps
1055
975
  * @apioption series.map.data.drilldown
1056
976
  */
977
+ /**
978
+ * For map and mapline series types, the geometry of a point.
979
+ *
980
+ * To achieve a better separation between the structure and the data,
981
+ * it is recommended to use `mapData` to define the geometry instead
982
+ * of defining it on the data points themselves.
983
+ *
984
+ * The geometry object is compatible to that of a `feature` in geoJSON, so
985
+ * features of geoJSON can be passed directly into the `data`, optionally
986
+ * after first filtering and processing it.
987
+ *
988
+ * @sample maps/series/data-geometry/
989
+ * Geometry defined in data
990
+ *
991
+ * @type {Object}
992
+ * @since 9.3.0
993
+ * @product highmaps
994
+ * @apioption series.map.data.geometry
995
+ */
996
+ /**
997
+ * The geometry type. Can be one of `LineString`, `Polygon`, `MultiLineString`
998
+ * or `MultiPolygon`.
999
+ *
1000
+ * @type {string}
1001
+ * @since 9.3.0
1002
+ * @product highmaps
1003
+ * @validvalue ["LineString", "Polygon", "MultiLineString", "MultiPolygon"]
1004
+ * @apioption series.map.data.geometry.type
1005
+ */
1006
+ /**
1007
+ * The geometry coordinates in terms of arrays of `[longitude, latitude]`, or
1008
+ * a two dimensional array of the same. The dimensionality must comply with the
1009
+ * `type`.
1010
+ *
1011
+ * @type {Array<LonLatArray>|Array<Array<LonLatArray>>}
1012
+ * @since 9.3.0
1013
+ * @product highmaps
1014
+ * @apioption series.map.data.geometry.coordinates
1015
+ */
1057
1016
  /**
1058
1017
  * An id for the point. This can be used after render time to get a
1059
1018
  * pointer to the point object through `chart.get()`.