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
@@ -1,1449 +0,0 @@
1
- /* *
2
- *
3
- * (c) 2009-2021 Highsoft, Black Label
4
- *
5
- * License: www.highcharts.com/license
6
- *
7
- * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
8
- *
9
- * */
10
- 'use strict';
11
- import A from '../../Core/Animation/AnimationUtilities.js';
12
- var getDeferredAnimation = A.getDeferredAnimation;
13
- import Chart from '../../Core/Chart/Chart.js';
14
- var chartProto = Chart.prototype;
15
- import ControllableMixin from './Mixins/ControllableMixin.js';
16
- import ControllableRect from './Controllables/ControllableRect.js';
17
- import ControllableCircle from './Controllables/ControllableCircle.js';
18
- import ControllableEllipse from './Controllables/ControllableEllipse.js';
19
- import ControllablePath from './Controllables/ControllablePath.js';
20
- import ControllableImage from './Controllables/ControllableImage.js';
21
- import ControllableLabel from './Controllables/ControllableLabel.js';
22
- import ControlPoint from './ControlPoint.js';
23
- import EventEmitterMixin from './Mixins/EventEmitterMixin.js';
24
- import H from '../../Core/Globals.js';
25
- import MockPoint from './MockPoint.js';
26
- import Pointer from '../../Core/Pointer.js';
27
- import U from '../../Core/Utilities.js';
28
- var addEvent = U.addEvent, defined = U.defined, destroyObjectProperties = U.destroyObjectProperties, erase = U.erase, extend = U.extend, find = U.find, fireEvent = U.fireEvent, merge = U.merge, pick = U.pick, splat = U.splat, wrap = U.wrap;
29
- /* *********************************************************************
30
- *
31
- * ANNOTATION
32
- *
33
- ******************************************************************** */
34
- /**
35
- * Possible directions for draggable annotations. An empty string (`''`)
36
- * makes the annotation undraggable.
37
- *
38
- * @typedef {''|'x'|'xy'|'y'} Highcharts.AnnotationDraggableValue
39
- */
40
- /**
41
- * @private
42
- * @typedef {
43
- * Highcharts.AnnotationControllableCircle|
44
- * Highcharts.AnnotationControllableImage|
45
- * Highcharts.AnnotationControllablePath|
46
- * Highcharts.AnnotationControllableRect
47
- * }
48
- * Highcharts.AnnotationShapeType
49
- * @requires modules/annotations
50
- */
51
- /**
52
- * @private
53
- * @typedef {
54
- * Highcharts.AnnotationControllableLabel
55
- * }
56
- * Highcharts.AnnotationLabelType
57
- * @requires modules/annotations
58
- */
59
- /**
60
- * A point-like object, a mock point or a point used in series.
61
- * @private
62
- * @typedef {Highcharts.AnnotationMockPoint|Highcharts.Point} Highcharts.AnnotationPointType
63
- * @requires modules/annotations
64
- */
65
- /* eslint-disable no-invalid-this, valid-jsdoc */
66
- /**
67
- * An annotation class which serves as a container for items like labels or
68
- * shapes. Created items are positioned on the chart either by linking them to
69
- * existing points or created mock points
70
- *
71
- * @class
72
- * @name Highcharts.Annotation
73
- *
74
- * @param {Highcharts.Chart} chart a chart instance
75
- * @param {Highcharts.AnnotationsOptions} userOptions the options object
76
- */
77
- var Annotation = /** @class */ (function () {
78
- /* *
79
- *
80
- * Constructors
81
- *
82
- * */
83
- function Annotation(chart, userOptions) {
84
- /* *
85
- *
86
- * Properties
87
- *
88
- * */
89
- this.annotation = void 0;
90
- this.coll = 'annotations';
91
- this.collection = void 0;
92
- this.animationConfig = void 0;
93
- this.graphic = void 0;
94
- this.group = void 0;
95
- this.labelCollector = void 0;
96
- this.labelsGroup = void 0;
97
- this.shapesGroup = void 0;
98
- var labelsAndShapes;
99
- /**
100
- * The chart that the annotation belongs to.
101
- *
102
- * @type {Highcharts.Chart}
103
- */
104
- this.chart = chart;
105
- /**
106
- * The array of points which defines the annotation.
107
- *
108
- * @type {Array<Highcharts.Point>}
109
- */
110
- this.points = [];
111
- /**
112
- * The array of control points.
113
- *
114
- * @private
115
- * @name Highcharts.Annotation#controlPoints
116
- * @type {Array<Annotation.ControlPoint>}
117
- */
118
- this.controlPoints = [];
119
- this.coll = 'annotations';
120
- /**
121
- * The array of labels which belong to the annotation.
122
- *
123
- * @private
124
- * @name Highcharts.Annotation#labels
125
- * @type {Array<Highcharts.AnnotationLabelType>}
126
- */
127
- this.labels = [];
128
- /**
129
- * The array of shapes which belong to the annotation.
130
- *
131
- * @private
132
- * @name Highcharts.Annotation#shapes
133
- * @type {Array<Highcharts.AnnotationShapeType>}
134
- */
135
- this.shapes = [];
136
- /**
137
- * The options for the annotations.
138
- *
139
- * @name Highcharts.Annotation#options
140
- * @type {Highcharts.AnnotationsOptions}
141
- */
142
- this.options = merge(this.defaultOptions, userOptions);
143
- /**
144
- * The user options for the annotations.
145
- *
146
- * @name Highcharts.Annotation#userOptions
147
- * @type {Highcharts.AnnotationsOptions}
148
- */
149
- this.userOptions = userOptions;
150
- // Handle labels and shapes - those are arrays
151
- // Merging does not work with arrays (stores reference)
152
- labelsAndShapes = this.getLabelsAndShapesOptions(this.options, userOptions);
153
- this.options.labels = labelsAndShapes.labels;
154
- this.options.shapes = labelsAndShapes.shapes;
155
- /**
156
- * The callback that reports to the overlapping-labels module which
157
- * labels it should account for.
158
- * @private
159
- * @name Highcharts.Annotation#labelCollector
160
- * @type {Function}
161
- */
162
- /**
163
- * The group svg element.
164
- *
165
- * @name Highcharts.Annotation#group
166
- * @type {Highcharts.SVGElement}
167
- */
168
- /**
169
- * The group svg element of the annotation's shapes.
170
- *
171
- * @name Highcharts.Annotation#shapesGroup
172
- * @type {Highcharts.SVGElement}
173
- */
174
- /**
175
- * The group svg element of the annotation's labels.
176
- *
177
- * @name Highcharts.Annotation#labelsGroup
178
- * @type {Highcharts.SVGElement}
179
- */
180
- this.init(chart, this.options);
181
- }
182
- /**
183
- * Initialize the annotation.
184
- * @private
185
- */
186
- Annotation.prototype.init = function () {
187
- var chart = this.chart, animOptions = this.options.animation;
188
- this.linkPoints();
189
- this.addControlPoints();
190
- this.addShapes();
191
- this.addLabels();
192
- this.setLabelCollector();
193
- this.animationConfig = getDeferredAnimation(chart, animOptions);
194
- };
195
- Annotation.prototype.getLabelsAndShapesOptions = function (baseOptions, newOptions) {
196
- var mergedOptions = {};
197
- ['labels', 'shapes'].forEach(function (name) {
198
- if (baseOptions[name]) {
199
- if (newOptions[name]) {
200
- mergedOptions[name] = splat(newOptions[name]).map(function (basicOptions, i) {
201
- return merge(baseOptions[name][i], basicOptions);
202
- });
203
- }
204
- else {
205
- mergedOptions[name] = baseOptions[name];
206
- }
207
- }
208
- });
209
- return mergedOptions;
210
- };
211
- Annotation.prototype.addShapes = function () {
212
- (this.options.shapes || []).forEach(function (shapeOptions, i) {
213
- var shape = this.initShape(shapeOptions, i);
214
- merge(true, this.options.shapes[i], shape.options);
215
- }, this);
216
- };
217
- Annotation.prototype.addLabels = function () {
218
- (this.options.labels || []).forEach(function (labelsOptions, i) {
219
- var labels = this.initLabel(labelsOptions, i);
220
- merge(true, this.options.labels[i], labels.options);
221
- }, this);
222
- };
223
- Annotation.prototype.addClipPaths = function () {
224
- this.setClipAxes();
225
- if (this.clipXAxis &&
226
- this.clipYAxis &&
227
- this.options.crop // #15399
228
- ) {
229
- this.clipRect = this.chart.renderer.clipRect(this.getClipBox());
230
- }
231
- };
232
- Annotation.prototype.setClipAxes = function () {
233
- var xAxes = this.chart.xAxis, yAxes = this.chart.yAxis, linkedAxes = (this.options.labels || [])
234
- .concat(this.options.shapes || [])
235
- .reduce(function (axes, labelOrShape) {
236
- var point = labelOrShape &&
237
- (labelOrShape.point ||
238
- (labelOrShape.points && labelOrShape.points[0]));
239
- return [
240
- xAxes[point && point.xAxis] || axes[0],
241
- yAxes[point && point.yAxis] || axes[1]
242
- ];
243
- }, []);
244
- this.clipXAxis = linkedAxes[0];
245
- this.clipYAxis = linkedAxes[1];
246
- };
247
- Annotation.prototype.getClipBox = function () {
248
- if (this.clipXAxis && this.clipYAxis) {
249
- return {
250
- x: this.clipXAxis.left,
251
- y: this.clipYAxis.top,
252
- width: this.clipXAxis.width,
253
- height: this.clipYAxis.height
254
- };
255
- }
256
- };
257
- Annotation.prototype.setLabelCollector = function () {
258
- var annotation = this;
259
- annotation.labelCollector = function () {
260
- return annotation.labels.reduce(function (labels, label) {
261
- if (!label.options.allowOverlap) {
262
- labels.push(label.graphic);
263
- }
264
- return labels;
265
- }, []);
266
- };
267
- annotation.chart.labelCollectors.push(annotation.labelCollector);
268
- };
269
- /**
270
- * Set an annotation options.
271
- * @private
272
- * @param {Highcharts.AnnotationsOptions} - user options for an annotation
273
- */
274
- Annotation.prototype.setOptions = function (userOptions) {
275
- this.options = merge(this.defaultOptions, userOptions);
276
- };
277
- Annotation.prototype.redraw = function (animation) {
278
- this.linkPoints();
279
- if (!this.graphic) {
280
- this.render();
281
- }
282
- if (this.clipRect) {
283
- this.clipRect.animate(this.getClipBox());
284
- }
285
- this.redrawItems(this.shapes, animation);
286
- this.redrawItems(this.labels, animation);
287
- ControllableMixin.redraw.call(this, animation);
288
- };
289
- /**
290
- * @private
291
- * @param {Array<Highcharts.AnnotationControllable>} items
292
- * @param {boolean} [animation]
293
- */
294
- Annotation.prototype.redrawItems = function (items, animation) {
295
- var i = items.length;
296
- // needs a backward loop
297
- // labels/shapes array might be modified
298
- // due to destruction of the item
299
- while (i--) {
300
- this.redrawItem(items[i], animation);
301
- }
302
- };
303
- /**
304
- * @private
305
- * @param {Array<Highcharts.AnnotationControllable>} items
306
- */
307
- Annotation.prototype.renderItems = function (items) {
308
- var i = items.length;
309
- while (i--) {
310
- this.renderItem(items[i]);
311
- }
312
- };
313
- Annotation.prototype.render = function () {
314
- var renderer = this.chart.renderer;
315
- this.graphic = renderer
316
- .g('annotation')
317
- .attr({
318
- opacity: 0,
319
- zIndex: this.options.zIndex,
320
- visibility: this.options.visible ?
321
- 'visible' :
322
- 'hidden'
323
- })
324
- .add();
325
- this.shapesGroup = renderer
326
- .g('annotation-shapes')
327
- .add(this.graphic);
328
- if (this.options.crop) { // #15399
329
- this.shapesGroup.clip(this.chart.plotBoxClip);
330
- }
331
- this.labelsGroup = renderer
332
- .g('annotation-labels')
333
- .attr({
334
- // hideOverlappingLabels requires translation
335
- translateX: 0,
336
- translateY: 0
337
- })
338
- .add(this.graphic);
339
- this.addClipPaths();
340
- if (this.clipRect) {
341
- this.graphic.clip(this.clipRect);
342
- }
343
- // Render shapes and labels before adding events (#13070).
344
- this.renderItems(this.shapes);
345
- this.renderItems(this.labels);
346
- this.addEvents();
347
- ControllableMixin.render.call(this);
348
- };
349
- /**
350
- * Set the annotation's visibility.
351
- * @private
352
- * @param {boolean} [visible]
353
- * Whether to show or hide an annotation. If the param is omitted, the
354
- * annotation's visibility is toggled.
355
- */
356
- Annotation.prototype.setVisibility = function (visible) {
357
- var options = this.options, navigation = this.chart.navigationBindings, visibility = pick(visible, !options.visible);
358
- this.graphic.attr('visibility', visibility ? 'visible' : 'hidden');
359
- if (!visibility) {
360
- this.setControlPointsVisibility(false);
361
- if (navigation.activeAnnotation === this &&
362
- navigation.popup &&
363
- navigation.popup.formType === 'annotation-toolbar') {
364
- fireEvent(navigation, 'closePopup');
365
- }
366
- }
367
- options.visible = visibility;
368
- };
369
- Annotation.prototype.setControlPointsVisibility = function (visible) {
370
- var setItemControlPointsVisibility = function (item) {
371
- item.setControlPointsVisibility(visible);
372
- };
373
- ControllableMixin.setControlPointsVisibility.call(this, visible);
374
- this.shapes.forEach(setItemControlPointsVisibility);
375
- this.labels.forEach(setItemControlPointsVisibility);
376
- };
377
- /**
378
- * Destroy the annotation. This function does not touch the chart
379
- * that the annotation belongs to (all annotations are kept in
380
- * the chart.annotations array) - it is recommended to use
381
- * {@link Highcharts.Chart#removeAnnotation} instead.
382
- * @private
383
- */
384
- Annotation.prototype.destroy = function () {
385
- var chart = this.chart, destroyItem = function (item) {
386
- item.destroy();
387
- };
388
- this.labels.forEach(destroyItem);
389
- this.shapes.forEach(destroyItem);
390
- this.clipXAxis = null;
391
- this.clipYAxis = null;
392
- erase(chart.labelCollectors, this.labelCollector);
393
- EventEmitterMixin.destroy.call(this);
394
- ControllableMixin.destroy.call(this);
395
- destroyObjectProperties(this, chart);
396
- };
397
- /**
398
- * See {@link Highcharts.Chart#removeAnnotation}.
399
- * @private
400
- */
401
- Annotation.prototype.remove = function () {
402
- // Let chart.update() remove annoations on demand
403
- return this.chart.removeAnnotation(this);
404
- };
405
- /**
406
- * Updates an annotation.
407
- *
408
- * @function Highcharts.Annotation#update
409
- *
410
- * @param {Partial<Highcharts.AnnotationsOptions>} userOptions
411
- * New user options for the annotation.
412
- *
413
- */
414
- Annotation.prototype.update = function (userOptions, redraw) {
415
- var chart = this.chart, labelsAndShapes = this.getLabelsAndShapesOptions(this.userOptions, userOptions), userOptionsIndex = chart.annotations.indexOf(this), options = merge(true, this.userOptions, userOptions);
416
- options.labels = labelsAndShapes.labels;
417
- options.shapes = labelsAndShapes.shapes;
418
- this.destroy();
419
- this.constructor(chart, options);
420
- // Update options in chart options, used in exporting (#9767):
421
- chart.options.annotations[userOptionsIndex] = options;
422
- this.isUpdating = true;
423
- if (pick(redraw, true)) {
424
- chart.redraw();
425
- }
426
- fireEvent(this, 'afterUpdate');
427
- this.isUpdating = false;
428
- };
429
- /* *************************************************************
430
- * ITEM SECTION
431
- * Contains methods for handling a single item in an annotation
432
- **************************************************************** */
433
- /**
434
- * Initialisation of a single shape
435
- * @private
436
- * @param {Object} shapeOptions
437
- * a confg object for a single shape
438
- * @param {number} index
439
- * annotation may have many shapes, this is the shape's index saved in
440
- * shapes.index.
441
- */
442
- Annotation.prototype.initShape = function (shapeOptions, index) {
443
- var options = merge(this.options.shapeOptions, {
444
- controlPointOptions: this.options.controlPointOptions
445
- }, shapeOptions), shape = new Annotation.shapesMap[options.type](this, options, index);
446
- shape.itemType = 'shape';
447
- this.shapes.push(shape);
448
- return shape;
449
- };
450
- /**
451
- * Initialisation of a single label
452
- * @private
453
- */
454
- Annotation.prototype.initLabel = function (labelOptions, index) {
455
- var options = merge(this.options.labelOptions, {
456
- controlPointOptions: this.options.controlPointOptions
457
- }, labelOptions), label = new ControllableLabel(this, options, index);
458
- label.itemType = 'label';
459
- this.labels.push(label);
460
- return label;
461
- };
462
- /**
463
- * Redraw a single item.
464
- * @private
465
- * @param {Annotation.Label|Annotation.Shape} item
466
- * @param {boolean} [animation]
467
- */
468
- Annotation.prototype.redrawItem = function (item, animation) {
469
- item.linkPoints();
470
- if (!item.shouldBeDrawn()) {
471
- this.destroyItem(item);
472
- }
473
- else {
474
- if (!item.graphic) {
475
- this.renderItem(item);
476
- }
477
- item.redraw(pick(animation, true) && item.graphic.placed);
478
- if (item.points.length) {
479
- this.adjustVisibility(item);
480
- }
481
- }
482
- };
483
- /**
484
- * Hide or show annotaiton attached to points.
485
- * @private
486
- * @param {Annotation.Label|Annotation.Shape} item
487
- */
488
- Annotation.prototype.adjustVisibility = function (item) {
489
- var hasVisiblePoints = false, label = item.graphic;
490
- item.points.forEach(function (point) {
491
- if (point.series.visible !== false &&
492
- point.visible !== false) {
493
- hasVisiblePoints = true;
494
- }
495
- });
496
- if (!hasVisiblePoints) {
497
- label.hide();
498
- }
499
- else if (label.visibility === 'hidden') {
500
- label.show();
501
- }
502
- };
503
- /**
504
- * Destroy a single item.
505
- * @private
506
- * @param {Annotation.Label|Annotation.Shape} item
507
- */
508
- Annotation.prototype.destroyItem = function (item) {
509
- // erase from shapes or labels array
510
- erase(this[item.itemType + 's'], item);
511
- item.destroy();
512
- };
513
- /**
514
- * @private
515
- */
516
- Annotation.prototype.renderItem = function (item) {
517
- item.render(item.itemType === 'label' ?
518
- this.labelsGroup :
519
- this.shapesGroup);
520
- };
521
- /**
522
- * @private
523
- */
524
- Annotation.ControlPoint = ControlPoint;
525
- /**
526
- * @private
527
- */
528
- Annotation.MockPoint = MockPoint;
529
- /**
530
- * An object uses for mapping between a shape type and a constructor.
531
- * To add a new shape type extend this object with type name as a key
532
- * and a constructor as its value.
533
- */
534
- Annotation.shapesMap = {
535
- 'rect': ControllableRect,
536
- 'circle': ControllableCircle,
537
- 'ellipse': ControllableEllipse,
538
- 'path': ControllablePath,
539
- 'image': ControllableImage
540
- };
541
- /**
542
- * @private
543
- */
544
- Annotation.types = {};
545
- return Annotation;
546
- }());
547
- merge(true, Annotation.prototype, ControllableMixin, EventEmitterMixin,
548
- // restore original Annotation implementation after mixin overwrite
549
- merge(Annotation.prototype,
550
- /** @lends Highcharts.Annotation# */
551
- {
552
- /**
553
- * List of events for `annotation.options.events` that should not be
554
- * added to `annotation.graphic` but to the `annotation`.
555
- *
556
- * @private
557
- * @type {Array<string>}
558
- */
559
- nonDOMEvents: ['add', 'afterUpdate', 'drag', 'remove'],
560
- /**
561
- * A basic type of an annotation. It allows to add custom labels
562
- * or shapes. The items can be tied to points, axis coordinates
563
- * or chart pixel coordinates.
564
- *
565
- * @sample highcharts/annotations/basic/
566
- * Basic annotations
567
- * @sample highcharts/demo/annotations/
568
- * Advanced annotations
569
- * @sample highcharts/css/annotations
570
- * Styled mode
571
- * @sample highcharts/annotations-advanced/controllable
572
- * Controllable items
573
- * @sample {highstock} stock/annotations/fibonacci-retracements
574
- * Custom annotation, Fibonacci retracement
575
- *
576
- * @type {Array<*>}
577
- * @since 6.0.0
578
- * @requires modules/annotations
579
- * @optionparent annotations
580
- *
581
- * @private
582
- */
583
- defaultOptions: {
584
- /**
585
- * Sets an ID for an annotation. Can be user later when
586
- * removing an annotation in [Chart#removeAnnotation(id)](
587
- * /class-reference/Highcharts.Chart#removeAnnotation) method.
588
- *
589
- * @type {number|string}
590
- * @apioption annotations.id
591
- */
592
- /**
593
- * Whether the annotation is visible.
594
- *
595
- * @sample highcharts/annotations/visible/
596
- * Set annotation visibility
597
- */
598
- visible: true,
599
- /**
600
- * Enable or disable the initial animation when a series is
601
- * displayed for the `annotation`. The animation can also be set
602
- * as a configuration object. Please note that this option only
603
- * applies to the initial animation.
604
- * For other animations, see [chart.animation](#chart.animation)
605
- * and the animation parameter under the API methods.
606
- * The following properties are supported:
607
- *
608
- * - `defer`: The animation delay time in milliseconds.
609
- *
610
- * @sample {highcharts} highcharts/annotations/defer/
611
- * Animation defer settings
612
- * @type {boolean|Partial<Highcharts.AnimationOptionsObject>}
613
- * @since 8.2.0
614
- */
615
- animation: {},
616
- /**
617
- * Whether to hide the part of the annotation
618
- * that is outside the plot area.
619
- *
620
- * @sample highcharts/annotations/label-crop-overflow/
621
- * Crop line annotation
622
- * @type {boolean}
623
- * @since 9.3.0
624
- */
625
- crop: true,
626
- /**
627
- * The animation delay time in milliseconds.
628
- * Set to `0` renders annotation immediately.
629
- * As `undefined` inherits defer time from the [series.animation.defer](#plotOptions.series.animation.defer).
630
- *
631
- * @type {number}
632
- * @since 8.2.0
633
- * @apioption annotations.animation.defer
634
- */
635
- /**
636
- * Allow an annotation to be draggable by a user. Possible
637
- * values are `'x'`, `'xy'`, `'y'` and `''` (disabled).
638
- *
639
- * @sample highcharts/annotations/draggable/
640
- * Annotations draggable: 'xy'
641
- *
642
- * @type {Highcharts.AnnotationDraggableValue}
643
- */
644
- draggable: 'xy',
645
- /**
646
- * Options for annotation's labels. Each label inherits options
647
- * from the labelOptions object. An option from the labelOptions
648
- * can be overwritten by config for a specific label.
649
- *
650
- * @requires modules/annotations
651
- */
652
- labelOptions: {
653
- /**
654
- * The alignment of the annotation's label. If right,
655
- * the right side of the label should be touching the point.
656
- *
657
- * @sample highcharts/annotations/label-position/
658
- * Set labels position
659
- *
660
- * @type {Highcharts.AlignValue}
661
- */
662
- align: 'center',
663
- /**
664
- * Whether to allow the annotation's labels to overlap.
665
- * To make the labels less sensitive for overlapping,
666
- * the can be set to 0.
667
- *
668
- * @sample highcharts/annotations/tooltip-like/
669
- * Hide overlapping labels
670
- */
671
- allowOverlap: false,
672
- /**
673
- * The background color or gradient for the annotation's
674
- * label.
675
- *
676
- * @sample highcharts/annotations/label-presentation/
677
- * Set labels graphic options
678
- *
679
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
680
- */
681
- backgroundColor: 'rgba(0, 0, 0, 0.75)',
682
- /**
683
- * The border color for the annotation's label.
684
- *
685
- * @sample highcharts/annotations/label-presentation/
686
- * Set labels graphic options
687
- *
688
- * @type {Highcharts.ColorString}
689
- */
690
- borderColor: "#000000" /* neutralColor100 */,
691
- /**
692
- * The border radius in pixels for the annotaiton's label.
693
- *
694
- * @sample highcharts/annotations/label-presentation/
695
- * Set labels graphic options
696
- */
697
- borderRadius: 3,
698
- /**
699
- * The border width in pixels for the annotation's label
700
- *
701
- * @sample highcharts/annotations/label-presentation/
702
- * Set labels graphic options
703
- */
704
- borderWidth: 1,
705
- /**
706
- * A class name for styling by CSS.
707
- *
708
- * @sample highcharts/css/annotations
709
- * Styled mode annotations
710
- *
711
- * @since 6.0.5
712
- */
713
- className: 'highcharts-no-tooltip',
714
- /**
715
- * Whether to hide the annotation's label
716
- * that is outside the plot area.
717
- *
718
- * @sample highcharts/annotations/label-crop-overflow/
719
- * Crop or justify labels
720
- */
721
- crop: false,
722
- /**
723
- * The label's pixel distance from the point.
724
- *
725
- * @sample highcharts/annotations/label-position/
726
- * Set labels position
727
- *
728
- * @type {number}
729
- * @apioption annotations.labelOptions.distance
730
- */
731
- /**
732
- * A
733
- * [format](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)
734
- * string for the data label.
735
- *
736
- * @see [plotOptions.series.dataLabels.format](plotOptions.series.dataLabels.format.html)
737
- *
738
- * @sample highcharts/annotations/label-text/
739
- * Set labels text
740
- *
741
- * @type {string}
742
- * @apioption annotations.labelOptions.format
743
- */
744
- /**
745
- * Alias for the format option.
746
- *
747
- * @see [format](annotations.labelOptions.format.html)
748
- *
749
- * @sample highcharts/annotations/label-text/
750
- * Set labels text
751
- *
752
- * @type {string}
753
- * @apioption annotations.labelOptions.text
754
- */
755
- /**
756
- * Callback JavaScript function to format the annotation's
757
- * label. Note that if a `format` or `text` are defined,
758
- * the format or text take precedence and the formatter is
759
- * ignored. `This` refers to a point object.
760
- *
761
- * @sample highcharts/annotations/label-text/
762
- * Set labels text
763
- *
764
- * @type {Highcharts.FormatterCallbackFunction<Highcharts.Point>}
765
- * @default function () { return defined(this.y) ? this.y : 'Annotation label'; }
766
- */
767
- formatter: function () {
768
- return defined(this.y) ? this.y : 'Annotation label';
769
- },
770
- /**
771
- * Whether the annotation is visible in the exported data
772
- * table.
773
- *
774
- * @sample highcharts/annotations/include-in-data-export/
775
- * Do not include in the data export
776
- *
777
- * @since 8.2.0
778
- * @requires modules/export-data
779
- */
780
- includeInDataExport: true,
781
- /**
782
- * How to handle the annotation's label that flow outside
783
- * the plot area. The justify option aligns the label inside
784
- * the plot area.
785
- *
786
- * @sample highcharts/annotations/label-crop-overflow/
787
- * Crop or justify labels
788
- *
789
- * @validvalue ["allow", "justify"]
790
- */
791
- overflow: 'justify',
792
- /**
793
- * When either the borderWidth or the backgroundColor is
794
- * set, this is the padding within the box.
795
- *
796
- * @sample highcharts/annotations/label-presentation/
797
- * Set labels graphic options
798
- */
799
- padding: 5,
800
- /**
801
- * The shadow of the box. The shadow can be an object
802
- * configuration containing `color`, `offsetX`, `offsetY`,
803
- * `opacity` and `width`.
804
- *
805
- * @sample highcharts/annotations/label-presentation/
806
- * Set labels graphic options
807
- *
808
- * @type {boolean|Highcharts.ShadowOptionsObject}
809
- */
810
- shadow: false,
811
- /**
812
- * The name of a symbol to use for the border around the
813
- * label. Symbols are predefined functions on the Renderer
814
- * object.
815
- *
816
- * @sample highcharts/annotations/shapes/
817
- * Available shapes for labels
818
- */
819
- shape: 'callout',
820
- /**
821
- * Styles for the annotation's label.
822
- *
823
- * @see [plotOptions.series.dataLabels.style](plotOptions.series.dataLabels.style.html)
824
- *
825
- * @sample highcharts/annotations/label-presentation/
826
- * Set labels graphic options
827
- *
828
- * @type {Highcharts.CSSObject}
829
- */
830
- style: {
831
- /** @ignore */
832
- fontSize: '11px',
833
- /** @ignore */
834
- fontWeight: 'normal',
835
- /** @ignore */
836
- color: 'contrast'
837
- },
838
- /**
839
- * Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)
840
- * to render the annotation's label.
841
- */
842
- useHTML: false,
843
- /**
844
- * The vertical alignment of the annotation's label.
845
- *
846
- * @sample highcharts/annotations/label-position/
847
- * Set labels position
848
- *
849
- * @type {Highcharts.VerticalAlignValue}
850
- */
851
- verticalAlign: 'bottom',
852
- /**
853
- * The x position offset of the label relative to the point.
854
- * Note that if a `distance` is defined, the distance takes
855
- * precedence over `x` and `y` options.
856
- *
857
- * @sample highcharts/annotations/label-position/
858
- * Set labels position
859
- */
860
- x: 0,
861
- /**
862
- * The y position offset of the label relative to the point.
863
- * Note that if a `distance` is defined, the distance takes
864
- * precedence over `x` and `y` options.
865
- *
866
- * @sample highcharts/annotations/label-position/
867
- * Set labels position
868
- */
869
- y: -16
870
- },
871
- /**
872
- * An array of labels for the annotation. For options that apply
873
- * to multiple labels, they can be added to the
874
- * [labelOptions](annotations.labelOptions.html).
875
- *
876
- * @type {Array<*>}
877
- * @extends annotations.labelOptions
878
- * @apioption annotations.labels
879
- */
880
- /**
881
- * This option defines the point to which the label will be
882
- * connected. It can be either the point which exists in the
883
- * series - it is referenced by the point's id - or a new point
884
- * with defined x, y properties and optionally axes.
885
- *
886
- * @sample highcharts/annotations/mock-point/
887
- * Attach annotation to a mock point
888
- * @sample highcharts/annotations/mock-points/
889
- * Attach annotation to a mock point with different ways
890
- *
891
- * @declare Highcharts.AnnotationMockPointOptionsObject
892
- * @type {
893
- * string|
894
- * Highcharts.AnnotationMockPointOptionsObject|
895
- * Highcharts.AnnotationMockPointFunction
896
- * }
897
- * @requires modules/annotations
898
- * @apioption annotations.labels.point
899
- */
900
- /**
901
- * An array of shapes for the annotation. For options that apply
902
- * to multiple shapes, then can be added to the
903
- * [shapeOptions](annotations.shapeOptions.html).
904
- *
905
- * @type {Array<*>}
906
- * @extends annotations.shapeOptions
907
- * @apioption annotations.shapes
908
- */
909
- /**
910
- * This option defines the point to which the shape will be
911
- * connected. It can be either the point which exists in the
912
- * series - it is referenced by the point's id - or a new point
913
- * with defined x, y properties and optionally axes.
914
- *
915
- * @sample highcharts/annotations/mock-points/
916
- * Attach annotation to a mock point with different ways
917
- *
918
- * @declare Highcharts.AnnotationMockPointOptionsObject
919
- * @type {
920
- * string|
921
- * Highcharts.AnnotationMockPointOptionsObject|
922
- * Highcharts.AnnotationMockPointFunction
923
- * }
924
- * @extends annotations.labels.point
925
- * @requires modules/annotations
926
- * @apioption annotations.shapes.point
927
- */
928
- /**
929
- * An array of points for the shape
930
- * or a callback function that returns that shape point.
931
- *
932
- * This option is available
933
- * for shapes which can use multiple points such as path. A
934
- * point can be either a point object or a point's id.
935
- *
936
- * @see [annotations.shapes.point](annotations.shapes.point.html)
937
- *
938
- * @type {Array<Highcharts.AnnotationShapePointOptions>}
939
- * @extends annotations.labels.point
940
- * @apioption annotations.shapes.points
941
- */
942
- /**
943
- * The URL for an image to use as the annotation shape. Note,
944
- * type has to be set to `'image'`.
945
- *
946
- * @see [annotations.shapes.type](annotations.shapes.type)
947
- * @sample highcharts/annotations/shape-src/
948
- * Define a marker image url for annotations
949
- *
950
- * @type {string}
951
- * @apioption annotations.shapes.src
952
- */
953
- /**
954
- * Id of the marker which will be drawn at the final vertex of
955
- * the path. Custom markers can be defined in defs property.
956
- *
957
- * @see [defs.markers](defs.markers.html)
958
- *
959
- * @sample highcharts/annotations/custom-markers/
960
- * Define a custom marker for annotations
961
- *
962
- * @type {string}
963
- * @apioption annotations.shapes.markerEnd
964
- */
965
- /**
966
- * Id of the marker which will be drawn at the first vertex of
967
- * the path. Custom markers can be defined in defs property.
968
- *
969
- * @see [defs.markers](defs.markers.html)
970
- *
971
- * @sample {highcharts} highcharts/annotations/custom-markers/
972
- * Define a custom marker for annotations
973
- *
974
- * @type {string}
975
- * @apioption annotations.shapes.markerStart
976
- */
977
- /**
978
- * Options for annotation's shapes. Each shape inherits options
979
- * from the shapeOptions object. An option from the shapeOptions
980
- * can be overwritten by config for a specific shape.
981
- *
982
- * @requires modules/annotations
983
- */
984
- shapeOptions: {
985
- /**
986
- *
987
- * The radius of the shape in y direction.
988
- * Used for the ellipse.
989
- *
990
- * @sample highcharts/annotations/ellipse/
991
- * Ellipse annotation
992
- *
993
- * @type {number}
994
- * @apioption annotations.shapeOptions.ry
995
- **/
996
- /**
997
- *
998
- * The xAxis index to which the points should be attached.
999
- * Used for the ellipse.
1000
- *
1001
- * @type {number}
1002
- * @apioption annotations.shapeOptions.xAxis
1003
- **/
1004
- /**
1005
- * The yAxis index to which the points should be attached.
1006
- * Used for the ellipse.
1007
- *
1008
- * @type {number}
1009
- * @apioption annotations.shapeOptions.yAxis
1010
- **/
1011
- /**
1012
- * The width of the shape.
1013
- *
1014
- * @sample highcharts/annotations/shape/
1015
- * Basic shape annotation
1016
- *
1017
- * @type {number}
1018
- * @apioption annotations.shapeOptions.width
1019
- **/
1020
- /**
1021
- * The height of the shape.
1022
- *
1023
- * @sample highcharts/annotations/shape/
1024
- * Basic shape annotation
1025
- *
1026
- * @type {number}
1027
- * @apioption annotations.shapeOptions.height
1028
- */
1029
- /**
1030
- * The type of the shape.
1031
- * Avaliable options are circle, rect and ellipse.
1032
- *
1033
- * @sample highcharts/annotations/shape/
1034
- * Basic shape annotation
1035
- *
1036
- * @sample highcharts/annotations/ellipse/
1037
- * Ellipse annotation
1038
- *
1039
- * @type {string}
1040
- * @default rect
1041
- * @apioption annotations.shapeOptions.type
1042
- */
1043
- /**
1044
- * The URL for an image to use as the annotation shape.
1045
- * Note, type has to be set to `'image'`.
1046
- *
1047
- * @see [annotations.shapeOptions.type](annotations.shapeOptions.type)
1048
- * @sample highcharts/annotations/shape-src/
1049
- * Define a marker image url for annotations
1050
- *
1051
- * @type {string}
1052
- * @apioption annotations.shapeOptions.src
1053
- */
1054
- /**
1055
- * Name of the dash style to use for the shape's stroke.
1056
- *
1057
- * @sample {highcharts} highcharts/plotoptions/series-dashstyle-all/
1058
- * Possible values demonstrated
1059
- *
1060
- * @type {Highcharts.DashStyleValue}
1061
- * @apioption annotations.shapeOptions.dashStyle
1062
- */
1063
- /**
1064
- * The color of the shape's stroke.
1065
- *
1066
- * @sample highcharts/annotations/shape/
1067
- * Basic shape annotation
1068
- *
1069
- * @type {Highcharts.ColorString}
1070
- */
1071
- stroke: 'rgba(0, 0, 0, 0.75)',
1072
- /**
1073
- * The pixel stroke width of the shape.
1074
- *
1075
- * @sample highcharts/annotations/shape/
1076
- * Basic shape annotation
1077
- */
1078
- strokeWidth: 1,
1079
- /**
1080
- * The color of the shape's fill.
1081
- *
1082
- * @sample highcharts/annotations/shape/
1083
- * Basic shape annotation
1084
- *
1085
- * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1086
- */
1087
- fill: 'rgba(0, 0, 0, 0.75)',
1088
- /**
1089
- * The radius of the shape.
1090
- *
1091
- * @sample highcharts/annotations/shape/
1092
- * Basic shape annotation
1093
- */
1094
- r: 0,
1095
- /**
1096
- * Defines additional snapping area around an annotation
1097
- * making this annotation to focus. Defined in pixels.
1098
- */
1099
- snap: 2
1100
- },
1101
- /**
1102
- * Options for annotation's control points. Each control point
1103
- * inherits options from controlPointOptions object.
1104
- * Options from the controlPointOptions can be overwritten
1105
- * by options in a specific control point.
1106
- *
1107
- * @declare Highcharts.AnnotationControlPointOptionsObject
1108
- * @requires modules/annotations
1109
- * @apioption annotations.controlPointOptions
1110
- */
1111
- controlPointOptions: {
1112
- /**
1113
- * @type {Highcharts.AnnotationControlPointPositionerFunction}
1114
- * @apioption annotations.controlPointOptions.positioner
1115
- */
1116
- symbol: 'circle',
1117
- width: 10,
1118
- height: 10,
1119
- style: {
1120
- cursor: 'pointer',
1121
- fill: "#ffffff" /* backgroundColor */,
1122
- stroke: "#000000" /* neutralColor100 */,
1123
- 'stroke-width': 2
1124
- },
1125
- visible: false,
1126
- events: {}
1127
- },
1128
- /**
1129
- * Event callback when annotation is added to the chart.
1130
- *
1131
- * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
1132
- * @since 7.1.0
1133
- * @apioption annotations.events.add
1134
- */
1135
- /**
1136
- * Event callback when annotation is updated (e.g. drag and
1137
- * droppped or resized by control points).
1138
- *
1139
- * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
1140
- * @since 7.1.0
1141
- * @apioption annotations.events.afterUpdate
1142
- */
1143
- /**
1144
- * Fires when the annotation is clicked.
1145
- *
1146
- * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
1147
- * @since 7.1.0
1148
- * @apioption annotations.events.click
1149
- */
1150
- /**
1151
- * Event callback when annotation is removed from the chart.
1152
- *
1153
- * @type {Highcharts.EventCallbackFunction<Highcharts.Annotation>}
1154
- * @since 7.1.0
1155
- * @apioption annotations.events.remove
1156
- */
1157
- /**
1158
- * Events available in annotations.
1159
- *
1160
- * @requires modules/annotations
1161
- */
1162
- events: {},
1163
- /**
1164
- * The Z index of the annotation.
1165
- */
1166
- zIndex: 6
1167
- }
1168
- }));
1169
- H.extendAnnotation = function (Constructor, BaseConstructor, prototype, defaultOptions) {
1170
- BaseConstructor = BaseConstructor || Annotation;
1171
- extend(Constructor.prototype, merge(BaseConstructor.prototype, prototype));
1172
- Constructor.prototype.defaultOptions = merge(Constructor.prototype.defaultOptions, defaultOptions || {});
1173
- };
1174
- /* *********************************************************************
1175
- *
1176
- * EXTENDING CHART PROTOTYPE
1177
- *
1178
- ******************************************************************** */
1179
- extend(chartProto, /** @lends Highcharts.Chart# */ {
1180
- initAnnotation: function (userOptions) {
1181
- var Constructor = Annotation
1182
- .types[userOptions.type] || Annotation, annotation = new Constructor(this, userOptions);
1183
- this.annotations.push(annotation);
1184
- return annotation;
1185
- },
1186
- /**
1187
- * Add an annotation to the chart after render time.
1188
- *
1189
- * @param {Highcharts.AnnotationsOptions} options
1190
- * The annotation options for the new, detailed annotation.
1191
- * @param {boolean} [redraw]
1192
- * @sample highcharts/annotations/add-annotation/
1193
- * Add annotation
1194
- * @return {Highcharts.Annotation} - The newly generated annotation.
1195
- */
1196
- addAnnotation: function (userOptions, redraw) {
1197
- var annotation = this.initAnnotation(userOptions);
1198
- this.options.annotations.push(annotation.options);
1199
- if (pick(redraw, true)) {
1200
- annotation.redraw();
1201
- annotation.graphic.attr({
1202
- opacity: 1
1203
- });
1204
- }
1205
- return annotation;
1206
- },
1207
- /**
1208
- * Remove an annotation from the chart.
1209
- *
1210
- * @param {number|string|Highcharts.Annotation} idOrAnnotation
1211
- * The annotation's id or direct annotation object.
1212
- */
1213
- removeAnnotation: function (idOrAnnotation) {
1214
- var annotations = this.annotations, annotation = (idOrAnnotation.coll === 'annotations') ?
1215
- idOrAnnotation :
1216
- find(annotations, function (annotation) {
1217
- return annotation.options.id === idOrAnnotation;
1218
- });
1219
- if (annotation) {
1220
- fireEvent(annotation, 'remove');
1221
- erase(this.options.annotations, annotation.options);
1222
- erase(annotations, annotation);
1223
- annotation.destroy();
1224
- }
1225
- },
1226
- drawAnnotations: function () {
1227
- this.plotBoxClip.attr(this.plotBox);
1228
- this.annotations.forEach(function (annotation) {
1229
- annotation.redraw();
1230
- annotation.graphic.animate({
1231
- opacity: 1
1232
- }, annotation.animationConfig);
1233
- });
1234
- }
1235
- });
1236
- // Let chart.update() update annotations
1237
- chartProto.collectionsWithUpdate.push('annotations');
1238
- // Let chart.update() create annoations on demand
1239
- chartProto.collectionsWithInit.annotations = [chartProto.addAnnotation];
1240
- // Create lookups initially
1241
- addEvent(Chart, 'afterInit', function () {
1242
- this.annotations = [];
1243
- if (!this.options.annotations) {
1244
- this.options.annotations = [];
1245
- }
1246
- });
1247
- chartProto.callbacks.push(function (chart) {
1248
- chart.plotBoxClip = this.renderer.clipRect(this.plotBox);
1249
- chart.controlPointsGroup = chart.renderer
1250
- .g('control-points')
1251
- .attr({ zIndex: 99 })
1252
- .clip(chart.plotBoxClip)
1253
- .add();
1254
- chart.options.annotations.forEach(function (annotationOptions, i) {
1255
- if (
1256
- // Verify that it has not been previously added in a responsive rule
1257
- !chart.annotations.some(function (annotation) {
1258
- return annotation.options === annotationOptions;
1259
- })) {
1260
- var annotation = chart.initAnnotation(annotationOptions);
1261
- chart.options.annotations[i] = annotation.options;
1262
- }
1263
- });
1264
- chart.drawAnnotations();
1265
- addEvent(chart, 'redraw', chart.drawAnnotations);
1266
- addEvent(chart, 'destroy', function () {
1267
- chart.plotBoxClip.destroy();
1268
- chart.controlPointsGroup.destroy();
1269
- });
1270
- addEvent(chart, 'exportData', function (event) {
1271
- var annotations = chart.annotations, csvColumnHeaderFormatter = ((this.options.exporting &&
1272
- this.options.exporting.csv) ||
1273
- {}).columnHeaderFormatter,
1274
- // If second row doesn't have xValues
1275
- // then it is a title row thus multiple level header is in use.
1276
- multiLevelHeaders = !event.dataRows[1].xValues, annotationHeader = (chart.options.lang &&
1277
- chart.options.lang.exportData &&
1278
- chart.options.lang.exportData.annotationHeader), columnHeaderFormatter = function (index) {
1279
- var s;
1280
- if (csvColumnHeaderFormatter) {
1281
- s = csvColumnHeaderFormatter(index);
1282
- if (s !== false) {
1283
- return s;
1284
- }
1285
- }
1286
- s = annotationHeader + ' ' + index;
1287
- if (multiLevelHeaders) {
1288
- return {
1289
- columnTitle: s,
1290
- topLevelColumnTitle: s
1291
- };
1292
- }
1293
- return s;
1294
- }, startRowLength = event.dataRows[0].length, annotationSeparator = (chart.options.exporting &&
1295
- chart.options.exporting.csv &&
1296
- chart.options.exporting.csv.annotations &&
1297
- chart.options.exporting.csv.annotations.itemDelimiter), joinAnnotations = (chart.options.exporting &&
1298
- chart.options.exporting.csv &&
1299
- chart.options.exporting.csv.annotations &&
1300
- chart.options.exporting.csv.annotations.join);
1301
- annotations.forEach(function (annotation) {
1302
- if (annotation.options.labelOptions.includeInDataExport) {
1303
- annotation.labels.forEach(function (label) {
1304
- if (label.options.text) {
1305
- var annotationText_1 = label.options.text;
1306
- label.points.forEach(function (points) {
1307
- var annotationX = points.x, xAxisIndex = points.series.xAxis ?
1308
- points.series.xAxis.options.index :
1309
- -1;
1310
- var wasAdded = false;
1311
- // Annotation not connected to any xAxis -
1312
- // add new row.
1313
- if (xAxisIndex === -1) {
1314
- var n = event.dataRows[0].length, newRow = new Array(n);
1315
- for (var i = 0; i < n; ++i) {
1316
- newRow[i] = '';
1317
- }
1318
- newRow.push(annotationText_1);
1319
- newRow.xValues = [];
1320
- newRow.xValues[xAxisIndex] = annotationX;
1321
- event.dataRows.push(newRow);
1322
- wasAdded = true;
1323
- }
1324
- // Annotation placed on a exported data point
1325
- // - add new column
1326
- if (!wasAdded) {
1327
- event.dataRows.forEach(function (row) {
1328
- if (!wasAdded &&
1329
- row.xValues &&
1330
- xAxisIndex !== void 0 &&
1331
- annotationX === row.xValues[xAxisIndex]) {
1332
- if (joinAnnotations &&
1333
- row.length > startRowLength) {
1334
- row[row.length - 1] += (annotationSeparator +
1335
- annotationText_1);
1336
- }
1337
- else {
1338
- row.push(annotationText_1);
1339
- }
1340
- wasAdded = true;
1341
- }
1342
- });
1343
- }
1344
- // Annotation not placed on any exported data point,
1345
- // but connected to the xAxis - add new row
1346
- if (!wasAdded) {
1347
- var n = event.dataRows[0].length, newRow = new Array(n);
1348
- for (var i = 0; i < n; ++i) {
1349
- newRow[i] = '';
1350
- }
1351
- newRow[0] = annotationX;
1352
- newRow.push(annotationText_1);
1353
- newRow.xValues = [];
1354
- if (xAxisIndex !== void 0) {
1355
- newRow.xValues[xAxisIndex] = annotationX;
1356
- }
1357
- event.dataRows.push(newRow);
1358
- }
1359
- });
1360
- }
1361
- });
1362
- }
1363
- });
1364
- var maxRowLen = 0;
1365
- event.dataRows.forEach(function (row) {
1366
- maxRowLen = Math.max(maxRowLen, row.length);
1367
- });
1368
- var newRows = maxRowLen - event.dataRows[0].length;
1369
- for (var i = 0; i < newRows; i++) {
1370
- var header = columnHeaderFormatter(i + 1);
1371
- if (multiLevelHeaders) {
1372
- event.dataRows[0].push(header.topLevelColumnTitle);
1373
- event.dataRows[1].push(header.columnTitle);
1374
- }
1375
- else {
1376
- event.dataRows[0].push(header);
1377
- }
1378
- }
1379
- });
1380
- });
1381
- wrap(Pointer.prototype, 'onContainerMouseDown', function (proceed) {
1382
- if (!this.chart.hasDraggedAnnotation) {
1383
- proceed.apply(this, Array.prototype.slice.call(arguments, 1));
1384
- }
1385
- });
1386
- H.Annotation = Annotation;
1387
- export default Annotation;
1388
- /* eslint-enable no-invalid-this, valid-jsdoc */
1389
- /**
1390
- * Object of shape point.
1391
- *
1392
- * @interface Highcharts.AnnotationMockPointOptionsObject
1393
- *
1394
- */
1395
- /**
1396
- * The x position of the point. Units can be either in axis
1397
- * or chart pixel coordinates.
1398
- *
1399
- * @type {number}
1400
- * @name Highcharts.AnnotationMockPointOptionsObject.x
1401
- */
1402
- /**
1403
- * The y position of the point. Units can be either in axis
1404
- * or chart pixel coordinates.
1405
- *
1406
- * @type {number}
1407
- * @name Highcharts.AnnotationMockPointOptionsObject.y
1408
- */
1409
- /**
1410
- * This number defines which xAxis the point is connected to.
1411
- * It refers to either the axis id or the index of the axis in
1412
- * the xAxis array. If the option is not configured or the axis
1413
- * is not found the point's x coordinate refers to the chart
1414
- * pixels.
1415
- *
1416
- * @type {number|string|null}
1417
- * @name Highcharts.AnnotationMockPointOptionsObject.xAxis
1418
- */
1419
- /**
1420
- * This number defines which yAxis the point is connected to.
1421
- * It refers to either the axis id or the index of the axis in
1422
- * the yAxis array. If the option is not configured or the axis
1423
- * is not found the point's y coordinate refers to the chart
1424
- * pixels.
1425
- *
1426
- * @type {number|string|null}
1427
- * @name Highcharts.AnnotationMockPointOptionsObject.yAxis
1428
- */
1429
- /**
1430
- * Callback function that returns the annotation shape point.
1431
- *
1432
- * @callback Highcharts.AnnotationMockPointFunction
1433
- *
1434
- * @param {Highcharts.Annotation} annotation
1435
- * An annotation instance.
1436
- *
1437
- * @return {Highcharts.AnnotationMockPointOptionsObject}
1438
- * Annotations shape point.
1439
- */
1440
- /**
1441
- * Shape point as string, object or function.
1442
- *
1443
- * @typedef {
1444
- * string|
1445
- * Highcharts.AnnotationMockPointOptionsObject|
1446
- * Highcharts.AnnotationMockPointFunction
1447
- * }Highcharts.AnnotationShapePointOptions
1448
- */
1449
- ''; // required by JSDoc parsing