highcharts 9.2.2 → 9.3.3

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 (894) 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 +46 -1
  6. package/css/highcharts.scss +40 -0
  7. package/css/stocktools/gui.css +1 -1
  8. package/css/themes/dark-unica.css +46 -1
  9. package/css/themes/grid-light.css +46 -1
  10. package/css/themes/sand-signika.css +46 -1
  11. package/es-modules/Accessibility/A11yI18n.js +269 -224
  12. package/es-modules/Accessibility/Accessibility.js +244 -129
  13. package/es-modules/Accessibility/AccessibilityComponent.js +78 -313
  14. package/es-modules/Accessibility/Components/AnnotationsA11y.js +19 -5
  15. package/es-modules/Accessibility/Components/ContainerComponent.js +53 -28
  16. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +178 -120
  17. package/es-modules/Accessibility/Components/LegendComponent.js +251 -129
  18. package/es-modules/Accessibility/Components/MenuComponent.js +250 -154
  19. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +172 -93
  20. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +161 -115
  21. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +138 -69
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +67 -28
  23. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +48 -56
  24. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +387 -343
  25. package/es-modules/Accessibility/Components/ZoomComponent.js +156 -70
  26. package/es-modules/Accessibility/FocusBorder.js +192 -152
  27. package/es-modules/Accessibility/HighContrastMode.js +79 -66
  28. package/es-modules/Accessibility/HighContrastTheme.js +10 -0
  29. package/es-modules/Accessibility/KeyboardNavigation.js +151 -75
  30. package/es-modules/Accessibility/KeyboardNavigationHandler.js +71 -44
  31. package/es-modules/Accessibility/Options/DeprecatedOptions.js +21 -4
  32. package/es-modules/Accessibility/Options/LangOptions.js +4 -5
  33. package/es-modules/Accessibility/Options/Options.js +32 -17
  34. package/es-modules/Accessibility/ProxyElement.js +218 -0
  35. package/es-modules/Accessibility/ProxyProvider.js +302 -0
  36. package/es-modules/Accessibility/Utils/Announcer.js +17 -10
  37. package/es-modules/Accessibility/Utils/ChartUtilities.js +55 -45
  38. package/es-modules/Accessibility/Utils/DOMElementProvider.js +27 -15
  39. package/es-modules/Accessibility/Utils/EventProvider.js +27 -17
  40. package/es-modules/Accessibility/Utils/HTMLUtilities.js +125 -42
  41. package/es-modules/Core/Animation/Fx.js +5 -14
  42. package/es-modules/Core/Axis/Axis.js +77 -96
  43. package/es-modules/Core/Axis/Axis3D.js +10 -4
  44. package/es-modules/Core/Axis/AxisDefaults.js +35 -24
  45. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  46. package/es-modules/Core/Axis/Color/ColorAxis.js +7 -4
  47. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +55 -5
  48. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +5 -5
  49. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  50. package/es-modules/Core/Axis/GridAxis.js +26 -16
  51. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  52. package/es-modules/Core/Axis/OrdinalAxis.js +88 -92
  53. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +4 -5
  54. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  55. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  56. package/es-modules/Core/Axis/ScrollbarAxis.js +27 -12
  57. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  58. package/es-modules/Core/Axis/Tick.js +2 -4
  59. package/es-modules/Core/Axis/TreeGridAxis.js +28 -19
  60. package/es-modules/Core/Axis/TreeGridTick.js +5 -3
  61. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  62. package/es-modules/Core/Axis/ZAxis.js +1 -1
  63. package/es-modules/Core/Chart/Chart.js +44 -47
  64. package/es-modules/Core/Chart/Chart3D.js +23 -10
  65. package/es-modules/Core/Chart/ChartDefaults.js +3 -4
  66. package/es-modules/Core/Chart/ChartNavigationComposition.js +92 -0
  67. package/es-modules/Core/Chart/GanttChart.js +4 -4
  68. package/es-modules/Core/Chart/MapChart.js +13 -25
  69. package/es-modules/Core/Chart/StockChart.js +13 -316
  70. package/es-modules/Core/Color/Palettes.js +22 -0
  71. package/es-modules/Core/DefaultOptions.js +22 -19
  72. package/es-modules/Core/Foundation.js +39 -31
  73. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  74. package/es-modules/Core/Globals.js +1 -1
  75. package/es-modules/Core/HttpUtilities.js +8 -7
  76. package/es-modules/Core/Legend/Legend.js +19 -16
  77. package/es-modules/Core/Navigator.js +41 -30
  78. package/es-modules/Core/Pointer.js +52 -45
  79. package/es-modules/Core/Renderer/HTML/AST.js +29 -14
  80. package/es-modules/Core/Renderer/HTML/HTMLElement.js +27 -20
  81. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  82. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  83. package/es-modules/Core/Renderer/SVG/SVGElement.js +11 -20
  84. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  85. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +25 -29
  86. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  87. package/es-modules/Core/Renderer/SVG/TextBuilder.js +18 -12
  88. package/es-modules/Core/Responsive.js +2 -3
  89. package/es-modules/Core/Scrollbar.js +14 -12
  90. package/es-modules/Core/ScrollbarDefaults.js +10 -9
  91. package/es-modules/Core/Series/DataLabel.js +19 -15
  92. package/es-modules/Core/Series/Point.js +22 -19
  93. package/es-modules/Core/Series/Series.js +197 -235
  94. package/es-modules/Core/Series/SeriesDefaults.js +8 -8
  95. package/es-modules/Core/Series/SeriesRegistry.js +1 -2
  96. package/es-modules/Core/Time.js +14 -11
  97. package/es-modules/Core/Tooltip.js +63 -53
  98. package/es-modules/Core/Utilities.js +20 -24
  99. package/es-modules/Data/DataConverter.js +483 -0
  100. package/es-modules/Data/DataPromise.js +252 -0
  101. package/es-modules/Data/DataSeriesConverter.js +207 -0
  102. package/es-modules/Data/DataTable.js +1205 -0
  103. package/es-modules/Data/Modifiers/ChainModifier.js +299 -0
  104. package/es-modules/Data/Modifiers/DataModifier.js +303 -0
  105. package/es-modules/Data/Modifiers/GroupModifier.js +144 -0
  106. package/es-modules/Data/Modifiers/InvertModifier.js +254 -0
  107. package/es-modules/Data/Modifiers/RangeModifier.js +143 -0
  108. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +110 -0
  109. package/es-modules/Data/Modifiers/SortModifier.js +249 -0
  110. package/es-modules/Data/Parsers/CSVParser.js +400 -0
  111. package/es-modules/Data/Parsers/DataParser.js +101 -0
  112. package/es-modules/Data/Parsers/GoogleSheetsParser.js +223 -0
  113. package/es-modules/Data/Parsers/HTMLTableParser.js +213 -0
  114. package/es-modules/Data/Stores/CSVStore.js +317 -0
  115. package/es-modules/Data/Stores/DataStore.js +276 -0
  116. package/es-modules/Data/Stores/GoogleSheetsStore.js +169 -0
  117. package/es-modules/Data/Stores/HTMLTableStore.js +353 -0
  118. package/es-modules/Extensions/Annotations/Annotations.js +69 -18
  119. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -3
  120. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  121. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +199 -0
  122. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  123. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  124. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  125. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  126. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +13 -4
  127. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  128. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  129. package/es-modules/Extensions/Annotations/NavigationBindings.js +120 -53
  130. package/es-modules/Extensions/Annotations/Popup.js +494 -148
  131. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +51 -2
  132. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +5 -3
  133. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  134. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +2 -3
  135. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +219 -0
  136. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +1 -1
  137. package/es-modules/Extensions/Annotations/Types/Measure.js +29 -19
  138. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +7 -6
  139. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +211 -0
  140. package/es-modules/Extensions/Annotations/Types/Tunnel.js +13 -10
  141. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +1 -1
  142. package/es-modules/Extensions/Boost/BoostOptions.js +2 -2
  143. package/es-modules/Extensions/Boost/BoostOverrides.js +6 -10
  144. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  145. package/es-modules/Extensions/Boost/WGLRenderer.js +16 -12
  146. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  147. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  148. package/es-modules/Extensions/BoostCanvas.js +1 -2
  149. package/es-modules/Extensions/CurrentDateIndication.js +2 -3
  150. package/es-modules/Extensions/Data.js +4 -48
  151. package/es-modules/Extensions/DataGrouping.js +52 -32
  152. package/es-modules/Extensions/DownloadURL.js +2 -2
  153. package/es-modules/Extensions/DragPanes.js +1 -2
  154. package/es-modules/Extensions/DraggablePoints.js +7 -8
  155. package/es-modules/Extensions/Drilldown.js +11 -7
  156. package/es-modules/Extensions/ExportData.js +6 -5
  157. package/es-modules/Extensions/Exporting/Exporting.js +33 -46
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +8 -15
  159. package/es-modules/Extensions/FullScreen.js +4 -3
  160. package/es-modules/Extensions/GeoJSON.js +42 -66
  161. package/es-modules/Extensions/MarkerClusters.js +118 -98
  162. package/es-modules/Extensions/Math3D.js +4 -4
  163. package/es-modules/Extensions/NoDataToDisplay.js +1 -2
  164. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +32 -32
  165. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  166. package/es-modules/Extensions/Oldie/Oldie.js +14 -79
  167. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  168. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  169. package/es-modules/Extensions/Pane.js +11 -12
  170. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  171. package/es-modules/Extensions/PatternFill.js +17 -11
  172. package/es-modules/Extensions/Polar.js +7 -4
  173. package/es-modules/Extensions/PriceIndication.js +2 -1
  174. package/es-modules/Extensions/RangeSelector.js +22 -59
  175. package/es-modules/Extensions/ScrollablePlotArea.js +2 -2
  176. package/es-modules/Extensions/SeriesLabel.js +1 -1
  177. package/es-modules/Extensions/Sonification/ChartSonify.js +279 -663
  178. package/es-modules/Extensions/Sonification/Earcon.js +136 -102
  179. package/es-modules/Extensions/Sonification/Instrument.js +493 -426
  180. package/es-modules/Extensions/Sonification/MusicalFrequencies.js +10 -0
  181. package/es-modules/Extensions/Sonification/Options.js +10 -0
  182. package/es-modules/Extensions/Sonification/PointSonify.js +207 -152
  183. package/es-modules/Extensions/Sonification/SeriesSonify.js +474 -0
  184. package/es-modules/Extensions/Sonification/SignalHandler.js +122 -0
  185. package/es-modules/Extensions/Sonification/Sonification.js +27 -53
  186. package/es-modules/Extensions/Sonification/{Utilities.js → SonificationUtilities.js} +70 -88
  187. package/es-modules/Extensions/Sonification/Timeline.js +250 -567
  188. package/es-modules/Extensions/Sonification/TimelineEvent.js +157 -0
  189. package/es-modules/Extensions/Sonification/TimelinePath.js +311 -0
  190. package/es-modules/Extensions/Stacking.js +5 -23
  191. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  192. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  193. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  194. package/es-modules/Extensions/Themes/Grid.js +4 -2
  195. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  196. package/es-modules/Gantt/Connection.js +2 -2
  197. package/es-modules/Gantt/Pathfinder.js +6 -5
  198. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  199. package/es-modules/Maps/MapNavigation.js +30 -68
  200. package/es-modules/Maps/MapNavigationOptionsDefault.js +3 -0
  201. package/es-modules/Maps/MapPointer.js +8 -5
  202. package/es-modules/Maps/MapSymbols.js +23 -3
  203. package/es-modules/Maps/MapView.js +450 -0
  204. package/es-modules/Maps/MapViewOptionsDefault.js +97 -0
  205. package/es-modules/Maps/Projection.js +436 -0
  206. package/es-modules/Maps/ProjectionDefinition.js +9 -0
  207. package/es-modules/Maps/Projections/EqualEarth.js +42 -0
  208. package/es-modules/Maps/Projections/LambertConformalConic.js +52 -0
  209. package/es-modules/Maps/Projections/Miller.js +16 -0
  210. package/es-modules/Maps/Projections/Orthographic.js +26 -0
  211. package/es-modules/Maps/Projections/ProjectionRegistry.js +19 -0
  212. package/es-modules/Maps/Projections/WebMercator.js +24 -0
  213. package/es-modules/Series/Area/AreaSeries.js +13 -13
  214. package/es-modules/Series/Area3DSeries.js +4 -2
  215. package/es-modules/Series/AreaRange/AreaRangeSeries.js +28 -17
  216. package/es-modules/Series/Bellcurve/BellcurveSeries.js +4 -9
  217. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +1 -2
  218. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -2
  219. package/es-modules/Series/Bubble/BubbleLegendItem.js +5 -15
  220. package/es-modules/Series/Bubble/BubblePoint.js +5 -0
  221. package/es-modules/Series/Bubble/BubbleSeries.js +90 -50
  222. package/es-modules/Series/Candlestick/CandlestickSeries.js +10 -19
  223. package/es-modules/{Mixins/CenteredSeries.js → Series/CenteredUtilities.js} +45 -23
  224. package/es-modules/{Mixins/ColorMapSeries.js → Series/ColorMapMixin.js} +10 -8
  225. package/es-modules/Series/Column/ColumnDataLabel.js +5 -5
  226. package/es-modules/Series/Column/ColumnSeries.js +19 -18
  227. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  228. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +11 -8
  229. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  230. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  231. package/es-modules/Series/DataModifyComposition.js +539 -0
  232. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +2 -6
  233. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +1 -1
  234. package/es-modules/Series/DerivedComposition.js +137 -0
  235. package/es-modules/Series/DrawPointComposition.js +111 -0
  236. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  237. package/es-modules/Series/Dumbbell/DumbbellSeries.js +2 -6
  238. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +1 -2
  239. package/es-modules/Series/Flags/FlagsSeries.js +18 -25
  240. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  241. package/es-modules/Series/Funnel/FunnelSeries.js +6 -5
  242. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  243. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  244. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  245. package/es-modules/Series/Gantt/GanttSeries.js +3 -3
  246. package/es-modules/Series/Gauge/GaugePoint.js +1 -1
  247. package/es-modules/Series/Gauge/GaugeSeries.js +7 -7
  248. package/es-modules/Series/HLC/HLCPoint.js +55 -0
  249. package/es-modules/Series/HLC/HLCSeries.js +378 -0
  250. package/es-modules/Series/Heatmap/HeatmapPoint.js +13 -14
  251. package/es-modules/Series/Heatmap/HeatmapSeries.js +24 -12
  252. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +10 -9
  253. package/es-modules/Series/Histogram/HistogramSeries.js +7 -11
  254. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  255. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +28 -30
  256. package/es-modules/Series/Item/ItemSeries.js +4 -5
  257. package/es-modules/Series/Line/LineSeries.js +1 -2
  258. package/es-modules/Series/Map/MapPoint.js +27 -14
  259. package/es-modules/Series/Map/MapSeries.js +283 -322
  260. package/es-modules/Series/MapBubble/MapBubblePoint.js +0 -3
  261. package/es-modules/Series/MapBubble/MapBubbleSeries.js +10 -1
  262. package/es-modules/Series/MapLine/MapLineSeries.js +2 -4
  263. package/es-modules/Series/MapPoint/MapPointPoint.js +5 -1
  264. package/es-modules/Series/MapPoint/MapPointSeries.js +99 -14
  265. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  266. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  267. package/es-modules/Series/Networkgraph/Networkgraph.js +6 -10
  268. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  269. package/es-modules/{Mixins/Nodes.js → Series/NodesComposition.js} +78 -30
  270. package/es-modules/Series/OHLC/OHLCPoint.js +2 -7
  271. package/es-modules/Series/OHLC/OHLCSeries.js +55 -183
  272. package/es-modules/{Mixins/OnSeries.js → Series/OnSeriesComposition.js} +53 -21
  273. package/es-modules/Series/Organization/OrganizationSeries.js +6 -5
  274. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  275. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  276. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +48 -10
  277. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -7
  278. package/es-modules/Series/Pie/PieDataLabel.js +1 -2
  279. package/es-modules/Series/Pie/PiePoint.js +2 -2
  280. package/es-modules/Series/Pie/PieSeries.js +7 -8
  281. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  282. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  283. package/es-modules/Series/Pie3D/Pie3DSeries.js +1 -1
  284. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  285. package/es-modules/Series/Sankey/SankeyPoint.js +0 -4
  286. package/es-modules/Series/Sankey/SankeySeries.js +92 -22
  287. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  288. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +2 -3
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +6 -6
  291. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  292. package/es-modules/Series/Tilemap/TilemapPoint.js +2 -5
  293. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  294. package/es-modules/Series/Timeline/TimelineSeries.js +3 -4
  295. package/es-modules/{Mixins/TreeSeries.js → Series/TreeUtilities.js} +88 -78
  296. package/es-modules/Series/Treemap/TreemapPoint.js +2 -2
  297. package/es-modules/Series/Treemap/TreemapSeries.js +22 -25
  298. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  299. package/es-modules/Series/Venn/VennPoint.js +16 -7
  300. package/es-modules/Series/Venn/VennSeries.js +11 -17
  301. package/es-modules/Series/Venn/VennUtils.js +551 -439
  302. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -6
  303. package/es-modules/Series/Windbarb/WindbarbSeries.js +23 -24
  304. package/es-modules/Series/Wordcloud/WordcloudPoint.js +8 -6
  305. package/es-modules/Series/Wordcloud/WordcloudSeries.js +26 -22
  306. package/es-modules/Series/Wordcloud/WordcloudUtils.js +669 -484
  307. package/es-modules/Series/XRange/XRangePoint.js +7 -12
  308. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  309. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +15 -6
  310. package/es-modules/Stock/Indicators/AO/AOIndicator.js +2 -3
  311. package/es-modules/Stock/Indicators/APO/APOIndicator.js +14 -20
  312. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +4 -6
  313. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +11 -13
  314. package/es-modules/Stock/Indicators/ArrayUtilities.js +47 -0
  315. package/es-modules/Stock/Indicators/BB/BBIndicator.js +39 -11
  316. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  317. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +6 -12
  318. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +1 -11
  319. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +28 -16
  320. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +18 -11
  321. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +1 -3
  322. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  323. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +23 -9
  324. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +16 -19
  325. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +32 -14
  326. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +2 -2
  327. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +2 -2
  328. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +2 -2
  329. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +2 -3
  330. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +294 -0
  331. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +1 -3
  332. package/es-modules/Stock/Indicators/PC/PCIndicator.js +25 -13
  333. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +1 -11
  334. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  335. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  336. package/es-modules/Stock/Indicators/SMA/SMAComposition.js +0 -26
  337. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +32 -50
  338. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +0 -8
  339. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -9
  340. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +4 -6
  341. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +26 -11
  342. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +6 -12
  343. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +26 -10
  344. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  345. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +2 -3
  346. package/es-modules/Stock/StockToolsBindings.js +156 -47
  347. package/es-modules/Stock/StockToolsGui.js +442 -37
  348. package/es-modules/masters/highcharts-3d.src.js +1 -1
  349. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  350. package/es-modules/masters/highcharts-more.src.js +1 -1
  351. package/es-modules/masters/highcharts.src.js +1 -1
  352. package/es-modules/masters/highmaps.src.js +1 -1
  353. package/es-modules/masters/highstock.src.js +1 -1
  354. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  355. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  356. package/es-modules/masters/indicators/ao.src.js +1 -1
  357. package/es-modules/masters/indicators/apo.src.js +1 -1
  358. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  359. package/es-modules/masters/indicators/aroon.src.js +1 -1
  360. package/es-modules/masters/indicators/atr.src.js +1 -1
  361. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  362. package/es-modules/masters/indicators/cci.src.js +1 -1
  363. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  364. package/es-modules/masters/indicators/cmf.src.js +1 -1
  365. package/es-modules/masters/indicators/cmo.src.js +1 -1
  366. package/es-modules/masters/indicators/dema.src.js +1 -1
  367. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  368. package/es-modules/masters/indicators/dmi.src.js +1 -1
  369. package/es-modules/masters/indicators/dpo.src.js +1 -1
  370. package/es-modules/masters/indicators/ema.src.js +4 -10
  371. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  372. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  373. package/es-modules/masters/indicators/indicators.src.js +2 -1
  374. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  375. package/es-modules/masters/indicators/klinger.src.js +1 -1
  376. package/es-modules/masters/indicators/macd.src.js +1 -1
  377. package/es-modules/masters/indicators/mfi.src.js +1 -1
  378. package/es-modules/masters/indicators/momentum.src.js +1 -1
  379. package/es-modules/masters/indicators/natr.src.js +1 -1
  380. package/es-modules/masters/indicators/obv.src.js +1 -1
  381. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  382. package/es-modules/masters/indicators/ppo.src.js +1 -1
  383. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  384. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  385. package/es-modules/masters/indicators/psar.src.js +1 -1
  386. package/es-modules/masters/indicators/regressions.src.js +1 -1
  387. package/es-modules/masters/indicators/roc.src.js +1 -1
  388. package/es-modules/masters/indicators/rsi.src.js +1 -1
  389. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  390. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  391. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  392. package/es-modules/masters/indicators/tema.src.js +1 -1
  393. package/es-modules/masters/indicators/trendline.src.js +1 -1
  394. package/es-modules/masters/indicators/trix.src.js +1 -1
  395. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  396. package/es-modules/masters/indicators/vwap.src.js +1 -1
  397. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  398. package/es-modules/masters/indicators/wma.src.js +1 -1
  399. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  400. package/es-modules/masters/modules/accessibility.src.js +16 -2
  401. package/es-modules/masters/modules/annotations-advanced.src.js +3 -1
  402. package/es-modules/masters/modules/annotations.src.js +1 -1
  403. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  404. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  405. package/es-modules/masters/modules/boost.src.js +1 -1
  406. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  407. package/es-modules/masters/modules/bullet.src.js +1 -1
  408. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  409. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  410. package/es-modules/masters/modules/cylinder.src.js +1 -1
  411. package/es-modules/masters/modules/data.src.js +6 -3
  412. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  413. package/es-modules/masters/modules/debugger.src.js +1 -1
  414. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  415. package/es-modules/masters/modules/dotplot.src.js +1 -1
  416. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  417. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  418. package/es-modules/masters/modules/drilldown.src.js +1 -1
  419. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  420. package/es-modules/masters/modules/export-data.src.js +1 -1
  421. package/es-modules/masters/modules/exporting.src.js +1 -1
  422. package/es-modules/masters/modules/full-screen.src.js +1 -1
  423. package/es-modules/masters/modules/funnel.src.js +1 -1
  424. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  425. package/es-modules/masters/modules/gantt.src.js +1 -1
  426. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  427. package/es-modules/masters/modules/heatmap.src.js +1 -2
  428. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  429. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  430. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  431. package/es-modules/masters/modules/item-series.src.js +1 -1
  432. package/es-modules/masters/modules/lollipop.src.js +1 -1
  433. package/es-modules/masters/modules/map.src.js +1 -3
  434. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  435. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  436. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  437. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  438. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  439. package/es-modules/masters/modules/oldie.src.js +1 -1
  440. package/es-modules/masters/modules/organization.src.js +1 -1
  441. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  442. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  443. package/es-modules/masters/modules/pareto.src.js +1 -1
  444. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  445. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  446. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  447. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  448. package/es-modules/masters/modules/sankey.src.js +1 -1
  449. package/es-modules/masters/modules/series-label.src.js +1 -1
  450. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  451. package/es-modules/masters/modules/sonification.src.js +33 -2
  452. package/es-modules/masters/modules/static-scale.src.js +1 -1
  453. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  454. package/es-modules/masters/modules/stock.src.js +4 -1
  455. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  456. package/es-modules/masters/modules/sunburst.src.js +1 -1
  457. package/es-modules/masters/modules/tilemap.src.js +1 -1
  458. package/es-modules/masters/modules/timeline.src.js +1 -1
  459. package/es-modules/masters/modules/treegrid.src.js +1 -1
  460. package/es-modules/masters/modules/treemap.src.js +1 -1
  461. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  462. package/es-modules/masters/modules/variwide.src.js +1 -1
  463. package/es-modules/masters/modules/vector.src.js +1 -1
  464. package/es-modules/masters/modules/venn.src.js +1 -1
  465. package/es-modules/masters/modules/windbarb.src.js +1 -1
  466. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  467. package/es-modules/masters/modules/xrange.src.js +1 -1
  468. package/es-modules/masters/themes/avocado.src.js +1 -1
  469. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  470. package/es-modules/masters/themes/brand-light.src.js +14 -0
  471. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  472. package/es-modules/masters/themes/dark-green.src.js +1 -1
  473. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  474. package/es-modules/masters/themes/gray.src.js +1 -1
  475. package/es-modules/masters/themes/grid-light.src.js +1 -1
  476. package/es-modules/masters/themes/grid.src.js +1 -1
  477. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  478. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  479. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  480. package/es-modules/masters/themes/skies.src.js +1 -1
  481. package/es-modules/masters/themes/sunset.src.js +1 -1
  482. package/highcharts-3d.js +1 -1
  483. package/highcharts-3d.js.map +1 -1
  484. package/highcharts-3d.src.js +65 -35
  485. package/highcharts-gantt.js +800 -803
  486. package/highcharts-gantt.js.map +1 -1
  487. package/highcharts-gantt.src.js +1356 -1429
  488. package/highcharts-more.js +194 -193
  489. package/highcharts-more.js.map +1 -1
  490. package/highcharts-more.src.js +280 -222
  491. package/highcharts.d.ts +10208 -761
  492. package/highcharts.js +585 -588
  493. package/highcharts.js.map +1 -1
  494. package/highcharts.src.d.ts +10208 -761
  495. package/highcharts.src.js +992 -1066
  496. package/highmaps.js +727 -707
  497. package/highmaps.js.map +1 -1
  498. package/highmaps.src.js +3240 -2135
  499. package/highstock.js +788 -783
  500. package/highstock.js.map +1 -1
  501. package/highstock.src.js +2487 -1981
  502. package/indicators/acceleration-bands.d.ts +17 -1
  503. package/indicators/acceleration-bands.js +11 -9
  504. package/indicators/acceleration-bands.js.map +1 -1
  505. package/indicators/acceleration-bands.src.d.ts +17 -1
  506. package/indicators/acceleration-bands.src.js +238 -112
  507. package/indicators/accumulation-distribution.js +1 -1
  508. package/indicators/accumulation-distribution.src.js +1 -1
  509. package/indicators/ao.js +6 -6
  510. package/indicators/ao.js.map +1 -1
  511. package/indicators/ao.src.js +4 -4
  512. package/indicators/apo.js +5 -6
  513. package/indicators/apo.js.map +1 -1
  514. package/indicators/apo.src.js +16 -84
  515. package/indicators/aroon-oscillator.d.ts +17 -1
  516. package/indicators/aroon-oscillator.js +10 -9
  517. package/indicators/aroon-oscillator.js.map +1 -1
  518. package/indicators/aroon-oscillator.src.d.ts +17 -1
  519. package/indicators/aroon-oscillator.src.js +230 -177
  520. package/indicators/aroon.d.ts +17 -1
  521. package/indicators/aroon.js +11 -9
  522. package/indicators/aroon.js.map +1 -1
  523. package/indicators/aroon.src.d.ts +17 -1
  524. package/indicators/aroon.src.js +227 -112
  525. package/indicators/atr.js +1 -1
  526. package/indicators/atr.src.js +1 -1
  527. package/indicators/bollinger-bands.d.ts +17 -1
  528. package/indicators/bollinger-bands.js +12 -9
  529. package/indicators/bollinger-bands.js.map +1 -1
  530. package/indicators/bollinger-bands.src.d.ts +17 -1
  531. package/indicators/bollinger-bands.src.js +262 -117
  532. package/indicators/cci.js +1 -1
  533. package/indicators/cci.src.js +1 -1
  534. package/indicators/chaikin.js +8 -9
  535. package/indicators/chaikin.js.map +1 -1
  536. package/indicators/chaikin.src.js +8 -76
  537. package/indicators/cmf.js +1 -1
  538. package/indicators/cmf.js.map +1 -1
  539. package/indicators/cmf.src.js +36 -16
  540. package/indicators/cmo.js +1 -1
  541. package/indicators/cmo.src.js +1 -1
  542. package/indicators/dema.js +5 -6
  543. package/indicators/dema.js.map +1 -1
  544. package/indicators/dema.src.js +3 -75
  545. package/indicators/disparity-index.js +6 -7
  546. package/indicators/disparity-index.js.map +1 -1
  547. package/indicators/disparity-index.src.js +20 -74
  548. package/indicators/dmi.js +12 -11
  549. package/indicators/dmi.js.map +1 -1
  550. package/indicators/dmi.src.js +252 -121
  551. package/indicators/dpo.js +1 -1
  552. package/indicators/dpo.src.js +1 -1
  553. package/indicators/ema.js +1 -13
  554. package/indicators/ema.js.map +1 -1
  555. package/indicators/ema.src.js +7 -188
  556. package/indicators/ichimoku-kinko-hyo.js +1 -1
  557. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  558. package/indicators/ichimoku-kinko-hyo.src.js +7 -7
  559. package/indicators/indicators-all.d.ts +17 -1
  560. package/indicators/indicators-all.js +198 -203
  561. package/indicators/indicators-all.js.map +1 -1
  562. package/indicators/indicators-all.src.d.ts +17 -1
  563. package/indicators/indicators-all.src.js +892 -777
  564. package/indicators/indicators.js +12 -12
  565. package/indicators/indicators.js.map +1 -1
  566. package/indicators/indicators.src.js +213 -144
  567. package/indicators/keltner-channels.d.ts +17 -1
  568. package/indicators/keltner-channels.js +11 -10
  569. package/indicators/keltner-channels.js.map +1 -1
  570. package/indicators/keltner-channels.src.d.ts +17 -1
  571. package/indicators/keltner-channels.src.js +246 -118
  572. package/indicators/klinger.js +14 -13
  573. package/indicators/klinger.js.map +1 -1
  574. package/indicators/klinger.src.js +239 -187
  575. package/indicators/macd.js +2 -2
  576. package/indicators/macd.js.map +1 -1
  577. package/indicators/macd.src.js +3 -4
  578. package/indicators/mfi.js +1 -1
  579. package/indicators/mfi.src.js +1 -1
  580. package/indicators/momentum.js +1 -1
  581. package/indicators/momentum.src.js +1 -1
  582. package/indicators/natr.js +3 -3
  583. package/indicators/natr.js.map +1 -1
  584. package/indicators/natr.src.js +2 -4
  585. package/indicators/obv.js +1 -1
  586. package/indicators/obv.src.js +1 -1
  587. package/indicators/pivot-points.js +1 -1
  588. package/indicators/pivot-points.js.map +1 -1
  589. package/indicators/pivot-points.src.js +3 -2
  590. package/indicators/ppo.js +5 -6
  591. package/indicators/ppo.js.map +1 -1
  592. package/indicators/ppo.src.js +3 -75
  593. package/indicators/price-channel.d.ts +17 -1
  594. package/indicators/price-channel.js +11 -9
  595. package/indicators/price-channel.js.map +1 -1
  596. package/indicators/price-channel.src.d.ts +17 -1
  597. package/indicators/price-channel.src.js +288 -168
  598. package/indicators/price-envelopes.js +1 -1
  599. package/indicators/price-envelopes.src.js +1 -1
  600. package/indicators/psar.js +1 -1
  601. package/indicators/psar.src.js +1 -1
  602. package/indicators/regressions.js +1 -1
  603. package/indicators/regressions.js.map +1 -1
  604. package/indicators/regressions.src.js +39 -21
  605. package/indicators/roc.js +1 -1
  606. package/indicators/roc.src.js +1 -1
  607. package/indicators/rsi.js +1 -1
  608. package/indicators/rsi.js.map +1 -1
  609. package/indicators/rsi.src.js +3 -2
  610. package/indicators/slow-stochastic.js +5 -6
  611. package/indicators/slow-stochastic.js.map +1 -1
  612. package/indicators/slow-stochastic.src.js +2 -72
  613. package/indicators/stochastic.d.ts +17 -1
  614. package/indicators/stochastic.js +12 -10
  615. package/indicators/stochastic.js.map +1 -1
  616. package/indicators/stochastic.src.d.ts +17 -1
  617. package/indicators/stochastic.src.js +282 -165
  618. package/indicators/supertrend.js +10 -10
  619. package/indicators/supertrend.js.map +1 -1
  620. package/indicators/supertrend.src.js +6 -7
  621. package/indicators/tema.js +6 -7
  622. package/indicators/tema.js.map +1 -1
  623. package/indicators/tema.src.js +28 -75
  624. package/indicators/trendline.js +1 -1
  625. package/indicators/trendline.src.js +1 -1
  626. package/indicators/trix.js +4 -5
  627. package/indicators/trix.js.map +1 -1
  628. package/indicators/trix.src.js +8 -76
  629. package/indicators/volume-by-price.js +16 -16
  630. package/indicators/volume-by-price.js.map +1 -1
  631. package/indicators/volume-by-price.src.js +27 -10
  632. package/indicators/vwap.js +1 -1
  633. package/indicators/vwap.js.map +1 -1
  634. package/indicators/vwap.src.js +20 -8
  635. package/indicators/williams-r.js +5 -6
  636. package/indicators/williams-r.js.map +1 -1
  637. package/indicators/williams-r.src.js +41 -51
  638. package/indicators/wma.js +1 -1
  639. package/indicators/wma.src.js +1 -1
  640. package/indicators/zigzag.js +1 -1
  641. package/indicators/zigzag.src.js +1 -1
  642. package/modules/accessibility.d.ts +0 -30
  643. package/modules/accessibility.js +241 -216
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.d.ts +0 -30
  646. package/modules/accessibility.src.js +7818 -6398
  647. package/modules/annotations-advanced.d.ts +30 -0
  648. package/modules/annotations-advanced.js +192 -165
  649. package/modules/annotations-advanced.js.map +1 -1
  650. package/modules/annotations-advanced.src.d.ts +30 -0
  651. package/modules/annotations-advanced.src.js +1716 -416
  652. package/modules/annotations.js +125 -110
  653. package/modules/annotations.js.map +1 -1
  654. package/modules/annotations.src.js +1059 -304
  655. package/modules/arrow-symbols.js +1 -1
  656. package/modules/arrow-symbols.src.js +1 -1
  657. package/modules/boost-canvas.js +15 -15
  658. package/modules/boost-canvas.js.map +1 -1
  659. package/modules/boost-canvas.src.js +3 -3
  660. package/modules/boost.js +79 -79
  661. package/modules/boost.js.map +1 -1
  662. package/modules/boost.src.js +42 -51
  663. package/modules/broken-axis.js +1 -1
  664. package/modules/broken-axis.js.map +1 -1
  665. package/modules/broken-axis.src.js +18 -12
  666. package/modules/bullet.js +1 -1
  667. package/modules/bullet.src.js +1 -1
  668. package/modules/coloraxis.js +24 -24
  669. package/modules/coloraxis.js.map +1 -1
  670. package/modules/coloraxis.src.js +77 -103
  671. package/modules/current-date-indicator.js +4 -4
  672. package/modules/current-date-indicator.js.map +1 -1
  673. package/modules/current-date-indicator.src.js +4 -4
  674. package/modules/cylinder.js +1 -1
  675. package/modules/cylinder.js.map +1 -1
  676. package/modules/cylinder.src.js +37 -5
  677. package/modules/data.d.ts +6 -6
  678. package/modules/data.js +31 -31
  679. package/modules/data.js.map +1 -1
  680. package/modules/data.src.d.ts +6 -6
  681. package/modules/data.src.js +18 -58
  682. package/modules/datagrouping.js +20 -20
  683. package/modules/datagrouping.js.map +1 -1
  684. package/modules/datagrouping.src.js +54 -33
  685. package/modules/debugger.js +1 -1
  686. package/modules/debugger.src.js +1 -1
  687. package/modules/dependency-wheel.js +11 -11
  688. package/modules/dependency-wheel.js.map +1 -1
  689. package/modules/dependency-wheel.src.js +5 -8
  690. package/modules/dotplot.js +1 -1
  691. package/modules/dotplot.src.js +1 -1
  692. package/modules/drag-panes.js +8 -8
  693. package/modules/drag-panes.js.map +1 -1
  694. package/modules/drag-panes.src.js +3 -3
  695. package/modules/draggable-points.js +1 -1
  696. package/modules/draggable-points.js.map +1 -1
  697. package/modules/draggable-points.src.js +8 -9
  698. package/modules/drilldown.js +24 -24
  699. package/modules/drilldown.js.map +1 -1
  700. package/modules/drilldown.src.js +13 -8
  701. package/modules/dumbbell.js +17 -17
  702. package/modules/dumbbell.js.map +1 -1
  703. package/modules/dumbbell.src.js +4 -8
  704. package/modules/export-data.js +19 -19
  705. package/modules/export-data.js.map +1 -1
  706. package/modules/export-data.src.js +9 -8
  707. package/modules/exporting.js +39 -38
  708. package/modules/exporting.js.map +1 -1
  709. package/modules/exporting.src.js +132 -113
  710. package/modules/full-screen.js +1 -1
  711. package/modules/full-screen.js.map +1 -1
  712. package/modules/full-screen.src.js +5 -4
  713. package/modules/funnel.js +12 -12
  714. package/modules/funnel.js.map +1 -1
  715. package/modules/funnel.src.js +9 -6
  716. package/modules/funnel3d.js +1 -1
  717. package/modules/funnel3d.js.map +1 -1
  718. package/modules/funnel3d.src.js +17 -10
  719. package/modules/gantt.js +217 -218
  720. package/modules/gantt.js.map +1 -1
  721. package/modules/gantt.src.js +364 -363
  722. package/modules/grid-axis.js +1 -1
  723. package/modules/grid-axis.js.map +1 -1
  724. package/modules/grid-axis.src.js +27 -19
  725. package/modules/heatmap.js +39 -39
  726. package/modules/heatmap.js.map +1 -1
  727. package/modules/heatmap.src.js +132 -141
  728. package/modules/heikinashi.js +1 -1
  729. package/modules/heikinashi.js.map +1 -1
  730. package/modules/heikinashi.src.js +12 -10
  731. package/modules/histogram-bellcurve.js +13 -13
  732. package/modules/histogram-bellcurve.js.map +1 -1
  733. package/modules/histogram-bellcurve.src.js +97 -91
  734. package/modules/hollowcandlestick.js +9 -9
  735. package/modules/hollowcandlestick.js.map +1 -1
  736. package/modules/hollowcandlestick.src.js +31 -35
  737. package/modules/item-series.js +6 -6
  738. package/modules/item-series.js.map +1 -1
  739. package/modules/item-series.src.js +6 -6
  740. package/modules/lollipop.js +1 -1
  741. package/modules/lollipop.src.js +1 -1
  742. package/modules/map.d.ts +138 -14
  743. package/modules/map.js +144 -122
  744. package/modules/map.js.map +1 -1
  745. package/modules/map.src.d.ts +138 -14
  746. package/modules/map.src.js +2253 -1074
  747. package/modules/marker-clusters.js +36 -36
  748. package/modules/marker-clusters.js.map +1 -1
  749. package/modules/marker-clusters.src.js +176 -143
  750. package/modules/networkgraph.d.ts +12 -1
  751. package/modules/networkgraph.js +49 -49
  752. package/modules/networkgraph.js.map +1 -1
  753. package/modules/networkgraph.src.d.ts +12 -1
  754. package/modules/networkgraph.src.js +103 -78
  755. package/modules/no-data-to-display.js +5 -5
  756. package/modules/no-data-to-display.js.map +1 -1
  757. package/modules/no-data-to-display.src.js +3 -3
  758. package/modules/offline-exporting.js +18 -18
  759. package/modules/offline-exporting.js.map +1 -1
  760. package/modules/offline-exporting.src.js +38 -43
  761. package/modules/oldie-polyfills.js +1 -1
  762. package/modules/oldie-polyfills.src.js +1 -1
  763. package/modules/oldie.js +26 -26
  764. package/modules/oldie.js.map +1 -1
  765. package/modules/oldie.src.js +21 -81
  766. package/modules/organization.js +13 -13
  767. package/modules/organization.js.map +1 -1
  768. package/modules/organization.src.js +8 -6
  769. package/modules/overlapping-datalabels.js +1 -1
  770. package/modules/overlapping-datalabels.src.js +1 -1
  771. package/modules/parallel-coordinates.js +1 -1
  772. package/modules/parallel-coordinates.js.map +1 -1
  773. package/modules/parallel-coordinates.src.js +6 -4
  774. package/modules/pareto.js +7 -7
  775. package/modules/pareto.js.map +1 -1
  776. package/modules/pareto.src.js +89 -78
  777. package/modules/pathfinder.js +1 -1
  778. package/modules/pathfinder.js.map +1 -1
  779. package/modules/pathfinder.src.js +21 -20
  780. package/modules/pattern-fill.js +1 -1
  781. package/modules/pattern-fill.js.map +1 -1
  782. package/modules/pattern-fill.src.js +18 -12
  783. package/modules/price-indicator.js +1 -1
  784. package/modules/price-indicator.js.map +1 -1
  785. package/modules/price-indicator.src.js +3 -2
  786. package/modules/pyramid3d.js +1 -1
  787. package/modules/pyramid3d.js.map +1 -1
  788. package/modules/pyramid3d.src.js +3 -2
  789. package/modules/sankey.d.ts +12 -1
  790. package/modules/sankey.js +29 -29
  791. package/modules/sankey.js.map +1 -1
  792. package/modules/sankey.src.d.ts +12 -1
  793. package/modules/sankey.src.js +307 -181
  794. package/modules/series-label.js +1 -1
  795. package/modules/series-label.js.map +1 -1
  796. package/modules/series-label.src.js +2 -2
  797. package/modules/solid-gauge.js +1 -1
  798. package/modules/solid-gauge.js.map +1 -1
  799. package/modules/solid-gauge.src.js +17 -2
  800. package/modules/sonification.js +59 -55
  801. package/modules/sonification.js.map +1 -1
  802. package/modules/sonification.src.js +3093 -2594
  803. package/modules/static-scale.js +1 -1
  804. package/modules/static-scale.src.js +1 -1
  805. package/modules/stock-tools.js +178 -163
  806. package/modules/stock-tools.js.map +1 -1
  807. package/modules/stock-tools.src.js +1136 -229
  808. package/modules/stock.d.ts +39 -6
  809. package/modules/stock.js +204 -196
  810. package/modules/stock.js.map +1 -1
  811. package/modules/stock.src.d.ts +39 -6
  812. package/modules/stock.src.js +1820 -1240
  813. package/modules/streamgraph.js +1 -1
  814. package/modules/streamgraph.src.js +1 -1
  815. package/modules/sunburst.js +60 -60
  816. package/modules/sunburst.js.map +1 -1
  817. package/modules/sunburst.src.js +281 -248
  818. package/modules/tilemap.js +17 -17
  819. package/modules/tilemap.js.map +1 -1
  820. package/modules/tilemap.src.js +3 -13
  821. package/modules/timeline.js +18 -18
  822. package/modules/timeline.js.map +1 -1
  823. package/modules/timeline.src.js +5 -5
  824. package/modules/treegrid.js +56 -57
  825. package/modules/treegrid.js.map +1 -1
  826. package/modules/treegrid.src.js +201 -169
  827. package/modules/treemap.js +41 -41
  828. package/modules/treemap.js.map +1 -1
  829. package/modules/treemap.src.js +266 -232
  830. package/modules/variable-pie.js +1 -1
  831. package/modules/variable-pie.src.js +1 -1
  832. package/modules/variwide.js +1 -1
  833. package/modules/variwide.js.map +1 -1
  834. package/modules/variwide.src.js +7 -3
  835. package/modules/vector.js +1 -1
  836. package/modules/vector.src.js +1 -1
  837. package/modules/venn.js +31 -31
  838. package/modules/venn.js.map +1 -1
  839. package/modules/venn.src.js +740 -731
  840. package/modules/windbarb.js +15 -15
  841. package/modules/windbarb.js.map +1 -1
  842. package/modules/windbarb.src.js +90 -62
  843. package/modules/wordcloud.js +23 -24
  844. package/modules/wordcloud.js.map +1 -1
  845. package/modules/wordcloud.src.js +898 -954
  846. package/modules/xrange.js +2 -2
  847. package/modules/xrange.js.map +1 -1
  848. package/modules/xrange.src.js +12 -33
  849. package/package.json +1 -1
  850. package/themes/avocado.js +1 -1
  851. package/themes/avocado.src.js +1 -1
  852. package/themes/brand-dark.js +15 -0
  853. package/themes/brand-dark.js.map +1 -0
  854. package/themes/brand-dark.src.js +328 -0
  855. package/themes/brand-light.js +15 -0
  856. package/themes/brand-light.js.map +1 -0
  857. package/themes/brand-light.src.js +294 -0
  858. package/themes/dark-blue.js +1 -1
  859. package/themes/dark-blue.src.js +1 -1
  860. package/themes/dark-green.js +1 -1
  861. package/themes/dark-green.src.js +1 -1
  862. package/themes/dark-unica.js +1 -1
  863. package/themes/dark-unica.js.map +1 -1
  864. package/themes/dark-unica.src.js +5 -3
  865. package/themes/gray.js +1 -1
  866. package/themes/gray.src.js +1 -1
  867. package/themes/grid-light.js +1 -1
  868. package/themes/grid-light.js.map +1 -1
  869. package/themes/grid-light.src.js +5 -3
  870. package/themes/grid.js +1 -1
  871. package/themes/grid.js.map +1 -1
  872. package/themes/grid.src.js +5 -3
  873. package/themes/high-contrast-dark.js +1 -1
  874. package/themes/high-contrast-dark.src.js +1 -1
  875. package/themes/high-contrast-light.js +1 -1
  876. package/themes/high-contrast-light.src.js +1 -1
  877. package/themes/sand-signika.js +1 -1
  878. package/themes/sand-signika.src.js +1 -1
  879. package/themes/skies.js +1 -1
  880. package/themes/skies.src.js +1 -1
  881. package/themes/sunset.js +1 -1
  882. package/themes/sunset.src.js +1 -1
  883. package/es-modules/Core/Axis/MapAxis.js +0 -157
  884. package/es-modules/Core/Color/Palette.js +0 -82
  885. package/es-modules/Extensions/Sonification/InstrumentDefinitions.js +0 -32
  886. package/es-modules/Mixins/ColorSeries.js +0 -77
  887. package/es-modules/Mixins/DerivedSeries.js +0 -118
  888. package/es-modules/Mixins/DrawPoint.js +0 -81
  889. package/es-modules/Mixins/IndicatorRequired.js +0 -56
  890. package/es-modules/Mixins/MultipleLines.js +0 -181
  891. package/es-modules/Mixins/Navigation.js +0 -54
  892. package/es-modules/Mixins/NelderMead.js +0 -132
  893. package/es-modules/Mixins/Polygon.js +0 -259
  894. package/es-modules/Mixins/ReduceArray.js +0 -54
@@ -17,7 +17,6 @@ var animObject = A.animObject;
17
17
  import Chart from '../Core/Chart/Chart.js';
18
18
  import D from '../Core/DefaultOptions.js';
19
19
  var defaultOptions = D.defaultOptions;
20
- import palette from '../Core/Color/Palette.js';
21
20
  import Point from '../Core/Series/Point.js';
22
21
  import Series from '../Core/Series/Series.js';
23
22
  import SeriesRegistry from '../Core/Series/SeriesRegistry.js';
@@ -40,10 +39,10 @@ var addEvent = U.addEvent, defined = U.defined, error = U.error, isArray = U.isA
40
39
  ''; // detach doclets from following code
41
40
  /* eslint-disable no-invalid-this */
42
41
  import Axis from '../Core/Axis/Axis.js';
43
- var Scatter = seriesTypes.scatter, baseGeneratePoints = Series.prototype.generatePoints, stateIdCounter = 0,
42
+ var Scatter = seriesTypes.scatter, baseGeneratePoints = Series.prototype.generatePoints;
44
43
  // Points that ids are included in the oldPointsStateId array
45
44
  // are hidden before animation. Other ones are destroyed.
46
- oldPointsStateId = [];
45
+ var oldPointsStateId = [], stateIdCounter = 0;
47
46
  /**
48
47
  * Options for marker clusters, the concept of sampling the data
49
48
  * values into larger blocks in order to ease readability and
@@ -240,7 +239,7 @@ var clusterDefaultOptions = {
240
239
  /** @internal */
241
240
  lineWidth: 0,
242
241
  /** @internal */
243
- lineColor: palette.backgroundColor
242
+ lineColor: "#ffffff" /* backgroundColor */
244
243
  },
245
244
  /**
246
245
  * Fires when the cluster point is clicked and `drillToCluster` is enabled.
@@ -354,6 +353,26 @@ var clusterDefaultOptions = {
354
353
  }
355
354
  });
356
355
  // Utils.
356
+ var pixelsToValues = function (series, pos) {
357
+ var chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis;
358
+ if (chart.mapView) {
359
+ return chart.mapView.pixelsToProjectedUnits(pos);
360
+ }
361
+ return {
362
+ x: xAxis ? xAxis.toValue(pos.x) : 0,
363
+ y: yAxis ? yAxis.toValue(pos.y) : 0
364
+ };
365
+ };
366
+ var valuesToPixels = function (series, pos) {
367
+ var chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis;
368
+ if (chart.mapView) {
369
+ return chart.mapView.projectedUnitsToPixels(pos);
370
+ }
371
+ return {
372
+ x: xAxis ? xAxis.toPixels(pos.x) : 0,
373
+ y: yAxis ? yAxis.toPixels(pos.y) : 0
374
+ };
375
+ };
357
376
  /* eslint-disable require-jsdoc */
358
377
  function getClusterPosition(points) {
359
378
  var pointsLen = points.length, sumX = 0, sumY = 0, i;
@@ -455,11 +474,13 @@ symbols.cluster = function (x, y, width, height) {
455
474
  return outer2.concat(outer1, inner);
456
475
  };
457
476
  Scatter.prototype.animateClusterPoint = function (clusterObj) {
458
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, chart = series.chart, clusterOptions = series.options.cluster, animation = animObject((clusterOptions || {}).animation), animDuration = animation.duration || 500, pointsState = (series.markerClusterInfo || {}).pointsState, newState = (pointsState || {}).newState, oldState = (pointsState || {}).oldState, parentId, oldPointObj, newPointObj, oldPoints = [], newPointBBox, offset = 0, newX = 0, newY = 0, isOldPointGrahic = false, isCbHandled = false;
477
+ var series = this, chart = series.chart, mapView = chart.mapView, clusterOptions = series.options.cluster, animation = animObject((clusterOptions || {}).animation), animDuration = animation.duration || 500, pointsState = (series.markerClusterInfo || {}).pointsState, newState = (pointsState || {}).newState, oldState = (pointsState || {}).oldState, oldPoints = [];
478
+ var parentId, oldPointObj, newPointObj, newPointBBox, offset = 0, newX = 0, newY = 0, isOldPointGrahic = false, isCbHandled = false;
459
479
  if (oldState && newState) {
460
480
  newPointObj = newState[clusterObj.stateId];
461
- newX = xAxis.toPixels(newPointObj.x) - chart.plotLeft;
462
- newY = yAxis.toPixels(newPointObj.y) - chart.plotTop;
481
+ var newPos = valuesToPixels(series, newPointObj);
482
+ newX = newPos.x - (mapView ? 0 : chart.plotLeft);
483
+ newY = newPos.y - (mapView ? 0 : chart.plotTop);
463
484
  // Point has one ancestor.
464
485
  if (newPointObj.parentsId.length === 1) {
465
486
  parentId = (newState || {})[clusterObj.stateId].parentsId[0];
@@ -475,7 +496,8 @@ Scatter.prototype.animateClusterPoint = function (clusterObj) {
475
496
  oldPointObj.point.plotY !== newPointObj.point.plotY) {
476
497
  newPointBBox = newPointObj.point.graphic.getBBox();
477
498
  // Marker image does not have the offset (#14342).
478
- offset = newPointObj.point.graphic && newPointObj.point.graphic.isImg ?
499
+ offset = (newPointObj.point.graphic &&
500
+ newPointObj.point.graphic.isImg) ?
479
501
  0 : newPointBBox.width / 2;
480
502
  newPointObj.point.graphic.attr({
481
503
  x: oldPointObj.point.plotX - offset,
@@ -567,14 +589,14 @@ Scatter.prototype.animateClusterPoint = function (clusterObj) {
567
589
  };
568
590
  Scatter.prototype.getGridOffset = function () {
569
591
  var series = this, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, plotLeft = 0, plotTop = 0;
570
- if (series.dataMinX && series.dataMaxX) {
592
+ if (xAxis && series.dataMinX && series.dataMaxX) {
571
593
  plotLeft = xAxis.reversed ?
572
594
  xAxis.toPixels(series.dataMaxX) : xAxis.toPixels(series.dataMinX);
573
595
  }
574
596
  else {
575
597
  plotLeft = chart.plotLeft;
576
598
  }
577
- if (series.dataMinY && series.dataMaxY) {
599
+ if (yAxis && series.dataMinY && series.dataMaxY) {
578
600
  plotTop = yAxis.reversed ?
579
601
  yAxis.toPixels(series.dataMinY) : yAxis.toPixels(series.dataMaxY);
580
602
  }
@@ -584,16 +606,24 @@ Scatter.prototype.getGridOffset = function () {
584
606
  return { plotLeft: plotLeft, plotTop: plotTop };
585
607
  };
586
608
  Scatter.prototype.getScaledGridSize = function (options) {
587
- var series = this, xAxis = series.xAxis, search = true, k = 1, divider = 1, processedGridSize = options.processedGridSize ||
588
- clusterDefaultOptions.layoutAlgorithm.gridSize, gridSize, scale, level;
609
+ var series = this, xAxis = series.xAxis, mapView = this.chart.mapView, processedGridSize = options.processedGridSize ||
610
+ clusterDefaultOptions.layoutAlgorithm.gridSize;
611
+ var search = true, k = 1, divider = 1;
589
612
  if (!series.gridValueSize) {
590
- series.gridValueSize = Math.abs(xAxis.toValue(processedGridSize) - xAxis.toValue(0));
613
+ if (mapView) {
614
+ series.gridValueSize = processedGridSize / mapView.getScale();
615
+ }
616
+ else {
617
+ series.gridValueSize = Math.abs(xAxis.toValue(processedGridSize) - xAxis.toValue(0));
618
+ }
591
619
  }
592
- gridSize = xAxis.toPixels(series.gridValueSize) - xAxis.toPixels(0);
593
- scale = +(processedGridSize / gridSize).toFixed(14);
620
+ var gridSize = mapView ?
621
+ series.gridValueSize * mapView.getScale() :
622
+ xAxis.toPixels(series.gridValueSize) - xAxis.toPixels(0);
623
+ var scale = +(processedGridSize / gridSize).toFixed(14);
594
624
  // Find the level and its divider.
595
625
  while (search && scale !== 1) {
596
- level = Math.pow(2, k);
626
+ var level = Math.pow(2, k);
597
627
  if (scale > 0.75 && scale < 1.25) {
598
628
  search = false;
599
629
  }
@@ -610,77 +640,62 @@ Scatter.prototype.getScaledGridSize = function (options) {
610
640
  return (processedGridSize / divider) / scale;
611
641
  };
612
642
  Scatter.prototype.getRealExtremes = function () {
613
- var _a, _b;
614
- var series = this, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, realMinX = xAxis ? xAxis.toValue(chart.plotLeft) : 0, realMaxX = xAxis ?
615
- xAxis.toValue(chart.plotLeft + chart.plotWidth) : 0, realMinY = yAxis ? yAxis.toValue(chart.plotTop) : 0, realMaxY = yAxis ?
616
- yAxis.toValue(chart.plotTop + chart.plotHeight) : 0;
617
- if (realMinX > realMaxX) {
618
- _a = [realMinX, realMaxX], realMaxX = _a[0], realMinX = _a[1];
619
- }
620
- if (realMinY > realMaxY) {
621
- _b = [realMinY, realMaxY], realMaxY = _b[0], realMinY = _b[1];
622
- }
643
+ var chart = this.chart, x = chart.mapView ? 0 : chart.plotLeft, y = chart.mapView ? 0 : chart.plotTop, p1 = pixelsToValues(this, {
644
+ x: x,
645
+ y: y
646
+ }), p2 = pixelsToValues(this, {
647
+ x: x + chart.plotWidth,
648
+ y: x + chart.plotHeight
649
+ }), realMinX = p1.x, realMaxX = p2.x, realMinY = p1.y, realMaxY = p2.y;
623
650
  return {
624
- minX: realMinX,
625
- maxX: realMaxX,
626
- minY: realMinY,
627
- maxY: realMaxY
651
+ minX: Math.min(realMinX, realMaxX),
652
+ maxX: Math.max(realMinX, realMaxX),
653
+ minY: Math.min(realMinY, realMaxY),
654
+ maxY: Math.max(realMinY, realMaxY)
628
655
  };
629
656
  };
630
657
  Scatter.prototype.onDrillToCluster = function (event) {
631
658
  var point = event.point || event.target;
632
659
  point.firePointEvent('drillToCluster', event, function (e) {
633
- var _a, _b;
634
- var point = e.point || e.target, series = point.series, xAxis = point.series.xAxis, yAxis = point.series.yAxis, chart = point.series.chart, clusterOptions = series.options.cluster, drillToCluster = (clusterOptions || {}).drillToCluster, offsetX, offsetY, sortedDataX, sortedDataY, minX, minY, maxX, maxY;
660
+ var point = e.point || e.target, series = point.series, xAxis = point.series.xAxis, yAxis = point.series.yAxis, chart = point.series.chart, mapView = chart.mapView, clusterOptions = series.options.cluster, drillToCluster = (clusterOptions || {}).drillToCluster;
635
661
  if (drillToCluster && point.clusteredData) {
636
- sortedDataX = point.clusteredData.map(function (data) {
637
- return data.x;
638
- }).sort(function (a, b) { return a - b; });
639
- sortedDataY = point.clusteredData.map(function (data) {
640
- return data.y;
641
- }).sort(function (a, b) { return a - b; });
642
- minX = sortedDataX[0];
643
- maxX = sortedDataX[sortedDataX.length - 1];
644
- minY = sortedDataY[0];
645
- maxY = sortedDataY[sortedDataY.length - 1];
646
- offsetX = Math.abs((maxX - minX) * 0.1);
647
- offsetY = Math.abs((maxY - minY) * 0.1);
648
- chart.pointer.zoomX = true;
649
- chart.pointer.zoomY = true;
650
- // Swap when minus values.
651
- if (minX > maxX) {
652
- _a = [maxX, minX], minX = _a[0], maxX = _a[1];
662
+ var sortedDataX = point.clusteredData
663
+ .map(function (data) { return data.x; })
664
+ .sort(function (a, b) { return a - b; }), sortedDataY = point.clusteredData
665
+ .map(function (data) { return data.y; })
666
+ .sort(function (a, b) { return a - b; }), minX = sortedDataX[0], maxX = sortedDataX[sortedDataX.length - 1], minY = sortedDataY[0], maxY = sortedDataY[sortedDataY.length - 1], offsetX = Math.abs((maxX - minX) * 0.1), offsetY = Math.abs((maxY - minY) * 0.1), x1 = Math.min(minX, maxX) - offsetX, x2 = Math.max(minX, maxX) + offsetX, y1 = Math.min(minY, maxY) - offsetY, y2 = Math.max(minY, maxY) + offsetY;
667
+ if (mapView) {
668
+ mapView.fitToBounds({ x1: x1, x2: x2, y1: y1, y2: y2 });
653
669
  }
654
- if (minY > maxY) {
655
- _b = [maxY, minY], minY = _b[0], maxY = _b[1];
670
+ else if (xAxis && yAxis) {
671
+ chart.pointer.zoomX = true;
672
+ chart.pointer.zoomY = true;
673
+ chart.zoom({
674
+ originalEvent: e,
675
+ xAxis: [{
676
+ axis: xAxis,
677
+ min: x1,
678
+ max: x2
679
+ }],
680
+ yAxis: [{
681
+ axis: yAxis,
682
+ min: y1,
683
+ max: y2
684
+ }]
685
+ });
656
686
  }
657
- chart.zoom({
658
- originalEvent: e,
659
- xAxis: [{
660
- axis: xAxis,
661
- min: minX - offsetX,
662
- max: maxX + offsetX
663
- }],
664
- yAxis: [{
665
- axis: yAxis,
666
- min: minY - offsetY,
667
- max: maxY + offsetY
668
- }]
669
- });
670
687
  }
671
688
  });
672
689
  };
673
690
  Scatter.prototype.getClusterDistancesFromPoint = function (clusters, pointX, pointY) {
674
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, pointClusterDistance = [], j, distance;
675
- for (j = 0; j < clusters.length; j++) {
676
- distance = Math.sqrt(Math.pow(xAxis.toPixels(pointX) -
677
- xAxis.toPixels(clusters[j].posX), 2) +
678
- Math.pow(yAxis.toPixels(pointY) -
679
- yAxis.toPixels(clusters[j].posY), 2));
680
- pointClusterDistance.push({
681
- clusterIndex: j,
682
- distance: distance
683
- });
691
+ var pointClusterDistance = [];
692
+ for (var clusterIndex = 0; clusterIndex < clusters.length; clusterIndex++) {
693
+ var p1 = valuesToPixels(this, { x: pointX, y: pointY }), p2 = valuesToPixels(this, {
694
+ x: clusters[clusterIndex].posX,
695
+ y: clusters[clusterIndex].posY
696
+ }), distance = Math.sqrt(Math.pow(p1.x - p2.x, 2) +
697
+ Math.pow(p1.y - p2.y, 2));
698
+ pointClusterDistance.push({ clusterIndex: clusterIndex, distance: distance });
684
699
  }
685
700
  return pointClusterDistance.sort(function (a, b) { return a.distance - b.distance; });
686
701
  };
@@ -730,12 +745,14 @@ Scatter.prototype.getPointsState = function (clusteredData, oldMarkerClusterInfo
730
745
  };
731
746
  Scatter.prototype.markerClusterAlgorithms = {
732
747
  grid: function (dataX, dataY, dataIndexes, options) {
733
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, grid = {}, gridOffset = series.getGridOffset(), scaledGridSize, x, y, gridX, gridY, key, i;
748
+ var grid = {}, gridOffset = this.getGridOffset();
749
+ var x, y, gridX, gridY, key, i;
734
750
  // drawGridLines(series, options);
735
- scaledGridSize = series.getScaledGridSize(options);
751
+ var scaledGridSize = this.getScaledGridSize(options);
736
752
  for (i = 0; i < dataX.length; i++) {
737
- x = xAxis.toPixels(dataX[i]) - gridOffset.plotLeft;
738
- y = yAxis.toPixels(dataY[i]) - gridOffset.plotTop;
753
+ var p = valuesToPixels(this, { x: dataX[i], y: dataY[i] });
754
+ x = p.x - gridOffset.plotLeft;
755
+ y = p.y - gridOffset.plotTop;
739
756
  gridX = Math.floor(x / scaledGridSize);
740
757
  gridY = Math.floor(y / scaledGridSize);
741
758
  key = gridY + '-' + gridX;
@@ -776,6 +793,7 @@ Scatter.prototype.markerClusterAlgorithms = {
776
793
  }
777
794
  // Start kmeans iteration process.
778
795
  while (repeat) {
796
+ // eslint-disable-next-line no-loop-func
779
797
  clusters.map(function (c) {
780
798
  c.points.length = 0;
781
799
  return c;
@@ -875,10 +893,9 @@ Scatter.prototype.markerClusterAlgorithms = {
875
893
  cluster.pointsOutside = [];
876
894
  cluster.pointsInside = [];
877
895
  cluster.data.forEach(function (dataPoint) {
878
- distance = Math.sqrt(Math.pow(xAxis.toPixels(dataPoint.x) -
879
- xAxis.toPixels(cluster.x), 2) +
880
- Math.pow(yAxis.toPixels(dataPoint.y) -
881
- yAxis.toPixels(cluster.y), 2));
896
+ var dataPointPx = valuesToPixels(series, dataPoint), clusterPx = valuesToPixels(series, cluster);
897
+ distance = Math.sqrt(Math.pow(dataPointPx.x - clusterPx.x, 2) +
898
+ Math.pow(dataPointPx.y - clusterPx.y, 2));
882
899
  if (cluster.clusterZone &&
883
900
  cluster.clusterZone.marker &&
884
901
  cluster.clusterZone.marker.radius) {
@@ -916,7 +933,7 @@ Scatter.prototype.markerClusterAlgorithms = {
916
933
  }
917
934
  };
918
935
  Scatter.prototype.preventClusterCollisions = function (props) {
919
- var series = this, xAxis = series.xAxis, yAxis = series.yAxis, _a = props.key.split('-').map(parseFloat), gridY = _a[0], gridX = _a[1], gridSize = props.gridSize, groupedData = props.groupedData, defaultRadius = props.defaultRadius, clusterRadius = props.clusterRadius, gridXPx = gridX * gridSize, gridYPx = gridY * gridSize, xPixel = xAxis.toPixels(props.x), yPixel = yAxis.toPixels(props.y), gridsToCheckCollision = [], pointsLen = 0, radius = 0, clusterMarkerOptions = (series.options.cluster || {}).marker, zoneOptions = (series.options.cluster || {}).zones, gridOffset = series.getGridOffset(), nextXPixel, nextYPixel, signX, signY, cornerGridX, cornerGridY, i, j, itemX, itemY, nextClusterPos, maxDist, keys, x, y;
936
+ var series = this, _a = props.key.split('-').map(parseFloat), gridY = _a[0], gridX = _a[1], gridSize = props.gridSize, groupedData = props.groupedData, defaultRadius = props.defaultRadius, clusterRadius = props.clusterRadius, gridXPx = gridX * gridSize, gridYPx = gridY * gridSize, propsPx = valuesToPixels(series, props), xPixel = propsPx.x, yPixel = propsPx.y, gridsToCheckCollision = [], pointsLen = 0, radius = 0, clusterMarkerOptions = (series.options.cluster || {}).marker, zoneOptions = (series.options.cluster || {}).zones, gridOffset = series.getGridOffset(), nextXPixel, nextYPixel, signX, signY, cornerGridX, cornerGridY, i, j, itemX, itemY, nextClusterPos, maxDist, keys;
920
937
  // Distance to the grid start.
921
938
  xPixel -= gridOffset.plotLeft;
922
939
  yPixel -= gridOffset.plotTop;
@@ -946,10 +963,12 @@ Scatter.prototype.preventClusterCollisions = function (props) {
946
963
  groupedData[item].posX = nextClusterPos.x;
947
964
  groupedData[item].posY = nextClusterPos.y;
948
965
  }
949
- nextXPixel = xAxis.toPixels(groupedData[item].posX || 0) -
950
- gridOffset.plotLeft;
951
- nextYPixel = yAxis.toPixels(groupedData[item].posY || 0) -
952
- gridOffset.plotTop;
966
+ var pos_1 = valuesToPixels(series, {
967
+ x: groupedData[item].posX || 0,
968
+ y: groupedData[item].posY || 0
969
+ });
970
+ nextXPixel = pos_1.x - gridOffset.plotLeft;
971
+ nextYPixel = pos_1.y - gridOffset.plotTop;
953
972
  _a = item.split('-').map(parseFloat), itemY = _a[0], itemX = _a[1];
954
973
  if (zoneOptions) {
955
974
  pointsLen = groupedData[item].length;
@@ -992,11 +1011,13 @@ Scatter.prototype.preventClusterCollisions = function (props) {
992
1011
  }
993
1012
  }
994
1013
  });
995
- x = xAxis.toValue(xPixel + gridOffset.plotLeft);
996
- y = yAxis.toValue(yPixel + gridOffset.plotTop);
997
- groupedData[props.key].posX = x;
998
- groupedData[props.key].posY = y;
999
- return { x: x, y: y };
1014
+ var pos = pixelsToValues(series, {
1015
+ x: xPixel + gridOffset.plotLeft,
1016
+ y: yPixel + gridOffset.plotTop
1017
+ });
1018
+ groupedData[props.key].posX = pos.x;
1019
+ groupedData[props.key].posY = pos.y;
1020
+ return pos;
1000
1021
  };
1001
1022
  // Check if user algorithm result is valid groupedDataObject.
1002
1023
  Scatter.prototype.isValidGroupedDataObject = function (groupedData) {
@@ -1188,7 +1209,7 @@ Scatter.prototype.hideClusteredData = function () {
1188
1209
  };
1189
1210
  // Override the generatePoints method by adding a reference to grouped data.
1190
1211
  Scatter.prototype.generatePoints = function () {
1191
- var series = this, chart = series.chart, xAxis = series.xAxis, yAxis = series.yAxis, clusterOptions = series.options.cluster, realExtremes = series.getRealExtremes(), visibleXData = [], visibleYData = [], visibleDataIndexes = [], oldPointsState, oldDataLen, oldMarkerClusterInfo, kmeansThreshold, cropDataOffsetX, cropDataOffsetY, seriesMinX, seriesMaxX, seriesMinY, seriesMaxY, type, algorithm, clusteredData, groupedData, layoutAlgOptions, point, i;
1212
+ var series = this, chart = series.chart, mapView = chart.mapView, xAxis = series.xAxis, yAxis = series.yAxis, clusterOptions = series.options.cluster, realExtremes = series.getRealExtremes(), visibleXData = [], visibleYData = [], visibleDataIndexes = [], oldPointsState, oldDataLen, oldMarkerClusterInfo, kmeansThreshold, cropDataOffsetX, cropDataOffsetY, seriesMinX, seriesMaxX, seriesMinY, seriesMaxY, type, algorithm, clusteredData, groupedData, layoutAlgOptions, point, i;
1192
1213
  if (clusterOptions &&
1193
1214
  clusterOptions.enabled &&
1194
1215
  series.xData &&
@@ -1206,10 +1227,9 @@ Scatter.prototype.generatePoints = function () {
1206
1227
  kmeansThreshold = layoutAlgOptions.kmeansThreshold ||
1207
1228
  clusterDefaultOptions.layoutAlgorithm.kmeansThreshold;
1208
1229
  // Offset to prevent cluster size changes.
1209
- cropDataOffsetX = Math.abs(xAxis.toValue(layoutAlgOptions.processedGridSize / 2) -
1210
- xAxis.toValue(0));
1211
- cropDataOffsetY = Math.abs(yAxis.toValue(layoutAlgOptions.processedGridSize / 2) -
1212
- yAxis.toValue(0));
1230
+ var halfGrid = layoutAlgOptions.processedGridSize / 2, p1 = pixelsToValues(series, { x: 0, y: 0 }), p2 = pixelsToValues(series, { x: halfGrid, y: halfGrid });
1231
+ cropDataOffsetX = Math.abs(p1.x - p2.x);
1232
+ cropDataOffsetY = Math.abs(p1.y - p2.y);
1213
1233
  // Get only visible data.
1214
1234
  for (i = 0; i < series.xData.length; i++) {
1215
1235
  if (!series.dataMaxX) {
@@ -1341,7 +1361,7 @@ addEvent(Chart, 'render', function () {
1341
1361
  if ((options || {}).animation &&
1342
1362
  series.markerClusterInfo &&
1343
1363
  series.chart.pointer.pinchDown.length === 0 &&
1344
- (series.xAxis.eventArgs || {}).trigger !== 'pan' &&
1364
+ ((series.xAxis || {}).eventArgs || {}).trigger !== 'pan' &&
1345
1365
  oldState &&
1346
1366
  Object.keys(oldState).length) {
1347
1367
  series.markerClusterInfo.clusters.forEach(function (cluster) {
@@ -85,7 +85,8 @@ function rotate3D(x, y, z, angles) {
85
85
  * @requires highcharts-3d
86
86
  */
87
87
  function perspective3D(coordinate, origin, distance) {
88
- var projection = ((distance > 0) && (distance < Number.POSITIVE_INFINITY)) ?
88
+ var projection = ((distance > 0) &&
89
+ (distance < Number.POSITIVE_INFINITY)) ?
89
90
  distance / (coordinate.z + origin.z + distance) :
90
91
  1;
91
92
  return {
@@ -119,9 +120,8 @@ H.perspective3D = perspective3D;
119
120
  */
120
121
  function perspective(points, chart, insidePlotArea, useInvertedPersp) {
121
122
  var options3d = chart.options.chart.options3d,
122
- /* The useInvertedPersp argument is used for
123
- * inverted charts with already inverted elements,
124
- * such as dataLabels or tooltip positions.
123
+ /* The useInvertedPersp argument is used for inverted charts with
124
+ * already inverted elements, such as dataLabels or tooltip positions.
125
125
  */
126
126
  inverted = pick(useInvertedPersp, insidePlotArea ? chart.inverted : false), origin = {
127
127
  x: chart.plotWidth / 2,
@@ -15,7 +15,6 @@ import AST from '../Core/Renderer/HTML/AST.js';
15
15
  import Chart from '../Core/Chart/Chart.js';
16
16
  import D from '../Core/DefaultOptions.js';
17
17
  var getOptions = D.getOptions;
18
- import palette from '../Core/Color/Palette.js';
19
18
  import U from '../Core/Utilities.js';
20
19
  var addEvent = U.addEvent, extend = U.extend;
21
20
  var chartPrototype = Chart.prototype, defaultOptions = getOptions();
@@ -118,7 +117,7 @@ defaultOptions.noData = {
118
117
  /** @ignore */
119
118
  fontSize: '12px',
120
119
  /** @ignore */
121
- color: palette.neutralColor60
120
+ color: "#666666" /* neutralColor60 */
122
121
  }
123
122
  };
124
123
  /**
@@ -11,6 +11,7 @@
11
11
  * */
12
12
  /* global MSBlobBuilder */
13
13
  'use strict';
14
+ import AST from '../../Core/Renderer/HTML/AST.js';
14
15
  import Chart from '../../Core/Chart/Chart.js';
15
16
  import D from '../../Core/DefaultOptions.js';
16
17
  var defaultOptions = D.defaultOptions;
@@ -22,6 +23,8 @@ var win = H.win, doc = H.doc;
22
23
  import OfflineExportingDefaults from './OfflineExportingDefaults.js';
23
24
  import U from '../../Core/Utilities.js';
24
25
  var addEvent = U.addEvent, error = U.error, extend = U.extend, fireEvent = U.fireEvent, merge = U.merge;
26
+ AST.allowedAttributes.push('data-z-index', 'fill-opacity', 'rx', 'ry', 'stroke-dasharray', 'stroke-linejoin', 'text-anchor', 'transform', 'version', 'viewBox', 'visibility', 'xmlns', 'xmlns:xlink');
27
+ AST.allowedTags.push('desc', 'clippath', 'g');
25
28
  /* *
26
29
  *
27
30
  * Constants
@@ -101,21 +104,20 @@ var OfflineExporting;
101
104
  * @param {Function} [successCallback]
102
105
  * The callback function in case of success
103
106
  *
104
- * @return {void}
105
107
  */
106
108
  function downloadSVGLocal(svg, options, failCallback, successCallback) {
107
109
  var dummySVGContainer = doc.createElement('div'), imageType = options.type || 'image/png', filename = ((options.filename || 'chart') +
108
110
  '.' +
109
- (imageType === 'image/svg+xml' ? 'svg' : imageType.split('/')[1])), scale = options.scale || 1;
111
+ (imageType === 'image/svg+xml' ?
112
+ 'svg' : imageType.split('/')[1])), scale = options.scale || 1;
110
113
  var svgurl, blob, finallyHandler, libURL = (options.libURL || defaultOptions.exporting.libURL), objectURLRevoke = true;
111
114
  // Allow libURL to end with or without fordward slash
112
115
  libURL = libURL.slice(-1) !== '/' ? libURL + '/' : libURL;
113
- /**
116
+ /*
114
117
  * @private
115
- * @return {void}
116
118
  */
117
119
  var downloadPDF = function () {
118
- dummySVGContainer.innerHTML = svg;
120
+ AST.setElementHTML(dummySVGContainer, svg);
119
121
  var textElements = dummySVGContainer.getElementsByTagName('text'),
120
122
  // Copy style property to element from parents if it's not
121
123
  // there. Searches up hierarchy until it finds prop, or hits the
@@ -288,9 +290,9 @@ var OfflineExporting;
288
290
  * a different background color can be added here, or
289
291
  * `dataLabels` for export only.
290
292
  *
291
- * @return {void}
292
293
  *
293
294
  * @requires modules/exporting
295
+ * @requires modules/offline-exporting
294
296
  */
295
297
  function exportChartLocal(exportingOptions, chartOptions) {
296
298
  var chart = this, options = merge(chart.options.exporting, exportingOptions), fallbackToExportServer = function (err) {
@@ -312,27 +314,26 @@ var OfflineExporting;
312
314
  if (svg.indexOf('<foreignObject') > -1 &&
313
315
  options.type !== 'image/svg+xml' &&
314
316
  (H.isMS || options.type === 'application/pdf')) {
315
- fallbackToExportServer('Image type not supported' +
316
- 'for charts with embedded HTML');
317
+ fallbackToExportServer(new Error('Image type not supported for charts with embedded HTML'));
317
318
  }
318
319
  else {
319
320
  OfflineExporting.downloadSVGLocal(svg, extend({ filename: chart.getFilename() }, options), fallbackToExportServer, function () { return fireEvent(chart, 'exportChartLocalSuccess'); });
320
321
  }
321
322
  },
322
- // Return true if the SVG contains images with external data.
323
- // With the boost module there are `image` elements with encoded
324
- // PNGs, these are supported by svg2pdf and should
325
- // pass (#10243).
323
+ // Return true if the SVG contains images with external data. With
324
+ // the boost module there are `image` elements with encoded PNGs,
325
+ // these are supported by svg2pdf and should pass (#10243).
326
326
  hasExternalImages = function () {
327
327
  return [].some.call(chart.container.getElementsByTagName('image'), function (image) {
328
328
  var href = image.getAttribute('href');
329
- return href !== '' && href.indexOf('data:') !== 0;
329
+ return (href !== '' &&
330
+ typeof href === 'string' &&
331
+ href.indexOf('data:') !== 0);
330
332
  });
331
333
  };
332
- // If we are on IE and in styled mode, add a whitelist to the
333
- // renderer for inline styles that we want to pass through. There
334
- // are so many styles by default in IE that we don't want to
335
- // blacklist them all.
334
+ // If we are on IE and in styled mode, add a whitelist to the renderer
335
+ // for inline styles that we want to pass through. There are so many
336
+ // styles by default in IE that we don't want to blacklist them all.
336
337
  if (H.isMS && chart.styledMode && !Exporting.inlineWhitelist.length) {
337
338
  Exporting.inlineWhitelist.push(/^blockSize/, /^border/, /^caretColor/, /^color/, /^columnRule/, /^columnRuleColor/, /^cssFloat/, /^cursor/, /^fill$/, /^fillOpacity/, /^font/, /^inlineSize/, /^length/, /^lineHeight/, /^opacity/, /^outline/, /^parentRule/, /^rx$/, /^ry$/, /^stroke/, /^textAlign/, /^textAnchor/, /^textDecoration/, /^transform/, /^vectorEffect/, /^visibility/, /^x$/, /^y$/);
338
339
  }
@@ -344,7 +345,7 @@ var OfflineExporting;
344
345
  chart.container.getElementsByTagName('image').length &&
345
346
  options.type !== 'image/svg+xml')) || (options.type === 'application/pdf' &&
346
347
  hasExternalImages())) {
347
- fallbackToExportServer('Image type not supported for this chart/browser.');
348
+ fallbackToExportServer(new Error('Image type not supported for this chart/browser.'));
348
349
  return;
349
350
  }
350
351
  chart.getSVGForLocalExport(options, chartOptions || {}, fallbackToExportServer, svgSuccess);
@@ -380,7 +381,6 @@ var OfflineExporting;
380
381
  * @param {Highcharts.Options} chartOptions
381
382
  * @param {Function} failCallback
382
383
  * @param {Function} successCallback
383
- * @return {void}
384
384
  */
385
385
  function getSVGForLocalExport(options, chartOptions, failCallback, successCallback) {
386
386
  var chart = this,
@@ -389,7 +389,7 @@ var OfflineExporting;
389
389
  sanitize = function (svg) { return chart.sanitizeSVG(svg, chartCopyOptions); },
390
390
  // When done with last image we have our SVG
391
391
  checkDone = function () {
392
- if (images && imagesEmbedded === images.length) {
392
+ if (images && imagesEmbedded === imagesLength) {
393
393
  successCallback(sanitize(chartCopyContainer.innerHTML));
394
394
  }
395
395
  },
@@ -400,13 +400,15 @@ var OfflineExporting;
400
400
  callbackArgs.imageElement.setAttributeNS('http://www.w3.org/1999/xlink', 'href', imageURL);
401
401
  checkDone();
402
402
  };
403
- var el, i, l, chartCopyContainer, chartCopyOptions, href = null, images, imagesEmbedded = 0;
403
+ var el, chartCopyContainer, chartCopyOptions, href = null, images, imagesLength = 0, imagesEmbedded = 0;
404
404
  // Hook into getSVG to get a copy of the chart copy's
405
405
  // container (#8273)
406
406
  chart.unbindGetSVG = addEvent(chart, 'getSVG', function (e) {
407
407
  chartCopyOptions = e.chartCopy.options;
408
408
  chartCopyContainer = e.chartCopy.container.cloneNode(true);
409
- images = chartCopyContainer && chartCopyContainer.getElementsByTagName('image') || [];
409
+ images = chartCopyContainer && chartCopyContainer
410
+ .getElementsByTagName('image') || [];
411
+ imagesLength = images.length;
410
412
  });
411
413
  // Trigger hook to get chart copy
412
414
  chart.getSVGForExport(options, chartOptions);
@@ -418,7 +420,7 @@ var OfflineExporting;
418
420
  return;
419
421
  }
420
422
  // Go through the images we want to embed
421
- for (i = 0, l = images.length; i < l; ++i) {
423
+ for (var i = 0; i < images.length; i++) {
422
424
  el = images[i];
423
425
  href = el.getAttributeNS('http://www.w3.org/1999/xlink', 'href');
424
426
  if (href) {
@@ -432,8 +434,9 @@ var OfflineExporting;
432
434
  // Hidden, boosted series have blank href (#10243)
433
435
  }
434
436
  else {
435
- ++imagesEmbedded;
437
+ imagesEmbedded++;
436
438
  el.parentNode.removeChild(el);
439
+ i--;
437
440
  checkDone();
438
441
  }
439
442
  }
@@ -542,8 +545,6 @@ var OfflineExporting;
542
545
  *
543
546
  * @private
544
547
  * @function Highcharts.svgToDataURL
545
- * @param {string} svg
546
- * @return {string}
547
548
  */
548
549
  function svgToDataUrl(svg) {
549
550
  // Webkit and not chrome
@@ -552,10 +553,9 @@ var OfflineExporting;
552
553
  userAgent.indexOf('Chrome') < 0);
553
554
  try {
554
555
  // Safari requires data URI since it doesn't allow navigation to
555
- // blob URLs. Firefox has an issue with Blobs and internal
556
- // references, leading to gradients not working using Blobs (#4550).
557
- // foreignObjects also dont work well in Blobs in Chrome (#14780).
558
- if (!webKit && !H.isFirefox && svg.indexOf('<foreignObject') === -1) {
556
+ // blob URLs. ForeignObjects also dont work well in Blobs in Chrome
557
+ // (#14780).
558
+ if (!webKit && svg.indexOf('<foreignObject') === -1) {
559
559
  return OfflineExporting.domurl.createObjectURL(new win.Blob([svg], {
560
560
  type: 'image/svg+xml;charset-utf-16'
561
561
  }));
@@ -573,8 +573,8 @@ var OfflineExporting;
573
573
  */
574
574
  function svgToPdf(svgElement, margin) {
575
575
  var width = svgElement.width.baseVal.value + 2 * margin, height = svgElement.height.baseVal.value + 2 * margin, pdf = new win.jsPDF(// eslint-disable-line new-cap
576
- height > width ? 'p' : 'l', // setting orientation to portrait if height exceeds width
577
- 'pt', [width, height]);
576
+ // setting orientation to portrait if height exceeds width
577
+ height > width ? 'p' : 'l', 'pt', [width, height]);
578
578
  // Workaround for #7090, hidden elements were drawn anyway. It comes
579
579
  // down to https://github.com/yWorks/svg2pdf.js/issues/28. Check this
580
580
  // later.
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * */
16
16
  var OfflineExportingDefaults = {
17
- libURL: 'https://code.highcharts.com/9.2.2/lib/',
17
+ libURL: 'https://code.highcharts.com/9.3.3/lib/',
18
18
  // When offline-exporting is loaded, redefine the menu item definitions
19
19
  // related to download.
20
20
  menuItemDefinitions: {