highcharts 10.0.0 → 10.2.1

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 (942) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/A11yI18n.js +4 -4
  7. package/es-modules/Accessibility/Accessibility.js +8 -3
  8. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  9. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  10. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  11. package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
  12. package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
  13. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
  16. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
  17. package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
  18. package/es-modules/Accessibility/FocusBorder.js +6 -5
  19. package/es-modules/Accessibility/HighContrastMode.js +1 -1
  20. package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
  21. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
  22. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  23. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  24. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  25. package/es-modules/Core/Animation/Fx.js +1 -1
  26. package/es-modules/Core/Axis/Axis.js +51 -46
  27. package/es-modules/Core/Axis/Axis3D.js +1 -1
  28. package/es-modules/Core/Axis/AxisDefaults.js +9 -9
  29. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  30. package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
  31. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
  32. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  33. package/es-modules/Core/Axis/GridAxis.js +821 -822
  34. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  35. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  36. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  37. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  38. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  39. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  40. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  43. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  44. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  45. package/es-modules/Core/Axis/ZAxis.js +76 -71
  46. package/es-modules/Core/Chart/Chart.js +42 -9
  47. package/es-modules/Core/Chart/Chart3D.js +2 -2
  48. package/es-modules/Core/Chart/ChartDefaults.js +165 -5
  49. package/es-modules/Core/Chart/GanttChart.js +3 -1
  50. package/es-modules/Core/Chart/MapChart.js +3 -1
  51. package/es-modules/Core/Chart/StockChart.js +12 -8
  52. package/es-modules/Core/Color/Color.js +1 -1
  53. package/es-modules/Core/DefaultOptions.js +19 -16
  54. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  55. package/es-modules/Core/Globals.js +2 -1
  56. package/es-modules/Core/HttpUtilities.js +39 -37
  57. package/es-modules/Core/Legend/Legend.js +4 -4
  58. package/es-modules/Core/MSPointer.js +3 -1
  59. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  60. package/es-modules/Core/Navigator.js +31 -14
  61. package/es-modules/Core/Pointer.js +8 -10
  62. package/es-modules/Core/Renderer/HTML/AST.js +13 -7
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  64. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
  66. package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
  67. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
  68. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
  69. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  70. package/es-modules/Core/Scrollbar.js +12 -6
  71. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  72. package/es-modules/Core/Series/DataLabel.js +63 -40
  73. package/es-modules/Core/Series/Point.js +11 -2
  74. package/es-modules/Core/Series/Series.js +60 -43
  75. package/es-modules/Core/Series/Series3D.js +4 -2
  76. package/es-modules/Core/Series/SeriesDefaults.js +11 -6
  77. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  78. package/es-modules/Core/Time.js +6 -7
  79. package/es-modules/Core/Tooltip.js +17 -6
  80. package/es-modules/Core/Utilities.js +7 -9
  81. package/es-modules/Data/DataConverter.js +6 -1
  82. package/es-modules/Data/DataPromise.js +1 -1
  83. package/es-modules/Data/DataSeriesComposition.js +288 -0
  84. package/es-modules/Data/DataSeriesConverter.js +1 -1
  85. package/es-modules/Data/DataTable.js +14 -12
  86. package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
  87. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  88. package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
  89. package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
  90. package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
  91. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
  92. package/es-modules/Data/Modifiers/SortModifier.js +4 -2
  93. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  94. package/es-modules/Data/Parsers/DataParser.js +2 -2
  95. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  96. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  97. package/es-modules/Data/Stores/CSVStore.js +8 -5
  98. package/es-modules/Data/Stores/DataStore.js +1 -1
  99. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  100. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  101. package/es-modules/Extensions/Annotations/Annotation.js +652 -0
  102. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  103. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  104. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  105. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  106. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  107. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  108. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
  109. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  110. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  111. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  112. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  113. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  114. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  115. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
  116. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  117. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  118. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  119. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  120. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  121. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  122. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  123. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
  124. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
  125. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
  126. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
  127. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
  128. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
  129. package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
  130. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
  131. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
  132. package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
  133. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
  134. package/es-modules/Extensions/Boost/Boost.js +320 -15
  135. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  136. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  137. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  138. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  139. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  140. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  141. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  142. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  143. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  144. package/es-modules/Extensions/BoostCanvas.js +70 -48
  145. package/es-modules/Extensions/Breadcrumbs.js +37 -9
  146. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  147. package/es-modules/Extensions/Data.js +638 -602
  148. package/es-modules/Extensions/DataGrouping.js +68 -28
  149. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  150. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  151. package/es-modules/Extensions/DownloadURL.js +3 -3
  152. package/es-modules/Extensions/DragPanes.js +1 -1
  153. package/es-modules/Extensions/DraggablePoints.js +4 -3
  154. package/es-modules/Extensions/Drilldown.js +15 -14
  155. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
  156. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  157. package/es-modules/Extensions/Exporting/Exporting.js +30 -17
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
  159. package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
  160. package/es-modules/Extensions/GeoJSON.js +3 -4
  161. package/es-modules/Extensions/MarkerClusters.js +5 -3
  162. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  163. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  164. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  165. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  166. package/es-modules/Extensions/Pane.js +3 -3
  167. package/es-modules/Extensions/ParallelCoordinates.js +12 -8
  168. package/es-modules/Extensions/PatternFill.js +14 -2
  169. package/es-modules/Extensions/RangeSelector.js +29 -18
  170. package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
  171. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
  172. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  173. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  174. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  175. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  176. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  177. package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
  178. package/es-modules/Maps/MapNavigation.js +3 -7
  179. package/es-modules/Maps/MapPointer.js +1 -1
  180. package/es-modules/Maps/MapView.js +31 -19
  181. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
  182. package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
  183. package/es-modules/Maps/Projection.js +13 -11
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
  186. package/es-modules/Series/Area/AreaSeries.js +21 -14
  187. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  188. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  189. package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
  190. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  191. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  192. package/es-modules/Series/Bar/BarSeries.js +3 -1
  193. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  194. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  195. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  196. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  197. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  198. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  199. package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
  200. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  201. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  202. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  203. package/es-modules/Series/CenteredUtilities.js +8 -2
  204. package/es-modules/Series/ColorMapComposition.js +111 -0
  205. package/es-modules/Series/Column/ColumnSeries.js +8 -4
  206. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  207. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
  208. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  209. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  210. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  211. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  212. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  213. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
  214. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
  215. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  216. package/es-modules/Series/DragNodesComposition.js +166 -0
  217. package/es-modules/Series/DrawPointUtilities.js +87 -0
  218. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  219. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  220. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  221. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  222. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  223. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  224. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  225. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
  226. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  227. package/es-modules/Series/Gantt/GanttSeries.js +4 -2
  228. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  229. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  230. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  231. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  232. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  233. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  234. package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
  235. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  236. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  237. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  238. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  239. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  240. package/es-modules/Series/Item/ItemPoint.js +3 -1
  241. package/es-modules/Series/Item/ItemSeries.js +3 -1
  242. package/es-modules/Series/Line/LineSeries.js +4 -2
  243. package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
  244. package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
  245. package/es-modules/Series/Map/MapPoint.js +8 -6
  246. package/es-modules/Series/Map/MapSeries.js +115 -28
  247. package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
  248. package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
  249. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  250. package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
  251. package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
  252. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  253. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  254. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  255. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  256. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  257. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  258. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  259. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  260. package/es-modules/Series/NodesComposition.js +45 -40
  261. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  262. package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
  263. package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
  264. package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
  265. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  266. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
  267. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
  268. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
  269. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  270. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  271. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  272. package/es-modules/Series/Pie/PiePoint.js +3 -1
  273. package/es-modules/Series/Pie/PieSeries.js +54 -38
  274. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  275. package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
  276. package/es-modules/Series/PolarComposition.js +819 -0
  277. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  278. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  279. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  280. package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
  281. package/es-modules/Series/Sankey/SankeySeries.js +38 -10
  282. package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
  283. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  284. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
  285. package/es-modules/Series/SeriesOnPointComposition.js +395 -0
  286. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
  287. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  288. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
  291. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  292. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  293. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  294. package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
  295. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  296. package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
  297. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  298. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  299. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  300. package/es-modules/Series/Vector/VectorSeries.js +5 -5
  301. package/es-modules/Series/Venn/VennPoint.js +5 -5
  302. package/es-modules/Series/Venn/VennSeries.js +9 -6
  303. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  304. package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
  305. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  306. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  307. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  308. package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
  309. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  310. package/es-modules/Series/XRange/XRangePoint.js +57 -46
  311. package/es-modules/Series/XRange/XRangeSeries.js +124 -274
  312. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  313. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
  314. package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
  315. package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
  316. package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
  317. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
  318. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
  319. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
  320. package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
  321. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
  322. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
  323. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
  324. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
  325. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
  326. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
  327. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
  328. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  329. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
  330. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
  331. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
  332. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
  333. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
  334. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
  335. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
  336. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
  337. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
  338. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
  339. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
  340. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  341. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
  342. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
  343. package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
  344. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
  345. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
  346. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
  347. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
  348. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
  349. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
  350. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
  351. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
  352. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
  353. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
  354. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
  355. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  356. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
  357. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
  358. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
  359. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
  360. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
  361. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
  362. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
  363. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
  364. package/es-modules/Stock/StockToolbar.js +568 -0
  365. package/es-modules/Stock/StockTools.js +256 -0
  366. package/es-modules/Stock/StockToolsBindings.js +140 -647
  367. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  368. package/es-modules/Stock/StockToolsGui.js +150 -1771
  369. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  370. package/es-modules/masters/highcharts-3d.src.js +5 -4
  371. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  372. package/es-modules/masters/highcharts-more.src.js +7 -6
  373. package/es-modules/masters/highcharts.src.js +5 -2
  374. package/es-modules/masters/highmaps.src.js +1 -1
  375. package/es-modules/masters/highstock.src.js +1 -1
  376. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  377. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  378. package/es-modules/masters/indicators/ao.src.js +1 -1
  379. package/es-modules/masters/indicators/apo.src.js +1 -1
  380. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  381. package/es-modules/masters/indicators/aroon.src.js +1 -1
  382. package/es-modules/masters/indicators/atr.src.js +1 -1
  383. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  384. package/es-modules/masters/indicators/cci.src.js +1 -1
  385. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  386. package/es-modules/masters/indicators/cmf.src.js +1 -1
  387. package/es-modules/masters/indicators/cmo.src.js +1 -1
  388. package/es-modules/masters/indicators/dema.src.js +1 -1
  389. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  390. package/es-modules/masters/indicators/dmi.src.js +1 -1
  391. package/es-modules/masters/indicators/dpo.src.js +1 -1
  392. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  393. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  394. package/es-modules/masters/indicators/indicators.src.js +1 -1
  395. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  396. package/es-modules/masters/indicators/klinger.src.js +1 -1
  397. package/es-modules/masters/indicators/macd.src.js +1 -1
  398. package/es-modules/masters/indicators/mfi.src.js +1 -1
  399. package/es-modules/masters/indicators/momentum.src.js +1 -1
  400. package/es-modules/masters/indicators/natr.src.js +1 -1
  401. package/es-modules/masters/indicators/obv.src.js +1 -1
  402. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  403. package/es-modules/masters/indicators/ppo.src.js +1 -1
  404. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  405. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  406. package/es-modules/masters/indicators/psar.src.js +1 -1
  407. package/es-modules/masters/indicators/regressions.src.js +5 -5
  408. package/es-modules/masters/indicators/roc.src.js +1 -1
  409. package/es-modules/masters/indicators/rsi.src.js +1 -1
  410. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  411. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  412. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  413. package/es-modules/masters/indicators/tema.src.js +1 -1
  414. package/es-modules/masters/indicators/trendline.src.js +1 -1
  415. package/es-modules/masters/indicators/trix.src.js +1 -1
  416. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  417. package/es-modules/masters/indicators/vwap.src.js +1 -1
  418. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  419. package/es-modules/masters/indicators/wma.src.js +1 -1
  420. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  421. package/es-modules/masters/modules/accessibility.src.js +1 -1
  422. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  423. package/es-modules/masters/modules/annotations.src.js +6 -4
  424. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  425. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  426. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  427. package/es-modules/masters/modules/boost.src.js +6 -2
  428. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  429. package/es-modules/masters/modules/bullet.src.js +1 -1
  430. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  431. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  432. package/es-modules/masters/modules/cylinder.src.js +1 -1
  433. package/es-modules/masters/modules/data.src.js +2 -1
  434. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  435. package/es-modules/masters/modules/debugger.src.js +5 -3
  436. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  437. package/es-modules/masters/modules/dotplot.src.js +1 -1
  438. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  439. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  440. package/es-modules/masters/modules/drilldown.src.js +1 -1
  441. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  442. package/es-modules/masters/modules/export-data.src.js +5 -2
  443. package/es-modules/masters/modules/exporting.src.js +1 -2
  444. package/es-modules/masters/modules/full-screen.src.js +6 -2
  445. package/es-modules/masters/modules/funnel.src.js +1 -1
  446. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  447. package/es-modules/masters/modules/gantt.src.js +3 -2
  448. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  449. package/es-modules/masters/modules/heatmap.src.js +1 -1
  450. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  451. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  452. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  453. package/es-modules/masters/modules/item-series.src.js +1 -1
  454. package/es-modules/masters/modules/lollipop.src.js +1 -1
  455. package/es-modules/masters/modules/map.src.js +2 -2
  456. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  457. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  458. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  459. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  460. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  461. package/es-modules/masters/modules/oldie.src.js +1 -1
  462. package/es-modules/masters/modules/organization.src.js +1 -1
  463. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  464. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  465. package/es-modules/masters/modules/pareto.src.js +1 -1
  466. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  467. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  468. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  469. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  470. package/es-modules/masters/modules/sankey.src.js +1 -1
  471. package/es-modules/masters/modules/series-label.src.js +5 -2
  472. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  473. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  474. package/es-modules/masters/modules/sonification.src.js +2 -6
  475. package/es-modules/masters/modules/static-scale.src.js +1 -1
  476. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  477. package/es-modules/masters/modules/stock.src.js +1 -1
  478. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  479. package/es-modules/masters/modules/sunburst.src.js +1 -1
  480. package/es-modules/masters/modules/tilemap.src.js +1 -1
  481. package/es-modules/masters/modules/timeline.src.js +1 -1
  482. package/es-modules/masters/modules/treegrid.src.js +2 -2
  483. package/es-modules/masters/modules/treemap.src.js +1 -1
  484. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  485. package/es-modules/masters/modules/variwide.src.js +1 -1
  486. package/es-modules/masters/modules/vector.src.js +1 -1
  487. package/es-modules/masters/modules/venn.src.js +1 -1
  488. package/es-modules/masters/modules/windbarb.src.js +1 -1
  489. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  490. package/es-modules/masters/modules/xrange.src.js +5 -2
  491. package/es-modules/masters/themes/avocado.src.js +1 -1
  492. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  493. package/es-modules/masters/themes/brand-light.src.js +1 -1
  494. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  495. package/es-modules/masters/themes/dark-green.src.js +1 -1
  496. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  497. package/es-modules/masters/themes/gray.src.js +1 -1
  498. package/es-modules/masters/themes/grid-light.src.js +1 -1
  499. package/es-modules/masters/themes/grid.src.js +1 -1
  500. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  501. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  502. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  503. package/es-modules/masters/themes/skies.src.js +1 -1
  504. package/es-modules/masters/themes/sunset.src.js +1 -1
  505. package/highcharts-3d.js +98 -99
  506. package/highcharts-3d.js.map +1 -1
  507. package/highcharts-3d.src.js +233 -212
  508. package/highcharts-gantt.js +809 -805
  509. package/highcharts-gantt.js.map +1 -1
  510. package/highcharts-gantt.src.js +3817 -3470
  511. package/highcharts-more.d.ts +15 -8
  512. package/highcharts-more.js +201 -195
  513. package/highcharts-more.js.map +1 -1
  514. package/highcharts-more.src.d.ts +15 -8
  515. package/highcharts-more.src.js +7994 -7461
  516. package/highcharts.d.ts +11364 -1136
  517. package/highcharts.js +593 -591
  518. package/highcharts.js.map +1 -1
  519. package/highcharts.src.d.ts +11364 -1136
  520. package/highcharts.src.js +1408 -1117
  521. package/highmaps.js +762 -758
  522. package/highmaps.js.map +1 -1
  523. package/highmaps.src.js +2237 -1721
  524. package/highstock.js +796 -792
  525. package/highstock.js.map +1 -1
  526. package/highstock.src.js +1617 -1224
  527. package/indicators/acceleration-bands.d.ts +1 -17
  528. package/indicators/acceleration-bands.js +11 -12
  529. package/indicators/acceleration-bands.js.map +1 -1
  530. package/indicators/acceleration-bands.src.d.ts +1 -17
  531. package/indicators/acceleration-bands.src.js +99 -101
  532. package/indicators/accumulation-distribution.js +1 -1
  533. package/indicators/accumulation-distribution.js.map +1 -1
  534. package/indicators/accumulation-distribution.src.js +6 -1
  535. package/indicators/ao.js +6 -6
  536. package/indicators/ao.js.map +1 -1
  537. package/indicators/ao.src.js +25 -16
  538. package/indicators/apo.js +1 -1
  539. package/indicators/apo.js.map +1 -1
  540. package/indicators/apo.src.js +6 -1
  541. package/indicators/aroon-oscillator.d.ts +1 -17
  542. package/indicators/aroon-oscillator.js +10 -10
  543. package/indicators/aroon-oscillator.js.map +1 -1
  544. package/indicators/aroon-oscillator.src.d.ts +1 -17
  545. package/indicators/aroon-oscillator.src.js +95 -101
  546. package/indicators/aroon.d.ts +1 -17
  547. package/indicators/aroon.js +11 -11
  548. package/indicators/aroon.js.map +1 -1
  549. package/indicators/aroon.src.d.ts +1 -17
  550. package/indicators/aroon.src.js +104 -101
  551. package/indicators/atr.js +1 -1
  552. package/indicators/atr.js.map +1 -1
  553. package/indicators/atr.src.js +17 -4
  554. package/indicators/bollinger-bands.d.ts +1 -17
  555. package/indicators/bollinger-bands.js +11 -12
  556. package/indicators/bollinger-bands.js.map +1 -1
  557. package/indicators/bollinger-bands.src.d.ts +1 -17
  558. package/indicators/bollinger-bands.src.js +97 -103
  559. package/indicators/cci.js +1 -1
  560. package/indicators/cci.js.map +1 -1
  561. package/indicators/cci.src.js +17 -4
  562. package/indicators/chaikin.js +8 -8
  563. package/indicators/chaikin.js.map +1 -1
  564. package/indicators/chaikin.src.js +13 -5
  565. package/indicators/cmf.js +1 -1
  566. package/indicators/cmf.js.map +1 -1
  567. package/indicators/cmf.src.js +21 -1
  568. package/indicators/cmo.js +1 -1
  569. package/indicators/cmo.js.map +1 -1
  570. package/indicators/cmo.src.js +16 -2
  571. package/indicators/dema.js +1 -1
  572. package/indicators/dema.js.map +1 -1
  573. package/indicators/dema.src.js +26 -1
  574. package/indicators/disparity-index.js +1 -1
  575. package/indicators/disparity-index.src.js +1 -1
  576. package/indicators/dmi.js +12 -12
  577. package/indicators/dmi.js.map +1 -1
  578. package/indicators/dmi.src.js +104 -105
  579. package/indicators/dpo.js +1 -1
  580. package/indicators/dpo.js.map +1 -1
  581. package/indicators/dpo.src.js +20 -9
  582. package/indicators/ichimoku-kinko-hyo.js +1 -1
  583. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  584. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  585. package/indicators/indicators-all.d.ts +1 -17
  586. package/indicators/indicators-all.js +200 -199
  587. package/indicators/indicators-all.js.map +1 -1
  588. package/indicators/indicators-all.src.d.ts +1 -17
  589. package/indicators/indicators-all.src.js +882 -284
  590. package/indicators/indicators.js +1 -1
  591. package/indicators/indicators.js.map +1 -1
  592. package/indicators/indicators.src.js +12 -2
  593. package/indicators/keltner-channels.d.ts +1 -17
  594. package/indicators/keltner-channels.js +11 -12
  595. package/indicators/keltner-channels.js.map +1 -1
  596. package/indicators/keltner-channels.src.d.ts +1 -17
  597. package/indicators/keltner-channels.src.js +114 -99
  598. package/indicators/klinger.js +14 -14
  599. package/indicators/klinger.js.map +1 -1
  600. package/indicators/klinger.src.js +101 -102
  601. package/indicators/macd.js +10 -9
  602. package/indicators/macd.js.map +1 -1
  603. package/indicators/macd.src.js +46 -25
  604. package/indicators/mfi.js +1 -1
  605. package/indicators/mfi.js.map +1 -1
  606. package/indicators/mfi.src.js +24 -11
  607. package/indicators/momentum.js +1 -1
  608. package/indicators/momentum.js.map +1 -1
  609. package/indicators/momentum.src.js +31 -3
  610. package/indicators/natr.js +1 -1
  611. package/indicators/natr.js.map +1 -1
  612. package/indicators/natr.src.js +17 -3
  613. package/indicators/obv.js +1 -1
  614. package/indicators/obv.js.map +1 -1
  615. package/indicators/obv.src.js +11 -1
  616. package/indicators/pivot-points.js +1 -1
  617. package/indicators/pivot-points.js.map +1 -1
  618. package/indicators/pivot-points.src.js +32 -19
  619. package/indicators/ppo.js +1 -1
  620. package/indicators/ppo.js.map +1 -1
  621. package/indicators/ppo.src.js +15 -5
  622. package/indicators/price-channel.d.ts +1 -17
  623. package/indicators/price-channel.js +11 -11
  624. package/indicators/price-channel.js.map +1 -1
  625. package/indicators/price-channel.src.d.ts +1 -17
  626. package/indicators/price-channel.src.js +102 -107
  627. package/indicators/price-envelopes.js +1 -1
  628. package/indicators/price-envelopes.js.map +1 -1
  629. package/indicators/price-envelopes.src.js +26 -1
  630. package/indicators/psar.js +1 -1
  631. package/indicators/psar.js.map +1 -1
  632. package/indicators/psar.src.js +17 -4
  633. package/indicators/regressions.js +12 -11
  634. package/indicators/regressions.js.map +1 -1
  635. package/indicators/regressions.src.js +50 -15
  636. package/indicators/roc.js +1 -1
  637. package/indicators/roc.js.map +1 -1
  638. package/indicators/roc.src.js +16 -3
  639. package/indicators/rsi.js +1 -1
  640. package/indicators/rsi.js.map +1 -1
  641. package/indicators/rsi.src.js +21 -3
  642. package/indicators/slow-stochastic.js +1 -1
  643. package/indicators/slow-stochastic.js.map +1 -1
  644. package/indicators/slow-stochastic.src.js +26 -1
  645. package/indicators/stochastic.d.ts +1 -17
  646. package/indicators/stochastic.js +12 -12
  647. package/indicators/stochastic.js.map +1 -1
  648. package/indicators/stochastic.src.d.ts +1 -17
  649. package/indicators/stochastic.src.js +104 -99
  650. package/indicators/supertrend.js +7 -7
  651. package/indicators/supertrend.js.map +1 -1
  652. package/indicators/supertrend.src.js +21 -9
  653. package/indicators/tema.js +1 -1
  654. package/indicators/tema.src.js +1 -1
  655. package/indicators/trendline.js +1 -1
  656. package/indicators/trendline.js.map +1 -1
  657. package/indicators/trendline.src.js +15 -5
  658. package/indicators/trix.js +1 -1
  659. package/indicators/trix.js.map +1 -1
  660. package/indicators/trix.src.js +26 -1
  661. package/indicators/volume-by-price.js +17 -17
  662. package/indicators/volume-by-price.js.map +1 -1
  663. package/indicators/volume-by-price.src.js +38 -10
  664. package/indicators/vwap.js +1 -1
  665. package/indicators/vwap.js.map +1 -1
  666. package/indicators/vwap.src.js +12 -2
  667. package/indicators/williams-r.js +1 -1
  668. package/indicators/williams-r.js.map +1 -1
  669. package/indicators/williams-r.src.js +11 -1
  670. package/indicators/wma.js +1 -1
  671. package/indicators/wma.js.map +1 -1
  672. package/indicators/wma.src.js +31 -3
  673. package/indicators/zigzag.js +1 -1
  674. package/indicators/zigzag.js.map +1 -1
  675. package/indicators/zigzag.src.js +12 -2
  676. package/modules/accessibility.js +246 -242
  677. package/modules/accessibility.js.map +1 -1
  678. package/modules/accessibility.src.js +797 -664
  679. package/modules/annotations-advanced.d.ts +1 -1
  680. package/modules/annotations-advanced.js +193 -192
  681. package/modules/annotations-advanced.js.map +1 -1
  682. package/modules/annotations-advanced.src.d.ts +1 -1
  683. package/modules/annotations-advanced.src.js +9229 -8589
  684. package/modules/annotations.d.ts +1 -1
  685. package/modules/annotations.js +128 -126
  686. package/modules/annotations.js.map +1 -1
  687. package/modules/annotations.src.d.ts +1 -1
  688. package/modules/annotations.src.js +6190 -5528
  689. package/modules/arc-diagram.js +7 -7
  690. package/modules/arc-diagram.js.map +1 -1
  691. package/modules/arc-diagram.src.js +10 -2
  692. package/modules/arrow-symbols.js +1 -1
  693. package/modules/arrow-symbols.src.js +1 -1
  694. package/modules/boost-canvas.d.ts +19 -0
  695. package/modules/boost-canvas.js +81 -15
  696. package/modules/boost-canvas.js.map +1 -1
  697. package/modules/boost-canvas.src.d.ts +19 -0
  698. package/modules/boost-canvas.src.js +3342 -52
  699. package/modules/boost.d.ts +8 -26
  700. package/modules/boost.js +88 -80
  701. package/modules/boost.js.map +1 -1
  702. package/modules/boost.src.d.ts +8 -26
  703. package/modules/boost.src.js +2435 -1889
  704. package/modules/broken-axis.js +2 -2
  705. package/modules/broken-axis.js.map +1 -1
  706. package/modules/broken-axis.src.js +2 -2
  707. package/modules/bullet.js +1 -1
  708. package/modules/bullet.js.map +1 -1
  709. package/modules/bullet.src.js +2 -5
  710. package/modules/coloraxis.js +2 -2
  711. package/modules/coloraxis.js.map +1 -1
  712. package/modules/coloraxis.src.js +9 -5
  713. package/modules/current-date-indicator.js +1 -1
  714. package/modules/current-date-indicator.src.js +2 -2
  715. package/modules/cylinder.js +9 -9
  716. package/modules/cylinder.js.map +1 -1
  717. package/modules/cylinder.src.js +2 -2
  718. package/modules/data.d.ts +12 -12
  719. package/modules/data.js +33 -34
  720. package/modules/data.js.map +1 -1
  721. package/modules/data.src.d.ts +12 -12
  722. package/modules/data.src.js +862 -829
  723. package/modules/datagrouping.d.ts +22 -0
  724. package/modules/datagrouping.js +9 -9
  725. package/modules/datagrouping.js.map +1 -1
  726. package/modules/datagrouping.src.d.ts +22 -0
  727. package/modules/datagrouping.src.js +69 -29
  728. package/modules/debugger.js +8 -6
  729. package/modules/debugger.js.map +1 -1
  730. package/modules/debugger.src.js +85 -40
  731. package/modules/dependency-wheel.js +12 -12
  732. package/modules/dependency-wheel.js.map +1 -1
  733. package/modules/dependency-wheel.src.js +41 -14
  734. package/modules/dotplot.js +1 -1
  735. package/modules/dotplot.src.js +1 -1
  736. package/modules/drag-panes.js +1 -1
  737. package/modules/drag-panes.src.js +2 -2
  738. package/modules/draggable-points.js +5 -5
  739. package/modules/draggable-points.js.map +1 -1
  740. package/modules/draggable-points.src.js +5 -4
  741. package/modules/drilldown.d.ts +0 -10
  742. package/modules/drilldown.js +37 -37
  743. package/modules/drilldown.js.map +1 -1
  744. package/modules/drilldown.src.d.ts +0 -10
  745. package/modules/drilldown.src.js +59 -25
  746. package/modules/dumbbell.d.ts +4 -0
  747. package/modules/dumbbell.js +17 -17
  748. package/modules/dumbbell.js.map +1 -1
  749. package/modules/dumbbell.src.d.ts +4 -0
  750. package/modules/dumbbell.src.js +24 -12
  751. package/modules/export-data.js +25 -22
  752. package/modules/export-data.js.map +1 -1
  753. package/modules/export-data.src.js +641 -469
  754. package/modules/exporting.d.ts +8 -8
  755. package/modules/exporting.js +39 -39
  756. package/modules/exporting.js.map +1 -1
  757. package/modules/exporting.src.d.ts +8 -8
  758. package/modules/exporting.src.js +442 -319
  759. package/modules/full-screen.js +8 -8
  760. package/modules/full-screen.js.map +1 -1
  761. package/modules/full-screen.src.js +196 -78
  762. package/modules/funnel.js +1 -1
  763. package/modules/funnel.src.js +3 -3
  764. package/modules/funnel3d.js +2 -2
  765. package/modules/funnel3d.js.map +1 -1
  766. package/modules/funnel3d.src.js +2 -2
  767. package/modules/gantt.js +219 -217
  768. package/modules/gantt.js.map +1 -1
  769. package/modules/gantt.src.js +2420 -2364
  770. package/modules/grid-axis.js +23 -23
  771. package/modules/grid-axis.js.map +1 -1
  772. package/modules/grid-axis.src.js +890 -891
  773. package/modules/heatmap.js +40 -40
  774. package/modules/heatmap.js.map +1 -1
  775. package/modules/heatmap.src.js +137 -108
  776. package/modules/heikinashi.js +1 -1
  777. package/modules/heikinashi.src.js +1 -1
  778. package/modules/histogram-bellcurve.js +1 -1
  779. package/modules/histogram-bellcurve.src.js +1 -1
  780. package/modules/hollowcandlestick.js +1 -1
  781. package/modules/hollowcandlestick.src.js +9 -9
  782. package/modules/item-series.js +1 -1
  783. package/modules/item-series.src.js +1 -1
  784. package/modules/lollipop.js +6 -6
  785. package/modules/lollipop.js.map +1 -1
  786. package/modules/lollipop.src.js +37 -22
  787. package/modules/map.d.ts +3 -3
  788. package/modules/map.js +171 -169
  789. package/modules/map.js.map +1 -1
  790. package/modules/map.src.d.ts +3 -3
  791. package/modules/map.src.js +830 -605
  792. package/modules/marker-clusters.js +1 -1
  793. package/modules/marker-clusters.js.map +1 -1
  794. package/modules/marker-clusters.src.js +4 -6
  795. package/modules/networkgraph.d.ts +1 -17
  796. package/modules/networkgraph.js +55 -50
  797. package/modules/networkgraph.js.map +1 -1
  798. package/modules/networkgraph.src.d.ts +1 -17
  799. package/modules/networkgraph.src.js +2339 -2008
  800. package/modules/no-data-to-display.js +1 -1
  801. package/modules/no-data-to-display.src.js +2 -2
  802. package/modules/offline-exporting.js +3 -3
  803. package/modules/offline-exporting.js.map +1 -1
  804. package/modules/offline-exporting.src.js +5 -5
  805. package/modules/oldie-polyfills.js +1 -1
  806. package/modules/oldie-polyfills.src.js +1 -1
  807. package/modules/oldie.js +2 -2
  808. package/modules/oldie.src.js +3 -3
  809. package/modules/organization.js +15 -15
  810. package/modules/organization.js.map +1 -1
  811. package/modules/organization.src.js +12 -4
  812. package/modules/overlapping-datalabels.js +1 -1
  813. package/modules/overlapping-datalabels.src.js +1 -1
  814. package/modules/parallel-coordinates.js +11 -11
  815. package/modules/parallel-coordinates.js.map +1 -1
  816. package/modules/parallel-coordinates.src.js +14 -9
  817. package/modules/pareto.js +1 -1
  818. package/modules/pareto.src.js +1 -1
  819. package/modules/pathfinder.js +1 -1
  820. package/modules/pathfinder.src.js +1 -1
  821. package/modules/pattern-fill.js +15 -14
  822. package/modules/pattern-fill.js.map +1 -1
  823. package/modules/pattern-fill.src.js +15 -2
  824. package/modules/price-indicator.js +1 -1
  825. package/modules/price-indicator.src.js +1 -1
  826. package/modules/pyramid3d.js +1 -1
  827. package/modules/pyramid3d.src.js +1 -1
  828. package/modules/sankey.d.ts +1 -17
  829. package/modules/sankey.js +32 -32
  830. package/modules/sankey.js.map +1 -1
  831. package/modules/sankey.src.d.ts +1 -17
  832. package/modules/sankey.src.js +102 -57
  833. package/modules/series-label.js +18 -18
  834. package/modules/series-label.js.map +1 -1
  835. package/modules/series-label.src.js +474 -387
  836. package/modules/series-on-point.js +18 -0
  837. package/modules/series-on-point.js.map +1 -0
  838. package/modules/series-on-point.src.js +468 -0
  839. package/modules/solid-gauge.js +4 -4
  840. package/modules/solid-gauge.js.map +1 -1
  841. package/modules/solid-gauge.src.js +6 -6
  842. package/modules/sonification.d.ts +2 -2
  843. package/modules/sonification.js +1 -1
  844. package/modules/sonification.js.map +1 -1
  845. package/modules/sonification.src.d.ts +2 -2
  846. package/modules/sonification.src.js +4 -8
  847. package/modules/static-scale.js +1 -1
  848. package/modules/static-scale.src.js +1 -1
  849. package/modules/stock-tools.d.ts +1 -23
  850. package/modules/stock-tools.js +109 -179
  851. package/modules/stock-tools.js.map +1 -1
  852. package/modules/stock-tools.src.d.ts +1 -23
  853. package/modules/stock-tools.src.js +2652 -6347
  854. package/modules/stock.d.ts +8 -0
  855. package/modules/stock.js +205 -204
  856. package/modules/stock.js.map +1 -1
  857. package/modules/stock.src.d.ts +8 -0
  858. package/modules/stock.src.js +208 -106
  859. package/modules/streamgraph.js +1 -1
  860. package/modules/streamgraph.src.js +1 -1
  861. package/modules/sunburst.js +73 -73
  862. package/modules/sunburst.js.map +1 -1
  863. package/modules/sunburst.src.js +251 -193
  864. package/modules/tilemap.js +1 -1
  865. package/modules/tilemap.src.js +1 -1
  866. package/modules/timeline.js +1 -1
  867. package/modules/timeline.js.map +1 -1
  868. package/modules/timeline.src.js +6 -4
  869. package/modules/treegrid.js +57 -57
  870. package/modules/treegrid.js.map +1 -1
  871. package/modules/treegrid.src.js +1908 -1901
  872. package/modules/treemap.js +54 -53
  873. package/modules/treemap.js.map +1 -1
  874. package/modules/treemap.src.js +217 -183
  875. package/modules/variable-pie.js +1 -1
  876. package/modules/variable-pie.src.js +1 -1
  877. package/modules/variwide.js +1 -1
  878. package/modules/variwide.src.js +1 -1
  879. package/modules/vector.js +2 -2
  880. package/modules/vector.js.map +1 -1
  881. package/modules/vector.src.js +3 -5
  882. package/modules/venn.js +31 -31
  883. package/modules/venn.js.map +1 -1
  884. package/modules/venn.src.js +82 -111
  885. package/modules/windbarb.js +1 -1
  886. package/modules/windbarb.src.js +1 -1
  887. package/modules/wordcloud.js +23 -23
  888. package/modules/wordcloud.js.map +1 -1
  889. package/modules/wordcloud.src.js +84 -113
  890. package/modules/xrange.js +17 -17
  891. package/modules/xrange.js.map +1 -1
  892. package/modules/xrange.src.js +411 -397
  893. package/package.json +1 -1
  894. package/themes/avocado.js +1 -1
  895. package/themes/avocado.src.js +1 -1
  896. package/themes/brand-dark.js +1 -1
  897. package/themes/brand-dark.src.js +1 -1
  898. package/themes/brand-light.js +1 -1
  899. package/themes/brand-light.src.js +1 -1
  900. package/themes/dark-blue.js +1 -1
  901. package/themes/dark-blue.src.js +1 -1
  902. package/themes/dark-green.js +1 -1
  903. package/themes/dark-green.src.js +1 -1
  904. package/themes/dark-unica.js +1 -1
  905. package/themes/dark-unica.src.js +1 -1
  906. package/themes/gray.js +1 -1
  907. package/themes/gray.src.js +1 -1
  908. package/themes/grid-light.js +1 -1
  909. package/themes/grid-light.src.js +1 -1
  910. package/themes/grid.js +1 -1
  911. package/themes/grid.src.js +1 -1
  912. package/themes/high-contrast-dark.js +2 -2
  913. package/themes/high-contrast-dark.src.js +11 -11
  914. package/themes/high-contrast-light.js +2 -2
  915. package/themes/high-contrast-light.src.js +10 -10
  916. package/themes/sand-signika.js +1 -1
  917. package/themes/sand-signika.src.js +1 -1
  918. package/themes/skies.js +1 -1
  919. package/themes/skies.src.js +1 -1
  920. package/themes/sunset.js +1 -1
  921. package/themes/sunset.src.js +1 -1
  922. package/es-modules/Core/Axis/StackingAxis.js +0 -216
  923. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  924. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  925. package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
  926. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  927. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  928. package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
  929. package/es-modules/Extensions/Boost/BoostInit.js +0 -323
  930. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  931. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  932. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  933. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  934. package/es-modules/Extensions/FullScreen.js +0 -240
  935. package/es-modules/Extensions/Polar.js +0 -740
  936. package/es-modules/Extensions/Stacking.js +0 -517
  937. package/es-modules/Series/ColorMapMixin.js +0 -84
  938. package/es-modules/Series/DrawPointComposition.js +0 -114
  939. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  940. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  941. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
  942. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -10,546 +10,27 @@
10
10
  *
11
11
  * */
12
12
  'use strict';
13
- import D from '../Core/DefaultOptions.js';
14
- var getOptions = D.getOptions, setOptions = D.setOptions;
15
13
  import H from '../Core/Globals.js';
16
- import NavigationBindings from '../Extensions/Annotations/NavigationBindings.js';
17
- import Series from '../Core/Series/Series.js';
14
+ import NBU from '../Extensions/Annotations/NavigationBindingsUtilities.js';
15
+ var getAssignedAxis = NBU.getAssignedAxis;
16
+ import STU from './StockToolsUtilities.js';
17
+ var addFlagFromForm = STU.addFlagFromForm, attractToPoint = STU.attractToPoint, isNotNavigatorYAxis = STU.isNotNavigatorYAxis, isPriceIndicatorEnabled = STU.isPriceIndicatorEnabled, manageIndicators = STU.manageIndicators, updateHeight = STU.updateHeight, updateNthPoint = STU.updateNthPoint, updateRectSize = STU.updateRectSize;
18
18
  import U from '../Core/Utilities.js';
19
- var correctFloat = U.correctFloat, defined = U.defined, extend = U.extend, fireEvent = U.fireEvent, isNumber = U.isNumber, merge = U.merge, pick = U.pick, uniqueKey = U.uniqueKey;
20
- var bindingsUtils = NavigationBindings.prototype.utils, PREFIX = 'highcharts-';
21
- /* eslint-disable no-invalid-this, valid-jsdoc */
22
- /**
23
- * Generates function which will add a flag series using modal in GUI.
24
- * Method fires an event "showPopup" with config:
25
- * `{type, options, callback}`.
26
- *
27
- * Example: NavigationBindings.utils.addFlagFromForm('url(...)') - will
28
- * generate function that shows modal in GUI.
29
- *
30
- * @private
31
- * @function bindingsUtils.addFlagFromForm
32
- *
33
- * @param {Highcharts.FlagsShapeValue} type
34
- * Type of flag series, e.g. "squarepin"
35
- *
36
- * @return {Function}
37
- * Callback to be used in `start` callback
38
- */
39
- bindingsUtils.addFlagFromForm = function (type) {
40
- return function (e) {
41
- var navigation = this, chart = navigation.chart, toolbar = chart.stockTools, getFieldType = bindingsUtils.getFieldType, point = bindingsUtils.attractToPoint(e, chart), pointConfig, seriesOptions;
42
- if (!point) {
43
- return;
44
- }
45
- pointConfig = {
46
- x: point.x,
47
- y: point.y
48
- };
49
- seriesOptions = {
50
- type: 'flags',
51
- onSeries: point.series.id,
52
- shape: type,
53
- data: [pointConfig],
54
- xAxis: point.xAxis,
55
- yAxis: point.yAxis,
56
- point: {
57
- events: {
58
- click: function () {
59
- var point = this, options = point.options;
60
- fireEvent(navigation, 'showPopup', {
61
- point: point,
62
- formType: 'annotation-toolbar',
63
- options: {
64
- langKey: 'flags',
65
- type: 'flags',
66
- title: [
67
- options.title,
68
- getFieldType(options.title)
69
- ],
70
- name: [
71
- options.name,
72
- getFieldType(options.name)
73
- ]
74
- },
75
- onSubmit: function (updated) {
76
- if (updated.actionType === 'remove') {
77
- point.remove();
78
- }
79
- else {
80
- point.update(navigation.fieldsToOptions(updated.fields, {}));
81
- }
82
- }
83
- });
84
- }
85
- }
86
- }
87
- };
88
- if (!toolbar || !toolbar.guiEnabled) {
89
- chart.addSeries(seriesOptions);
90
- }
91
- fireEvent(navigation, 'showPopup', {
92
- formType: 'flag',
93
- // Enabled options:
94
- options: {
95
- langKey: 'flags',
96
- type: 'flags',
97
- title: ['A', getFieldType('A')],
98
- name: ['Flag A', getFieldType('Flag A')]
99
- },
100
- // Callback on submit:
101
- onSubmit: function (data) {
102
- navigation.fieldsToOptions(data.fields, seriesOptions.data[0]);
103
- chart.addSeries(seriesOptions);
104
- }
105
- });
106
- };
107
- };
108
- bindingsUtils.indicatorsWithAxes = [
109
- 'apo',
110
- 'ad',
111
- 'aroon',
112
- 'aroonoscillator',
113
- 'atr',
114
- 'ao',
115
- 'cci',
116
- 'chaikin',
117
- 'cmf',
118
- 'cmo',
119
- 'disparityindex',
120
- 'dmi',
121
- 'dpo',
122
- 'linearRegressionAngle',
123
- 'linearRegressionIntercept',
124
- 'linearRegressionSlope',
125
- 'klinger',
126
- 'macd',
127
- 'mfi',
128
- 'momentum',
129
- 'natr',
130
- 'obv',
131
- 'ppo',
132
- 'roc',
133
- 'rsi',
134
- 'slowstochastic',
135
- 'stochastic',
136
- 'trix',
137
- 'williamsr'
138
- ];
139
- bindingsUtils.manageIndicators = function (data) {
140
- var navigation = this, chart = navigation.chart, seriesConfig = {
141
- linkedTo: data.linkedTo,
142
- type: data.type
143
- }, indicatorsWithVolume = [
144
- 'ad',
145
- 'cmf',
146
- 'klinger',
147
- 'mfi',
148
- 'obv',
149
- 'vbp',
150
- 'vwap'
151
- ], indicatorsWithAxes = bindingsUtils.indicatorsWithAxes, yAxis, parentSeries, defaultOptions, series;
152
- if (data.actionType === 'edit') {
153
- navigation.fieldsToOptions(data.fields, seriesConfig);
154
- series = chart.get(data.seriesId);
155
- if (series) {
156
- series.update(seriesConfig, false);
157
- }
158
- }
159
- else if (data.actionType === 'remove') {
160
- series = chart.get(data.seriesId);
161
- if (series) {
162
- yAxis = series.yAxis;
163
- if (series.linkedSeries) {
164
- series.linkedSeries.forEach(function (linkedSeries) {
165
- linkedSeries.remove(false);
166
- });
167
- }
168
- series.remove(false);
169
- if (indicatorsWithAxes.indexOf(series.type) >= 0) {
170
- var removedYAxisHeight = yAxis.options.height;
171
- yAxis.remove(false);
172
- navigation.resizeYAxes(removedYAxisHeight);
173
- }
174
- }
175
- }
176
- else {
177
- seriesConfig.id = uniqueKey();
178
- navigation.fieldsToOptions(data.fields, seriesConfig);
179
- parentSeries = chart.get(seriesConfig.linkedTo);
180
- defaultOptions = getOptions().plotOptions;
181
- // Make sure that indicator uses the SUM approx if SUM approx is used
182
- // by parent series (#13950).
183
- if (typeof parentSeries !== 'undefined' &&
184
- parentSeries instanceof Series &&
185
- parentSeries.getDGApproximation() === 'sum' &&
186
- // If indicator has defined approx type, use it (e.g. "ranges")
187
- !defined(defaultOptions && defaultOptions[seriesConfig.type] &&
188
- defaultOptions.dataGrouping &&
189
- defaultOptions.dataGrouping.approximation)) {
190
- seriesConfig.dataGrouping = {
191
- approximation: 'sum'
192
- };
193
- }
194
- if (indicatorsWithAxes.indexOf(data.type) >= 0) {
195
- yAxis = chart.addAxis({
196
- id: uniqueKey(),
197
- offset: 0,
198
- opposite: true,
199
- title: {
200
- text: ''
201
- },
202
- tickPixelInterval: 40,
203
- showLastLabel: false,
204
- labels: {
205
- align: 'left',
206
- y: -2
207
- }
208
- }, false, false);
209
- seriesConfig.yAxis = yAxis.options.id;
210
- navigation.resizeYAxes();
211
- }
212
- else {
213
- seriesConfig.yAxis = chart.get(data.linkedTo).options.yAxis;
214
- }
215
- if (indicatorsWithVolume.indexOf(data.type) >= 0) {
216
- seriesConfig.params.volumeSeriesID = chart.series.filter(function (series) {
217
- return series.options.type === 'column';
218
- })[0].options.id;
219
- }
220
- chart.addSeries(seriesConfig, false);
221
- }
222
- fireEvent(navigation, 'deselectButton', {
223
- button: navigation.selectedButtonElement
224
- });
225
- chart.redraw();
226
- };
227
- /**
228
- * Update height for an annotation. Height is calculated as a difference
229
- * between last point in `typeOptions` and current position. It's a value,
230
- * not pixels height.
231
- *
232
- * @private
233
- * @function bindingsUtils.updateHeight
234
- *
235
- * @param {Highcharts.PointerEventObject} e
236
- * normalized browser event
19
+ var fireEvent = U.fireEvent, merge = U.merge;
20
+ /* *
237
21
  *
238
- * @param {Highcharts.Annotation} annotation
239
- * Annotation to be updated
22
+ * Constants
240
23
  *
241
- * @return {void}
242
- */
243
- bindingsUtils.updateHeight = function (e, annotation) {
244
- var options = annotation.options.typeOptions, yAxis = isNumber(options.yAxis) && this.chart.yAxis[options.yAxis];
245
- if (yAxis && options.points) {
246
- annotation.update({
247
- typeOptions: {
248
- height: yAxis.toValue(e[yAxis.horiz ? 'chartX' : 'chartY']) -
249
- (options.points[1].y || 0)
250
- }
251
- });
252
- }
253
- };
254
- // @todo
255
- // Consider using getHoverData(), but always kdTree (columns?)
256
- bindingsUtils.attractToPoint = function (e, chart) {
257
- var coords = chart.pointer.getCoordinates(e), coordsX, coordsY, distX = Number.MAX_VALUE, closestPoint, x, y;
258
- if (chart.navigationBindings) {
259
- coordsX = chart.navigationBindings.utils.getAssignedAxis(coords.xAxis);
260
- coordsY = chart.navigationBindings.utils.getAssignedAxis(coords.yAxis);
261
- }
262
- // Exit if clicked out of axes area.
263
- if (!coordsX || !coordsY) {
264
- return;
265
- }
266
- x = coordsX.value;
267
- y = coordsY.value;
268
- // Search by 'x' but only in yAxis' series.
269
- coordsY.axis.series.forEach(function (series) {
270
- if (series.points) {
271
- series.points.forEach(function (point) {
272
- if (point && distX > Math.abs(point.x - x)) {
273
- distX = Math.abs(point.x - x);
274
- closestPoint = point;
275
- }
276
- });
277
- }
278
- });
279
- if (closestPoint && closestPoint.x && closestPoint.y) {
280
- return {
281
- x: closestPoint.x,
282
- y: closestPoint.y,
283
- below: y < closestPoint.y,
284
- series: closestPoint.series,
285
- xAxis: closestPoint.series.xAxis.options.index || 0,
286
- yAxis: closestPoint.series.yAxis.options.index || 0
287
- };
288
- }
289
- };
290
- /**
291
- * Shorthand to check if given yAxis comes from navigator.
292
- *
293
- * @private
294
- * @function bindingsUtils.isNotNavigatorYAxis
295
- *
296
- * @param {Highcharts.Axis} axis
297
- * Axis to check.
298
- *
299
- * @return {boolean}
300
- * True, if axis comes from navigator.
301
- */
302
- bindingsUtils.isNotNavigatorYAxis = function (axis) {
303
- return axis.userOptions.className !== PREFIX + 'navigator-yaxis';
304
- };
305
- /**
306
- * Check if any of the price indicators are enabled.
307
- * @private
308
- * @function bindingsUtils.isLastPriceEnabled
309
- *
310
- * @param {Array} series
311
- * Array of series.
312
- *
313
- * @return {boolean}
314
- * Tells which indicator is enabled.
315
- */
316
- bindingsUtils.isPriceIndicatorEnabled = function (series) {
317
- return series.some(function (s) { return s.lastVisiblePrice || s.lastPrice; });
318
- };
24
+ * */
319
25
  /**
320
- * Update each point after specified index, most of the annotations use
321
- * this. For example crooked line: logic behind updating each point is the
322
- * same, only index changes when adding an annotation.
323
- *
324
- * Example: NavigationBindings.utils.updateNthPoint(1) - will generate
325
- * function that updates all consecutive points except point with index=0.
326
- *
327
- * @private
328
- * @function bindingsUtils.updateNthPoint
329
- *
330
- * @param {number} startIndex
331
- * Index from each point should udpated
26
+ * @sample {highstock} stock/stocktools/custom-stock-tools-bindings
27
+ * Custom stock tools bindings
332
28
  *
333
- * @return {Function}
334
- * Callback to be used in steps array
335
- */
336
- bindingsUtils.updateNthPoint = function (startIndex) {
337
- return function (e, annotation) {
338
- var options = annotation.options.typeOptions, xAxis = isNumber(options.xAxis) && this.chart.xAxis[options.xAxis], yAxis = isNumber(options.yAxis) && this.chart.yAxis[options.yAxis];
339
- if (xAxis && yAxis) {
340
- options.points.forEach(function (point, index) {
341
- if (index >= startIndex) {
342
- point.x = xAxis.toValue(e[xAxis.horiz ? 'chartX' : 'chartY']);
343
- point.y = yAxis.toValue(e[yAxis.horiz ? 'chartX' : 'chartY']);
344
- }
345
- });
346
- annotation.update({
347
- typeOptions: {
348
- points: options.points
349
- }
350
- });
351
- }
352
- };
353
- };
354
- // Extends NavigationBindigs to support indicators and resizers:
355
- extend(NavigationBindings.prototype, {
356
- /* eslint-disable valid-jsdoc */
357
- /**
358
- * Get current positions for all yAxes. If new axis does not have position,
359
- * returned is default height and last available top place.
360
- *
361
- * @private
362
- * @function Highcharts.NavigationBindings#getYAxisPositions
363
- *
364
- * @param {Array<Highcharts.Axis>} yAxes
365
- * Array of yAxes available in the chart.
366
- *
367
- * @param {number} plotHeight
368
- * Available height in the chart.
369
- *
370
- * @param {number} defaultHeight
371
- * Default height in percents.
372
- *
373
- * @param {string} removedYAxisHeight
374
- * Height of the removed yAxis in percents.
375
- *
376
- * @return {Highcharts.YAxisPositions}
377
- * An object containing an array of calculated positions
378
- * in percentages. Format: `{top: Number, height: Number}`
379
- * and maximum value of top + height of axes.
380
- */
381
- getYAxisPositions: function (yAxes, plotHeight, defaultHeight, removedYAxisHeight) {
382
- var positions, allAxesHeight = 0, previousAxisHeight, removedHeight;
383
- /** @private */
384
- function isPercentage(prop) {
385
- return defined(prop) && !isNumber(prop) && prop.match('%');
386
- }
387
- if (removedYAxisHeight) {
388
- removedHeight = correctFloat((parseFloat(removedYAxisHeight) / 100));
389
- }
390
- positions = yAxes.map(function (yAxis, index) {
391
- var height = correctFloat(isPercentage(yAxis.options.height) ?
392
- parseFloat(yAxis.options.height) / 100 :
393
- yAxis.height / plotHeight), top = correctFloat(isPercentage(yAxis.options.top) ?
394
- parseFloat(yAxis.options.top) / 100 :
395
- (yAxis.top - yAxis.chart.plotTop) / plotHeight);
396
- // New axis' height is NaN so we can check if
397
- // the axis is newly created this way
398
- if (!removedHeight) {
399
- if (!isNumber(height)) {
400
- // Check if the previous axis is the
401
- // indicator axis (every indicator inherits from sma)
402
- height = yAxes[index - 1].series
403
- .every(function (s) { return s.is('sma'); }) ?
404
- previousAxisHeight : defaultHeight / 100;
405
- }
406
- if (!isNumber(top)) {
407
- top = allAxesHeight;
408
- }
409
- previousAxisHeight = height;
410
- allAxesHeight = correctFloat(Math.max(allAxesHeight, (top || 0) + (height || 0)));
411
- }
412
- else {
413
- if (top <= allAxesHeight) {
414
- allAxesHeight = correctFloat(Math.max(allAxesHeight, (top || 0) + (height || 0)));
415
- }
416
- else {
417
- top = correctFloat(top - removedHeight);
418
- allAxesHeight = correctFloat(allAxesHeight + height);
419
- }
420
- }
421
- return {
422
- height: height * 100,
423
- top: top * 100
424
- };
425
- });
426
- return { positions: positions, allAxesHeight: allAxesHeight };
427
- },
428
- /**
429
- * Get current resize options for each yAxis. Note that each resize is
430
- * linked to the next axis, except the last one which shouldn't affect
431
- * axes in the navigator. Because indicator can be removed with it's yAxis
432
- * in the middle of yAxis array, we need to bind closest yAxes back.
433
- *
434
- * @private
435
- * @function Highcharts.NavigationBindings#getYAxisResizers
436
- *
437
- * @param {Array<Highcharts.Axis>} yAxes
438
- * Array of yAxes available in the chart
439
- *
440
- * @return {Array<object>}
441
- * An array of resizer options.
442
- * Format: `{enabled: Boolean, controlledAxis: { next: [String]}}`
443
- */
444
- getYAxisResizers: function (yAxes) {
445
- var resizers = [];
446
- yAxes.forEach(function (_yAxis, index) {
447
- var nextYAxis = yAxes[index + 1];
448
- // We have next axis, bind them:
449
- if (nextYAxis) {
450
- resizers[index] = {
451
- enabled: true,
452
- controlledAxis: {
453
- next: [
454
- pick(nextYAxis.options.id, nextYAxis.options.index)
455
- ]
456
- }
457
- };
458
- }
459
- else {
460
- // Remove binding:
461
- resizers[index] = {
462
- enabled: false
463
- };
464
- }
465
- });
466
- return resizers;
467
- },
468
- /**
469
- * Resize all yAxes (except navigator) to fit the plotting height. Method
470
- * checks if new axis is added, if the new axis will fit under previous
471
- * axes it is placed there. If not, current plot area is scaled
472
- * to make room for new axis.
473
- *
474
- * If axis is removed, the current plot area streaches to fit into 100%
475
- * of the plot area.
476
- *
477
- * @private
478
- * @function Highcharts.NavigationBindings#resizeYAxes
479
- * @param {string} [removedYAxisHeight]
480
- *
481
- *
482
- */
483
- resizeYAxes: function (removedYAxisHeight) {
484
- // The height of the new axis before rescalling. In %, but as a number.
485
- var defaultHeight = 20;
486
- var chart = this.chart,
487
- // Only non-navigator axes
488
- yAxes = chart.yAxis.filter(bindingsUtils.isNotNavigatorYAxis), plotHeight = chart.plotHeight,
489
- // Gather current heights (in %)
490
- _a = this.getYAxisPositions(yAxes, plotHeight, defaultHeight, removedYAxisHeight), positions = _a.positions, allAxesHeight = _a.allAxesHeight, resizers = this.getYAxisResizers(yAxes);
491
- // check if the axis is being either added or removed and
492
- // if the new indicator axis will fit under existing axes.
493
- // if so, there is no need to scale them.
494
- if (!removedYAxisHeight &&
495
- allAxesHeight <= correctFloat(0.8 + defaultHeight / 100)) {
496
- positions[positions.length - 1] = {
497
- height: defaultHeight,
498
- top: correctFloat(allAxesHeight * 100 - defaultHeight)
499
- };
500
- }
501
- else {
502
- positions.forEach(function (position) {
503
- position.height = (position.height / (allAxesHeight * 100)) * 100;
504
- position.top = (position.top / (allAxesHeight * 100)) * 100;
505
- });
506
- }
507
- positions.forEach(function (position, index) {
508
- yAxes[index].update({
509
- height: position.height + '%',
510
- top: position.top + '%',
511
- resize: resizers[index],
512
- offset: 0
513
- }, false);
514
- });
515
- },
516
- /**
517
- * Utility to modify calculated positions according to the remaining/needed
518
- * space. Later, these positions are used in `yAxis.update({ top, height })`
519
- *
520
- * @private
521
- * @function Highcharts.NavigationBindings#recalculateYAxisPositions
522
- * @param {Array<Highcharts.Dictionary<number>>} positions
523
- * Default positions of all yAxes.
524
- * @param {number} changedSpace
525
- * How much space should be added or removed.
526
- * @param {boolean} modifyHeight
527
- * Update only `top` or both `top` and `height`.
528
- * @param {number} adder
529
- * `-1` or `1`, to determine whether we should add or remove space.
530
- *
531
- * @return {Array<object>}
532
- * Modified positions,
533
- */
534
- recalculateYAxisPositions: function (positions, changedSpace, modifyHeight, adder) {
535
- positions.forEach(function (position, index) {
536
- var prevPosition = positions[index - 1];
537
- position.top = !prevPosition ? 0 :
538
- correctFloat(prevPosition.height + prevPosition.top);
539
- if (modifyHeight) {
540
- position.height = correctFloat(position.height + adder * changedSpace);
541
- }
542
- });
543
- return positions;
544
- }
545
- /* eslint-enable valid-jsdoc */
546
- });
547
- /**
548
29
  * @type {Highcharts.Dictionary<Highcharts.NavigationBindingsOptionsObject>}
549
30
  * @since 7.0.0
550
31
  * @optionparent navigation.bindings
551
32
  */
552
- var stockToolsBindings = {
33
+ var StockToolsBindings = {
553
34
  // Line type annotations:
554
35
  /**
555
36
  * A segment annotation bindings. Includes `start` and one event in `steps`
@@ -565,12 +46,12 @@ var stockToolsBindings = {
565
46
  // eslint-disable-next-line valid-jsdoc
566
47
  /** @ignore-option */
567
48
  start: function (e) {
568
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
49
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
569
50
  // Exit if clicked out of axes area
570
51
  if (!coordsX || !coordsY) {
571
52
  return;
572
53
  }
573
- options = merge({
54
+ var navigation = this.chart.options.navigation, options = merge({
574
55
  langKey: 'segment',
575
56
  type: 'crookedLine',
576
57
  typeOptions: {
@@ -589,7 +70,7 @@ var stockToolsBindings = {
589
70
  },
590
71
  /** @ignore-option */
591
72
  steps: [
592
- bindingsUtils.updateNthPoint(1)
73
+ updateNthPoint(1)
593
74
  ]
594
75
  },
595
76
  /**
@@ -606,12 +87,12 @@ var stockToolsBindings = {
606
87
  // eslint-disable-next-line valid-jsdoc
607
88
  /** @ignore-option */
608
89
  start: function (e) {
609
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
90
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
610
91
  // Exit if clicked out of axes area
611
92
  if (!coordsX || !coordsY) {
612
93
  return;
613
94
  }
614
- options = merge({
95
+ var navigation = this.chart.options.navigation, options = merge({
615
96
  langKey: 'arrowSegment',
616
97
  type: 'crookedLine',
617
98
  typeOptions: {
@@ -633,7 +114,7 @@ var stockToolsBindings = {
633
114
  },
634
115
  /** @ignore-option */
635
116
  steps: [
636
- bindingsUtils.updateNthPoint(1)
117
+ updateNthPoint(1)
637
118
  ]
638
119
  },
639
120
  /**
@@ -650,12 +131,12 @@ var stockToolsBindings = {
650
131
  // eslint-disable-next-line valid-jsdoc
651
132
  /** @ignore-option */
652
133
  start: function (e) {
653
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
134
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
654
135
  // Exit if clicked out of axes area
655
136
  if (!coordsX || !coordsY) {
656
137
  return;
657
138
  }
658
- options = merge({
139
+ var navigation = this.chart.options.navigation, options = merge({
659
140
  langKey: 'ray',
660
141
  type: 'infinityLine',
661
142
  typeOptions: {
@@ -675,7 +156,7 @@ var stockToolsBindings = {
675
156
  },
676
157
  /** @ignore-option */
677
158
  steps: [
678
- bindingsUtils.updateNthPoint(1)
159
+ updateNthPoint(1)
679
160
  ]
680
161
  },
681
162
  /**
@@ -692,12 +173,12 @@ var stockToolsBindings = {
692
173
  // eslint-disable-next-line valid-jsdoc
693
174
  /** @ignore-option */
694
175
  start: function (e) {
695
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
176
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
696
177
  // Exit if clicked out of axes area
697
178
  if (!coordsX || !coordsY) {
698
179
  return;
699
180
  }
700
- options = merge({
181
+ var navigation = this.chart.options.navigation, options = merge({
701
182
  langKey: 'arrowRay',
702
183
  type: 'infinityLine',
703
184
  typeOptions: {
@@ -720,7 +201,7 @@ var stockToolsBindings = {
720
201
  },
721
202
  /** @ignore-option */
722
203
  steps: [
723
- bindingsUtils.updateNthPoint(1)
204
+ updateNthPoint(1)
724
205
  ]
725
206
  },
726
207
  /**
@@ -736,12 +217,12 @@ var stockToolsBindings = {
736
217
  // eslint-disable-next-line valid-jsdoc
737
218
  /** @ignore-option */
738
219
  start: function (e) {
739
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
220
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
740
221
  // Exit if clicked out of axes area
741
222
  if (!coordsX || !coordsY) {
742
223
  return;
743
224
  }
744
- options = merge({
225
+ var navigation = this.chart.options.navigation, options = merge({
745
226
  langKey: 'infinityLine',
746
227
  type: 'infinityLine',
747
228
  typeOptions: {
@@ -761,7 +242,7 @@ var stockToolsBindings = {
761
242
  },
762
243
  /** @ignore-option */
763
244
  steps: [
764
- bindingsUtils.updateNthPoint(1)
245
+ updateNthPoint(1)
765
246
  ]
766
247
  },
767
248
  /**
@@ -778,12 +259,12 @@ var stockToolsBindings = {
778
259
  // eslint-disable-next-line valid-jsdoc
779
260
  /** @ignore-option */
780
261
  start: function (e) {
781
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
262
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
782
263
  // Exit if clicked out of axes area
783
264
  if (!coordsX || !coordsY) {
784
265
  return;
785
266
  }
786
- options = merge({
267
+ var navigation = this.chart.options.navigation, options = merge({
787
268
  langKey: 'arrowInfinityLine',
788
269
  type: 'infinityLine',
789
270
  typeOptions: {
@@ -807,7 +288,7 @@ var stockToolsBindings = {
807
288
  },
808
289
  /** @ignore-option */
809
290
  steps: [
810
- bindingsUtils.updateNthPoint(1)
291
+ updateNthPoint(1)
811
292
  ]
812
293
  },
813
294
  /**
@@ -823,12 +304,12 @@ var stockToolsBindings = {
823
304
  // eslint-disable-next-line valid-jsdoc
824
305
  /** @ignore-option */
825
306
  start: function (e) {
826
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
307
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
827
308
  // Exit if clicked out of axes area
828
309
  if (!coordsX || !coordsY) {
829
310
  return;
830
311
  }
831
- options = merge({
312
+ var navigation = this.chart.options.navigation, options = merge({
832
313
  langKey: 'horizontalLine',
833
314
  type: 'infinityLine',
834
315
  draggable: 'y',
@@ -841,7 +322,8 @@ var stockToolsBindings = {
841
322
  y: coordsY.value
842
323
  }]
843
324
  }
844
- }, navigation.annotationsOptions, navigation.bindings.horizontalLine.annotationsOptions);
325
+ }, navigation.annotationsOptions, navigation.bindings
326
+ .horizontalLine.annotationsOptions);
845
327
  this.chart.addAnnotation(options);
846
328
  }
847
329
  },
@@ -858,12 +340,12 @@ var stockToolsBindings = {
858
340
  // eslint-disable-next-line valid-jsdoc
859
341
  /** @ignore-option */
860
342
  start: function (e) {
861
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation, options;
343
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
862
344
  // Exit if clicked out of axes area
863
345
  if (!coordsX || !coordsY) {
864
346
  return;
865
347
  }
866
- options = merge({
348
+ var navigation = this.chart.options.navigation, options = merge({
867
349
  langKey: 'verticalLine',
868
350
  type: 'infinityLine',
869
351
  draggable: 'x',
@@ -895,7 +377,7 @@ var stockToolsBindings = {
895
377
  // eslint-disable-next-line valid-jsdoc
896
378
  /** @ignore-option */
897
379
  start: function (e) {
898
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
380
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
899
381
  // Exit if clicked out of axes area
900
382
  if (!coordsX || !coordsY) {
901
383
  return;
@@ -917,8 +399,8 @@ var stockToolsBindings = {
917
399
  },
918
400
  /** @ignore-option */
919
401
  steps: [
920
- bindingsUtils.updateNthPoint(1),
921
- bindingsUtils.updateNthPoint(2)
402
+ updateNthPoint(1),
403
+ updateNthPoint(2)
922
404
  ]
923
405
  },
924
406
  /**
@@ -935,7 +417,7 @@ var stockToolsBindings = {
935
417
  // eslint-disable-next-line valid-jsdoc
936
418
  /** @ignore-option */
937
419
  start: function (e) {
938
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
420
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
939
421
  // Exit if clicked out of axes area
940
422
  if (!coordsX || !coordsY) {
941
423
  return;
@@ -959,10 +441,10 @@ var stockToolsBindings = {
959
441
  },
960
442
  /** @ignore-option */
961
443
  steps: [
962
- bindingsUtils.updateNthPoint(1),
963
- bindingsUtils.updateNthPoint(2),
964
- bindingsUtils.updateNthPoint(3),
965
- bindingsUtils.updateNthPoint(4)
444
+ updateNthPoint(1),
445
+ updateNthPoint(2),
446
+ updateNthPoint(3),
447
+ updateNthPoint(4)
966
448
  ]
967
449
  },
968
450
  /**
@@ -979,7 +461,7 @@ var stockToolsBindings = {
979
461
  // eslint-disable-next-line valid-jsdoc
980
462
  /** @ignore-option */
981
463
  start: function (e) {
982
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
464
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
983
465
  // Exit if clicked out of axes area
984
466
  if (!coordsX || !coordsY) {
985
467
  return;
@@ -999,7 +481,7 @@ var stockToolsBindings = {
999
481
  },
1000
482
  labelOptions: {
1001
483
  style: {
1002
- color: "#666666" /* neutralColor60 */
484
+ color: "#666666" /* Palette.neutralColor60 */
1003
485
  }
1004
486
  }
1005
487
  }, navigation.annotationsOptions, navigation.bindings.elliott3.annotationsOptions);
@@ -1007,9 +489,9 @@ var stockToolsBindings = {
1007
489
  },
1008
490
  /** @ignore-option */
1009
491
  steps: [
1010
- bindingsUtils.updateNthPoint(1),
1011
- bindingsUtils.updateNthPoint(2),
1012
- bindingsUtils.updateNthPoint(3)
492
+ updateNthPoint(1),
493
+ updateNthPoint(2),
494
+ updateNthPoint(3)
1013
495
  ]
1014
496
  },
1015
497
  /**
@@ -1026,7 +508,7 @@ var stockToolsBindings = {
1026
508
  // eslint-disable-next-line valid-jsdoc
1027
509
  /** @ignore-option */
1028
510
  start: function (e) {
1029
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
511
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1030
512
  // Exit if clicked out of axes area
1031
513
  if (!coordsX || !coordsY) {
1032
514
  return;
@@ -1048,7 +530,7 @@ var stockToolsBindings = {
1048
530
  },
1049
531
  labelOptions: {
1050
532
  style: {
1051
- color: "#666666" /* neutralColor60 */
533
+ color: "#666666" /* Palette.neutralColor60 */
1052
534
  }
1053
535
  }
1054
536
  }, navigation.annotationsOptions, navigation.bindings.elliott5.annotationsOptions);
@@ -1056,11 +538,11 @@ var stockToolsBindings = {
1056
538
  },
1057
539
  /** @ignore-option */
1058
540
  steps: [
1059
- bindingsUtils.updateNthPoint(1),
1060
- bindingsUtils.updateNthPoint(2),
1061
- bindingsUtils.updateNthPoint(3),
1062
- bindingsUtils.updateNthPoint(4),
1063
- bindingsUtils.updateNthPoint(5)
541
+ updateNthPoint(1),
542
+ updateNthPoint(2),
543
+ updateNthPoint(3),
544
+ updateNthPoint(4),
545
+ updateNthPoint(5)
1064
546
  ]
1065
547
  },
1066
548
  /**
@@ -1077,7 +559,7 @@ var stockToolsBindings = {
1077
559
  // eslint-disable-next-line valid-jsdoc
1078
560
  /** @ignore-option */
1079
561
  start: function (e) {
1080
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
562
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1081
563
  // Exit if clicked out of axes area
1082
564
  if (!coordsX || !coordsY) {
1083
565
  return;
@@ -1092,23 +574,23 @@ var stockToolsBindings = {
1092
574
  point: { x: x, y: y },
1093
575
  crosshairX: {
1094
576
  strokeWidth: 1,
1095
- stroke: "#000000" /* neutralColor100 */
577
+ stroke: "#000000" /* Palette.neutralColor100 */
1096
578
  },
1097
579
  crosshairY: {
1098
580
  enabled: false,
1099
581
  strokeWidth: 0,
1100
- stroke: "#000000" /* neutralColor100 */
582
+ stroke: "#000000" /* Palette.neutralColor100 */
1101
583
  },
1102
584
  background: {
1103
585
  width: 0,
1104
586
  height: 0,
1105
587
  strokeWidth: 0,
1106
- stroke: "#ffffff" /* backgroundColor */
588
+ stroke: "#ffffff" /* Palette.backgroundColor */
1107
589
  }
1108
590
  },
1109
591
  labelOptions: {
1110
592
  style: {
1111
- color: "#666666" /* neutralColor60 */
593
+ color: "#666666" /* Palette.neutralColor60 */
1112
594
  }
1113
595
  }
1114
596
  }, navigation.annotationsOptions, navigation.bindings.measureX.annotationsOptions);
@@ -1116,7 +598,7 @@ var stockToolsBindings = {
1116
598
  },
1117
599
  /** @ignore-option */
1118
600
  steps: [
1119
- bindingsUtils.updateRectSize
601
+ updateRectSize
1120
602
  ]
1121
603
  },
1122
604
  /**
@@ -1133,7 +615,7 @@ var stockToolsBindings = {
1133
615
  // eslint-disable-next-line valid-jsdoc
1134
616
  /** @ignore-option */
1135
617
  start: function (e) {
1136
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
618
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1137
619
  // Exit if clicked out of axes area
1138
620
  if (!coordsX || !coordsY) {
1139
621
  return;
@@ -1149,22 +631,22 @@ var stockToolsBindings = {
1149
631
  crosshairX: {
1150
632
  enabled: false,
1151
633
  strokeWidth: 0,
1152
- stroke: "#000000" /* neutralColor100 */
634
+ stroke: "#000000" /* Palette.neutralColor100 */
1153
635
  },
1154
636
  crosshairY: {
1155
637
  strokeWidth: 1,
1156
- stroke: "#000000" /* neutralColor100 */
638
+ stroke: "#000000" /* Palette.neutralColor100 */
1157
639
  },
1158
640
  background: {
1159
641
  width: 0,
1160
642
  height: 0,
1161
643
  strokeWidth: 0,
1162
- stroke: "#ffffff" /* backgroundColor */
644
+ stroke: "#ffffff" /* Palette.backgroundColor */
1163
645
  }
1164
646
  },
1165
647
  labelOptions: {
1166
648
  style: {
1167
- color: "#666666" /* neutralColor60 */
649
+ color: "#666666" /* Palette.neutralColor60 */
1168
650
  }
1169
651
  }
1170
652
  }, navigation.annotationsOptions, navigation.bindings.measureY.annotationsOptions);
@@ -1172,7 +654,7 @@ var stockToolsBindings = {
1172
654
  },
1173
655
  /** @ignore-option */
1174
656
  steps: [
1175
- bindingsUtils.updateRectSize
657
+ updateRectSize
1176
658
  ]
1177
659
  },
1178
660
  /**
@@ -1189,7 +671,7 @@ var stockToolsBindings = {
1189
671
  // eslint-disable-next-line valid-jsdoc
1190
672
  /** @ignore-option */
1191
673
  start: function (e) {
1192
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
674
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1193
675
  // Exit if clicked out of axes area
1194
676
  if (!coordsX || !coordsY) {
1195
677
  return;
@@ -1209,16 +691,16 @@ var stockToolsBindings = {
1209
691
  },
1210
692
  crosshairX: {
1211
693
  strokeWidth: 1,
1212
- stroke: "#000000" /* neutralColor100 */
694
+ stroke: "#000000" /* Palette.neutralColor100 */
1213
695
  },
1214
696
  crosshairY: {
1215
697
  strokeWidth: 1,
1216
- stroke: "#000000" /* neutralColor100 */
698
+ stroke: "#000000" /* Palette.neutralColor100 */
1217
699
  }
1218
700
  },
1219
701
  labelOptions: {
1220
702
  style: {
1221
- color: "#666666" /* neutralColor60 */
703
+ color: "#666666" /* Palette.neutralColor60 */
1222
704
  }
1223
705
  }
1224
706
  }, navigation.annotationsOptions, navigation.bindings.measureXY.annotationsOptions);
@@ -1226,7 +708,7 @@ var stockToolsBindings = {
1226
708
  },
1227
709
  /** @ignore-option */
1228
710
  steps: [
1229
- bindingsUtils.updateRectSize
711
+ updateRectSize
1230
712
  ]
1231
713
  },
1232
714
  // Advanced type annotations:
@@ -1234,6 +716,9 @@ var stockToolsBindings = {
1234
716
  * A fibonacci annotation bindings. Includes `start` and two events in
1235
717
  * `steps` array (updates second point, then height).
1236
718
  *
719
+ * @sample {highstock} stock/stocktools/custom-stock-tools-bindings
720
+ * Custom stock tools bindings
721
+ *
1237
722
  * @type {Highcharts.NavigationBindingsOptionsObject}
1238
723
  * @product highstock
1239
724
  * @default {"className": "highcharts-fibonacci", "start": function() {}, "steps": [function() {}, function() {}], "annotationsOptions": {}}
@@ -1244,7 +729,7 @@ var stockToolsBindings = {
1244
729
  // eslint-disable-next-line valid-jsdoc
1245
730
  /** @ignore-option */
1246
731
  start: function (e) {
1247
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
732
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1248
733
  // Exit if clicked out of axes area
1249
734
  if (!coordsX || !coordsY) {
1250
735
  return;
@@ -1262,7 +747,7 @@ var stockToolsBindings = {
1262
747
  },
1263
748
  labelOptions: {
1264
749
  style: {
1265
- color: "#666666" /* neutralColor60 */
750
+ color: "#666666" /* Palette.neutralColor60 */
1266
751
  }
1267
752
  }
1268
753
  }, navigation.annotationsOptions, navigation.bindings.fibonacci.annotationsOptions);
@@ -1270,8 +755,8 @@ var stockToolsBindings = {
1270
755
  },
1271
756
  /** @ignore-option */
1272
757
  steps: [
1273
- bindingsUtils.updateNthPoint(1),
1274
- bindingsUtils.updateHeight
758
+ updateNthPoint(1),
759
+ updateHeight
1275
760
  ]
1276
761
  },
1277
762
  /**
@@ -1288,7 +773,7 @@ var stockToolsBindings = {
1288
773
  // eslint-disable-next-line valid-jsdoc
1289
774
  /** @ignore-option */
1290
775
  start: function (e) {
1291
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
776
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1292
777
  // Exit if clicked out of axes area
1293
778
  if (!coordsX || !coordsY) {
1294
779
  return;
@@ -1310,8 +795,8 @@ var stockToolsBindings = {
1310
795
  },
1311
796
  /** @ignore-option */
1312
797
  steps: [
1313
- bindingsUtils.updateNthPoint(1),
1314
- bindingsUtils.updateHeight
798
+ updateNthPoint(1),
799
+ updateHeight
1315
800
  ]
1316
801
  },
1317
802
  /**
@@ -1328,7 +813,7 @@ var stockToolsBindings = {
1328
813
  // eslint-disable-next-line valid-jsdoc
1329
814
  /** @ignore-option */
1330
815
  start: function (e) {
1331
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
816
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1332
817
  // Exit if clicked out of axes area
1333
818
  if (!coordsX || !coordsY) {
1334
819
  return;
@@ -1344,10 +829,11 @@ var stockToolsBindings = {
1344
829
  y: coordsY.value,
1345
830
  controlPoint: {
1346
831
  style: {
1347
- fill: "#f21313" /* negativeColor */
832
+ fill: "#f21313" /* Palette.negativeColor */
1348
833
  }
1349
834
  }
1350
- }, { x: x, y: y },
835
+ },
836
+ { x: x, y: y },
1351
837
  { x: x, y: y }],
1352
838
  innerBackground: {
1353
839
  fill: 'rgba(100, 170, 255, 0.8)'
@@ -1361,8 +847,8 @@ var stockToolsBindings = {
1361
847
  },
1362
848
  /** @ignore-option */
1363
849
  steps: [
1364
- bindingsUtils.updateNthPoint(1),
1365
- bindingsUtils.updateNthPoint(2)
850
+ updateNthPoint(1),
851
+ updateNthPoint(2)
1366
852
  ]
1367
853
  },
1368
854
  // Labels with arrow and auto increments
@@ -1381,13 +867,13 @@ var stockToolsBindings = {
1381
867
  // eslint-disable-next-line valid-jsdoc
1382
868
  /** @ignore-option */
1383
869
  start: function (e) {
1384
- var closestPoint = bindingsUtils.attractToPoint(e, this.chart), navigation = this.chart.options.navigation, options, annotation;
870
+ var closestPoint = attractToPoint(e, this.chart);
1385
871
  // Exit if clicked out of axes area
1386
872
  if (!closestPoint) {
1387
873
  return;
1388
874
  }
1389
875
  this.verticalCounter = this.verticalCounter || 0;
1390
- options = merge({
876
+ var navigation = this.chart.options.navigation, options = merge({
1391
877
  langKey: 'verticalCounter',
1392
878
  type: 'verticalLine',
1393
879
  typeOptions: {
@@ -1404,7 +890,7 @@ var stockToolsBindings = {
1404
890
  },
1405
891
  labelOptions: {
1406
892
  style: {
1407
- color: "#666666" /* neutralColor60 */,
893
+ color: "#666666" /* Palette.neutralColor60 */,
1408
894
  fontSize: '11px'
1409
895
  }
1410
896
  },
@@ -1412,30 +898,30 @@ var stockToolsBindings = {
1412
898
  stroke: 'rgba(0, 0, 0, 0.75)',
1413
899
  strokeWidth: 1
1414
900
  }
1415
- }, navigation.annotationsOptions, navigation.bindings.verticalCounter.annotationsOptions);
1416
- annotation = this.chart.addAnnotation(options);
901
+ }, navigation.annotationsOptions, navigation.bindings
902
+ .verticalCounter.annotationsOptions), annotation = this.chart.addAnnotation(options);
1417
903
  this.verticalCounter++;
1418
904
  annotation.options.events.click.call(annotation, {});
1419
905
  }
1420
906
  },
1421
907
  /**
1422
- * A vertical arrow annotation bindings. Includes `start` event. On click,
1423
- * finds the closest point and marks it with an arrow and a label with
1424
- * value.
908
+ * A time cycles annotation bindings. Includes `start` event and 1 `step`
909
+ * event. first click marks the beginning of the circle, and the second one
910
+ * sets its diameter.
1425
911
  *
1426
912
  * @type {Highcharts.NavigationBindingsOptionsObject}
1427
913
  * @product highstock
1428
- * @default {"className": "highcharts-vertical-label", "start": function() {}, "annotationsOptions": {}}
914
+ * @default {"className": "highcharts-time-cycles", "start": function() {}, "steps": [function (){}] "annotationsOptions": {}}
1429
915
  */
1430
916
  timeCycles: {
1431
917
  className: 'highcharts-time-cycles',
1432
918
  start: function (e) {
1433
- var closestPoint = bindingsUtils.attractToPoint(e, this.chart), navigation = this.chart.options.navigation, options, annotation;
919
+ var closestPoint = attractToPoint(e, this.chart);
1434
920
  // Exit if clicked out of axes area
1435
921
  if (!closestPoint) {
1436
922
  return;
1437
923
  }
1438
- options = merge({
924
+ var navigation = this.chart.options.navigation, options = merge({
1439
925
  langKey: 'timeCycles',
1440
926
  type: 'timeCycles',
1441
927
  typeOptions: {
@@ -1452,13 +938,12 @@ var stockToolsBindings = {
1452
938
  strokeWidth: 2
1453
939
  }
1454
940
  }
1455
- }, navigation.annotationsOptions, navigation.bindings.timeCycles.annotationsOptions);
1456
- annotation = this.chart.addAnnotation(options);
941
+ }, navigation.annotationsOptions, navigation.bindings.timeCycles.annotationsOptions), annotation = this.chart.addAnnotation(options);
1457
942
  annotation.options.events.click.call(annotation, {});
1458
943
  return annotation;
1459
944
  },
1460
945
  steps: [
1461
- bindingsUtils.updateNthPoint(1)
946
+ updateNthPoint(1)
1462
947
  ]
1463
948
  },
1464
949
  verticalLabel: {
@@ -1467,12 +952,12 @@ var stockToolsBindings = {
1467
952
  // eslint-disable-next-line valid-jsdoc
1468
953
  /** @ignore-option */
1469
954
  start: function (e) {
1470
- var closestPoint = bindingsUtils.attractToPoint(e, this.chart), navigation = this.chart.options.navigation, options, annotation;
955
+ var closestPoint = attractToPoint(e, this.chart);
1471
956
  // Exit if clicked out of axes area
1472
957
  if (!closestPoint) {
1473
958
  return;
1474
959
  }
1475
- options = merge({
960
+ var navigation = this.chart.options.navigation, options = merge({
1476
961
  langKey: 'verticalLabel',
1477
962
  type: 'verticalLine',
1478
963
  typeOptions: {
@@ -1488,7 +973,7 @@ var stockToolsBindings = {
1488
973
  },
1489
974
  labelOptions: {
1490
975
  style: {
1491
- color: "#666666" /* neutralColor60 */,
976
+ color: "#666666" /* Palette.neutralColor60 */,
1492
977
  fontSize: '11px'
1493
978
  }
1494
979
  },
@@ -1496,8 +981,8 @@ var stockToolsBindings = {
1496
981
  stroke: 'rgba(0, 0, 0, 0.75)',
1497
982
  strokeWidth: 1
1498
983
  }
1499
- }, navigation.annotationsOptions, navigation.bindings.verticalLabel.annotationsOptions);
1500
- annotation = this.chart.addAnnotation(options);
984
+ }, navigation.annotationsOptions, navigation.bindings
985
+ .verticalLabel.annotationsOptions), annotation = this.chart.addAnnotation(options);
1501
986
  annotation.options.events.click.call(annotation, {});
1502
987
  }
1503
988
  },
@@ -1518,12 +1003,12 @@ var stockToolsBindings = {
1518
1003
  // eslint-disable-next-line valid-jsdoc
1519
1004
  /** @ignore-option */
1520
1005
  start: function (e) {
1521
- var closestPoint = bindingsUtils.attractToPoint(e, this.chart), navigation = this.chart.options.navigation, options, annotation;
1006
+ var closestPoint = attractToPoint(e, this.chart);
1522
1007
  // Exit if clicked out of axes area
1523
1008
  if (!closestPoint) {
1524
1009
  return;
1525
1010
  }
1526
- options = merge({
1011
+ var navigation = this.chart.options.navigation, options = merge({
1527
1012
  langKey: 'verticalArrow',
1528
1013
  type: 'verticalLine',
1529
1014
  typeOptions: {
@@ -1540,15 +1025,16 @@ var stockToolsBindings = {
1540
1025
  connector: {
1541
1026
  fill: 'none',
1542
1027
  stroke: closestPoint.below ?
1543
- "#f21313" /* negativeColor */ : "#06b535" /* positiveColor */
1028
+ "#f21313" /* Palette.negativeColor */ :
1029
+ "#06b535" /* Palette.positiveColor */
1544
1030
  }
1545
1031
  },
1546
1032
  shapeOptions: {
1547
1033
  stroke: 'rgba(0, 0, 0, 0.75)',
1548
1034
  strokeWidth: 1
1549
1035
  }
1550
- }, navigation.annotationsOptions, navigation.bindings.verticalArrow.annotationsOptions);
1551
- annotation = this.chart.addAnnotation(options);
1036
+ }, navigation.annotationsOptions, navigation.bindings
1037
+ .verticalArrow.annotationsOptions), annotation = this.chart.addAnnotation(options);
1552
1038
  annotation.options.events.click.call(annotation, {});
1553
1039
  }
1554
1040
  },
@@ -1566,7 +1052,7 @@ var stockToolsBindings = {
1566
1052
  // eslint-disable-next-line valid-jsdoc
1567
1053
  /** @ignore-option */
1568
1054
  start: function (e) {
1569
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
1055
+ var coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1570
1056
  // Exit if clicked out of axes area
1571
1057
  if (!coordsX || !coordsY) {
1572
1058
  return;
@@ -1589,7 +1075,7 @@ var stockToolsBindings = {
1589
1075
  // eslint-disable-next-line valid-jsdoc
1590
1076
  steps: [
1591
1077
  function (e, annotation) {
1592
- var mockPointOpts = annotation.options.typeOptions.points, x = mockPointOpts && mockPointOpts[0].x, coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
1078
+ var mockPointOpts = annotation.options.typeOptions.points, x = mockPointOpts && mockPointOpts[0].x, coords = this.chart.pointer.getCoordinates(e), coordsX = getAssignedAxis(coords.xAxis), coordsY = getAssignedAxis(coords.yAxis);
1593
1079
  annotation.update({
1594
1080
  typeOptions: {
1595
1081
  xAxis: coordsX.axis.options.index,
@@ -1617,7 +1103,7 @@ var stockToolsBindings = {
1617
1103
  /** @ignore-option */
1618
1104
  className: 'highcharts-flag-circlepin',
1619
1105
  /** @ignore-option */
1620
- start: bindingsUtils.addFlagFromForm('circlepin')
1106
+ start: addFlagFromForm('circlepin')
1621
1107
  },
1622
1108
  /**
1623
1109
  * A flag series bindings. Includes `start` event. On click, finds the
@@ -1631,7 +1117,7 @@ var stockToolsBindings = {
1631
1117
  /** @ignore-option */
1632
1118
  className: 'highcharts-flag-diamondpin',
1633
1119
  /** @ignore-option */
1634
- start: bindingsUtils.addFlagFromForm('flag')
1120
+ start: addFlagFromForm('flag')
1635
1121
  },
1636
1122
  /**
1637
1123
  * A flag series bindings. Includes `start` event.
@@ -1646,7 +1132,7 @@ var stockToolsBindings = {
1646
1132
  /** @ignore-option */
1647
1133
  className: 'highcharts-flag-squarepin',
1648
1134
  /** @ignore-option */
1649
- start: bindingsUtils.addFlagFromForm('squarepin')
1135
+ start: addFlagFromForm('squarepin')
1650
1136
  },
1651
1137
  /**
1652
1138
  * A flag series bindings. Includes `start` event.
@@ -1661,7 +1147,7 @@ var stockToolsBindings = {
1661
1147
  /** @ignore-option */
1662
1148
  className: 'highcharts-flag-simplepin',
1663
1149
  /** @ignore-option */
1664
- start: bindingsUtils.addFlagFromForm('nopin')
1150
+ start: addFlagFromForm('nopin')
1665
1151
  },
1666
1152
  // Other tools:
1667
1153
  /**
@@ -1680,7 +1166,9 @@ var stockToolsBindings = {
1680
1166
  init: function (button) {
1681
1167
  this.chart.update({
1682
1168
  chart: {
1683
- zoomType: 'x'
1169
+ zooming: {
1170
+ type: 'x'
1171
+ }
1684
1172
  }
1685
1173
  });
1686
1174
  fireEvent(this, 'deselectButton', { button: button });
@@ -1702,7 +1190,9 @@ var stockToolsBindings = {
1702
1190
  init: function (button) {
1703
1191
  this.chart.update({
1704
1192
  chart: {
1705
- zoomType: 'y'
1193
+ zooming: {
1194
+ type: 'y'
1195
+ }
1706
1196
  }
1707
1197
  });
1708
1198
  fireEvent(this, 'deselectButton', { button: button });
@@ -1724,7 +1214,9 @@ var stockToolsBindings = {
1724
1214
  init: function (button) {
1725
1215
  this.chart.update({
1726
1216
  chart: {
1727
- zoomType: 'xy'
1217
+ zooming: {
1218
+ type: 'xy'
1219
+ }
1728
1220
  }
1729
1221
  });
1730
1222
  fireEvent(this, 'deselectButton', { button: button });
@@ -1856,10 +1348,11 @@ var stockToolsBindings = {
1856
1348
  /** @ignore-option */
1857
1349
  className: 'highcharts-full-screen',
1858
1350
  noDataState: 'normal',
1859
- // eslint-disable-next-line valid-jsdoc
1860
1351
  /** @ignore-option */
1861
1352
  init: function (button) {
1862
- this.chart.fullscreen.toggle();
1353
+ if (this.chart.fullscreen) {
1354
+ this.chart.fullscreen.toggle();
1355
+ }
1863
1356
  fireEvent(this, 'deselectButton', { button: button });
1864
1357
  }
1865
1358
  },
@@ -1878,7 +1371,7 @@ var stockToolsBindings = {
1878
1371
  // eslint-disable-next-line valid-jsdoc
1879
1372
  /** @ignore-option */
1880
1373
  init: function (button) {
1881
- var chart = this.chart, series = chart.series, gui = chart.stockTools, priceIndicatorEnabled = bindingsUtils.isPriceIndicatorEnabled(chart.series);
1374
+ var chart = this.chart, series = chart.series, gui = chart.stockTools, priceIndicatorEnabled = isPriceIndicatorEnabled(chart.series);
1882
1375
  if (gui && gui.guiEnabled) {
1883
1376
  series.forEach(function (series) {
1884
1377
  series.update({
@@ -1918,7 +1411,7 @@ var stockToolsBindings = {
1918
1411
  options: {},
1919
1412
  // Callback on submit:
1920
1413
  onSubmit: function (data) {
1921
- navigation.utils.manageIndicators.call(navigation, data);
1414
+ manageIndicators.call(navigation, data);
1922
1415
  }
1923
1416
  });
1924
1417
  }
@@ -1987,11 +1480,11 @@ var stockToolsBindings = {
1987
1480
  }
1988
1481
  });
1989
1482
  chart.yAxis.forEach(function (yAxis) {
1990
- if (bindingsUtils.isNotNavigatorYAxis(yAxis)) {
1483
+ if (isNotNavigatorYAxis(yAxis)) {
1991
1484
  yAxes.push(yAxis.options);
1992
1485
  }
1993
1486
  });
1994
- H.win.localStorage.setItem(PREFIX + 'chart', JSON.stringify({
1487
+ H.win.localStorage.setItem('highcharts-chart', JSON.stringify({
1995
1488
  annotations: annotations,
1996
1489
  indicators: indicators,
1997
1490
  flags: flags,
@@ -2001,9 +1494,9 @@ var stockToolsBindings = {
2001
1494
  }
2002
1495
  }
2003
1496
  };
2004
- setOptions({
2005
- navigation: {
2006
- bindings: stockToolsBindings
2007
- }
2008
- });
2009
- NavigationBindings.prototype.utils = merge(bindingsUtils, NavigationBindings.prototype.utils);
1497
+ /* *
1498
+ *
1499
+ * Default Export
1500
+ *
1501
+ * */
1502
+ export default StockToolsBindings;