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
@@ -0,0 +1,436 @@
1
+ /* *
2
+ *
3
+ * (c) 2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
12
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
13
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
14
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
15
+ r[k] = a[j];
16
+ return r;
17
+ };
18
+ import registry from './Projections/ProjectionRegistry.js';
19
+ import U from '../Core/Utilities.js';
20
+ var erase = U.erase;
21
+ var deg2rad = Math.PI * 2 / 360;
22
+ // Safe padding on either side of the antimeridian to avoid points being
23
+ // projected to the wrong side of the plane
24
+ var floatCorrection = 0.000001;
25
+ // Keep longitude within -180 and 180. This is faster than using the modulo
26
+ // operator, and preserves the distinction between -180 and 180.
27
+ var wrapLon = function (lon) {
28
+ // Replacing the if's with while would increase the range, but make it prone
29
+ // to crashes on bad data
30
+ if (lon < -180) {
31
+ lon += 360;
32
+ }
33
+ if (lon > 180) {
34
+ lon -= 360;
35
+ }
36
+ return lon;
37
+ };
38
+ var Projection = /** @class */ (function () {
39
+ function Projection(options) {
40
+ if (options === void 0) { options = {}; }
41
+ // Whether the chart has points, lines or polygons given as coordinates
42
+ // with positive up, as opposed to paths in the SVG plane with positive
43
+ // down.
44
+ this.hasCoordinates = false;
45
+ // Whether the chart has true projection as opposed to pre-projected geojson
46
+ // as in the legacy map collection.
47
+ this.hasGeoProjection = false;
48
+ this.maxLatitude = 90;
49
+ this.options = options;
50
+ var name = options.name, rotation = options.rotation;
51
+ this.rotator = rotation ? this.getRotator(rotation) : void 0;
52
+ this.def = name ? Projection.registry[name] : void 0;
53
+ var _a = this, def = _a.def, rotator = _a.rotator;
54
+ if (def) {
55
+ if (def.init) {
56
+ def.init(options);
57
+ }
58
+ this.maxLatitude = def.maxLatitude || 90;
59
+ this.hasGeoProjection = true;
60
+ }
61
+ if (rotator && def) {
62
+ this.forward = function (lonLat) {
63
+ lonLat = rotator.forward(lonLat);
64
+ return def.forward(lonLat);
65
+ };
66
+ this.inverse = function (xy) {
67
+ var lonLat = def.inverse(xy);
68
+ return rotator.inverse(lonLat);
69
+ };
70
+ }
71
+ else if (def) {
72
+ this.forward = def.forward;
73
+ this.inverse = def.inverse;
74
+ }
75
+ else if (rotator) {
76
+ this.forward = rotator.forward;
77
+ this.inverse = rotator.inverse;
78
+ }
79
+ }
80
+ // Add a projection definition to the registry, accessible by its `name`.
81
+ Projection.add = function (name, definition) {
82
+ Projection.registry[name] = definition;
83
+ };
84
+ // Calculate the great circle between two given coordinates
85
+ Projection.greatCircle = function (point1, point2, inclusive) {
86
+ var atan2 = Math.atan2, cos = Math.cos, sin = Math.sin, sqrt = Math.sqrt;
87
+ var lat1 = point1[1] * deg2rad;
88
+ var lon1 = point1[0] * deg2rad;
89
+ var lat2 = point2[1] * deg2rad;
90
+ var lon2 = point2[0] * deg2rad;
91
+ var deltaLat = lat2 - lat1;
92
+ var deltaLng = lon2 - lon1;
93
+ var calcA = sin(deltaLat / 2) * sin(deltaLat / 2) +
94
+ cos(lat1) * cos(lat2) * sin(deltaLng / 2) * sin(deltaLng / 2);
95
+ var calcB = 2 * atan2(sqrt(calcA), sqrt(1 - calcA));
96
+ var distance = calcB * 6371e3; // in meters
97
+ var jumps = Math.round(distance / 500000); // 500 km each jump
98
+ var lineString = [];
99
+ if (inclusive) {
100
+ lineString.push(point1);
101
+ }
102
+ if (jumps > 1) {
103
+ var step = 1 / jumps;
104
+ for (var fraction = step; fraction < 0.999; // Account for float errors
105
+ fraction += step) {
106
+ var A = sin((1 - fraction) * calcB) / sin(calcB);
107
+ var B = sin(fraction * calcB) / sin(calcB);
108
+ var x = A * cos(lat1) * cos(lon1) + B * cos(lat2) * cos(lon2);
109
+ var y = A * cos(lat1) * sin(lon1) + B * cos(lat2) * sin(lon2);
110
+ var z = A * sin(lat1) + B * sin(lat2);
111
+ var lat3 = atan2(z, sqrt(x * x + y * y));
112
+ var lon3 = atan2(y, x);
113
+ lineString.push([lon3 / deg2rad, lat3 / deg2rad]);
114
+ }
115
+ }
116
+ if (inclusive) {
117
+ lineString.push(point2);
118
+ }
119
+ return lineString;
120
+ };
121
+ Projection.insertGreatCircles = function (poly) {
122
+ var i = poly.length - 1;
123
+ while (i--) {
124
+ // Distance in degrees, either in lon or lat. Avoid heavy
125
+ // calculation of true distance.
126
+ var roughDistance = Math.max(Math.abs(poly[i][0] - poly[i + 1][0]), Math.abs(poly[i][1] - poly[i + 1][1]));
127
+ if (roughDistance > 10) {
128
+ var greatCircle = Projection.greatCircle(poly[i], poly[i + 1]);
129
+ if (greatCircle.length) {
130
+ poly.splice.apply(poly, __spreadArrays([i + 1, 0], greatCircle));
131
+ }
132
+ }
133
+ }
134
+ };
135
+ Projection.toString = function (options) {
136
+ var _a = options || {}, name = _a.name, rotation = _a.rotation;
137
+ return [name, rotation && rotation.join(',')].join(';');
138
+ };
139
+ /*
140
+ * Take the rotation options and return the appropriate projection functions
141
+ */
142
+ Projection.prototype.getRotator = function (rotation) {
143
+ var deltaLambda = rotation[0] * deg2rad, deltaPhi = (rotation[1] || 0) * deg2rad, deltaGamma = (rotation[2] || 0) * deg2rad;
144
+ var cosDeltaPhi = Math.cos(deltaPhi), sinDeltaPhi = Math.sin(deltaPhi), cosDeltaGamma = Math.cos(deltaGamma), sinDeltaGamma = Math.sin(deltaGamma);
145
+ if (deltaLambda === 0 && deltaPhi === 0 && deltaGamma === 0) {
146
+ // Don't waste processing time
147
+ return;
148
+ }
149
+ return {
150
+ forward: function (lonLat) {
151
+ // Lambda (lon) rotation
152
+ var lon = lonLat[0] * deg2rad + deltaLambda;
153
+ // Phi (lat) and gamma rotation
154
+ var lat = lonLat[1] * deg2rad, cosLat = Math.cos(lat), x = Math.cos(lon) * cosLat, y = Math.sin(lon) * cosLat, sinLat = Math.sin(lat), k = sinLat * cosDeltaPhi + x * sinDeltaPhi;
155
+ return [
156
+ Math.atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - sinLat * sinDeltaPhi) / deg2rad,
157
+ Math.asin(k * cosDeltaGamma + y * sinDeltaGamma) / deg2rad
158
+ ];
159
+ },
160
+ inverse: function (rLonLat) {
161
+ // Lambda (lon) unrotation
162
+ var lon = rLonLat[0] * deg2rad;
163
+ // Phi (lat) and gamma unrotation
164
+ var lat = rLonLat[1] * deg2rad, cosLat = Math.cos(lat), x = Math.cos(lon) * cosLat, y = Math.sin(lon) * cosLat, sinLat = Math.sin(lat), k = sinLat * cosDeltaGamma - y * sinDeltaGamma;
165
+ return [
166
+ (Math.atan2(y * cosDeltaGamma + sinLat * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi) - deltaLambda) / deg2rad,
167
+ Math.asin(k * cosDeltaPhi - x * sinDeltaPhi) / deg2rad
168
+ ];
169
+ }
170
+ };
171
+ };
172
+ // Project a lonlat coordinate position to xy. Dynamically overridden when
173
+ // projection is set.
174
+ Projection.prototype.forward = function (lonLat) {
175
+ return lonLat;
176
+ };
177
+ // Project an xy chart coordinate position to lonlat. Dynamically overridden
178
+ // when projection is set.
179
+ Projection.prototype.inverse = function (xy) {
180
+ return xy;
181
+ };
182
+ Projection.prototype.clipOnAntimeridian = function (poly, isPolygon) {
183
+ var antimeridian = 180;
184
+ var intersections = [];
185
+ var polygons = [poly];
186
+ poly.forEach(function (lonLat, i) {
187
+ var previousLonLat = poly[i - 1];
188
+ if (!i) {
189
+ if (!isPolygon) {
190
+ return;
191
+ }
192
+ // Else, wrap to beginning
193
+ previousLonLat = poly[poly.length - 1];
194
+ }
195
+ var lon1 = previousLonLat[0], lon2 = lonLat[0];
196
+ if (
197
+ // Both points, after rotating for antimeridian, are on the far
198
+ // side of the Earth
199
+ (lon1 < -90 || lon1 > 90) &&
200
+ (lon2 < -90 || lon2 > 90) &&
201
+ // ... and on either side of the plane
202
+ (lon1 > 0) !== (lon2 > 0)) {
203
+ // Interpolate to the intersection latitude
204
+ var fraction = (antimeridian - previousLonLat[0]) /
205
+ (lonLat[0] - previousLonLat[0]);
206
+ var lat = previousLonLat[1] +
207
+ fraction * (lonLat[1] - previousLonLat[1]);
208
+ intersections.push({
209
+ i: i,
210
+ lat: lat,
211
+ direction: lon1 < 0 ? 1 : -1,
212
+ previousLonLat: previousLonLat,
213
+ lonLat: lonLat
214
+ });
215
+ }
216
+ });
217
+ var polarIntersection;
218
+ if (intersections.length) {
219
+ if (isPolygon) {
220
+ // Simplified use of the even-odd rule, if there is an odd
221
+ // amount of intersections between the polygon and the
222
+ // antimeridian, the pole is inside the polygon. Applies
223
+ // primarily to Antarctica.
224
+ if (intersections.length % 2 === 1) {
225
+ polarIntersection = intersections.slice().sort(function (a, b) { return Math.abs(b.lat) - Math.abs(a.lat); })[0];
226
+ erase(intersections, polarIntersection);
227
+ }
228
+ // Pull out slices of the polygon that is on the opposite side
229
+ // of the antimeridian compared to the starting point
230
+ var i = intersections.length - 2;
231
+ while (i >= 0) {
232
+ var index = intersections[i].i;
233
+ var lonPlus = wrapLon(antimeridian +
234
+ intersections[i].direction * floatCorrection);
235
+ var lonMinus = wrapLon(antimeridian -
236
+ intersections[i].direction * floatCorrection);
237
+ var slice = poly.splice.apply(poly, __spreadArrays([index,
238
+ intersections[i + 1].i - index], Projection.greatCircle([lonPlus, intersections[i].lat], [lonPlus, intersections[i + 1].lat], true)));
239
+ // Add interpolated points close to the cut
240
+ slice.push.apply(slice, Projection.greatCircle([lonMinus, intersections[i + 1].lat], [lonMinus, intersections[i].lat], true));
241
+ polygons.push(slice);
242
+ i -= 2;
243
+ }
244
+ // Insert dummy points close to the pole
245
+ if (polarIntersection) {
246
+ for (var i_1 = 0; i_1 < polygons.length; i_1++) {
247
+ var poly_1 = polygons[i_1];
248
+ var indexOf = poly_1.indexOf(polarIntersection.lonLat);
249
+ if (indexOf > -1) {
250
+ var polarLatitude = (polarIntersection.lat < 0 ? -1 : 1) *
251
+ this.maxLatitude;
252
+ var lon1 = wrapLon(antimeridian +
253
+ polarIntersection.direction * floatCorrection);
254
+ var lon2 = wrapLon(antimeridian -
255
+ polarIntersection.direction * floatCorrection);
256
+ var polarSegment = Projection.greatCircle([lon1, polarIntersection.lat], [lon1, polarLatitude], true).concat(Projection.greatCircle([lon2, polarLatitude], [lon2, polarIntersection.lat], true));
257
+ poly_1.splice.apply(poly_1, __spreadArrays([indexOf,
258
+ 0], polarSegment));
259
+ break;
260
+ }
261
+ }
262
+ }
263
+ // Map lines, not closed
264
+ }
265
+ else {
266
+ var i = intersections.length;
267
+ while (i--) {
268
+ var index = intersections[i].i;
269
+ var slice = poly.splice(index, poly.length,
270
+ // Add interpolated point close to the cut
271
+ [
272
+ wrapLon(antimeridian +
273
+ intersections[i].direction * floatCorrection),
274
+ intersections[i].lat
275
+ ]);
276
+ // Add interpolated point close to the cut
277
+ slice.unshift([
278
+ wrapLon(antimeridian -
279
+ intersections[i].direction * floatCorrection),
280
+ intersections[i].lat
281
+ ]);
282
+ polygons.push(slice);
283
+ }
284
+ }
285
+ }
286
+ // Insert great circles along the cuts
287
+ /*
288
+ if (isPolygon && polygons.length > 1 || polarIntersection) {
289
+ polygons.forEach(Projection.insertGreatCircles);
290
+ }
291
+ */
292
+ return polygons;
293
+ };
294
+ // Take a GeoJSON geometry and return a translated SVGPath
295
+ Projection.prototype.path = function (geometry) {
296
+ var _this = this;
297
+ var _a = this, def = _a.def, rotator = _a.rotator;
298
+ var antimeridian = 180;
299
+ var path = [];
300
+ var isPolygon = geometry.type === 'Polygon' ||
301
+ geometry.type === 'MultiPolygon';
302
+ // @todo: It doesn't really have to do with whether north is
303
+ // positive. It depends on whether the coordinates are
304
+ // pre-projected.
305
+ var hasGeoProjection = this.hasGeoProjection;
306
+ // @todo better test for when to do this
307
+ var projectingToPlane = this.options.name !== 'Orthographic';
308
+ // We need to rotate in a separate step before applying antimeridian
309
+ // clipping
310
+ var preclip = projectingToPlane ? rotator : void 0;
311
+ var postclip = projectingToPlane ? (def || this) : this;
312
+ var addToPath = function (polygon) {
313
+ // Create a copy of the original coordinates. The copy applies a
314
+ // correction of points close to the antimeridian in order to
315
+ // prevent the points to be projected to the wrong side of the
316
+ // plane. Float errors in topojson or in the projection may cause
317
+ // that.
318
+ var poly = polygon.map(function (lonLat) {
319
+ if (projectingToPlane) {
320
+ if (preclip) {
321
+ lonLat = preclip.forward(lonLat);
322
+ }
323
+ var lon = lonLat[0];
324
+ if (Math.abs(lon - antimeridian) < floatCorrection) {
325
+ if (lon < antimeridian) {
326
+ lon = antimeridian - floatCorrection;
327
+ }
328
+ else {
329
+ lon = antimeridian + floatCorrection;
330
+ }
331
+ }
332
+ lonLat = [lon, lonLat[1]];
333
+ }
334
+ return lonLat;
335
+ });
336
+ var polygons = [poly];
337
+ if (hasGeoProjection) {
338
+ // Insert great circles into long straight lines
339
+ Projection.insertGreatCircles(poly);
340
+ if (projectingToPlane) {
341
+ polygons = _this.clipOnAntimeridian(poly, isPolygon);
342
+ }
343
+ }
344
+ polygons.forEach(function (poly) {
345
+ if (poly.length < 2) {
346
+ return;
347
+ }
348
+ var movedTo = false;
349
+ var firstValidLonLat;
350
+ var lastValidLonLat;
351
+ var gap = false;
352
+ var pushToPath = function (point) {
353
+ if (!movedTo) {
354
+ path.push(['M', point[0], point[1]]);
355
+ movedTo = true;
356
+ }
357
+ else {
358
+ path.push(['L', point[0], point[1]]);
359
+ }
360
+ };
361
+ for (var i = 0; i < poly.length; i++) {
362
+ var lonLat = poly[i];
363
+ var point = postclip.forward(lonLat);
364
+ var valid = (!isNaN(point[0]) &&
365
+ !isNaN(point[1]) &&
366
+ (!hasGeoProjection ||
367
+ // Limited projections like Web Mercator
368
+ (lonLat[1] <= _this.maxLatitude &&
369
+ lonLat[1] >= -_this.maxLatitude)));
370
+ if (valid) {
371
+ // In order to be able to interpolate if the first or
372
+ // last point is invalid (on the far side of the globe
373
+ // in an orthographic projection), we need to push the
374
+ // first valid point to the end of the polygon.
375
+ if (isPolygon && !firstValidLonLat) {
376
+ firstValidLonLat = lonLat;
377
+ poly.push(lonLat);
378
+ }
379
+ // When entering the first valid point after a gap of
380
+ // invalid points, typically on the far side of the
381
+ // globe in an orthographic projection.
382
+ if (gap && lastValidLonLat) {
383
+ // For areas, in an orthographic projection, the
384
+ // great circle between two visible points will be
385
+ // close to the horizon. A possible exception may be
386
+ // when the two points are on opposite sides of the
387
+ // globe. It that poses a problem, we may have to
388
+ // rewrite this to use the small circle related to
389
+ // the current lon0 and lat0.
390
+ if (isPolygon && hasGeoProjection) {
391
+ var greatCircle = Projection.greatCircle(lastValidLonLat, lonLat);
392
+ greatCircle.forEach(function (lonLat) {
393
+ return pushToPath(postclip.forward(lonLat));
394
+ });
395
+ // For lines, just jump over the gap
396
+ }
397
+ else {
398
+ movedTo = false;
399
+ }
400
+ }
401
+ pushToPath(point);
402
+ lastValidLonLat = lonLat;
403
+ gap = false;
404
+ }
405
+ else {
406
+ gap = true;
407
+ }
408
+ }
409
+ });
410
+ };
411
+ if (geometry.type === 'LineString') {
412
+ addToPath(geometry.coordinates);
413
+ }
414
+ else if (geometry.type === 'MultiLineString') {
415
+ geometry.coordinates.forEach(function (c) { return addToPath(c); });
416
+ }
417
+ else if (geometry.type === 'Polygon') {
418
+ geometry.coordinates.forEach(function (c) { return addToPath(c); });
419
+ if (path.length) {
420
+ path.push(['Z']);
421
+ }
422
+ }
423
+ else if (geometry.type === 'MultiPolygon') {
424
+ geometry.coordinates.forEach(function (polygons) {
425
+ polygons.forEach(function (c) { return addToPath(c); });
426
+ });
427
+ if (path.length) {
428
+ path.push(['Z']);
429
+ }
430
+ }
431
+ return path;
432
+ };
433
+ Projection.registry = registry;
434
+ return Projection;
435
+ }());
436
+ export default Projection;
@@ -0,0 +1,9 @@
1
+ /* *
2
+ *
3
+ * (c) 2021 Torstein Honsi
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
@@ -0,0 +1,42 @@
1
+ /* *
2
+ *
3
+ * Equal Earth projection, an equal-area projection designed to minimize
4
+ * distortion and remain pleasing to the eye.
5
+ *
6
+ * Invented by Bojan Šavrič, Bernhard Jenny, and Tom Patterson in 2018. It is
7
+ * inspired by the widely used Robinson projection.
8
+ *
9
+ * */
10
+ 'use strict';
11
+ var A1 = 1.340264, A2 = -0.081106, A3 = 0.000893, A4 = 0.003796, M = Math.sqrt(3) / 2.0, scale = 74.03120656864502;
12
+ var EqualEarth = {
13
+ forward: function (lonLat) {
14
+ var d = Math.PI / 180, paramLat = Math.asin(M * Math.sin(lonLat[1] * d)), paramLatSq = paramLat * paramLat, paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;
15
+ var x = lonLat[0] * d * Math.cos(paramLat) * scale / (M *
16
+ (A1 +
17
+ 3 * A2 * paramLatSq +
18
+ paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq)));
19
+ var y = paramLat * scale * (A1 + A2 * paramLatSq + paramLatPow6 * (A3 + A4 * paramLatSq));
20
+ return [x, y];
21
+ },
22
+ inverse: function (xy) {
23
+ var x = xy[0] / scale, y = xy[1] / scale, d = 180 / Math.PI, epsilon = 1e-9, iterations = 12;
24
+ var paramLat = y, paramLatSq, paramLatPow6, fy, fpy, dlat, i;
25
+ for (i = 0; i < iterations; ++i) {
26
+ paramLatSq = paramLat * paramLat;
27
+ paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;
28
+ fy = paramLat * (A1 + A2 * paramLatSq + paramLatPow6 * (A3 + A4 * paramLatSq)) - y;
29
+ fpy = A1 + 3 * A2 * paramLatSq + paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq);
30
+ paramLat -= dlat = fy / fpy;
31
+ if (Math.abs(dlat) < epsilon) {
32
+ break;
33
+ }
34
+ }
35
+ paramLatSq = paramLat * paramLat;
36
+ paramLatPow6 = paramLatSq * paramLatSq * paramLatSq;
37
+ var lon = d * M * x * (A1 + 3 * A2 * paramLatSq + paramLatPow6 * (7 * A3 + 9 * A4 * paramLatSq)) / Math.cos(paramLat);
38
+ var lat = d * Math.asin(Math.sin(paramLat) / M);
39
+ return [lon, lat];
40
+ }
41
+ };
42
+ export default EqualEarth;
@@ -0,0 +1,52 @@
1
+ /* *
2
+ * Lambert Conformal Conic projection
3
+ * */
4
+ 'use strict';
5
+ var sign = Math.sign ||
6
+ (function (n) { return (n === 0 ? 0 : n > 0 ? 1 : -1); }), scale = 63.78137, deg2rad = Math.PI / 180, halfPI = Math.PI / 2, eps10 = 1e-6, tany = function (y) { return Math.tan((halfPI + y) / 2); };
7
+ var n = 0, c = 0;
8
+ var LambertConformalConic = {
9
+ init: function (options) {
10
+ var parallels = (options.parallels || [])
11
+ .map(function (n) { return n * deg2rad; }), lat1 = parallels[0] || 0, lat2 = parallels[1] || lat1, cosLat1 = Math.cos(lat1);
12
+ // Apply the global variables
13
+ n = lat1 === lat2 ?
14
+ Math.sin(lat1) :
15
+ Math.log(cosLat1 / Math.cos(lat2)) / Math.log(tany(lat2) / tany(lat1));
16
+ if (Math.abs(n) < 1e-10) {
17
+ n = (sign(n) || 1) * 1e-10;
18
+ }
19
+ c = cosLat1 * Math.pow(tany(lat1), n) / n;
20
+ },
21
+ forward: function (lonLat) {
22
+ var lon = lonLat[0] * deg2rad;
23
+ var lat = lonLat[1] * deg2rad;
24
+ if (c > 0) {
25
+ if (lat < -halfPI + eps10) {
26
+ lat = -halfPI + eps10;
27
+ }
28
+ }
29
+ else {
30
+ if (lat > halfPI - eps10) {
31
+ lat = halfPI - eps10;
32
+ }
33
+ }
34
+ var r = c / Math.pow(tany(lat), n);
35
+ return [
36
+ r * Math.sin(n * lon) * scale,
37
+ (c - r * Math.cos(n * lon)) * scale
38
+ ];
39
+ },
40
+ inverse: function (xy) {
41
+ var x = xy[0] / scale, y = xy[1] / scale, cy = c - y, rho = sign(n) * Math.sqrt(x * x + cy * cy);
42
+ var l = Math.atan2(x, Math.abs(cy)) * sign(cy);
43
+ if (cy * n < 0) {
44
+ l -= Math.PI * sign(x) * sign(cy);
45
+ }
46
+ return [
47
+ (l / n) / deg2rad,
48
+ (2 * Math.atan(Math.pow(c / rho, 1 / n)) - halfPI) / deg2rad
49
+ ];
50
+ }
51
+ };
52
+ export default LambertConformalConic;
@@ -0,0 +1,16 @@
1
+ /* *
2
+ * Miller projection
3
+ * */
4
+ 'use strict';
5
+ var quarterPI = Math.PI / 4, deg2rad = Math.PI / 180, scale = 63.78137;
6
+ var Miller = {
7
+ forward: function (lonLat) { return [
8
+ lonLat[0] * deg2rad * scale,
9
+ 1.25 * scale * Math.log(Math.tan(quarterPI + 0.4 * lonLat[1] * deg2rad))
10
+ ]; },
11
+ inverse: function (xy) { return [
12
+ (xy[0] / scale) / deg2rad,
13
+ 2.5 * (Math.atan(Math.exp(0.8 * (xy[1] / scale))) - quarterPI) / deg2rad
14
+ ]; }
15
+ };
16
+ export default Miller;
@@ -0,0 +1,26 @@
1
+ /* *
2
+ * Orthographic projection
3
+ * */
4
+ 'use strict';
5
+ var deg2rad = Math.PI / 180, scale = 63.78460826781007;
6
+ var Orthographic = {
7
+ forward: function (lonLat) {
8
+ var lonDeg = lonLat[0], latDeg = lonLat[1];
9
+ if (lonDeg < -90 || lonDeg > 90) {
10
+ return [NaN, NaN];
11
+ }
12
+ var lat = latDeg * deg2rad;
13
+ return [
14
+ Math.cos(lat) * Math.sin(lonDeg * deg2rad) * scale,
15
+ Math.sin(lat) * scale
16
+ ];
17
+ },
18
+ inverse: function (xy) {
19
+ var x = xy[0] / scale, y = xy[1] / scale, z = Math.sqrt(x * x + y * y), c = Math.asin(z), cSin = Math.sin(c), cCos = Math.cos(c);
20
+ return [
21
+ Math.atan2(x * cSin, z * cCos) / deg2rad,
22
+ Math.asin(z && y * cSin / z) / deg2rad
23
+ ];
24
+ }
25
+ };
26
+ export default Orthographic;
@@ -0,0 +1,19 @@
1
+ /* *
2
+ *
3
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
4
+ *
5
+ * */
6
+ 'use strict';
7
+ import LambertConformalConic from './LambertConformalConic.js';
8
+ import EqualEarth from './EqualEarth.js';
9
+ import Miller from './Miller.js';
10
+ import Orthographic from './Orthographic.js';
11
+ import WebMercator from './WebMercator.js';
12
+ var registry = {
13
+ EqualEarth: EqualEarth,
14
+ LambertConformalConic: LambertConformalConic,
15
+ Miller: Miller,
16
+ Orthographic: Orthographic,
17
+ WebMercator: WebMercator
18
+ };
19
+ export default registry;
@@ -0,0 +1,24 @@
1
+ /* *
2
+ * Web Mercator projection, used for most online map tile services
3
+ * */
4
+ 'use strict';
5
+ var maxLatitude = 85.0511287798, // The latitude that defines a square
6
+ r = 63.78137, deg2rad = Math.PI / 180;
7
+ var WebMercator = {
8
+ forward: function (lonLat) {
9
+ if (Math.abs(lonLat[1]) > maxLatitude) {
10
+ return [NaN, NaN];
11
+ }
12
+ var sinLat = Math.sin(lonLat[1] * deg2rad);
13
+ return [
14
+ r * lonLat[0] * deg2rad,
15
+ r * Math.log((1 + sinLat) / (1 - sinLat)) / 2
16
+ ];
17
+ },
18
+ inverse: function (xy) { return [
19
+ xy[0] / (r * deg2rad),
20
+ (2 * Math.atan(Math.exp(xy[1] / r)) - (Math.PI / 2)) / deg2rad
21
+ ]; },
22
+ maxLatitude: maxLatitude
23
+ };
24
+ export default WebMercator;
@@ -175,7 +175,9 @@ var AreaSeries = /** @class */ (function (_super) {
175
175
  }
176
176
  isNull = points[i].isNull;
177
177
  plotX = pick(points[i].rectPlotX, points[i].plotX);
178
- yBottom = stacking ? pick(points[i].yBottom, translatedThreshold) : translatedThreshold;
178
+ yBottom = stacking ?
179
+ pick(points[i].yBottom, translatedThreshold) :
180
+ translatedThreshold;
179
181
  if (!isNull || connectNulls) {
180
182
  if (!connectNulls) {
181
183
  addDummyPoints(i, i - 1, 'left');
@@ -264,24 +266,22 @@ var AreaSeries = /** @class */ (function (_super) {
264
266
  var si = yAxisSeries[i].index;
265
267
  stackPoint = otherStack.points[si];
266
268
  if (!stackPoint) {
267
- // If the next point in this series
268
- // is missing, mark the point
269
- // with point.leftNull or
270
- // point.rightNull = true.
269
+ // If the next point in this series is
270
+ // missing, mark the point with
271
+ // point.leftNull or point.rightNull = true.
271
272
  if (si === series.index) {
272
273
  pointMap[x][nullName] = true;
273
- // If there are missing points in
274
- // the next stack in any of the
275
- // series below this one, we need
276
- // to substract the missing values
277
- // and add a hiatus to the left or
274
+ // If there are missing points in the next
275
+ // stack in any of the series below this
276
+ // one, we need to substract the missing
277
+ // values and add a hiatus to the left or
278
278
  // right.
279
279
  }
280
280
  else if (visibleSeries_1[i]) {
281
- stackedValues =
282
- stack[x].points[si];
281
+ stackedValues = stack[x].points[si];
283
282
  if (stackedValues) {
284
- cliff -= stackedValues[1] - stackedValues[0];
283
+ cliff -= (stackedValues[1] -
284
+ stackedValues[0]);
285
285
  }
286
286
  }
287
287
  }