highcharts 10.2.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 (763) 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/Accessibility.js +6 -0
  7. package/es-modules/Accessibility/Components/LegendComponent.js +8 -8
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -2
  9. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  10. package/es-modules/Core/Axis/Axis.js +3 -0
  11. package/es-modules/Core/Axis/Axis3D.js +1 -1
  12. package/es-modules/Core/Axis/AxisDefaults.js +1 -1
  13. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +4 -0
  15. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  16. package/es-modules/Core/Axis/OrdinalAxis.js +2 -2
  17. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  19. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  20. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  21. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  22. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  23. package/es-modules/Core/Axis/ZAxis.js +73 -70
  24. package/es-modules/Core/Chart/Chart.js +16 -2
  25. package/es-modules/Core/Chart/Chart3D.js +2 -2
  26. package/es-modules/Core/Chart/ChartDefaults.js +151 -2
  27. package/es-modules/Core/Chart/StockChart.js +5 -3
  28. package/es-modules/Core/DefaultOptions.js +2 -1
  29. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  30. package/es-modules/Core/Globals.js +2 -1
  31. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  32. package/es-modules/Core/Navigator.js +24 -7
  33. package/es-modules/Core/Pointer.js +7 -9
  34. package/es-modules/Core/Renderer/HTML/AST.js +4 -1
  35. package/es-modules/Core/Renderer/SVG/SVGElement.js +103 -163
  36. package/es-modules/Core/Renderer/SVG/SVGLabel.js +29 -27
  37. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +3 -3
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  40. package/es-modules/Core/Scrollbar.js +3 -1
  41. package/es-modules/Core/Series/DataLabel.js +8 -6
  42. package/es-modules/Core/Series/Point.js +2 -2
  43. package/es-modules/Core/Series/Series.js +36 -31
  44. package/es-modules/Core/Series/Series3D.js +1 -1
  45. package/es-modules/Core/Series/SeriesDefaults.js +8 -3
  46. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  47. package/es-modules/Core/Tooltip.js +14 -3
  48. package/es-modules/Core/Utilities.js +1 -3
  49. package/es-modules/Data/DataConverter.js +5 -0
  50. package/es-modules/Data/DataPromise.js +1 -1
  51. package/es-modules/Data/DataSeriesComposition.js +288 -0
  52. package/es-modules/Data/DataSeriesConverter.js +1 -1
  53. package/es-modules/Data/DataTable.js +2 -2
  54. package/es-modules/Data/Modifiers/ChainModifier.js +1 -1
  55. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  56. package/es-modules/Data/Modifiers/GroupModifier.js +1 -1
  57. package/es-modules/Data/Modifiers/InvertModifier.js +1 -1
  58. package/es-modules/Data/Modifiers/RangeModifier.js +1 -1
  59. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +1 -1
  60. package/es-modules/Data/Modifiers/SortModifier.js +1 -1
  61. package/es-modules/Data/Parsers/DataParser.js +1 -1
  62. package/es-modules/Data/Stores/DataStore.js +1 -1
  63. package/es-modules/Extensions/Annotations/Annotation.js +347 -1156
  64. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  65. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  66. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  67. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  68. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  69. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  70. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +90 -61
  71. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  72. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  73. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  74. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  75. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  76. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  77. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -674
  78. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  79. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  80. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  81. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  82. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  83. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  84. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  85. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +10 -14
  86. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +11 -19
  87. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +10 -10
  88. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +28 -20
  89. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +63 -63
  90. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +10 -19
  91. package/es-modules/Extensions/Annotations/Types/Measure.js +255 -249
  92. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -17
  93. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +20 -17
  94. package/es-modules/Extensions/Annotations/Types/Tunnel.js +12 -13
  95. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +11 -15
  96. package/es-modules/Extensions/Boost/Boost.js +320 -15
  97. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  98. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  99. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  100. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  101. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  102. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  103. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  104. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  105. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  106. package/es-modules/Extensions/BoostCanvas.js +62 -46
  107. package/es-modules/Extensions/Breadcrumbs.js +4 -0
  108. package/es-modules/Extensions/DataGrouping.js +65 -27
  109. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  110. package/es-modules/Extensions/DraggablePoints.js +4 -3
  111. package/es-modules/Extensions/Drilldown.js +7 -8
  112. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +341 -530
  113. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  114. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  115. package/es-modules/Extensions/Exporting/ExportingDefaults.js +3 -1
  116. package/es-modules/Extensions/{FullScreen.js → Exporting/Fullscreen.js} +72 -27
  117. package/es-modules/Extensions/MarkerClusters.js +2 -0
  118. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  119. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  120. package/es-modules/Extensions/ParallelCoordinates.js +11 -7
  121. package/es-modules/Extensions/ScrollablePlotArea.js +1 -1
  122. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  123. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  124. package/es-modules/Maps/MapPointer.js +1 -1
  125. package/es-modules/Maps/MapView.js +2 -1
  126. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  127. package/es-modules/Series/AreaRange/AreaRangeSeries.js +8 -2
  128. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  129. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  130. package/es-modules/Series/Bubble/BubbleSeries.js +85 -66
  131. package/es-modules/Series/Column/ColumnSeries.js +2 -0
  132. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  133. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +1 -1
  134. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  135. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +24 -11
  136. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +16 -2
  137. package/es-modules/Series/DragNodesComposition.js +166 -0
  138. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -1
  139. package/es-modules/Series/Gantt/GanttSeries.js +1 -1
  140. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  141. package/es-modules/Series/Heatmap/HeatmapSeries.js +5 -1
  142. package/es-modules/Series/Lollipop/LollipopPoint.js +21 -11
  143. package/es-modules/Series/Lollipop/LollipopSeries.js +15 -10
  144. package/es-modules/Series/Map/MapSeries.js +6 -1
  145. package/es-modules/Series/MapBubble/MapBubblePoint.js +15 -17
  146. package/es-modules/Series/MapBubble/MapBubbleSeries.js +19 -19
  147. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  148. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  149. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  150. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  151. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  152. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  153. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  154. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  155. package/es-modules/Series/Organization/OrganizationSeries.js +9 -1
  156. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  157. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -77
  158. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +2 -2
  159. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +197 -570
  160. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  161. package/es-modules/Series/Pie/PieSeries.js +3 -1
  162. package/es-modules/Series/PolarComposition.js +12 -12
  163. package/es-modules/Series/Sankey/SankeySeries.js +13 -1
  164. package/es-modules/Series/Scatter/ScatterSeries.js +4 -1
  165. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +1 -1
  166. package/es-modules/Series/SeriesOnPointComposition.js +5 -1
  167. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +1 -1
  168. package/es-modules/Series/Sunburst/SunburstPoint.js +5 -6
  169. package/es-modules/Series/Sunburst/SunburstSeries.js +24 -2
  170. package/es-modules/Series/Timeline/TimelineSeries.js +2 -0
  171. package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
  172. package/es-modules/Series/Vector/VectorSeries.js +2 -4
  173. package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -1
  174. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  175. package/es-modules/Series/XRange/XRangePoint.js +54 -45
  176. package/es-modules/Series/XRange/XRangeSeries.js +121 -273
  177. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  178. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +10 -2
  179. package/es-modules/Stock/Indicators/AD/ADIndicator.js +5 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +22 -11
  181. package/es-modules/Stock/Indicators/APO/APOIndicator.js +6 -1
  182. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +16 -3
  183. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +15 -2
  184. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +6 -2
  185. package/es-modules/Stock/Indicators/BB/BBIndicator.js +5 -1
  186. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +16 -3
  187. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +20 -0
  188. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +15 -1
  189. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +7 -2
  190. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +25 -0
  191. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +5 -0
  192. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +19 -8
  193. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +10 -0
  194. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +34 -15
  195. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +25 -0
  196. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +12 -1
  197. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +11 -1
  198. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +12 -7
  199. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +11 -1
  200. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +11 -1
  201. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +21 -10
  202. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +23 -10
  203. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +30 -2
  204. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +16 -1
  205. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +10 -0
  206. package/es-modules/Stock/Indicators/PC/PCIndicator.js +13 -8
  207. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +14 -4
  208. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +16 -3
  209. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +16 -6
  210. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +16 -12
  211. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +25 -0
  212. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +15 -2
  213. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +20 -2
  214. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  215. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +25 -0
  216. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -0
  217. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +17 -3
  218. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +25 -0
  219. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +14 -4
  220. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +32 -3
  221. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +6 -6
  222. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +11 -1
  223. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +30 -2
  224. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +10 -0
  225. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +11 -1
  226. package/es-modules/Stock/StockToolbar.js +568 -0
  227. package/es-modules/Stock/StockTools.js +256 -0
  228. package/es-modules/Stock/StockToolsBindings.js +114 -629
  229. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  230. package/es-modules/Stock/StockToolsGui.js +150 -1771
  231. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  232. package/es-modules/masters/highcharts-3d.src.js +5 -4
  233. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  234. package/es-modules/masters/highcharts-more.src.js +4 -3
  235. package/es-modules/masters/highcharts.src.js +5 -2
  236. package/es-modules/masters/highmaps.src.js +1 -1
  237. package/es-modules/masters/highstock.src.js +1 -1
  238. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  239. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  240. package/es-modules/masters/indicators/ao.src.js +1 -1
  241. package/es-modules/masters/indicators/apo.src.js +1 -1
  242. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  243. package/es-modules/masters/indicators/aroon.src.js +1 -1
  244. package/es-modules/masters/indicators/atr.src.js +1 -1
  245. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  246. package/es-modules/masters/indicators/cci.src.js +1 -1
  247. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  248. package/es-modules/masters/indicators/cmf.src.js +1 -1
  249. package/es-modules/masters/indicators/cmo.src.js +1 -1
  250. package/es-modules/masters/indicators/dema.src.js +1 -1
  251. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  252. package/es-modules/masters/indicators/dmi.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  255. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  256. package/es-modules/masters/indicators/indicators.src.js +1 -1
  257. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  258. package/es-modules/masters/indicators/klinger.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/obv.src.js +1 -1
  264. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  265. package/es-modules/masters/indicators/ppo.src.js +1 -1
  266. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  267. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  268. package/es-modules/masters/indicators/psar.src.js +1 -1
  269. package/es-modules/masters/indicators/regressions.src.js +5 -5
  270. package/es-modules/masters/indicators/roc.src.js +1 -1
  271. package/es-modules/masters/indicators/rsi.src.js +1 -1
  272. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  274. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  275. package/es-modules/masters/indicators/tema.src.js +1 -1
  276. package/es-modules/masters/indicators/trendline.src.js +1 -1
  277. package/es-modules/masters/indicators/trix.src.js +1 -1
  278. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  279. package/es-modules/masters/indicators/vwap.src.js +1 -1
  280. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  281. package/es-modules/masters/indicators/wma.src.js +1 -1
  282. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  283. package/es-modules/masters/modules/accessibility.src.js +1 -1
  284. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  285. package/es-modules/masters/modules/annotations.src.js +6 -4
  286. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  287. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  288. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  289. package/es-modules/masters/modules/boost.src.js +6 -2
  290. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  291. package/es-modules/masters/modules/bullet.src.js +1 -1
  292. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  293. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  294. package/es-modules/masters/modules/cylinder.src.js +1 -1
  295. package/es-modules/masters/modules/data.src.js +1 -1
  296. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  297. package/es-modules/masters/modules/debugger.src.js +5 -3
  298. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  299. package/es-modules/masters/modules/dotplot.src.js +1 -1
  300. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  301. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  302. package/es-modules/masters/modules/drilldown.src.js +1 -1
  303. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  304. package/es-modules/masters/modules/export-data.src.js +5 -2
  305. package/es-modules/masters/modules/exporting.src.js +1 -2
  306. package/es-modules/masters/modules/full-screen.src.js +6 -2
  307. package/es-modules/masters/modules/funnel.src.js +1 -1
  308. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  309. package/es-modules/masters/modules/gantt.src.js +3 -2
  310. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  311. package/es-modules/masters/modules/heatmap.src.js +1 -1
  312. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  313. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  314. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  315. package/es-modules/masters/modules/item-series.src.js +1 -1
  316. package/es-modules/masters/modules/lollipop.src.js +1 -1
  317. package/es-modules/masters/modules/map.src.js +2 -2
  318. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  319. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  320. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  321. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  322. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  323. package/es-modules/masters/modules/oldie.src.js +1 -1
  324. package/es-modules/masters/modules/organization.src.js +1 -1
  325. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  326. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  327. package/es-modules/masters/modules/pareto.src.js +1 -1
  328. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  329. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  330. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  331. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  332. package/es-modules/masters/modules/sankey.src.js +1 -1
  333. package/es-modules/masters/modules/series-label.src.js +1 -1
  334. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  335. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  336. package/es-modules/masters/modules/sonification.src.js +1 -1
  337. package/es-modules/masters/modules/static-scale.src.js +1 -1
  338. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  339. package/es-modules/masters/modules/stock.src.js +1 -1
  340. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  341. package/es-modules/masters/modules/sunburst.src.js +1 -1
  342. package/es-modules/masters/modules/tilemap.src.js +1 -1
  343. package/es-modules/masters/modules/timeline.src.js +1 -1
  344. package/es-modules/masters/modules/treegrid.src.js +2 -2
  345. package/es-modules/masters/modules/treemap.src.js +1 -1
  346. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  347. package/es-modules/masters/modules/variwide.src.js +1 -1
  348. package/es-modules/masters/modules/vector.src.js +1 -1
  349. package/es-modules/masters/modules/venn.src.js +1 -1
  350. package/es-modules/masters/modules/windbarb.src.js +1 -1
  351. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  352. package/es-modules/masters/modules/xrange.src.js +5 -2
  353. package/es-modules/masters/themes/avocado.src.js +1 -1
  354. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  355. package/es-modules/masters/themes/brand-light.src.js +1 -1
  356. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  357. package/es-modules/masters/themes/dark-green.src.js +1 -1
  358. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  359. package/es-modules/masters/themes/gray.src.js +1 -1
  360. package/es-modules/masters/themes/grid-light.src.js +1 -1
  361. package/es-modules/masters/themes/grid.src.js +1 -1
  362. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  363. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  364. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  365. package/es-modules/masters/themes/skies.src.js +1 -1
  366. package/es-modules/masters/themes/sunset.src.js +1 -1
  367. package/highcharts-3d.js +98 -99
  368. package/highcharts-3d.js.map +1 -1
  369. package/highcharts-3d.src.js +232 -211
  370. package/highcharts-gantt.js +808 -809
  371. package/highcharts-gantt.js.map +1 -1
  372. package/highcharts-gantt.src.js +2308 -2136
  373. package/highcharts-more.d.ts +5 -8
  374. package/highcharts-more.js +201 -194
  375. package/highcharts-more.js.map +1 -1
  376. package/highcharts-more.src.d.ts +5 -8
  377. package/highcharts-more.src.js +3671 -3275
  378. package/highcharts.d.ts +1400 -885
  379. package/highcharts.js +593 -595
  380. package/highcharts.js.map +1 -1
  381. package/highcharts.src.d.ts +1400 -885
  382. package/highcharts.src.js +847 -716
  383. package/highmaps.js +762 -763
  384. package/highmaps.js.map +1 -1
  385. package/highmaps.src.js +1288 -1129
  386. package/highstock.js +796 -798
  387. package/highstock.js.map +1 -1
  388. package/highstock.src.js +953 -762
  389. package/indicators/acceleration-bands.js +1 -1
  390. package/indicators/acceleration-bands.js.map +1 -1
  391. package/indicators/acceleration-bands.src.js +11 -3
  392. package/indicators/accumulation-distribution.js +1 -1
  393. package/indicators/accumulation-distribution.js.map +1 -1
  394. package/indicators/accumulation-distribution.src.js +6 -1
  395. package/indicators/ao.js +6 -6
  396. package/indicators/ao.js.map +1 -1
  397. package/indicators/ao.src.js +23 -14
  398. package/indicators/apo.js +1 -1
  399. package/indicators/apo.js.map +1 -1
  400. package/indicators/apo.src.js +6 -1
  401. package/indicators/aroon-oscillator.js +10 -10
  402. package/indicators/aroon-oscillator.js.map +1 -1
  403. package/indicators/aroon-oscillator.src.js +7 -3
  404. package/indicators/aroon.js +1 -1
  405. package/indicators/aroon.js.map +1 -1
  406. package/indicators/aroon.src.js +16 -3
  407. package/indicators/atr.js +1 -1
  408. package/indicators/atr.js.map +1 -1
  409. package/indicators/atr.src.js +17 -4
  410. package/indicators/bollinger-bands.js +1 -1
  411. package/indicators/bollinger-bands.js.map +1 -1
  412. package/indicators/bollinger-bands.src.js +6 -2
  413. package/indicators/cci.js +1 -1
  414. package/indicators/cci.js.map +1 -1
  415. package/indicators/cci.src.js +17 -4
  416. package/indicators/chaikin.js +8 -8
  417. package/indicators/chaikin.js.map +1 -1
  418. package/indicators/chaikin.src.js +13 -5
  419. package/indicators/cmf.js +1 -1
  420. package/indicators/cmf.js.map +1 -1
  421. package/indicators/cmf.src.js +21 -1
  422. package/indicators/cmo.js +1 -1
  423. package/indicators/cmo.js.map +1 -1
  424. package/indicators/cmo.src.js +16 -2
  425. package/indicators/dema.js +1 -1
  426. package/indicators/dema.js.map +1 -1
  427. package/indicators/dema.src.js +26 -1
  428. package/indicators/disparity-index.js +1 -1
  429. package/indicators/disparity-index.src.js +1 -1
  430. package/indicators/dmi.js +1 -1
  431. package/indicators/dmi.js.map +1 -1
  432. package/indicators/dmi.src.js +6 -1
  433. package/indicators/dpo.js +1 -1
  434. package/indicators/dpo.js.map +1 -1
  435. package/indicators/dpo.src.js +20 -9
  436. package/indicators/ichimoku-kinko-hyo.js +1 -1
  437. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  438. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  439. package/indicators/indicators-all.js +199 -199
  440. package/indicators/indicators-all.js.map +1 -1
  441. package/indicators/indicators-all.src.js +754 -162
  442. package/indicators/indicators.js +1 -1
  443. package/indicators/indicators.js.map +1 -1
  444. package/indicators/indicators.src.js +12 -2
  445. package/indicators/keltner-channels.js +1 -1
  446. package/indicators/keltner-channels.js.map +1 -1
  447. package/indicators/keltner-channels.src.js +26 -1
  448. package/indicators/klinger.js +12 -12
  449. package/indicators/klinger.js.map +1 -1
  450. package/indicators/klinger.src.js +13 -4
  451. package/indicators/macd.js +1 -1
  452. package/indicators/macd.js.map +1 -1
  453. package/indicators/macd.src.js +22 -13
  454. package/indicators/mfi.js +1 -1
  455. package/indicators/mfi.js.map +1 -1
  456. package/indicators/mfi.src.js +24 -11
  457. package/indicators/momentum.js +1 -1
  458. package/indicators/momentum.js.map +1 -1
  459. package/indicators/momentum.src.js +31 -3
  460. package/indicators/natr.js +1 -1
  461. package/indicators/natr.js.map +1 -1
  462. package/indicators/natr.src.js +17 -3
  463. package/indicators/obv.js +1 -1
  464. package/indicators/obv.js.map +1 -1
  465. package/indicators/obv.src.js +11 -1
  466. package/indicators/pivot-points.js +1 -1
  467. package/indicators/pivot-points.js.map +1 -1
  468. package/indicators/pivot-points.src.js +32 -19
  469. package/indicators/ppo.js +1 -1
  470. package/indicators/ppo.js.map +1 -1
  471. package/indicators/ppo.src.js +15 -5
  472. package/indicators/price-channel.js +1 -1
  473. package/indicators/price-channel.js.map +1 -1
  474. package/indicators/price-channel.src.js +14 -9
  475. package/indicators/price-envelopes.js +1 -1
  476. package/indicators/price-envelopes.js.map +1 -1
  477. package/indicators/price-envelopes.src.js +26 -1
  478. package/indicators/psar.js +1 -1
  479. package/indicators/psar.js.map +1 -1
  480. package/indicators/psar.src.js +17 -4
  481. package/indicators/regressions.js +12 -11
  482. package/indicators/regressions.js.map +1 -1
  483. package/indicators/regressions.src.js +50 -15
  484. package/indicators/roc.js +1 -1
  485. package/indicators/roc.js.map +1 -1
  486. package/indicators/roc.src.js +16 -3
  487. package/indicators/rsi.js +1 -1
  488. package/indicators/rsi.js.map +1 -1
  489. package/indicators/rsi.src.js +21 -3
  490. package/indicators/slow-stochastic.js +1 -1
  491. package/indicators/slow-stochastic.js.map +1 -1
  492. package/indicators/slow-stochastic.src.js +26 -1
  493. package/indicators/stochastic.js +1 -1
  494. package/indicators/stochastic.js.map +1 -1
  495. package/indicators/stochastic.src.js +16 -1
  496. package/indicators/supertrend.js +7 -7
  497. package/indicators/supertrend.js.map +1 -1
  498. package/indicators/supertrend.src.js +18 -6
  499. package/indicators/tema.js +1 -1
  500. package/indicators/tema.src.js +1 -1
  501. package/indicators/trendline.js +1 -1
  502. package/indicators/trendline.js.map +1 -1
  503. package/indicators/trendline.src.js +15 -5
  504. package/indicators/trix.js +1 -1
  505. package/indicators/trix.js.map +1 -1
  506. package/indicators/trix.src.js +26 -1
  507. package/indicators/volume-by-price.js +17 -17
  508. package/indicators/volume-by-price.js.map +1 -1
  509. package/indicators/volume-by-price.src.js +38 -10
  510. package/indicators/vwap.js +1 -1
  511. package/indicators/vwap.js.map +1 -1
  512. package/indicators/vwap.src.js +12 -2
  513. package/indicators/williams-r.js +1 -1
  514. package/indicators/williams-r.js.map +1 -1
  515. package/indicators/williams-r.src.js +11 -1
  516. package/indicators/wma.js +1 -1
  517. package/indicators/wma.js.map +1 -1
  518. package/indicators/wma.src.js +31 -3
  519. package/indicators/zigzag.js +1 -1
  520. package/indicators/zigzag.js.map +1 -1
  521. package/indicators/zigzag.src.js +12 -2
  522. package/modules/accessibility.js +183 -182
  523. package/modules/accessibility.js.map +1 -1
  524. package/modules/accessibility.src.js +559 -554
  525. package/modules/annotations-advanced.d.ts +1 -1
  526. package/modules/annotations-advanced.js +193 -192
  527. package/modules/annotations-advanced.js.map +1 -1
  528. package/modules/annotations-advanced.src.d.ts +1 -1
  529. package/modules/annotations-advanced.src.js +9263 -8654
  530. package/modules/annotations.d.ts +1 -1
  531. package/modules/annotations.js +128 -126
  532. package/modules/annotations.js.map +1 -1
  533. package/modules/annotations.src.d.ts +1 -1
  534. package/modules/annotations.src.js +6699 -6063
  535. package/modules/arc-diagram.js +1 -1
  536. package/modules/arc-diagram.src.js +1 -1
  537. package/modules/arrow-symbols.js +1 -1
  538. package/modules/arrow-symbols.src.js +1 -1
  539. package/modules/boost-canvas.d.ts +19 -0
  540. package/modules/boost-canvas.js +81 -16
  541. package/modules/boost-canvas.js.map +1 -1
  542. package/modules/boost-canvas.src.d.ts +19 -0
  543. package/modules/boost-canvas.src.js +3334 -50
  544. package/modules/boost.d.ts +8 -26
  545. package/modules/boost.js +84 -77
  546. package/modules/boost.js.map +1 -1
  547. package/modules/boost.src.d.ts +8 -26
  548. package/modules/boost.src.js +2423 -1888
  549. package/modules/broken-axis.js +2 -2
  550. package/modules/broken-axis.js.map +1 -1
  551. package/modules/broken-axis.src.js +2 -2
  552. package/modules/bullet.js +1 -1
  553. package/modules/bullet.src.js +1 -1
  554. package/modules/coloraxis.js +1 -1
  555. package/modules/coloraxis.js.map +1 -1
  556. package/modules/coloraxis.src.js +5 -1
  557. package/modules/current-date-indicator.js +1 -1
  558. package/modules/current-date-indicator.src.js +1 -1
  559. package/modules/cylinder.js +9 -9
  560. package/modules/cylinder.js.map +1 -1
  561. package/modules/cylinder.src.js +2 -2
  562. package/modules/data.js +1 -1
  563. package/modules/data.src.js +1 -1
  564. package/modules/datagrouping.d.ts +22 -0
  565. package/modules/datagrouping.js +4 -4
  566. package/modules/datagrouping.js.map +1 -1
  567. package/modules/datagrouping.src.d.ts +22 -0
  568. package/modules/datagrouping.src.js +66 -28
  569. package/modules/debugger.js +6 -5
  570. package/modules/debugger.js.map +1 -1
  571. package/modules/debugger.src.js +81 -40
  572. package/modules/dependency-wheel.js +12 -12
  573. package/modules/dependency-wheel.js.map +1 -1
  574. package/modules/dependency-wheel.src.js +41 -14
  575. package/modules/dotplot.js +1 -1
  576. package/modules/dotplot.src.js +1 -1
  577. package/modules/drag-panes.js +1 -1
  578. package/modules/drag-panes.src.js +1 -1
  579. package/modules/draggable-points.js +5 -5
  580. package/modules/draggable-points.js.map +1 -1
  581. package/modules/draggable-points.src.js +5 -4
  582. package/modules/drilldown.d.ts +0 -10
  583. package/modules/drilldown.js +29 -29
  584. package/modules/drilldown.js.map +1 -1
  585. package/modules/drilldown.src.d.ts +0 -10
  586. package/modules/drilldown.src.js +12 -9
  587. package/modules/dumbbell.js +1 -1
  588. package/modules/dumbbell.src.js +1 -1
  589. package/modules/export-data.js +25 -24
  590. package/modules/export-data.js.map +1 -1
  591. package/modules/export-data.src.js +607 -499
  592. package/modules/exporting.js +38 -38
  593. package/modules/exporting.js.map +1 -1
  594. package/modules/exporting.src.js +559 -507
  595. package/modules/full-screen.js +8 -8
  596. package/modules/full-screen.js.map +1 -1
  597. package/modules/full-screen.src.js +76 -26
  598. package/modules/funnel.js +1 -1
  599. package/modules/funnel.src.js +1 -1
  600. package/modules/funnel3d.js +2 -2
  601. package/modules/funnel3d.js.map +1 -1
  602. package/modules/funnel3d.src.js +2 -2
  603. package/modules/gantt.js +217 -216
  604. package/modules/gantt.js.map +1 -1
  605. package/modules/gantt.src.js +1481 -1440
  606. package/modules/grid-axis.js +1 -1
  607. package/modules/grid-axis.src.js +1 -1
  608. package/modules/heatmap.js +1 -1
  609. package/modules/heatmap.js.map +1 -1
  610. package/modules/heatmap.src.js +10 -2
  611. package/modules/heikinashi.js +1 -1
  612. package/modules/heikinashi.src.js +1 -1
  613. package/modules/histogram-bellcurve.js +1 -1
  614. package/modules/histogram-bellcurve.src.js +1 -1
  615. package/modules/hollowcandlestick.js +1 -1
  616. package/modules/hollowcandlestick.src.js +1 -1
  617. package/modules/item-series.js +1 -1
  618. package/modules/item-series.src.js +1 -1
  619. package/modules/lollipop.js +6 -6
  620. package/modules/lollipop.js.map +1 -1
  621. package/modules/lollipop.src.js +37 -22
  622. package/modules/map.d.ts +3 -3
  623. package/modules/map.js +171 -171
  624. package/modules/map.js.map +1 -1
  625. package/modules/map.src.d.ts +3 -3
  626. package/modules/map.src.js +442 -414
  627. package/modules/marker-clusters.js +1 -1
  628. package/modules/marker-clusters.js.map +1 -1
  629. package/modules/marker-clusters.src.js +3 -1
  630. package/modules/networkgraph.js +55 -50
  631. package/modules/networkgraph.js.map +1 -1
  632. package/modules/networkgraph.src.js +2259 -1938
  633. package/modules/no-data-to-display.js +1 -1
  634. package/modules/no-data-to-display.src.js +1 -1
  635. package/modules/offline-exporting.js +2 -2
  636. package/modules/offline-exporting.src.js +2 -2
  637. package/modules/oldie-polyfills.js +1 -1
  638. package/modules/oldie-polyfills.src.js +1 -1
  639. package/modules/oldie.js +2 -2
  640. package/modules/oldie.src.js +2 -2
  641. package/modules/organization.js +15 -15
  642. package/modules/organization.js.map +1 -1
  643. package/modules/organization.src.js +10 -2
  644. package/modules/overlapping-datalabels.js +1 -1
  645. package/modules/overlapping-datalabels.src.js +1 -1
  646. package/modules/parallel-coordinates.js +11 -11
  647. package/modules/parallel-coordinates.js.map +1 -1
  648. package/modules/parallel-coordinates.src.js +13 -8
  649. package/modules/pareto.js +1 -1
  650. package/modules/pareto.src.js +1 -1
  651. package/modules/pathfinder.js +1 -1
  652. package/modules/pathfinder.src.js +1 -1
  653. package/modules/pattern-fill.js +1 -1
  654. package/modules/pattern-fill.src.js +1 -1
  655. package/modules/price-indicator.js +1 -1
  656. package/modules/price-indicator.src.js +1 -1
  657. package/modules/pyramid3d.js +1 -1
  658. package/modules/pyramid3d.src.js +1 -1
  659. package/modules/sankey.js +1 -1
  660. package/modules/sankey.js.map +1 -1
  661. package/modules/sankey.src.js +14 -2
  662. package/modules/series-label.js +5 -5
  663. package/modules/series-label.js.map +1 -1
  664. package/modules/series-label.src.js +3 -3
  665. package/modules/series-on-point.js +1 -1
  666. package/modules/series-on-point.js.map +1 -1
  667. package/modules/series-on-point.src.js +6 -2
  668. package/modules/solid-gauge.js +1 -1
  669. package/modules/solid-gauge.src.js +2 -2
  670. package/modules/sonification.d.ts +2 -2
  671. package/modules/sonification.js +1 -1
  672. package/modules/sonification.src.d.ts +2 -2
  673. package/modules/sonification.src.js +2 -2
  674. package/modules/static-scale.js +1 -1
  675. package/modules/static-scale.src.js +1 -1
  676. package/modules/stock-tools.d.ts +1 -23
  677. package/modules/stock-tools.js +109 -179
  678. package/modules/stock-tools.js.map +1 -1
  679. package/modules/stock-tools.src.d.ts +1 -23
  680. package/modules/stock-tools.src.js +2605 -6335
  681. package/modules/stock.d.ts +8 -0
  682. package/modules/stock.js +105 -105
  683. package/modules/stock.js.map +1 -1
  684. package/modules/stock.src.d.ts +8 -0
  685. package/modules/stock.src.js +105 -45
  686. package/modules/streamgraph.js +1 -1
  687. package/modules/streamgraph.src.js +1 -1
  688. package/modules/sunburst.js +72 -72
  689. package/modules/sunburst.js.map +1 -1
  690. package/modules/sunburst.src.js +38 -12
  691. package/modules/tilemap.js +1 -1
  692. package/modules/tilemap.src.js +1 -1
  693. package/modules/timeline.js +1 -1
  694. package/modules/timeline.js.map +1 -1
  695. package/modules/timeline.src.js +3 -1
  696. package/modules/treegrid.js +57 -57
  697. package/modules/treegrid.js.map +1 -1
  698. package/modules/treegrid.src.js +1022 -1014
  699. package/modules/treemap.js +1 -1
  700. package/modules/treemap.js.map +1 -1
  701. package/modules/treemap.src.js +8 -4
  702. package/modules/variable-pie.js +1 -1
  703. package/modules/variable-pie.src.js +1 -1
  704. package/modules/variwide.js +1 -1
  705. package/modules/variwide.src.js +1 -1
  706. package/modules/vector.js +2 -2
  707. package/modules/vector.js.map +1 -1
  708. package/modules/vector.src.js +3 -5
  709. package/modules/venn.js +1 -1
  710. package/modules/venn.src.js +5 -5
  711. package/modules/windbarb.js +1 -1
  712. package/modules/windbarb.src.js +1 -1
  713. package/modules/wordcloud.js +1 -1
  714. package/modules/wordcloud.src.js +3 -3
  715. package/modules/xrange.js +17 -17
  716. package/modules/xrange.js.map +1 -1
  717. package/modules/xrange.src.js +411 -397
  718. package/package.json +1 -1
  719. package/themes/avocado.js +1 -1
  720. package/themes/avocado.src.js +1 -1
  721. package/themes/brand-dark.js +1 -1
  722. package/themes/brand-dark.src.js +1 -1
  723. package/themes/brand-light.js +1 -1
  724. package/themes/brand-light.src.js +1 -1
  725. package/themes/dark-blue.js +1 -1
  726. package/themes/dark-blue.src.js +1 -1
  727. package/themes/dark-green.js +1 -1
  728. package/themes/dark-green.src.js +1 -1
  729. package/themes/dark-unica.js +1 -1
  730. package/themes/dark-unica.src.js +1 -1
  731. package/themes/gray.js +1 -1
  732. package/themes/gray.src.js +1 -1
  733. package/themes/grid-light.js +1 -1
  734. package/themes/grid-light.src.js +1 -1
  735. package/themes/grid.js +1 -1
  736. package/themes/grid.src.js +1 -1
  737. package/themes/high-contrast-dark.js +1 -1
  738. package/themes/high-contrast-dark.src.js +1 -1
  739. package/themes/high-contrast-light.js +1 -1
  740. package/themes/high-contrast-light.src.js +1 -1
  741. package/themes/sand-signika.js +1 -1
  742. package/themes/sand-signika.src.js +1 -1
  743. package/themes/skies.js +1 -1
  744. package/themes/skies.src.js +1 -1
  745. package/themes/sunset.js +1 -1
  746. package/themes/sunset.src.js +1 -1
  747. package/es-modules/Core/Axis/StackingAxis.js +0 -215
  748. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  749. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  750. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  751. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  752. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  753. package/es-modules/Extensions/Boost/BoostAttach.js +0 -154
  754. package/es-modules/Extensions/Boost/BoostInit.js +0 -324
  755. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  756. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  757. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  758. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  759. package/es-modules/Extensions/Stacking.js +0 -517
  760. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  761. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  762. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1180
  763. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -8,44 +8,29 @@
8
8
  *
9
9
  * */
10
10
  'use strict';
11
- import Annotation from './Annotation.js';
12
- import Chart from '../../Core/Chart/Chart.js';
13
11
  import ChartNavigationComposition from '../../Core/Chart/ChartNavigationComposition.js';
12
+ import D from '../../Core/DefaultOptions.js';
13
+ var setOptions = D.setOptions;
14
14
  import F from '../../Core/FormatUtilities.js';
15
15
  var format = F.format;
16
16
  import H from '../../Core/Globals.js';
17
- import D from '../../Core/DefaultOptions.js';
18
- var setOptions = D.setOptions;
17
+ var doc = H.doc, win = H.win;
18
+ import NavigationBindingDefaults from './NavigationBindingsDefaults.js';
19
+ import NBU from './NavigationBindingsUtilities.js';
20
+ var getFieldType = NBU.getFieldType;
19
21
  import U from '../../Core/Utilities.js';
20
- var addEvent = U.addEvent, attr = U.attr, fireEvent = U.fireEvent, isArray = U.isArray, isFunction = U.isFunction, isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
21
- /**
22
- * A config object for navigation bindings in annotations.
22
+ var addEvent = U.addEvent, attr = U.attr, defined = U.defined, fireEvent = U.fireEvent, isArray = U.isArray, isFunction = U.isFunction, isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
23
+ /* *
23
24
  *
24
- * @interface Highcharts.NavigationBindingsOptionsObject
25
- */ /**
26
- * ClassName of the element for a binding.
27
- * @name Highcharts.NavigationBindingsOptionsObject#className
28
- * @type {string|undefined}
29
- */ /**
30
- * Last event to be fired after last step event.
31
- * @name Highcharts.NavigationBindingsOptionsObject#end
32
- * @type {Function|undefined}
33
- */ /**
34
- * Initial event, fired on a button click.
35
- * @name Highcharts.NavigationBindingsOptionsObject#init
36
- * @type {Function|undefined}
37
- */ /**
38
- * Event fired on first click on a chart.
39
- * @name Highcharts.NavigationBindingsOptionsObject#start
40
- * @type {Function|undefined}
41
- */ /**
42
- * Last event to be fired after last step event. Array of step events to be
43
- * called sequentially after each user click.
44
- * @name Highcharts.NavigationBindingsOptionsObject#steps
45
- * @type {Array<Function>|undefined}
46
- */
47
- var doc = H.doc, win = H.win, PREFIX = 'highcharts-';
48
- /* eslint-disable no-invalid-this, valid-jsdoc */
25
+ * Constants
26
+ *
27
+ * */
28
+ var composedClasses = [];
29
+ /* *
30
+ *
31
+ * Functions
32
+ *
33
+ * */
49
34
  /**
50
35
  * IE 9-11 polyfill for Element.closest():
51
36
  * @private
@@ -53,7 +38,8 @@ var doc = H.doc, win = H.win, PREFIX = 'highcharts-';
53
38
  function closestPolyfill(el, s) {
54
39
  var ElementProto = win.Element.prototype, elementMatches = ElementProto.matches ||
55
40
  ElementProto.msMatchesSelector ||
56
- ElementProto.webkitMatchesSelector, ret = null;
41
+ ElementProto.webkitMatchesSelector;
42
+ var ret = null;
57
43
  if (ElementProto.closest) {
58
44
  ret = ElementProto.closest.call(el, s);
59
45
  }
@@ -69,89 +55,163 @@ function closestPolyfill(el, s) {
69
55
  }
70
56
  /**
71
57
  * @private
72
- * @interface bindingsUtils
73
58
  */
74
- var bindingsUtils = {
75
- /**
76
- * Get field type according to value
77
- *
78
- * @private
79
- * @function Highcharts.NavigationBindingsUtilsObject.getFieldType
80
- *
81
- * @param {'boolean'|'number'|'string'} value
82
- * Atomic type (one of: string, number, boolean)
83
- *
84
- * @return {'checkbox'|'number'|'text'}
85
- * Field type (one of: text, number, checkbox)
86
- */
87
- getFieldType: function (value) {
88
- return {
89
- 'string': 'text',
90
- 'number': 'number',
91
- 'boolean': 'checkbox'
92
- }[typeof value];
93
- },
94
- /**
95
- * Update size of background (rect) in some annotations: Measure, Simple
96
- * Rect.
97
- *
98
- * @private
99
- * @function Highcharts.NavigationBindingsUtilsObject.updateRectSize
100
- *
101
- * @param {Highcharts.PointerEventObject} event
102
- * Normalized browser event
103
- *
104
- * @param {Highcharts.Annotation} annotation
105
- * Annotation to be updated
106
- */
107
- updateRectSize: function (event, annotation) {
108
- var chart = annotation.chart, options = annotation.options.typeOptions, xAxis = isNumber(options.xAxis) && chart.xAxis[options.xAxis], yAxis = isNumber(options.yAxis) && chart.yAxis[options.yAxis];
109
- if (xAxis && yAxis) {
110
- var x = xAxis.toValue(event[xAxis.horiz ? 'chartX' : 'chartY']), y = yAxis.toValue(event[yAxis.horiz ? 'chartX' : 'chartY']), width = x - options.point.x, height = options.point.y - y;
111
- annotation.update({
112
- typeOptions: {
113
- background: {
114
- width: chart.inverted ? height : width,
115
- height: chart.inverted ? width : height
59
+ function onAnnotationRemove() {
60
+ if (this.chart.navigationBindings) {
61
+ this.chart.navigationBindings.deselectAnnotation();
62
+ }
63
+ }
64
+ /**
65
+ * @private
66
+ */
67
+ function onChartDestroy() {
68
+ if (this.navigationBindings) {
69
+ this.navigationBindings.destroy();
70
+ }
71
+ }
72
+ /**
73
+ * @private
74
+ */
75
+ function onChartLoad() {
76
+ var options = this.options;
77
+ if (options && options.navigation && options.navigation.bindings) {
78
+ this.navigationBindings = new NavigationBindings(this, options.navigation);
79
+ this.navigationBindings.initEvents();
80
+ this.navigationBindings.initUpdate();
81
+ }
82
+ }
83
+ /**
84
+ * @private
85
+ */
86
+ function onChartRender() {
87
+ var navigationBindings = this.navigationBindings, disabledClassName = 'highcharts-disabled-btn';
88
+ if (this && navigationBindings) {
89
+ // Check if the buttons should be enabled/disabled based on
90
+ // visible series.
91
+ var buttonsEnabled_1 = false;
92
+ this.series.forEach(function (series) {
93
+ if (!series.options.isInternal && series.visible) {
94
+ buttonsEnabled_1 = true;
95
+ }
96
+ });
97
+ if (this.navigationBindings &&
98
+ this.navigationBindings.container &&
99
+ this.navigationBindings.container[0]) {
100
+ var container_1 = this.navigationBindings.container[0];
101
+ objectEach(navigationBindings.boundClassNames, function (value, key) {
102
+ // Get the HTML element coresponding to the className taken
103
+ // from StockToolsBindings.
104
+ var buttonNode = container_1.querySelectorAll('.' + key);
105
+ if (buttonNode) {
106
+ for (var i = 0; i < buttonNode.length; i++) {
107
+ var button = buttonNode[i], cls = button.className;
108
+ if (value.noDataState === 'normal') {
109
+ // If button has noDataState: 'normal', and has
110
+ // disabledClassName, remove this className.
111
+ if (cls.indexOf(disabledClassName) !== -1) {
112
+ button.classList.remove(disabledClassName);
113
+ }
114
+ }
115
+ else if (!buttonsEnabled_1) {
116
+ if (cls.indexOf(disabledClassName) === -1) {
117
+ button.className += ' ' + disabledClassName;
118
+ }
119
+ }
120
+ else {
121
+ // Enable all buttons by deleting the className.
122
+ if (cls.indexOf(disabledClassName) !== -1) {
123
+ button.classList.remove(disabledClassName);
124
+ }
125
+ }
116
126
  }
117
127
  }
118
128
  });
119
129
  }
120
- },
130
+ }
131
+ }
132
+ /**
133
+ * @private
134
+ */
135
+ function onNavigationBindingsClosePopup() {
136
+ this.deselectAnnotation();
137
+ }
138
+ /**
139
+ * @private
140
+ */
141
+ function onNavigationBindingsDeselectButton() {
142
+ this.selectedButtonElement = null;
143
+ }
144
+ /**
145
+ * Show edit-annotation form:
146
+ * @private
147
+ */
148
+ function selectableAnnotation(annotationType) {
149
+ var originalClick = annotationType.prototype.defaultOptions.events &&
150
+ annotationType.prototype.defaultOptions.events.click;
121
151
  /**
122
- * Returns the first xAxis or yAxis that was clicked with its value.
123
- *
152
+ * Select and show popup
124
153
  * @private
125
- * @function Highcharts.NavigationBindingsUtilsObject#getAssignedAxis
126
- *
127
- * @param {Array<Highcharts.PointerAxisCoordinateObject>} coords
128
- * All the chart's x or y axes with a current pointer's axis value.
129
- *
130
- * @return {Highcharts.PointerAxisCoordinateObject}
131
- * Object with a first found axis and its value that pointer
132
- * is currently pointing.
133
154
  */
134
- getAssignedAxis: function (coords) {
135
- return coords.filter(function (coord) {
136
- var extremes = coord.axis.getExtremes(), axisMin = extremes.min, axisMax = extremes.max,
137
- // Correct axis edges when axis has series
138
- // with pointRange (like column)
139
- minPointOffset = pick(coord.axis.minPointOffset, 0);
140
- return isNumber(axisMin) && isNumber(axisMax) &&
141
- coord.value >= (axisMin - minPointOffset) &&
142
- coord.value <= (axisMax + minPointOffset) &&
143
- // don't count navigator axis
144
- !coord.axis.options.isInternal;
145
- })[0]; // If the axes overlap, return the first axis that was found.
155
+ function selectAndShowPopup(eventArguments) {
156
+ var annotation = this, navigation = annotation.chart.navigationBindings, prevAnnotation = navigation.activeAnnotation;
157
+ if (originalClick) {
158
+ originalClick.call(annotation, eventArguments);
159
+ }
160
+ if (prevAnnotation !== annotation) {
161
+ // Select current:
162
+ navigation.deselectAnnotation();
163
+ navigation.activeAnnotation = annotation;
164
+ annotation.setControlPointsVisibility(true);
165
+ fireEvent(navigation, 'showPopup', {
166
+ annotation: annotation,
167
+ formType: 'annotation-toolbar',
168
+ options: navigation.annotationToFields(annotation),
169
+ onSubmit: function (data) {
170
+ if (data.actionType === 'remove') {
171
+ navigation.activeAnnotation = false;
172
+ navigation.chart.removeAnnotation(annotation);
173
+ }
174
+ else {
175
+ var config = {};
176
+ navigation.fieldsToOptions(data.fields, config);
177
+ navigation.deselectAnnotation();
178
+ var typeOptions = config.typeOptions;
179
+ if (annotation.options.type === 'measure') {
180
+ // Manually disable crooshars according to
181
+ // stroke width of the shape:
182
+ typeOptions.crosshairY.enabled = (typeOptions.crosshairY
183
+ .strokeWidth !== 0);
184
+ typeOptions.crosshairX.enabled = (typeOptions.crosshairX
185
+ .strokeWidth !== 0);
186
+ }
187
+ annotation.update(config);
188
+ }
189
+ }
190
+ });
191
+ }
192
+ else {
193
+ // Deselect current:
194
+ fireEvent(navigation, 'closePopup');
195
+ }
196
+ // Let bubble event to chart.click:
197
+ eventArguments.activeAnnotation = true;
146
198
  }
147
- };
199
+ merge(true, annotationType.prototype.defaultOptions.events, {
200
+ click: selectAndShowPopup
201
+ });
202
+ }
203
+ /* *
204
+ *
205
+ * Class
206
+ *
207
+ * */
148
208
  /**
149
209
  * @private
150
210
  */
151
211
  var NavigationBindings = /** @class */ (function () {
152
212
  /* *
153
213
  *
154
- * Constructors
214
+ * Constructor
155
215
  *
156
216
  * */
157
217
  function NavigationBindings(chart, options) {
@@ -160,24 +220,45 @@ var NavigationBindings = /** @class */ (function () {
160
220
  this.chart = chart;
161
221
  this.options = options;
162
222
  this.eventsToUnbind = [];
163
- this.container = doc.getElementsByClassName(this.options.bindingsClassName || '');
223
+ this.container = this.chart.container
224
+ .querySelectorAll('.' + this.options.bindingsClassName);
225
+ if (!this.container.length) {
226
+ this.container = doc
227
+ .querySelectorAll('.' + this.options.bindingsClassName);
228
+ }
164
229
  }
165
- // Private properties added by bindings:
166
- // Active (selected) annotation that is editted through popup/forms
167
- // activeAnnotation: Annotation
168
- // Holder for current step, used on mouse move to update bound object
169
- // mouseMoveEvent: function () {}
170
- // Next event in `step` array to be called on chart's click
171
- // nextEvent: function () {}
172
- // Index in the `step` array of the current event
173
- // stepIndex: 0
174
- // Flag to determine if current binding has steps
175
- // steps: true|false
176
- // Bindings holder for all events
177
- // selectedButton: {}
178
- // Holder for user options, returned from `start` event, and passed on to
179
- // `step`'s' and `end`.
180
- // currentUserDetails: {}
230
+ /* *
231
+ *
232
+ * Static Functions
233
+ *
234
+ * */
235
+ NavigationBindings.compose = function (AnnotationClass, ChartClass) {
236
+ if (composedClasses.indexOf(AnnotationClass) === -1) {
237
+ composedClasses.push(AnnotationClass);
238
+ addEvent(AnnotationClass, 'remove', onAnnotationRemove);
239
+ // Basic shapes:
240
+ selectableAnnotation(AnnotationClass);
241
+ // Advanced annotations:
242
+ objectEach(AnnotationClass.types, function (annotationType) {
243
+ selectableAnnotation(annotationType);
244
+ });
245
+ }
246
+ if (composedClasses.indexOf(ChartClass) === -1) {
247
+ composedClasses.push(ChartClass);
248
+ addEvent(ChartClass, 'destroy', onChartDestroy);
249
+ addEvent(ChartClass, 'load', onChartLoad);
250
+ addEvent(ChartClass, 'render', onChartRender);
251
+ }
252
+ if (composedClasses.indexOf(NavigationBindings) === -1) {
253
+ composedClasses.push(NavigationBindings);
254
+ addEvent(NavigationBindings, 'closePopup', onNavigationBindingsClosePopup);
255
+ addEvent(NavigationBindings, 'deselectButton', onNavigationBindingsDeselectButton);
256
+ }
257
+ if (composedClasses.indexOf(setOptions) === -1) {
258
+ composedClasses.push(setOptions);
259
+ setOptions(NavigationBindingDefaults);
260
+ }
261
+ };
181
262
  /* *
182
263
  *
183
264
  * Functions
@@ -207,7 +288,7 @@ var NavigationBindings = /** @class */ (function () {
207
288
  }
208
289
  }));
209
290
  });
210
- objectEach(options.events || {}, function (callback, eventName) {
291
+ objectEach((options.events || {}), function (callback, eventName) {
211
292
  if (isFunction(callback)) {
212
293
  navigation.eventsToUnbind.push(addEvent(navigation, eventName, callback, { passive: false }));
213
294
  }
@@ -280,12 +361,13 @@ var NavigationBindings = /** @class */ (function () {
280
361
  events.init.call(navigation, button, clickEvent);
281
362
  }
282
363
  if (events.start || events.steps) {
283
- chart.renderer.boxWrapper.addClass(PREFIX + 'draw-mode');
364
+ chart.renderer.boxWrapper.addClass('highcharts-draw-mode');
284
365
  }
285
366
  }
286
367
  else {
287
- chart.stockTools && chart.stockTools.toggleButtonAciveClass(button);
288
- svgContainer.removeClass(PREFIX + 'draw-mode');
368
+ chart.stockTools &&
369
+ chart.stockTools.toggleButtonActiveClass(button);
370
+ svgContainer.removeClass('highcharts-draw-mode');
289
371
  navigation.nextEvent = false;
290
372
  navigation.mouseMoveEvent = false;
291
373
  navigation.selectedButton = null;
@@ -316,7 +398,7 @@ var NavigationBindings = /** @class */ (function () {
316
398
  // Element could be removed in the child action, e.g. button
317
399
  clickEvent.target.parentNode &&
318
400
  // TO DO: Polyfill for IE11?
319
- !closestPolyfill(clickEvent.target, '.' + PREFIX + 'popup')) {
401
+ !closestPolyfill(clickEvent.target, '.highcharts-popup')) {
320
402
  fireEvent(navigation, 'closePopup');
321
403
  }
322
404
  else if (activeAnnotation.cancelClick) {
@@ -341,7 +423,7 @@ var NavigationBindings = /** @class */ (function () {
341
423
  }
342
424
  else {
343
425
  fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });
344
- svgContainer.removeClass(PREFIX + 'draw-mode');
426
+ svgContainer.removeClass('highcharts-draw-mode');
345
427
  navigation.steps = false;
346
428
  navigation.selectedButton = null;
347
429
  // First click is also the last one:
@@ -360,7 +442,7 @@ var NavigationBindings = /** @class */ (function () {
360
442
  }
361
443
  else {
362
444
  fireEvent(navigation, 'deselectButton', { button: navigation.selectedButtonElement });
363
- svgContainer.removeClass(PREFIX + 'draw-mode');
445
+ svgContainer.removeClass('highcharts-draw-mode');
364
446
  // That was the last step, call end():
365
447
  if (selectedButton.end) {
366
448
  selectedButton.end.call(navigation, clickEvent, navigation.currentUserDetails);
@@ -407,29 +489,30 @@ var NavigationBindings = /** @class */ (function () {
407
489
  */
408
490
  NavigationBindings.prototype.fieldsToOptions = function (fields, config) {
409
491
  objectEach(fields, function (value, field) {
410
- var parsedValue = parseFloat(value), path = field.split('.'), parent = config, pathLength = path.length - 1;
492
+ var parsedValue = parseFloat(value), path = field.split('.'), pathLength = path.length - 1;
411
493
  // If it's a number (not "format" options), parse it:
412
494
  if (isNumber(parsedValue) &&
413
495
  !value.match(/px/g) &&
414
496
  !field.match(/format/g)) {
415
497
  value = parsedValue;
416
498
  }
417
- // Remove empty strings or values like 0
418
- if (value !== '' && value !== 'undefined') {
499
+ // Remove values like 0
500
+ if (value !== 'undefined') {
501
+ var parent_1 = config;
419
502
  path.forEach(function (name, index) {
420
503
  var nextName = pick(path[index + 1], '');
421
504
  if (pathLength === index) {
422
505
  // Last index, put value:
423
- parent[name] = value;
506
+ parent_1[name] = value;
424
507
  }
425
- else if (!parent[name]) {
508
+ else if (!parent_1[name]) {
426
509
  // Create middle property:
427
- parent[name] = nextName.match(/\d/g) ? [] : {};
428
- parent = parent[name];
510
+ parent_1[name] = nextName.match(/\d/g) ? [] : {};
511
+ parent_1 = parent_1[name];
429
512
  }
430
513
  else {
431
514
  // Jump into next property
432
- parent = parent[name];
515
+ parent_1 = parent_1[name];
433
516
  }
434
517
  });
435
518
  }
@@ -460,9 +543,9 @@ var NavigationBindings = /** @class */ (function () {
460
543
  * Annotation options to be displayed in popup box
461
544
  */
462
545
  NavigationBindings.prototype.annotationToFields = function (annotation) {
463
- var options = annotation.options, editables = NavigationBindings.annotationsEditable, nestedEditables = editables.nestedOptions, getFieldType = this.utils.getFieldType, type = pick(options.type, options.shapes && options.shapes[0] &&
546
+ var options = annotation.options, editables = NavigationBindings.annotationsEditable, nestedEditables = editables.nestedOptions, type = pick(options.type, options.shapes && options.shapes[0] &&
464
547
  options.shapes[0].type, options.labels && options.labels[0] &&
465
- options.labels[0].itemType, 'label'), nonEditables = NavigationBindings.annotationsNonEditable[options.langKey] || [], visualOptions = {
548
+ options.labels[0].type, 'label'), nonEditables = NavigationBindings.annotationsNonEditable[options.langKey] || [], visualOptions = {
466
549
  langKey: options.langKey,
467
550
  type: type
468
551
  };
@@ -485,7 +568,7 @@ var NavigationBindings = /** @class */ (function () {
485
568
  * @param {Object} parent
486
569
  * Where new options will be assigned
487
570
  */
488
- function traverse(option, key, parentEditables, parent) {
571
+ function traverse(option, key, parentEditables, parent, parentKey) {
489
572
  var nextParent;
490
573
  if (parentEditables &&
491
574
  option &&
@@ -501,13 +584,13 @@ var NavigationBindings = /** @class */ (function () {
501
584
  option.forEach(function (arrayOption, i) {
502
585
  if (!isObject(arrayOption)) {
503
586
  // Simple arrays, e.g. [String, Number, Boolean]
504
- traverse(arrayOption, 0, nestedEditables[key], parent[key]);
587
+ traverse(arrayOption, 0, nestedEditables[key], parent[key], key);
505
588
  }
506
589
  else {
507
590
  // Advanced arrays, e.g. [Object, Object]
508
591
  parent[key][i] = {};
509
592
  objectEach(arrayOption, function (nestedOption, nestedKey) {
510
- traverse(nestedOption, nestedKey, nestedEditables[key], parent[key][i]);
593
+ traverse(nestedOption, nestedKey, nestedEditables[key], parent[key][i], key);
511
594
  });
512
595
  }
513
596
  });
@@ -525,7 +608,7 @@ var NavigationBindings = /** @class */ (function () {
525
608
  objectEach(option, function (nestedOption, nestedKey) {
526
609
  traverse(nestedOption, nestedKey, key === 0 ?
527
610
  parentEditables :
528
- nestedEditables[key], nextParent);
611
+ nestedEditables[key], nextParent, key);
529
612
  });
530
613
  }
531
614
  else {
@@ -537,10 +620,10 @@ var NavigationBindings = /** @class */ (function () {
537
620
  ];
538
621
  }
539
622
  else if (isArray(parent)) {
540
- parent.push([option, getFieldType(option)]);
623
+ parent.push([option, getFieldType(parentKey, option)]);
541
624
  }
542
625
  else {
543
- parent[key] = [option, getFieldType(option)];
626
+ parent[key] = [option, getFieldType(key, option)];
544
627
  }
545
628
  }
546
629
  }
@@ -549,11 +632,11 @@ var NavigationBindings = /** @class */ (function () {
549
632
  if (key === 'typeOptions') {
550
633
  visualOptions[key] = {};
551
634
  objectEach(options[key], function (typeOption, typeKey) {
552
- traverse(typeOption, typeKey, nestedEditables, visualOptions[key], true);
635
+ traverse(typeOption, typeKey, nestedEditables, visualOptions[key], typeKey);
553
636
  });
554
637
  }
555
638
  else {
556
- traverse(option, key, editables[type], visualOptions);
639
+ traverse(option, key, editables[type], visualOptions, key);
557
640
  }
558
641
  });
559
642
  return visualOptions;
@@ -562,6 +645,7 @@ var NavigationBindings = /** @class */ (function () {
562
645
  * Get all class names for all parents in the element. Iterates until finds
563
646
  * main container.
564
647
  *
648
+ * @private
565
649
  * @function Highcharts.NavigationBindings#getClickedClassNames
566
650
  *
567
651
  * @param {Highcharts.HTMLDOMElement} container
@@ -580,12 +664,8 @@ var NavigationBindings = /** @class */ (function () {
580
664
  if (elemClassName) {
581
665
  classNames = classNames.concat(elemClassName
582
666
  .split(' ')
583
- .map(function (name) {
584
- return [
585
- name,
586
- element
587
- ];
588
- }));
667
+ // eslint-disable-next-line no-loop-func
668
+ .map(function (name) { return ([name, element]); }));
589
669
  }
590
670
  element = element.parentNode;
591
671
  if (element === container) {
@@ -611,7 +691,8 @@ var NavigationBindings = /** @class */ (function () {
611
691
  * Object with events (init, start, steps, and end)
612
692
  */
613
693
  NavigationBindings.prototype.getButtonEvents = function (container, event) {
614
- var navigation = this, classNames = this.getClickedClassNames(container, event), bindings;
694
+ var navigation = this, classNames = this.getClickedClassNames(container, event);
695
+ var bindings;
615
696
  classNames.forEach(function (className) {
616
697
  if (navigation.boundClassNames[className[0]] && !bindings) {
617
698
  bindings = {
@@ -641,10 +722,12 @@ var NavigationBindings = /** @class */ (function () {
641
722
  * @function Highcharts.NavigationBindings#removeEvents
642
723
  */
643
724
  NavigationBindings.prototype.removeEvents = function () {
644
- this.eventsToUnbind.forEach(function (unbinder) {
645
- unbinder();
646
- });
725
+ this.eventsToUnbind.forEach(function (unbinder) { return unbinder(); });
647
726
  };
727
+ /**
728
+ * @private
729
+ * @function Highcharts.NavigationBindings#destroy
730
+ */
648
731
  NavigationBindings.prototype.destroy = function () {
649
732
  this.removeEvents();
650
733
  };
@@ -698,526 +781,41 @@ var NavigationBindings = /** @class */ (function () {
698
781
  };
699
782
  return NavigationBindings;
700
783
  }());
701
- /**
702
- * General utils for bindings
784
+ /* *
703
785
  *
704
- * @private
705
- * @name Highcharts.NavigationBindings.utils
706
- * @type {bindingsUtils}
707
- */
708
- NavigationBindings.prototype.utils = bindingsUtils;
709
- Chart.prototype.initNavigationBindings = function () {
710
- var chart = this, options = chart.options;
711
- if (options && options.navigation && options.navigation.bindings) {
712
- chart.navigationBindings = new NavigationBindings(chart, options.navigation);
713
- chart.navigationBindings.initEvents();
714
- chart.navigationBindings.initUpdate();
715
- }
716
- };
717
- addEvent(Chart, 'load', function () {
718
- this.initNavigationBindings();
719
- });
720
- addEvent(Chart, 'destroy', function () {
721
- if (this.navigationBindings) {
722
- this.navigationBindings.destroy();
723
- }
724
- });
725
- addEvent(NavigationBindings, 'deselectButton', function () {
726
- this.selectedButtonElement = null;
727
- });
728
- addEvent(Annotation, 'remove', function () {
729
- if (this.chart.navigationBindings) {
730
- this.chart.navigationBindings.deselectAnnotation();
731
- }
732
- });
733
- /**
734
- * Show edit-annotation form:
735
- * @private
736
- */
737
- function selectableAnnotation(annotationType) {
738
- var originalClick = annotationType.prototype.defaultOptions.events &&
739
- annotationType.prototype.defaultOptions.events.click;
740
- /**
741
- * @private
742
- */
743
- function selectAndShowPopup(eventArguments) {
744
- var annotation = this, navigation = annotation.chart.navigationBindings, prevAnnotation = navigation.activeAnnotation;
745
- if (originalClick) {
746
- originalClick.call(annotation, eventArguments);
747
- }
748
- if (prevAnnotation !== annotation) {
749
- // Select current:
750
- navigation.deselectAnnotation();
751
- navigation.activeAnnotation = annotation;
752
- annotation.setControlPointsVisibility(true);
753
- fireEvent(navigation, 'showPopup', {
754
- annotation: annotation,
755
- formType: 'annotation-toolbar',
756
- options: navigation.annotationToFields(annotation),
757
- onSubmit: function (data) {
758
- var config = {}, typeOptions;
759
- if (data.actionType === 'remove') {
760
- navigation.activeAnnotation = false;
761
- navigation.chart.removeAnnotation(annotation);
762
- }
763
- else {
764
- navigation.fieldsToOptions(data.fields, config);
765
- navigation.deselectAnnotation();
766
- typeOptions = config.typeOptions;
767
- if (annotation.options.type === 'measure') {
768
- // Manually disable crooshars according to
769
- // stroke width of the shape:
770
- typeOptions.crosshairY.enabled = (typeOptions.crosshairY
771
- .strokeWidth !== 0);
772
- typeOptions.crosshairX.enabled = (typeOptions.crosshairX
773
- .strokeWidth !== 0);
774
- }
775
- annotation.update(config);
776
- }
777
- }
778
- });
779
- }
780
- else {
781
- // Deselect current:
782
- fireEvent(navigation, 'closePopup');
783
- }
784
- // Let bubble event to chart.click:
785
- eventArguments.activeAnnotation = true;
786
- }
787
- merge(true, annotationType.prototype.defaultOptions.events, {
788
- click: selectAndShowPopup
789
- });
790
- }
791
- if (H.Annotation) {
792
- // Basic shapes:
793
- selectableAnnotation(Annotation);
794
- // Advanced annotations:
795
- objectEach(Annotation.types, function (annotationType) {
796
- selectableAnnotation(annotationType);
797
- });
798
- }
799
- setOptions({
800
- /**
801
- * @optionparent lang
802
- *
803
- * @private
804
- */
805
- lang: {
806
- /**
807
- * Configure the Popup strings in the chart. Requires the
808
- * `annotations.js` or `annotations-advanced.src.js` module to be
809
- * loaded.
810
- * @since 7.0.0
811
- * @product highcharts highstock
812
- */
813
- navigation: {
814
- /**
815
- * Translations for all field names used in popup.
816
- *
817
- * @product highcharts highstock
818
- */
819
- popup: {
820
- simpleShapes: 'Simple shapes',
821
- lines: 'Lines',
822
- circle: 'Circle',
823
- ellipse: 'Ellipse',
824
- rectangle: 'Rectangle',
825
- label: 'Label',
826
- shapeOptions: 'Shape options',
827
- typeOptions: 'Details',
828
- fill: 'Fill',
829
- format: 'Text',
830
- strokeWidth: 'Line width',
831
- stroke: 'Line color',
832
- title: 'Title',
833
- name: 'Name',
834
- labelOptions: 'Label options',
835
- labels: 'Labels',
836
- backgroundColor: 'Background color',
837
- backgroundColors: 'Background colors',
838
- borderColor: 'Border color',
839
- borderRadius: 'Border radius',
840
- borderWidth: 'Border width',
841
- style: 'Style',
842
- padding: 'Padding',
843
- fontSize: 'Font size',
844
- color: 'Color',
845
- height: 'Height',
846
- shapes: 'Shape options'
847
- }
848
- }
849
- },
850
- /**
851
- * @optionparent navigation
852
- * @product highcharts highstock
853
- *
854
- * @private
855
- */
856
- navigation: {
857
- /**
858
- * A CSS class name where all bindings will be attached to. Multiple
859
- * charts on the same page should have separate class names to prevent
860
- * duplicating events.
861
- *
862
- * Default value of versions < 7.0.4 `highcharts-bindings-wrapper`
863
- *
864
- * @since 7.0.0
865
- * @type {string}
866
- */
867
- bindingsClassName: 'highcharts-bindings-container',
868
- /**
869
- * Bindings definitions for custom HTML buttons. Each binding implements
870
- * simple event-driven interface:
871
- *
872
- * - `className`: classname used to bind event to
873
- *
874
- * - `init`: initial event, fired on button click
875
- *
876
- * - `start`: fired on first click on a chart
877
- *
878
- * - `steps`: array of sequential events fired one after another on each
879
- * of users clicks
880
- *
881
- * - `end`: last event to be called after last step event
882
- *
883
- * @type {Highcharts.Dictionary<Highcharts.NavigationBindingsOptionsObject>|*}
884
- *
885
- * @sample {highstock} stock/stocktools/stocktools-thresholds
886
- * Custom bindings
887
- * @sample {highcharts} highcharts/annotations/bindings/
888
- * Simple binding
889
- * @sample {highcharts} highcharts/annotations/bindings-custom-annotation/
890
- * Custom annotation binding
891
- *
892
- * @since 7.0.0
893
- * @requires modules/annotations
894
- * @product highcharts highstock
895
- */
896
- bindings: {
897
- /**
898
- * A circle annotation bindings. Includes `start` and one event in
899
- * `steps` array.
900
- *
901
- * @type {Highcharts.NavigationBindingsOptionsObject}
902
- * @default {"className": "highcharts-circle-annotation", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
903
- */
904
- circleAnnotation: {
905
- /** @ignore-option */
906
- className: 'highcharts-circle-annotation',
907
- /** @ignore-option */
908
- start: function (e) {
909
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation;
910
- // Exit if clicked out of axes area
911
- if (!coordsX || !coordsY) {
912
- return;
913
- }
914
- return this.chart.addAnnotation(merge({
915
- langKey: 'circle',
916
- type: 'basicAnnotation',
917
- shapes: [{
918
- type: 'circle',
919
- point: {
920
- x: coordsX.value,
921
- y: coordsY.value,
922
- xAxis: coordsX.axis.options.index,
923
- yAxis: coordsY.axis.options.index
924
- },
925
- r: 5
926
- }]
927
- }, navigation.annotationsOptions, navigation.bindings.circleAnnotation
928
- .annotationsOptions));
929
- },
930
- /** @ignore-option */
931
- steps: [
932
- function (e, annotation) {
933
- var shapes = annotation.options.shapes;
934
- var mockPointOpts = ((shapes && shapes[0] && shapes[0].point) ||
935
- {}), distance;
936
- if (isNumber(mockPointOpts.xAxis) &&
937
- isNumber(mockPointOpts.yAxis)) {
938
- var inverted = this.chart.inverted, x = this.chart.xAxis[mockPointOpts.xAxis]
939
- .toPixels(mockPointOpts.x), y = this.chart.yAxis[mockPointOpts.yAxis]
940
- .toPixels(mockPointOpts.y);
941
- distance = Math.max(Math.sqrt(Math.pow(inverted ? y - e.chartX : x - e.chartX, 2) +
942
- Math.pow(inverted ? x - e.chartY : y - e.chartY, 2)), 5);
943
- }
944
- annotation.update({
945
- shapes: [{
946
- r: distance
947
- }]
948
- });
949
- }
950
- ]
951
- },
952
- /**
953
- * A ellipse annotation bindings. Includes `start` and two events in
954
- * `steps` array. First updates the second point, responsible for a
955
- * rx width, and second updates the ry width.
956
- *
957
- * @type {Highcharts.NavigationBindingsOptionsObject}
958
- * @default {"className": "highcharts-ellipse-annotation", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
959
- */
960
- ellipseAnnotation: {
961
- className: 'highcharts-ellipse-annotation',
962
- start: function (e) {
963
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation;
964
- if (!coordsX || !coordsY) {
965
- return;
966
- }
967
- return this.chart.addAnnotation(merge({
968
- langKey: 'ellipse',
969
- type: 'basicAnnotation',
970
- shapes: [
971
- {
972
- type: 'ellipse',
973
- xAxis: coordsX.axis.options.index,
974
- yAxis: coordsY.axis.options.index,
975
- points: [{
976
- x: coordsX.value,
977
- y: coordsY.value
978
- }, {
979
- x: coordsX.value,
980
- y: coordsY.value
981
- }],
982
- ry: 1
983
- }
984
- ]
985
- }, navigation.annotationsOptions, navigation.bindings.ellipseAnnotation
986
- .annotationOptions));
987
- },
988
- steps: [
989
- function (e, annotation) {
990
- var target = annotation.shapes[0], position = target.getAbsolutePosition(target.points[1]);
991
- target.translatePoint(e.chartX - position.x, e.chartY - position.y, 1);
992
- target.redraw(false);
993
- },
994
- function (e, annotation) {
995
- var target = annotation.shapes[0], position = target.getAbsolutePosition(target.points[0]), position2 = target.getAbsolutePosition(target.points[1]), newR = target.getDistanceFromLine(position, position2, e.chartX, e.chartY), yAxis = target.getYAxis(), newRY = Math.abs(yAxis.toValue(0) - yAxis.toValue(newR));
996
- target.setYRadius(newRY);
997
- target.redraw(false);
998
- }
999
- ]
1000
- },
1001
- /**
1002
- * A rectangle annotation bindings. Includes `start` and one event
1003
- * in `steps` array.
1004
- *
1005
- * @type {Highcharts.NavigationBindingsOptionsObject}
1006
- * @default {"className": "highcharts-rectangle-annotation", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
1007
- */
1008
- rectangleAnnotation: {
1009
- /** @ignore-option */
1010
- className: 'highcharts-rectangle-annotation',
1011
- /** @ignore-option */
1012
- start: function (e) {
1013
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis);
1014
- // Exit if clicked out of axes area
1015
- if (!coordsX || !coordsY) {
1016
- return;
1017
- }
1018
- var x = coordsX.value, y = coordsY.value, xAxis = coordsX.axis.options.index, yAxis = coordsY.axis.options.index, navigation = this.chart.options.navigation;
1019
- return this.chart.addAnnotation(merge({
1020
- langKey: 'rectangle',
1021
- type: 'basicAnnotation',
1022
- shapes: [{
1023
- type: 'path',
1024
- points: [
1025
- { xAxis: xAxis, yAxis: yAxis, x: x, y: y },
1026
- { xAxis: xAxis, yAxis: yAxis, x: x, y: y },
1027
- { xAxis: xAxis, yAxis: yAxis, x: x, y: y },
1028
- { xAxis: xAxis, yAxis: yAxis, x: x, y: y },
1029
- { command: 'Z' }
1030
- ]
1031
- }]
1032
- }, navigation
1033
- .annotationsOptions, navigation
1034
- .bindings
1035
- .rectangleAnnotation
1036
- .annotationsOptions));
1037
- },
1038
- /** @ignore-option */
1039
- steps: [
1040
- function (e, annotation) {
1041
- var shapes = annotation.options.shapes;
1042
- var points = ((shapes && shapes[0] && shapes[0].points) ||
1043
- []), coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), x, y;
1044
- if (coordsX && coordsY) {
1045
- x = coordsX.value;
1046
- y = coordsY.value;
1047
- // Top right point
1048
- points[1].x = x;
1049
- // Bottom right point (cursor position)
1050
- points[2].x = x;
1051
- points[2].y = y;
1052
- // Bottom left
1053
- points[3].y = y;
1054
- annotation.update({
1055
- shapes: [{
1056
- points: points
1057
- }]
1058
- });
1059
- }
1060
- }
1061
- ]
1062
- },
1063
- /**
1064
- * A label annotation bindings. Includes `start` event only.
1065
- *
1066
- * @type {Highcharts.NavigationBindingsOptionsObject}
1067
- * @default {"className": "highcharts-label-annotation", "start": function() {}, "steps": [function() {}], "annotationsOptions": {}}
1068
- */
1069
- labelAnnotation: {
1070
- /** @ignore-option */
1071
- className: 'highcharts-label-annotation',
1072
- /** @ignore-option */
1073
- start: function (e) {
1074
- var coords = this.chart.pointer.getCoordinates(e), coordsX = this.utils.getAssignedAxis(coords.xAxis), coordsY = this.utils.getAssignedAxis(coords.yAxis), navigation = this.chart.options.navigation;
1075
- // Exit if clicked out of axes area
1076
- if (!coordsX || !coordsY) {
1077
- return;
1078
- }
1079
- return this.chart.addAnnotation(merge({
1080
- langKey: 'label',
1081
- type: 'basicAnnotation',
1082
- labelOptions: {
1083
- format: '{y:.2f}'
1084
- },
1085
- labels: [{
1086
- point: {
1087
- xAxis: coordsX.axis.options.index,
1088
- yAxis: coordsY.axis.options.index,
1089
- x: coordsX.value,
1090
- y: coordsY.value
1091
- },
1092
- overflow: 'none',
1093
- crop: true
1094
- }]
1095
- }, navigation
1096
- .annotationsOptions, navigation
1097
- .bindings
1098
- .labelAnnotation
1099
- .annotationsOptions));
1100
- }
1101
- }
1102
- },
1103
- /**
1104
- * Path where Highcharts will look for icons. Change this to use icons
1105
- * from a different server.
1106
- *
1107
- * @type {string}
1108
- * @default https://code.highcharts.com/10.2.0/gfx/stock-icons/
1109
- * @since 7.1.3
1110
- * @apioption navigation.iconsURL
1111
- */
1112
- /**
1113
- * A `showPopup` event. Fired when selecting for example an annotation.
1114
- *
1115
- * @type {Function}
1116
- * @apioption navigation.events.showPopup
1117
- */
1118
- /**
1119
- * A `closePopup` event. Fired when Popup should be hidden, for example
1120
- * when clicking on an annotation again.
1121
- *
1122
- * @type {Function}
1123
- * @apioption navigation.events.closePopup
1124
- */
1125
- /**
1126
- * Event fired on a button click.
1127
- *
1128
- * @type {Function}
1129
- * @sample highcharts/annotations/gui/
1130
- * Change icon in a dropddown on event
1131
- * @sample highcharts/annotations/gui-buttons/
1132
- * Change button class on event
1133
- * @apioption navigation.events.selectButton
1134
- */
1135
- /**
1136
- * Event fired when button state should change, for example after
1137
- * adding an annotation.
1138
- *
1139
- * @type {Function}
1140
- * @sample highcharts/annotations/gui/
1141
- * Change icon in a dropddown on event
1142
- * @sample highcharts/annotations/gui-buttons/
1143
- * Change button class on event
1144
- * @apioption navigation.events.deselectButton
1145
- */
1146
- /**
1147
- * Events to communicate between Stock Tools and custom GUI.
1148
- *
1149
- * @since 7.0.0
1150
- * @product highcharts highstock
1151
- * @optionparent navigation.events
1152
- */
1153
- events: {},
1154
- /**
1155
- * Additional options to be merged into all annotations.
1156
- *
1157
- * @sample stock/stocktools/navigation-annotation-options
1158
- * Set red color of all line annotations
1159
- *
1160
- * @type {Highcharts.AnnotationsOptions}
1161
- * @extends annotations
1162
- * @exclude crookedLine, elliottWave, fibonacci, infinityLine,
1163
- * measure, pitchfork, tunnel, verticalLine, basicAnnotation
1164
- * @requires modules/annotations
1165
- * @apioption navigation.annotationsOptions
1166
- */
1167
- annotationsOptions: {
1168
- animation: {
1169
- defer: 0
1170
- }
1171
- }
1172
- }
1173
- });
1174
- addEvent(Chart, 'render', function () {
1175
- var chart = this, navigationBindings = chart.navigationBindings, disabledClassName = 'highcharts-disabled-btn';
1176
- if (chart && navigationBindings) {
1177
- // Check if the buttons should be enabled/disabled based on
1178
- // visible series.
1179
- var buttonsEnabled_1 = false;
1180
- chart.series.forEach(function (series) {
1181
- if (!series.options.isInternal && series.visible) {
1182
- buttonsEnabled_1 = true;
1183
- }
1184
- });
1185
- objectEach(navigationBindings.boundClassNames, function (value, key) {
1186
- if (chart.navigationBindings &&
1187
- chart.navigationBindings.container &&
1188
- chart.navigationBindings.container[0]) {
1189
- // Get the HTML element coresponding to the className taken
1190
- // from StockToolsBindings.
1191
- var buttonNode = chart.navigationBindings.container[0]
1192
- .querySelectorAll('.' + key);
1193
- if (buttonNode) {
1194
- for (var i = 0; i < buttonNode.length; i++) {
1195
- var button = buttonNode[i], cls = button.className;
1196
- if (value.noDataState === 'normal') {
1197
- // If button has noDataState: 'normal', and has
1198
- // disabledClassName, remove this className.
1199
- if (cls.indexOf(disabledClassName) !== -1) {
1200
- button.classList.remove(disabledClassName);
1201
- }
1202
- }
1203
- else if (!buttonsEnabled_1) {
1204
- if (cls.indexOf(disabledClassName) === -1) {
1205
- button.className += ' ' + disabledClassName;
1206
- }
1207
- }
1208
- else {
1209
- // Enable all buttons by deleting the className.
1210
- if (cls.indexOf(disabledClassName) !== -1) {
1211
- button.classList.remove(disabledClassName);
1212
- }
1213
- }
1214
- }
1215
- }
1216
- }
1217
- });
1218
- }
1219
- });
1220
- addEvent(NavigationBindings, 'closePopup', function () {
1221
- this.deselectAnnotation();
1222
- });
786
+ * Default Export
787
+ *
788
+ * */
1223
789
  export default NavigationBindings;
790
+ /* *
791
+ *
792
+ * API Declarations
793
+ *
794
+ * */
795
+ /**
796
+ * A config object for navigation bindings in annotations.
797
+ *
798
+ * @interface Highcharts.NavigationBindingsOptionsObject
799
+ */ /**
800
+ * ClassName of the element for a binding.
801
+ * @name Highcharts.NavigationBindingsOptionsObject#className
802
+ * @type {string|undefined}
803
+ */ /**
804
+ * Last event to be fired after last step event.
805
+ * @name Highcharts.NavigationBindingsOptionsObject#end
806
+ * @type {Function|undefined}
807
+ */ /**
808
+ * Initial event, fired on a button click.
809
+ * @name Highcharts.NavigationBindingsOptionsObject#init
810
+ * @type {Function|undefined}
811
+ */ /**
812
+ * Event fired on first click on a chart.
813
+ * @name Highcharts.NavigationBindingsOptionsObject#start
814
+ * @type {Function|undefined}
815
+ */ /**
816
+ * Last event to be fired after last step event. Array of step events to be
817
+ * called sequentially after each user click.
818
+ * @name Highcharts.NavigationBindingsOptionsObject#steps
819
+ * @type {Array<Function>|undefined}
820
+ */
821
+ (''); // keeps doclets above in JS file