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,294 @@
1
+ /**
2
+ *
3
+ * (c) 2010-2021 Wojciech Chmiel
4
+ *
5
+ * License: www.highcharts.com/license
6
+ *
7
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
+ *
9
+ * */
10
+ 'use strict';
11
+ import SeriesRegistry from '../../Core/Series/SeriesRegistry.js';
12
+ var SMAIndicator = SeriesRegistry.seriesTypes.sma;
13
+ import U from '../../Core/Utilities.js';
14
+ var defined = U.defined, error = U.error, merge = U.merge;
15
+ /* *
16
+ *
17
+ * Composition
18
+ *
19
+ * */
20
+ /**
21
+ * Composition useful for all indicators that have more than one line. Compose
22
+ * it with your implementation where you will provide the `getValues` method
23
+ * appropriate to your indicator and `pointArrayMap`, `pointValKey`,
24
+ * `linesApiNames` properties. Notice that `pointArrayMap` should be consistent
25
+ * with the amount of lines calculated in the `getValues` method.
26
+ *
27
+ * @private
28
+ * @mixin multipleLinesMixin
29
+ */
30
+ var MultipleLinesComposition;
31
+ (function (MultipleLinesComposition) {
32
+ /* *
33
+ *
34
+ * Declarations
35
+ *
36
+ * */
37
+ /* *
38
+ *
39
+ * Constants
40
+ *
41
+ * */
42
+ var composedClasses = [];
43
+ /**
44
+ * Additional lines DOCS names. Elements of linesApiNames array should
45
+ * be consistent with DOCS line names defined in your implementation.
46
+ * Notice that linesApiNames should have decreased amount of elements
47
+ * relative to pointArrayMap (without pointValKey).
48
+ *
49
+ * @private
50
+ * @name multipleLinesMixin.linesApiNames
51
+ * @type {Array<string>}
52
+ */
53
+ var linesApiNames = ['bottomLine'];
54
+ /**
55
+ * Lines ids. Required to plot appropriate amount of lines.
56
+ * Notice that pointArrayMap should have more elements than
57
+ * linesApiNames, because it contains main line and additional lines ids.
58
+ * Also it should be consistent with amount of lines calculated in
59
+ * getValues method from your implementation.
60
+ *
61
+ * @private
62
+ * @name multipleLinesMixin.pointArrayMap
63
+ * @type {Array<string>}
64
+ */
65
+ var pointArrayMap = ['top', 'bottom'];
66
+ /**
67
+ * Names of the lines, bewteen which the area should be plotted.
68
+ * If the drawing of the area should
69
+ * be disabled for some indicators, leave this option as an empty array.
70
+ * Names should be the same as the names in the pointArrayMap.
71
+ * @private
72
+ * @name multipleLinesMixin.areaLinesNames
73
+ * @type {Array<string>}
74
+ */
75
+ var areaLinesNames = ['top'];
76
+ /**
77
+ * Main line id.
78
+ *
79
+ * @private
80
+ * @name multipleLinesMixin.pointValKey
81
+ * @type {string}
82
+ */
83
+ var pointValKey = 'top';
84
+ /* *
85
+ *
86
+ * Functions
87
+ *
88
+ * */
89
+ /* eslint-disable valid-jsdoc */
90
+ /**
91
+ * @private
92
+ */
93
+ function compose(IndicatorClass) {
94
+ if (composedClasses.indexOf(IndicatorClass) === -1) {
95
+ composedClasses.push(IndicatorClass);
96
+ var proto = IndicatorClass.prototype;
97
+ proto.linesApiNames = (proto.linesApiNames ||
98
+ linesApiNames.slice());
99
+ proto.pointArrayMap = (proto.pointArrayMap ||
100
+ pointArrayMap.slice());
101
+ proto.pointValKey = (proto.pointValKey ||
102
+ pointValKey);
103
+ proto.areaLinesNames = (proto.areaLinesNames ||
104
+ areaLinesNames.slice());
105
+ proto.drawGraph = drawGraph;
106
+ proto.getGraphPath = getGraphPath;
107
+ proto.toYData = toYData;
108
+ proto.translate = translate;
109
+ proto.getTranslatedLinesNames = getTranslatedLinesNames;
110
+ }
111
+ return IndicatorClass;
112
+ }
113
+ MultipleLinesComposition.compose = compose;
114
+ /**
115
+ * Create the path based on points provided as argument.
116
+ * If indicator.nextPoints option is defined, create the areaFill.
117
+ *
118
+ * @param points Points on which the path should be created
119
+ */
120
+ function getGraphPath(points) {
121
+ var indicator = this;
122
+ var areaPath, path = [], higherAreaPath = [];
123
+ points = points || this.points;
124
+ // Render Span
125
+ if (indicator.fillGraph && indicator.nextPoints) {
126
+ areaPath = SMAIndicator.prototype.getGraphPath.call(indicator, indicator.nextPoints);
127
+ if (areaPath && areaPath.length) {
128
+ areaPath[0][0] = 'L';
129
+ path = SMAIndicator.prototype.getGraphPath.call(indicator, points);
130
+ higherAreaPath = areaPath.slice(0, path.length);
131
+ // Reverse points, so that the areaFill will start from the end:
132
+ for (var i = higherAreaPath.length - 1; i >= 0; i--) {
133
+ path.push(higherAreaPath[i]);
134
+ }
135
+ }
136
+ }
137
+ else {
138
+ path = SMAIndicator.prototype.getGraphPath.apply(indicator, arguments);
139
+ }
140
+ return path;
141
+ }
142
+ /**
143
+ * Draw main and additional lines.
144
+ *
145
+ * @private
146
+ * @function multipleLinesMixin.drawGraph
147
+ */
148
+ function drawGraph() {
149
+ var indicator = this, pointValKey = indicator.pointValKey, linesApiNames = indicator.linesApiNames, areaLinesNames = indicator.areaLinesNames, mainLinePoints = indicator.points, mainLineOptions = indicator.options, mainLinePath = indicator.graph, gappedExtend = {
150
+ options: {
151
+ gapSize: mainLineOptions.gapSize
152
+ }
153
+ },
154
+ // additional lines point place holders:
155
+ secondaryLines = [], secondaryLinesNames = indicator.getTranslatedLinesNames(pointValKey);
156
+ var pointsLength = mainLinePoints.length, point;
157
+ // Generate points for additional lines:
158
+ secondaryLinesNames.forEach(function (plotLine, index) {
159
+ // create additional lines point place holders
160
+ secondaryLines[index] = [];
161
+ while (pointsLength--) {
162
+ point = mainLinePoints[pointsLength];
163
+ secondaryLines[index].push({
164
+ x: point.x,
165
+ plotX: point.plotX,
166
+ plotY: point[plotLine],
167
+ isNull: !defined(point[plotLine])
168
+ });
169
+ }
170
+ pointsLength = mainLinePoints.length;
171
+ });
172
+ // Modify options and generate area fill:
173
+ if (this.userOptions.fillColor && areaLinesNames.length) {
174
+ var index = secondaryLinesNames.indexOf(getLineName(areaLinesNames[0])), secondLinePoints = secondaryLines[index], firstLinePoints = areaLinesNames.length === 1 ?
175
+ mainLinePoints :
176
+ secondaryLines[secondaryLinesNames.indexOf(getLineName(areaLinesNames[1]))], originalColor = indicator.color;
177
+ indicator.points = firstLinePoints;
178
+ indicator.nextPoints = secondLinePoints;
179
+ indicator.color = this.userOptions.fillColor;
180
+ indicator.options = merge(mainLinePoints, gappedExtend);
181
+ indicator.graph = indicator.area;
182
+ indicator.fillGraph = true;
183
+ SeriesRegistry.seriesTypes.sma.prototype.drawGraph.call(indicator);
184
+ indicator.area = indicator.graph;
185
+ // Clean temporary properties:
186
+ delete indicator.nextPoints;
187
+ delete indicator.fillGraph;
188
+ indicator.color = originalColor;
189
+ }
190
+ // Modify options and generate additional lines:
191
+ linesApiNames.forEach(function (lineName, i) {
192
+ if (secondaryLines[i]) {
193
+ indicator.points = secondaryLines[i];
194
+ if (mainLineOptions[lineName]) {
195
+ indicator.options = merge(mainLineOptions[lineName].styles, gappedExtend);
196
+ }
197
+ else {
198
+ error('Error: "There is no ' + lineName +
199
+ ' in DOCS options declared. Check if linesApiNames' +
200
+ ' are consistent with your DOCS line names."' +
201
+ ' at mixin/multiple-line.js:34');
202
+ }
203
+ indicator.graph = indicator['graph' + lineName];
204
+ SMAIndicator.prototype.drawGraph.call(indicator);
205
+ // Now save lines:
206
+ indicator['graph' + lineName] = indicator.graph;
207
+ }
208
+ else {
209
+ error('Error: "' + lineName + ' doesn\'t have equivalent ' +
210
+ 'in pointArrayMap. To many elements in linesApiNames ' +
211
+ 'relative to pointArrayMap."');
212
+ }
213
+ });
214
+ // Restore options and draw a main line:
215
+ indicator.points = mainLinePoints;
216
+ indicator.options = mainLineOptions;
217
+ indicator.graph = mainLinePath;
218
+ SMAIndicator.prototype.drawGraph.call(indicator);
219
+ }
220
+ /**
221
+ * Create translatedLines Collection based on pointArrayMap.
222
+ *
223
+ * @private
224
+ * @function multipleLinesMixin.getTranslatedLinesNames
225
+ * @param {string} [excludedValue]
226
+ * Main line id
227
+ * @return {Array<string>}
228
+ * Returns translated lines names without excluded value.
229
+ */
230
+ function getTranslatedLinesNames(excludedValue) {
231
+ var translatedLines = [];
232
+ (this.pointArrayMap || []).forEach(function (propertyName) {
233
+ if (propertyName !== excludedValue) {
234
+ translatedLines.push(getLineName(propertyName));
235
+ }
236
+ });
237
+ return translatedLines;
238
+ }
239
+ /**
240
+ * Generate the API name of the line
241
+ * @param propertyName name of the line
242
+ */
243
+ function getLineName(propertyName) {
244
+ return ('plot' +
245
+ propertyName.charAt(0).toUpperCase() +
246
+ propertyName.slice(1));
247
+ }
248
+ /**
249
+ * @private
250
+ * @function multipleLinesMixin.toYData
251
+ * @param {Highcharts.Point} point
252
+ * Indicator point
253
+ * @return {Array<number>}
254
+ * Returns point Y value for all lines
255
+ */
256
+ function toYData(point) {
257
+ var pointColl = [];
258
+ (this.pointArrayMap || []).forEach(function (propertyName) {
259
+ pointColl.push(point[propertyName]);
260
+ });
261
+ return pointColl;
262
+ }
263
+ /**
264
+ * Add lines plot pixel values.
265
+ *
266
+ * @private
267
+ * @function multipleLinesMixin.translate
268
+ */
269
+ function translate() {
270
+ var indicator = this, pointArrayMap = indicator.pointArrayMap;
271
+ var LinesNames = [], value;
272
+ LinesNames = indicator.getTranslatedLinesNames();
273
+ SMAIndicator.prototype.translate.apply(indicator, arguments);
274
+ indicator.points.forEach(function (point) {
275
+ pointArrayMap.forEach(function (propertyName, i) {
276
+ value = point[propertyName];
277
+ // If the modifier, like for example compare exists,
278
+ // modified the original value by that method, #15867.
279
+ if (indicator.dataModify) {
280
+ value = indicator.dataModify.modifyValue(value);
281
+ }
282
+ if (value !== null) {
283
+ point[LinesNames[i]] = indicator.yAxis.toPixels(value, true);
284
+ }
285
+ });
286
+ });
287
+ }
288
+ })(MultipleLinesComposition || (MultipleLinesComposition = {}));
289
+ /* *
290
+ *
291
+ * Default Export
292
+ *
293
+ * */
294
+ export default MultipleLinesComposition;
@@ -88,9 +88,6 @@ var NATRIndicator = /** @class */ (function (_super) {
88
88
  });
89
89
  return NATRIndicator;
90
90
  }(ATRIndicator));
91
- extend(NATRIndicator.prototype, {
92
- requiredIndicators: ['atr']
93
- });
94
91
  SeriesRegistry.registerSeriesType('natr', NATRIndicator);
95
92
  /* *
96
93
  *
@@ -107,6 +104,7 @@ export default NATRIndicator;
107
104
  * @product highstock
108
105
  * @excluding dataParser, dataURL
109
106
  * @requires stock/indicators/indicators
107
+ * @requires stock/indicators/atr
110
108
  * @requires stock/indicators/natr
111
109
  * @apioption series.natr
112
110
  */
@@ -19,14 +19,13 @@ var __extends = (this && this.__extends) || (function () {
19
19
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
20
  };
21
21
  })();
22
- import palette from '../../../Core/Color/Palette.js';
23
- import MultipleLinesMixin from '../../../Mixins/MultipleLines.js';
24
- import ReduceArrayMixin from '../../../Mixins/ReduceArray.js';
22
+ import AU from '../ArrayUtilities.js';
23
+ import MultipleLinesComposition from '../MultipleLinesComposition.js';
24
+ import Palettes from '../../../Core/Color/Palettes.js';
25
25
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
26
26
  var SMAIndicator = SeriesRegistry.seriesTypes.sma;
27
27
  import U from '../../../Core/Utilities.js';
28
28
  var merge = U.merge, extend = U.extend;
29
- var getArrayExtremes = ReduceArrayMixin.getArrayExtremes;
30
29
  /* *
31
30
  *
32
31
  * Class
@@ -44,6 +43,11 @@ var getArrayExtremes = ReduceArrayMixin.getArrayExtremes;
44
43
  var PCIndicator = /** @class */ (function (_super) {
45
44
  __extends(PCIndicator, _super);
46
45
  function PCIndicator() {
46
+ /* *
47
+ *
48
+ * Static Properties
49
+ *
50
+ * */
47
51
  var _this = _super !== null && _super.apply(this, arguments) || this;
48
52
  /* *
49
53
  *
@@ -72,7 +76,7 @@ var PCIndicator = /** @class */ (function (_super) {
72
76
  for (i = period; i <= yValLen; i++) {
73
77
  date = xVal[i - 1];
74
78
  slicedY = yVal.slice(i - period, i);
75
- extremes = getArrayExtremes(slicedY, low, high);
79
+ extremes = AU.getArrayExtremes(slicedY, low, high);
76
80
  TL = extremes[1];
77
81
  BL = extremes[0];
78
82
  ML = (TL + BL) / 2;
@@ -105,6 +109,16 @@ var PCIndicator = /** @class */ (function (_super) {
105
109
  * @optionparent plotOptions.pc
106
110
  */
107
111
  PCIndicator.defaultOptions = merge(SMAIndicator.defaultOptions, {
112
+ /**
113
+ * Option for fill color between lines in Price channel Indicator.
114
+ *
115
+ * @sample {highstock} stock/indicators/indicator-area-fill
116
+ * background fill between lines
117
+ *
118
+ * @type {Highcharts.Color}
119
+ * @apioption plotOptions.pc.fillColor
120
+ *
121
+ */
108
122
  /**
109
123
  * @excluding index
110
124
  */
@@ -121,7 +135,7 @@ var PCIndicator = /** @class */ (function (_super) {
121
135
  *
122
136
  * @type {Highcharts.ColorString}
123
137
  */
124
- lineColor: palette.colors[2],
138
+ lineColor: Palettes.colors[2],
125
139
  /**
126
140
  * Pixel width of the line.
127
141
  */
@@ -136,7 +150,7 @@ var PCIndicator = /** @class */ (function (_super) {
136
150
  *
137
151
  * @type {Highcharts.ColorString}
138
152
  */
139
- lineColor: palette.colors[8],
153
+ lineColor: Palettes.colors[8],
140
154
  /**
141
155
  * Pixel width of the line.
142
156
  */
@@ -150,16 +164,14 @@ var PCIndicator = /** @class */ (function (_super) {
150
164
  return PCIndicator;
151
165
  }(SMAIndicator));
152
166
  extend(PCIndicator.prototype, {
153
- getTranslatedLinesNames: MultipleLinesMixin.getTranslatedLinesNames,
154
- drawGraph: MultipleLinesMixin.drawGraph,
155
- toYData: MultipleLinesMixin.toYData,
156
- pointArrayMap: ['top', 'middle', 'bottom'],
157
- pointValKey: 'middle',
167
+ areaLinesNames: ['top', 'bottom'],
158
168
  nameBase: 'Price Channel',
159
169
  nameComponents: ['period'],
160
170
  linesApiNames: ['topLine', 'bottomLine'],
161
- translate: MultipleLinesMixin.translate
171
+ pointArrayMap: ['top', 'middle', 'bottom'],
172
+ pointValKey: 'middle'
162
173
  });
174
+ MultipleLinesComposition.compose(PCIndicator);
163
175
  SeriesRegistry.registerSeriesType('pc', PCIndicator);
164
176
  /* *
165
177
  *
@@ -19,7 +19,6 @@ var __extends = (this && this.__extends) || (function () {
19
19
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
20
  };
21
21
  })();
22
- import RequiredIndicatorMixin from '../../../Mixins/IndicatorRequired.js';
23
22
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
24
23
  var EMAIndicator = SeriesRegistry.seriesTypes.ema;
25
24
  import U from '../../../Core/Utilities.js';
@@ -57,13 +56,6 @@ var PPOIndicator = /** @class */ (function (_super) {
57
56
  * Functions
58
57
  *
59
58
  * */
60
- PPOIndicator.prototype.init = function () {
61
- var args = arguments, ctx = this;
62
- RequiredIndicatorMixin.isParentLoaded(EMAIndicator, 'ema', ctx.type, function (indicator) {
63
- indicator.prototype.init.apply(ctx, args);
64
- return;
65
- });
66
- };
67
59
  PPOIndicator.prototype.getValues = function (series, params) {
68
60
  var periods = params.periods, index = params.index,
69
61
  // 0- date, 1- Percentage Price Oscillator
@@ -109,7 +101,7 @@ var PPOIndicator = /** @class */ (function (_super) {
109
101
  /**
110
102
  * Percentage Price Oscillator. This series requires the
111
103
  * `linkedTo` option to be set and should be loaded after the
112
- * `stock/indicators/indicators.js` and `stock/indicators/ema.js`.
104
+ * `stock/indicators/indicators.js`.
113
105
  *
114
106
  * @sample {highstock} stock/indicators/ppo
115
107
  * Percentage Price Oscillator
@@ -121,7 +113,6 @@ var PPOIndicator = /** @class */ (function (_super) {
121
113
  * pointInterval, pointIntervalUnit, pointPlacement,
122
114
  * pointRange, pointStart, showInNavigator, stacking
123
115
  * @requires stock/indicators/indicators
124
- * @requires stock/indicators/ema
125
116
  * @requires stock/indicators/ppo
126
117
  * @optionparent plotOptions.ppo
127
118
  */
@@ -167,7 +158,6 @@ export default PPOIndicator;
167
158
  * navigatorOptions, pointInterval, pointIntervalUnit,
168
159
  * pointPlacement, pointRange, pointStart, showInNavigator, stacking
169
160
  * @requires stock/indicators/indicators
170
- * @requires stock/indicators/ema
171
161
  * @requires stock/indicators/ppo
172
162
  * @apioption series.ppo
173
163
  */
@@ -145,7 +145,8 @@ var PivotPointsIndicator = /** @class */ (function (_super) {
145
145
  null;
146
146
  }
147
147
  }
148
- SeriesRegistry.seriesTypes.sma.prototype.drawDataLabels.apply(indicator, arguments);
148
+ SeriesRegistry.seriesTypes.sma.prototype.drawDataLabels
149
+ .apply(indicator, arguments);
149
150
  });
150
151
  }
151
152
  };
@@ -73,7 +73,8 @@ var RSIIndicator = /** @class */ (function (_super) {
73
73
  // longer then 4 (HLC, range), this ensures that we are not trying
74
74
  // to reach the index out of bounds
75
75
  index = Math.min(index, yVal[0].length - 1);
76
- values = yVal.map(function (value) { return value[index]; });
76
+ values = yVal
77
+ .map(function (value) { return value[index]; });
77
78
  }
78
79
  // Calculate changes for first N points
79
80
  while (range < period) {
@@ -10,29 +10,3 @@ import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
10
10
  var Series = SeriesRegistry.series, ohlcProto = SeriesRegistry.seriesTypes.ohlc.prototype;
11
11
  import U from '../../../Core/Utilities.js';
12
12
  var addEvent = U.addEvent, extend = U.extend;
13
- /* *
14
- *
15
- * Composition
16
- *
17
- * */
18
- addEvent(Series, 'init', function (eventOptions) {
19
- // eslint-disable-next-line no-invalid-this
20
- var series = this, options = eventOptions.options;
21
- if (options.useOhlcData &&
22
- options.id !== 'highcharts-navigator-series') {
23
- extend(series, {
24
- pointValKey: ohlcProto.pointValKey,
25
- // keys: ohlcProto.keys, // @todo potentially nonsense
26
- pointArrayMap: ohlcProto.pointArrayMap,
27
- toYData: ohlcProto.toYData
28
- });
29
- }
30
- });
31
- addEvent(Series, 'afterSetOptions', function (e) {
32
- var options = e.options, dataGrouping = options.dataGrouping;
33
- if (dataGrouping &&
34
- options.useOhlcData &&
35
- options.id !== 'highcharts-navigator-series') {
36
- dataGrouping.approximation = 'ohlc';
37
- }
38
- });
@@ -20,13 +20,11 @@ var __extends = (this && this.__extends) || (function () {
20
20
  };
21
21
  })();
22
22
  import Chart from '../../../Core/Chart/Chart.js';
23
- import RequiredIndicatorMixin from '../../../Mixins/IndicatorRequired.js';
24
23
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
25
24
  var LineSeries = SeriesRegistry.seriesTypes.line;
26
25
  import U from '../../../Core/Utilities.js';
27
26
  var addEvent = U.addEvent, error = U.error, extend = U.extend, isArray = U.isArray, merge = U.merge, pick = U.pick, splat = U.splat;
28
27
  import './SMAComposition.js';
29
- var generateMessage = RequiredIndicatorMixin.generateMessage;
30
28
  /* *
31
29
  *
32
30
  * Class
@@ -127,36 +125,40 @@ var SMAIndicator = /** @class */ (function (_super) {
127
125
  * @private
128
126
  */
129
127
  SMAIndicator.prototype.init = function (chart, options) {
130
- var indicator = this, requiredIndicators = indicator.requireIndicators();
131
- // Check whether all required indicators are loaded.
132
- if (!requiredIndicators.allLoaded) {
133
- return error(generateMessage(indicator.type, requiredIndicators.needed));
134
- }
128
+ var indicator = this;
135
129
  _super.prototype.init.call(indicator, chart, options);
136
130
  // Only after series are linked indicator can be processed.
137
131
  var linkedSeriesUnbiner = addEvent(Chart, 'afterLinkSeries', function () {
138
132
  var hasEvents = !!indicator.dataEventsToUnbind.length;
139
133
  if (indicator.linkedParent) {
140
134
  if (!hasEvents) {
141
- indicator.dataEventsToUnbind.push(addEvent(indicator.bindTo.series ?
142
- indicator.linkedParent :
143
- indicator.linkedParent.xAxis, indicator.bindTo.eventName, function () {
135
+ // No matter which indicator, always recalculate after
136
+ // updating the data.
137
+ indicator.dataEventsToUnbind.push(addEvent(indicator.linkedParent, 'updatedData', function () {
144
138
  indicator.recalculateValues();
145
139
  }));
140
+ // Some indicators (like VBP) requires an additional
141
+ // event (afterSetExtremes) to properly show the data.
142
+ if (indicator.calculateOn.xAxis) {
143
+ indicator.dataEventsToUnbind.push(addEvent(indicator.linkedParent.xAxis, indicator.calculateOn.xAxis, function () {
144
+ indicator.recalculateValues();
145
+ }));
146
+ }
146
147
  }
147
- if (indicator.calculateOn === 'init') {
148
+ // Most indicators are being calculated on chart's init.
149
+ if (indicator.calculateOn.chart === 'init') {
148
150
  if (!indicator.processedYData) {
149
151
  indicator.recalculateValues();
150
152
  }
151
153
  }
152
- else {
153
- if (!hasEvents) {
154
- var unbinder_1 = addEvent(indicator.chart, indicator.calculateOn, function () {
155
- indicator.recalculateValues();
156
- // Call this just once, on init
157
- unbinder_1();
158
- });
159
- }
154
+ else if (!hasEvents) {
155
+ // Some indicators (like VBP) has to recalculate their
156
+ // values after other chart's events (render).
157
+ var unbinder_1 = addEvent(indicator.chart, indicator.calculateOn.chart, function () {
158
+ indicator.recalculateValues();
159
+ // Call this just once.
160
+ unbinder_1();
161
+ });
160
162
  }
161
163
  }
162
164
  else {
@@ -174,7 +176,6 @@ var SMAIndicator = /** @class */ (function (_super) {
174
176
  };
175
177
  /**
176
178
  * @private
177
- * @return {void}
178
179
  */
179
180
  SMAIndicator.prototype.recalculateValues = function () {
180
181
  var indicator = this, oldData = indicator.points || [], oldDataLength = (indicator.xData || []).length, processedData = (indicator.getValues(indicator.linkedParent, indicator.options.params) || {
@@ -227,7 +228,7 @@ var SMAIndicator = /** @class */ (function (_super) {
227
228
  }
228
229
  // Removal of processedXData property is required because on
229
230
  // first translate processedXData array is empty
230
- if (indicator.bindTo.series === false) {
231
+ if (indicator.calculateOn.xAxis && indicator.processedXData) {
231
232
  delete indicator.processedXData;
232
233
  indicator.isDirty = true;
233
234
  indicator.redraw();
@@ -240,31 +241,16 @@ var SMAIndicator = /** @class */ (function (_super) {
240
241
  SMAIndicator.prototype.processData = function () {
241
242
  var series = this, compareToMain = series.options.compareToMain, linkedParent = series.linkedParent;
242
243
  _super.prototype.processData.apply(series, arguments);
243
- if (linkedParent && linkedParent.compareValue && compareToMain) {
244
- series.compareValue = linkedParent.compareValue;
244
+ if (series.dataModify &&
245
+ linkedParent &&
246
+ linkedParent.dataModify &&
247
+ linkedParent.dataModify.compareValue &&
248
+ compareToMain) {
249
+ series.dataModify.compareValue =
250
+ linkedParent.dataModify.compareValue;
245
251
  }
246
252
  return;
247
253
  };
248
- /**
249
- * @private
250
- */
251
- SMAIndicator.prototype.requireIndicators = function () {
252
- var obj = {
253
- allLoaded: true
254
- };
255
- // Check whether all required indicators are loaded, else return
256
- // the object with missing indicator's name.
257
- this.requiredIndicators.forEach(function (indicator) {
258
- if (SeriesRegistry.seriesTypes[indicator]) {
259
- SeriesRegistry.seriesTypes[indicator].prototype.requireIndicators();
260
- }
261
- else {
262
- obj.allLoaded = false;
263
- obj.needed = indicator;
264
- }
265
- });
266
- return obj;
267
- };
268
254
  /**
269
255
  * The parameter allows setting line series type and use OHLC indicators.
270
256
  * Data in OHLC format is required.
@@ -335,7 +321,7 @@ var SMAIndicator = /** @class */ (function (_super) {
335
321
  * example using OHLC data, index=2 means the indicator will be
336
322
  * calculated using Low values.
337
323
  */
338
- index: 0,
324
+ index: 3,
339
325
  /**
340
326
  * The base period for indicator calculations. This is the number of
341
327
  * data points which are taken into account for the indicator
@@ -347,16 +333,12 @@ var SMAIndicator = /** @class */ (function (_super) {
347
333
  return SMAIndicator;
348
334
  }(LineSeries));
349
335
  extend(SMAIndicator.prototype, {
350
- bindTo: {
351
- series: true,
352
- eventName: 'updatedData'
336
+ calculateOn: {
337
+ chart: 'init'
353
338
  },
354
- calculateOn: 'init',
355
339
  hasDerivedData: true,
356
340
  nameComponents: ['period'],
357
341
  nameSuffixes: [],
358
- // Defines on which other indicators is this indicator based on.
359
- requiredIndicators: [],
360
342
  useCommonDataGrouping: true
361
343
  });
362
344
  SeriesRegistry.registerSeriesType('sma', SMAIndicator);
@@ -19,7 +19,6 @@ var __extends = (this && this.__extends) || (function () {
19
19
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20
20
  };
21
21
  })();
22
- import RequiredIndicatorMixin from '../../../Mixins/IndicatorRequired.js';
23
22
  import SeriesRegistry from '../../../Core/Series/SeriesRegistry.js';
24
23
  var StochasticIndicator = SeriesRegistry.seriesTypes.stochastic;
25
24
  var seriesTypes = SeriesRegistry.seriesTypes;
@@ -43,13 +42,6 @@ var SlowStochasticIndicator = /** @class */ (function (_super) {
43
42
  _this.points = void 0;
44
43
  return _this;
45
44
  }
46
- SlowStochasticIndicator.prototype.init = function () {
47
- var args = arguments, ctx = this;
48
- RequiredIndicatorMixin.isParentLoaded(seriesTypes.stochastic, 'stochastic', ctx.type, function (indicator) {
49
- indicator.prototype.init.apply(ctx, args);
50
- return;
51
- });
52
- };
53
45
  SlowStochasticIndicator.prototype.getValues = function (series, params) {
54
46
  var periods = params.periods, fastValues = seriesTypes.stochastic.prototype.getValues.call(this, series, params), slowValues = {
55
47
  values: [],