highcharts 9.3.3 → 10.2.0

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 (917) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +19 -2
  3. package/css/highcharts.scss +17 -2
  4. package/css/themes/dark-unica.css +19 -2
  5. package/css/themes/grid-light.css +19 -2
  6. package/css/themes/sand-signika.css +19 -2
  7. package/es-modules/Accessibility/A11yI18n.js +4 -4
  8. package/es-modules/Accessibility/Accessibility.js +3 -4
  9. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  10. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  11. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  12. package/es-modules/Accessibility/Components/LegendComponent.js +34 -26
  13. package/es-modules/Accessibility/Components/MenuComponent.js +7 -6
  14. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +5 -3
  15. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +7 -6
  16. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +1 -1
  17. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  18. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -18
  19. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +96 -39
  20. package/es-modules/Accessibility/Components/ZoomComponent.js +43 -80
  21. package/es-modules/Accessibility/FocusBorder.js +6 -5
  22. package/es-modules/Accessibility/HighContrastMode.js +3 -3
  23. package/es-modules/Accessibility/KeyboardNavigation.js +113 -98
  24. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +72 -4
  25. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  26. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  27. package/es-modules/Accessibility/ProxyElement.js +14 -6
  28. package/es-modules/Accessibility/ProxyProvider.js +10 -2
  29. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  30. package/es-modules/Core/Animation/Fx.js +1 -1
  31. package/es-modules/Core/Axis/Axis.js +197 -91
  32. package/es-modules/Core/Axis/AxisDefaults.js +8 -8
  33. package/es-modules/Core/Axis/Color/ColorAxis.js +26 -7
  34. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +3 -3
  35. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  36. package/es-modules/Core/Axis/GridAxis.js +821 -821
  37. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  38. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  39. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  40. package/es-modules/Core/Axis/StackingAxis.js +0 -1
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGridTick.js +13 -2
  43. package/es-modules/Core/Axis/ZAxis.js +3 -1
  44. package/es-modules/Core/Chart/Chart.js +27 -8
  45. package/es-modules/Core/Chart/Chart3D.js +1 -11
  46. package/es-modules/Core/Chart/ChartDefaults.js +46 -14
  47. package/es-modules/Core/Chart/GanttChart.js +3 -1
  48. package/es-modules/Core/Chart/MapChart.js +4 -7
  49. package/es-modules/Core/Chart/StockChart.js +7 -5
  50. package/es-modules/Core/Color/Color.js +1 -1
  51. package/es-modules/Core/DefaultOptions.js +19 -15
  52. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  53. package/es-modules/Core/Globals.js +4 -18
  54. package/es-modules/Core/HttpUtilities.js +46 -39
  55. package/es-modules/Core/Legend/Legend.js +14 -12
  56. package/es-modules/Core/MSPointer.js +3 -1
  57. package/es-modules/Core/Navigator.js +16 -13
  58. package/es-modules/Core/Pointer.js +16 -12
  59. package/es-modules/Core/Renderer/HTML/AST.js +68 -8
  60. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  61. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  62. package/es-modules/Core/Renderer/SVG/SVGElement.js +54 -70
  63. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  64. package/es-modules/Core/Renderer/SVG/SVGLabel.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +60 -55
  66. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +4 -2
  67. package/es-modules/Core/Renderer/SVG/TextBuilder.js +12 -10
  68. package/es-modules/Core/Scrollbar.js +9 -5
  69. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  70. package/es-modules/Core/Series/DataLabel.js +67 -38
  71. package/es-modules/Core/Series/Point.js +11 -2
  72. package/es-modules/Core/Series/Series.js +57 -27
  73. package/es-modules/Core/Series/Series3D.js +3 -1
  74. package/es-modules/Core/Series/SeriesDefaults.js +7 -4
  75. package/es-modules/Core/Time.js +6 -7
  76. package/es-modules/Core/Tooltip.js +17 -34
  77. package/es-modules/Core/Utilities.js +33 -33
  78. package/es-modules/Data/DataConverter.js +1 -1
  79. package/es-modules/Data/DataTable.js +12 -10
  80. package/es-modules/Data/Modifiers/ChainModifier.js +3 -1
  81. package/es-modules/Data/Modifiers/GroupModifier.js +3 -1
  82. package/es-modules/Data/Modifiers/InvertModifier.js +9 -7
  83. package/es-modules/Data/Modifiers/RangeModifier.js +3 -1
  84. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +3 -1
  85. package/es-modules/Data/Modifiers/SortModifier.js +3 -1
  86. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  87. package/es-modules/Data/Parsers/DataParser.js +1 -1
  88. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  89. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  90. package/es-modules/Data/Stores/CSVStore.js +8 -5
  91. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  92. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  93. package/es-modules/Extensions/Annotations/{Annotations.js → Annotation.js} +30 -11
  94. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  95. package/es-modules/Extensions/Annotations/ControlPoint.js +1 -1
  96. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +5 -2
  97. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  98. package/es-modules/Extensions/Annotations/NavigationBindings.js +16 -5
  99. package/es-modules/Extensions/Annotations/Popup.js +2 -2
  100. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +18 -12
  101. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  102. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +4 -2
  103. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +5 -3
  104. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +4 -2
  105. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +4 -2
  106. package/es-modules/Extensions/Annotations/Types/Measure.js +4 -2
  107. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +4 -2
  108. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +4 -2
  109. package/es-modules/Extensions/Annotations/Types/Tunnel.js +5 -2
  110. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +4 -2
  111. package/es-modules/Extensions/Boost/BoostAttach.js +5 -1
  112. package/es-modules/Extensions/Boost/BoostInit.js +9 -3
  113. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  114. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  115. package/es-modules/Extensions/Boost/WGLRenderer.js +48 -37
  116. package/es-modules/Extensions/Boost/WGLShader.js +4 -3
  117. package/es-modules/Extensions/BoostCanvas.js +11 -5
  118. package/es-modules/Extensions/Breadcrumbs.js +898 -0
  119. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  120. package/es-modules/Extensions/Data.js +661 -613
  121. package/es-modules/Extensions/DataGrouping.js +8 -3
  122. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  123. package/es-modules/Extensions/DownloadURL.js +3 -3
  124. package/es-modules/Extensions/DragPanes.js +1 -1
  125. package/es-modules/Extensions/DraggablePoints.js +9 -7
  126. package/es-modules/Extensions/Drilldown.js +152 -97
  127. package/es-modules/Extensions/ExportData.js +58 -9
  128. package/es-modules/Extensions/Exporting/Exporting.js +34 -23
  129. package/es-modules/Extensions/Exporting/ExportingDefaults.js +56 -8
  130. package/es-modules/Extensions/FullScreen.js +121 -54
  131. package/es-modules/Extensions/GeoJSON.js +149 -125
  132. package/es-modules/Extensions/MarkerClusters.js +36 -22
  133. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  134. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +110 -22
  135. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  136. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  137. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  138. package/es-modules/Extensions/Pane.js +3 -3
  139. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  140. package/es-modules/Extensions/PatternFill.js +14 -2
  141. package/es-modules/Extensions/RangeSelector.js +29 -18
  142. package/es-modules/Extensions/ScrollablePlotArea.js +8 -4
  143. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +262 -384
  144. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  145. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  146. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  147. package/es-modules/Extensions/Stacking.js +5 -4
  148. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  149. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  150. package/es-modules/Maps/MapNavigation.js +49 -12
  151. package/es-modules/Maps/MapPointer.js +16 -0
  152. package/es-modules/Maps/MapUtilities.js +56 -0
  153. package/es-modules/Maps/MapView.js +619 -137
  154. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  155. package/es-modules/Maps/MapViewOptionsDefault.js +60 -20
  156. package/es-modules/Maps/Projection.js +182 -88
  157. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  158. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  159. package/es-modules/Maps/Projections/Miller.js +23 -10
  160. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  161. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  162. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +79 -0
  163. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +591 -0
  164. package/es-modules/Series/Area/AreaSeries.js +21 -14
  165. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  166. package/es-modules/Series/AreaRange/AreaRangeSeries.js +154 -147
  167. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  168. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  169. package/es-modules/Series/Bar/BarSeries.js +3 -1
  170. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  171. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  172. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  173. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  174. package/es-modules/Series/Bubble/BubbleSeries.js +15 -6
  175. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  176. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  177. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  178. package/es-modules/Series/CenteredUtilities.js +8 -2
  179. package/es-modules/Series/ColorMapComposition.js +111 -0
  180. package/es-modules/Series/Column/ColumnSeries.js +10 -7
  181. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +3 -1
  182. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  183. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  184. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  185. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  186. package/es-modules/Series/DataModifyComposition.js +1 -0
  187. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +3 -1
  188. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +5 -3
  189. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  190. package/es-modules/Series/DrawPointUtilities.js +87 -0
  191. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  192. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  193. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  194. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  195. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  196. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  197. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  198. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +3 -1
  199. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  200. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  201. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  202. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  203. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  204. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  205. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  206. package/es-modules/Series/Heatmap/HeatmapSeries.js +29 -33
  207. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  208. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  209. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  210. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  211. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  212. package/es-modules/Series/Item/ItemPoint.js +3 -1
  213. package/es-modules/Series/Item/ItemSeries.js +3 -1
  214. package/es-modules/Series/Line/LineSeries.js +4 -2
  215. package/es-modules/Series/Lollipop/LollipopPoint.js +3 -1
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +4 -2
  217. package/es-modules/Series/Map/MapPoint.js +32 -7
  218. package/es-modules/Series/Map/MapSeries.js +298 -189
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +19 -25
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +61 -2
  221. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +6 -10
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +50 -16
  224. package/es-modules/Series/Networkgraph/Networkgraph.js +3 -1
  225. package/es-modules/Series/NodesComposition.js +101 -49
  226. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  227. package/es-modules/Series/OHLC/OHLCSeries.js +10 -1
  228. package/es-modules/Series/Organization/OrganizationPoint.js +71 -3
  229. package/es-modules/Series/Organization/OrganizationSeries.js +84 -28
  230. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +0 -2
  231. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +3 -1
  232. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +3 -1
  233. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  234. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  235. package/es-modules/Series/Pie/PiePoint.js +15 -6
  236. package/es-modules/Series/Pie/PieSeries.js +51 -37
  237. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  238. package/es-modules/Series/Pie3D/Pie3DSeries.js +22 -1
  239. package/es-modules/Series/PolarComposition.js +819 -0
  240. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  241. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  242. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  243. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  244. package/es-modules/Series/Sankey/SankeyPoint.js +40 -2
  245. package/es-modules/Series/Sankey/SankeySeries.js +35 -136
  246. package/es-modules/Series/Scatter/ScatterSeries.js +11 -6
  247. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  248. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +3 -1
  249. package/es-modules/Series/SeriesOnPointComposition.js +391 -0
  250. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +5 -3
  251. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  252. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  253. package/es-modules/Series/Sunburst/SunburstPoint.js +3 -3
  254. package/es-modules/Series/Sunburst/SunburstSeries.js +21 -5
  255. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  256. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  257. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  258. package/es-modules/Series/Timeline/TimelineSeries.js +6 -4
  259. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  260. package/es-modules/Series/Treemap/TreemapSeries.js +97 -87
  261. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  262. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  263. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  264. package/es-modules/Series/Vector/VectorSeries.js +3 -1
  265. package/es-modules/Series/Venn/VennPoint.js +5 -5
  266. package/es-modules/Series/Venn/VennSeries.js +9 -6
  267. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  268. package/es-modules/Series/Waterfall/WaterfallSeries.js +16 -12
  269. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  270. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  271. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  272. package/es-modules/Series/Wordcloud/WordcloudSeries.js +11 -8
  273. package/es-modules/Series/XRange/XRangePoint.js +3 -1
  274. package/es-modules/Series/XRange/XRangeSeries.js +3 -1
  275. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +3 -1
  276. package/es-modules/Stock/Indicators/AD/ADIndicator.js +3 -1
  277. package/es-modules/Stock/Indicators/AO/AOIndicator.js +5 -3
  278. package/es-modules/Stock/Indicators/APO/APOIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +3 -1
  280. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +3 -1
  281. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +3 -1
  282. package/es-modules/Stock/Indicators/BB/BBIndicator.js +6 -4
  283. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +3 -1
  284. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +3 -1
  285. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +3 -1
  286. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +3 -1
  287. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +3 -1
  288. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +13 -7
  289. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +3 -1
  290. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  291. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +3 -1
  292. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +3 -1
  293. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +3 -1
  294. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +3 -1
  295. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +3 -1
  296. package/es-modules/Stock/Indicators/LinearRegressionAngle/LinearRegressionAngle.js +3 -1
  297. package/es-modules/Stock/Indicators/LinearRegressionIntercept/LinearRegressionIntercept.js +3 -1
  298. package/es-modules/Stock/Indicators/LinearRegressionSlopes/LinearRegressionSlopes.js +3 -1
  299. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +26 -13
  300. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +3 -1
  301. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +3 -1
  302. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  303. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +3 -1
  304. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +3 -1
  305. package/es-modules/Stock/Indicators/PC/PCIndicator.js +3 -1
  306. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +3 -1
  307. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +3 -1
  308. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +3 -1
  309. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +3 -1
  310. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +3 -1
  311. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +3 -1
  312. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +3 -1
  313. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +12 -3
  314. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +3 -1
  315. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  316. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +6 -4
  317. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  318. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +3 -1
  319. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +3 -1
  320. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -1
  321. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +3 -1
  322. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +3 -1
  323. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +3 -1
  324. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +3 -1
  325. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +3 -1
  326. package/es-modules/Stock/StockToolsBindings.js +51 -43
  327. package/es-modules/Stock/StockToolsGui.js +1 -1
  328. package/es-modules/masters/highcharts-3d.src.js +1 -1
  329. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  330. package/es-modules/masters/highcharts-more.src.js +4 -4
  331. package/es-modules/masters/highcharts.src.js +1 -1
  332. package/es-modules/masters/highmaps.src.js +1 -1
  333. package/es-modules/masters/highstock.src.js +1 -1
  334. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  335. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  336. package/es-modules/masters/indicators/ao.src.js +1 -1
  337. package/es-modules/masters/indicators/apo.src.js +1 -1
  338. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  339. package/es-modules/masters/indicators/aroon.src.js +1 -1
  340. package/es-modules/masters/indicators/atr.src.js +1 -1
  341. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  342. package/es-modules/masters/indicators/cci.src.js +1 -1
  343. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  344. package/es-modules/masters/indicators/cmf.src.js +1 -1
  345. package/es-modules/masters/indicators/cmo.src.js +1 -1
  346. package/es-modules/masters/indicators/dema.src.js +1 -1
  347. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  348. package/es-modules/masters/indicators/dmi.src.js +1 -1
  349. package/es-modules/masters/indicators/dpo.src.js +1 -1
  350. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  351. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  352. package/es-modules/masters/indicators/indicators.src.js +1 -1
  353. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  354. package/es-modules/masters/indicators/klinger.src.js +1 -1
  355. package/es-modules/masters/indicators/macd.src.js +1 -1
  356. package/es-modules/masters/indicators/mfi.src.js +1 -1
  357. package/es-modules/masters/indicators/momentum.src.js +1 -1
  358. package/es-modules/masters/indicators/natr.src.js +1 -1
  359. package/es-modules/masters/indicators/obv.src.js +1 -1
  360. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  361. package/es-modules/masters/indicators/ppo.src.js +1 -1
  362. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  363. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  364. package/es-modules/masters/indicators/psar.src.js +1 -1
  365. package/es-modules/masters/indicators/regressions.src.js +1 -1
  366. package/es-modules/masters/indicators/roc.src.js +1 -1
  367. package/es-modules/masters/indicators/rsi.src.js +1 -1
  368. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  369. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  370. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  371. package/es-modules/masters/indicators/tema.src.js +1 -1
  372. package/es-modules/masters/indicators/trendline.src.js +1 -1
  373. package/es-modules/masters/indicators/trix.src.js +1 -1
  374. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  375. package/es-modules/masters/indicators/vwap.src.js +1 -1
  376. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  377. package/es-modules/masters/indicators/wma.src.js +1 -1
  378. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  379. package/es-modules/masters/modules/accessibility.src.js +1 -1
  380. package/es-modules/masters/modules/annotations-advanced.src.js +2 -2
  381. package/es-modules/masters/modules/annotations.src.js +2 -2
  382. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  383. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  384. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  385. package/es-modules/masters/modules/boost.src.js +1 -1
  386. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  387. package/es-modules/masters/modules/bullet.src.js +1 -1
  388. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  389. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  390. package/es-modules/masters/modules/cylinder.src.js +1 -1
  391. package/es-modules/masters/modules/data.src.js +2 -1
  392. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  393. package/es-modules/masters/modules/debugger.src.js +1 -1
  394. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  395. package/es-modules/masters/modules/dotplot.src.js +1 -1
  396. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  397. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  398. package/es-modules/masters/modules/drilldown.src.js +2 -1
  399. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  400. package/es-modules/masters/modules/export-data.src.js +1 -1
  401. package/es-modules/masters/modules/exporting.src.js +1 -1
  402. package/es-modules/masters/modules/full-screen.src.js +1 -1
  403. package/es-modules/masters/modules/funnel.src.js +1 -1
  404. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  405. package/es-modules/masters/modules/gantt.src.js +1 -1
  406. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  407. package/es-modules/masters/modules/heatmap.src.js +1 -1
  408. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  409. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  410. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  411. package/es-modules/masters/modules/item-series.src.js +1 -1
  412. package/es-modules/masters/modules/lollipop.src.js +1 -1
  413. package/es-modules/masters/modules/map.src.js +5 -1
  414. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  415. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  416. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  417. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  418. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  419. package/es-modules/masters/modules/oldie.src.js +1 -1
  420. package/es-modules/masters/modules/organization.src.js +1 -1
  421. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  422. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  423. package/es-modules/masters/modules/pareto.src.js +1 -1
  424. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  425. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  426. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  427. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  428. package/es-modules/masters/modules/sankey.src.js +1 -1
  429. package/es-modules/masters/modules/series-label.src.js +5 -2
  430. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  431. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  432. package/es-modules/masters/modules/sonification.src.js +2 -6
  433. package/es-modules/masters/modules/static-scale.src.js +1 -1
  434. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  435. package/es-modules/masters/modules/stock.src.js +1 -1
  436. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  437. package/es-modules/masters/modules/sunburst.src.js +1 -1
  438. package/es-modules/masters/modules/tilemap.src.js +1 -1
  439. package/es-modules/masters/modules/timeline.src.js +1 -1
  440. package/es-modules/masters/modules/treegrid.src.js +1 -1
  441. package/es-modules/masters/modules/treemap.src.js +5 -1
  442. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  443. package/es-modules/masters/modules/variwide.src.js +1 -1
  444. package/es-modules/masters/modules/vector.src.js +1 -1
  445. package/es-modules/masters/modules/venn.src.js +1 -1
  446. package/es-modules/masters/modules/windbarb.src.js +1 -1
  447. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  448. package/es-modules/masters/modules/xrange.src.js +1 -1
  449. package/es-modules/masters/themes/avocado.src.js +1 -1
  450. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  451. package/es-modules/masters/themes/brand-light.src.js +1 -1
  452. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  453. package/es-modules/masters/themes/dark-green.src.js +1 -1
  454. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  455. package/es-modules/masters/themes/gray.src.js +1 -1
  456. package/es-modules/masters/themes/grid-light.src.js +1 -1
  457. package/es-modules/masters/themes/grid.src.js +1 -1
  458. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  459. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  460. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  461. package/es-modules/masters/themes/skies.src.js +1 -1
  462. package/es-modules/masters/themes/sunset.src.js +1 -1
  463. package/highcharts-3d.js +99 -98
  464. package/highcharts-3d.js.map +1 -1
  465. package/highcharts-3d.src.js +51 -21
  466. package/highcharts-gantt.js +811 -801
  467. package/highcharts-gantt.js.map +1 -1
  468. package/highcharts-gantt.src.js +2020 -1607
  469. package/highcharts-more.d.ts +10 -0
  470. package/highcharts-more.js +194 -194
  471. package/highcharts-more.js.map +1 -1
  472. package/highcharts-more.src.d.ts +10 -0
  473. package/highcharts-more.src.js +3512 -3364
  474. package/highcharts.d.ts +12336 -965
  475. package/highcharts.js +595 -586
  476. package/highcharts.js.map +1 -1
  477. package/highcharts.src.d.ts +12336 -965
  478. package/highcharts.src.js +1047 -665
  479. package/highmaps.js +763 -728
  480. package/highmaps.js.map +1 -1
  481. package/highmaps.src.js +4482 -2639
  482. package/highstock.js +798 -788
  483. package/highstock.js.map +1 -1
  484. package/highstock.src.js +1177 -739
  485. package/indicators/acceleration-bands.d.ts +1 -17
  486. package/indicators/acceleration-bands.js +11 -11
  487. package/indicators/acceleration-bands.js.map +1 -1
  488. package/indicators/acceleration-bands.src.d.ts +1 -17
  489. package/indicators/acceleration-bands.src.js +99 -100
  490. package/indicators/accumulation-distribution.js +5 -5
  491. package/indicators/accumulation-distribution.js.map +1 -1
  492. package/indicators/accumulation-distribution.src.js +11 -2
  493. package/indicators/ao.js +6 -6
  494. package/indicators/ao.js.map +1 -1
  495. package/indicators/ao.src.js +13 -4
  496. package/indicators/apo.js +5 -5
  497. package/indicators/apo.js.map +1 -1
  498. package/indicators/apo.src.js +11 -2
  499. package/indicators/aroon-oscillator.d.ts +1 -17
  500. package/indicators/aroon-oscillator.js +10 -10
  501. package/indicators/aroon-oscillator.js.map +1 -1
  502. package/indicators/aroon-oscillator.src.d.ts +1 -17
  503. package/indicators/aroon-oscillator.src.js +99 -100
  504. package/indicators/aroon.d.ts +1 -17
  505. package/indicators/aroon.js +11 -11
  506. package/indicators/aroon.js.map +1 -1
  507. package/indicators/aroon.src.d.ts +1 -17
  508. package/indicators/aroon.src.js +99 -100
  509. package/indicators/atr.js +5 -5
  510. package/indicators/atr.js.map +1 -1
  511. package/indicators/atr.src.js +11 -2
  512. package/indicators/bollinger-bands.d.ts +1 -17
  513. package/indicators/bollinger-bands.js +11 -12
  514. package/indicators/bollinger-bands.js.map +1 -1
  515. package/indicators/bollinger-bands.src.d.ts +1 -17
  516. package/indicators/bollinger-bands.src.js +102 -103
  517. package/indicators/cci.js +5 -5
  518. package/indicators/cci.js.map +1 -1
  519. package/indicators/cci.src.js +11 -2
  520. package/indicators/chaikin.js +8 -8
  521. package/indicators/chaikin.js.map +1 -1
  522. package/indicators/chaikin.src.js +11 -2
  523. package/indicators/cmf.js +6 -6
  524. package/indicators/cmf.js.map +1 -1
  525. package/indicators/cmf.src.js +11 -2
  526. package/indicators/cmo.js +5 -5
  527. package/indicators/cmo.js.map +1 -1
  528. package/indicators/cmo.src.js +11 -2
  529. package/indicators/dema.js +5 -5
  530. package/indicators/dema.js.map +1 -1
  531. package/indicators/dema.src.js +11 -2
  532. package/indicators/disparity-index.js +6 -6
  533. package/indicators/disparity-index.js.map +1 -1
  534. package/indicators/disparity-index.src.js +11 -2
  535. package/indicators/dmi.js +12 -12
  536. package/indicators/dmi.js.map +1 -1
  537. package/indicators/dmi.src.js +109 -106
  538. package/indicators/dpo.js +5 -5
  539. package/indicators/dpo.js.map +1 -1
  540. package/indicators/dpo.src.js +11 -2
  541. package/indicators/ema.js +2 -1
  542. package/indicators/ema.js.map +1 -1
  543. package/indicators/ema.src.js +10 -1
  544. package/indicators/ichimoku-kinko-hyo.js +16 -16
  545. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  546. package/indicators/ichimoku-kinko-hyo.src.js +11 -2
  547. package/indicators/indicators-all.d.ts +1 -17
  548. package/indicators/indicators-all.js +198 -196
  549. package/indicators/indicators-all.js.map +1 -1
  550. package/indicators/indicators-all.src.d.ts +1 -17
  551. package/indicators/indicators-all.src.js +151 -129
  552. package/indicators/indicators.js +13 -12
  553. package/indicators/indicators.js.map +1 -1
  554. package/indicators/indicators.src.js +21 -5
  555. package/indicators/keltner-channels.d.ts +1 -17
  556. package/indicators/keltner-channels.js +11 -11
  557. package/indicators/keltner-channels.js.map +1 -1
  558. package/indicators/keltner-channels.src.d.ts +1 -17
  559. package/indicators/keltner-channels.src.js +99 -100
  560. package/indicators/klinger.js +14 -14
  561. package/indicators/klinger.js.map +1 -1
  562. package/indicators/klinger.src.js +99 -100
  563. package/indicators/macd.js +13 -11
  564. package/indicators/macd.js.map +1 -1
  565. package/indicators/macd.src.js +35 -14
  566. package/indicators/mfi.js +6 -6
  567. package/indicators/mfi.js.map +1 -1
  568. package/indicators/mfi.src.js +11 -2
  569. package/indicators/momentum.js +5 -5
  570. package/indicators/momentum.js.map +1 -1
  571. package/indicators/momentum.src.js +11 -2
  572. package/indicators/natr.js +5 -4
  573. package/indicators/natr.js.map +1 -1
  574. package/indicators/natr.src.js +11 -2
  575. package/indicators/obv.js +5 -5
  576. package/indicators/obv.js.map +1 -1
  577. package/indicators/obv.src.js +11 -2
  578. package/indicators/pivot-points.js +11 -11
  579. package/indicators/pivot-points.js.map +1 -1
  580. package/indicators/pivot-points.src.js +11 -2
  581. package/indicators/ppo.js +5 -5
  582. package/indicators/ppo.js.map +1 -1
  583. package/indicators/ppo.src.js +11 -2
  584. package/indicators/price-channel.d.ts +1 -17
  585. package/indicators/price-channel.js +11 -11
  586. package/indicators/price-channel.js.map +1 -1
  587. package/indicators/price-channel.src.d.ts +1 -17
  588. package/indicators/price-channel.src.js +99 -100
  589. package/indicators/price-envelopes.js +8 -8
  590. package/indicators/price-envelopes.js.map +1 -1
  591. package/indicators/price-envelopes.src.js +11 -2
  592. package/indicators/psar.js +7 -6
  593. package/indicators/psar.js.map +1 -1
  594. package/indicators/psar.src.js +11 -2
  595. package/indicators/regressions.js +12 -12
  596. package/indicators/regressions.js.map +1 -1
  597. package/indicators/regressions.src.js +11 -2
  598. package/indicators/roc.js +5 -5
  599. package/indicators/roc.js.map +1 -1
  600. package/indicators/roc.src.js +11 -2
  601. package/indicators/rsi.js +6 -5
  602. package/indicators/rsi.js.map +1 -1
  603. package/indicators/rsi.src.js +11 -2
  604. package/indicators/slow-stochastic.js +5 -5
  605. package/indicators/slow-stochastic.js.map +1 -1
  606. package/indicators/slow-stochastic.src.js +11 -2
  607. package/indicators/stochastic.d.ts +1 -17
  608. package/indicators/stochastic.js +12 -12
  609. package/indicators/stochastic.js.map +1 -1
  610. package/indicators/stochastic.src.d.ts +1 -17
  611. package/indicators/stochastic.src.js +99 -100
  612. package/indicators/supertrend.js +10 -10
  613. package/indicators/supertrend.js.map +1 -1
  614. package/indicators/supertrend.src.js +14 -5
  615. package/indicators/tema.js +6 -6
  616. package/indicators/tema.js.map +1 -1
  617. package/indicators/tema.src.js +11 -2
  618. package/indicators/trendline.js +5 -5
  619. package/indicators/trendline.js.map +1 -1
  620. package/indicators/trendline.src.js +11 -2
  621. package/indicators/trix.js +4 -4
  622. package/indicators/trix.js.map +1 -1
  623. package/indicators/trix.src.js +11 -2
  624. package/indicators/volume-by-price.js +17 -17
  625. package/indicators/volume-by-price.js.map +1 -1
  626. package/indicators/volume-by-price.src.js +11 -2
  627. package/indicators/vwap.js +5 -5
  628. package/indicators/vwap.js.map +1 -1
  629. package/indicators/vwap.src.js +11 -2
  630. package/indicators/williams-r.js +6 -5
  631. package/indicators/williams-r.js.map +1 -1
  632. package/indicators/williams-r.src.js +11 -2
  633. package/indicators/wma.js +5 -5
  634. package/indicators/wma.js.map +1 -1
  635. package/indicators/wma.src.js +11 -2
  636. package/indicators/zigzag.js +6 -6
  637. package/indicators/zigzag.js.map +1 -1
  638. package/indicators/zigzag.src.js +11 -2
  639. package/lib/jspdf.js +299 -184
  640. package/lib/jspdf.src.js +25266 -18067
  641. package/lib/svg2pdf.js +35 -31
  642. package/lib/svg2pdf.src.js +5721 -4179
  643. package/modules/accessibility.js +242 -237
  644. package/modules/accessibility.js.map +1 -1
  645. package/modules/accessibility.src.js +599 -390
  646. package/modules/annotations-advanced.js +192 -192
  647. package/modules/annotations-advanced.js.map +1 -1
  648. package/modules/annotations-advanced.src.js +96 -47
  649. package/modules/annotations.js +126 -126
  650. package/modules/annotations.js.map +1 -1
  651. package/modules/annotations.src.js +67 -25
  652. package/modules/arc-diagram.js +25 -0
  653. package/modules/arc-diagram.js.map +1 -0
  654. package/modules/arc-diagram.src.js +778 -0
  655. package/modules/arrow-symbols.js +4 -3
  656. package/modules/arrow-symbols.js.map +1 -1
  657. package/modules/arrow-symbols.src.js +11 -2
  658. package/modules/boost-canvas.js +16 -15
  659. package/modules/boost-canvas.js.map +1 -1
  660. package/modules/boost-canvas.src.js +22 -7
  661. package/modules/boost.js +81 -79
  662. package/modules/boost.js.map +1 -1
  663. package/modules/boost.src.js +90 -51
  664. package/modules/broken-axis.js +13 -13
  665. package/modules/broken-axis.js.map +1 -1
  666. package/modules/broken-axis.src.js +11 -2
  667. package/modules/bullet.js +9 -9
  668. package/modules/bullet.js.map +1 -1
  669. package/modules/bullet.src.js +12 -6
  670. package/modules/coloraxis.js +24 -24
  671. package/modules/coloraxis.js.map +1 -1
  672. package/modules/coloraxis.src.js +37 -11
  673. package/modules/current-date-indicator.js +5 -4
  674. package/modules/current-date-indicator.js.map +1 -1
  675. package/modules/current-date-indicator.src.js +12 -3
  676. package/modules/cylinder.js +11 -11
  677. package/modules/cylinder.js.map +1 -1
  678. package/modules/cylinder.src.js +11 -2
  679. package/modules/data.d.ts +12 -12
  680. package/modules/data.js +33 -33
  681. package/modules/data.js.map +1 -1
  682. package/modules/data.src.d.ts +12 -12
  683. package/modules/data.src.js +906 -846
  684. package/modules/datagrouping.js +21 -20
  685. package/modules/datagrouping.js.map +1 -1
  686. package/modules/datagrouping.src.js +19 -5
  687. package/modules/debugger.js +8 -7
  688. package/modules/debugger.js.map +1 -1
  689. package/modules/debugger.src.js +15 -2
  690. package/modules/dependency-wheel.js +12 -11
  691. package/modules/dependency-wheel.js.map +1 -1
  692. package/modules/dependency-wheel.src.js +14 -5
  693. package/modules/dotplot.js +6 -6
  694. package/modules/dotplot.js.map +1 -1
  695. package/modules/dotplot.src.js +11 -2
  696. package/modules/drag-panes.js +10 -10
  697. package/modules/drag-panes.js.map +1 -1
  698. package/modules/drag-panes.src.js +12 -3
  699. package/modules/draggable-points.js +35 -34
  700. package/modules/draggable-points.js.map +1 -1
  701. package/modules/draggable-points.src.js +20 -9
  702. package/modules/drilldown.d.ts +19 -0
  703. package/modules/drilldown.js +37 -25
  704. package/modules/drilldown.js.map +1 -1
  705. package/modules/drilldown.src.d.ts +19 -0
  706. package/modules/drilldown.src.js +1124 -108
  707. package/modules/dumbbell.d.ts +4 -0
  708. package/modules/dumbbell.js +17 -17
  709. package/modules/dumbbell.js.map +1 -1
  710. package/modules/dumbbell.src.d.ts +4 -0
  711. package/modules/dumbbell.src.js +34 -13
  712. package/modules/export-data.js +24 -21
  713. package/modules/export-data.js.map +1 -1
  714. package/modules/export-data.src.js +87 -14
  715. package/modules/exporting.d.ts +8 -8
  716. package/modules/exporting.js +39 -39
  717. package/modules/exporting.js.map +1 -1
  718. package/modules/exporting.src.d.ts +8 -8
  719. package/modules/exporting.src.js +270 -135
  720. package/modules/full-screen.js +8 -7
  721. package/modules/full-screen.js.map +1 -1
  722. package/modules/full-screen.src.js +135 -58
  723. package/modules/funnel.js +12 -12
  724. package/modules/funnel.js.map +1 -1
  725. package/modules/funnel.src.js +13 -4
  726. package/modules/funnel3d.js +21 -21
  727. package/modules/funnel3d.js.map +1 -1
  728. package/modules/funnel3d.src.js +11 -2
  729. package/modules/gantt.js +218 -217
  730. package/modules/gantt.js.map +1 -1
  731. package/modules/gantt.src.js +983 -943
  732. package/modules/grid-axis.js +23 -23
  733. package/modules/grid-axis.js.map +1 -1
  734. package/modules/grid-axis.src.js +900 -890
  735. package/modules/heatmap.js +40 -39
  736. package/modules/heatmap.js.map +1 -1
  737. package/modules/heatmap.src.js +160 -113
  738. package/modules/heikinashi.js +8 -8
  739. package/modules/heikinashi.js.map +1 -1
  740. package/modules/heikinashi.src.js +11 -2
  741. package/modules/histogram-bellcurve.js +13 -13
  742. package/modules/histogram-bellcurve.js.map +1 -1
  743. package/modules/histogram-bellcurve.src.js +11 -2
  744. package/modules/hollowcandlestick.js +9 -9
  745. package/modules/hollowcandlestick.js.map +1 -1
  746. package/modules/hollowcandlestick.src.js +19 -10
  747. package/modules/item-series.js +12 -12
  748. package/modules/item-series.js.map +1 -1
  749. package/modules/item-series.src.js +11 -2
  750. package/modules/lollipop.js +7 -7
  751. package/modules/lollipop.js.map +1 -1
  752. package/modules/lollipop.src.js +12 -3
  753. package/modules/map.d.ts +80 -43
  754. package/modules/map.js +171 -144
  755. package/modules/map.js.map +1 -1
  756. package/modules/map.src.d.ts +80 -43
  757. package/modules/map.src.js +8292 -6822
  758. package/modules/marker-clusters.js +36 -36
  759. package/modules/marker-clusters.js.map +1 -1
  760. package/modules/marker-clusters.src.js +48 -28
  761. package/modules/networkgraph.d.ts +1 -12
  762. package/modules/networkgraph.js +46 -45
  763. package/modules/networkgraph.js.map +1 -1
  764. package/modules/networkgraph.src.d.ts +1 -12
  765. package/modules/networkgraph.src.js +127 -55
  766. package/modules/no-data-to-display.js +5 -5
  767. package/modules/no-data-to-display.js.map +1 -1
  768. package/modules/no-data-to-display.src.js +12 -3
  769. package/modules/offline-exporting.js +20 -18
  770. package/modules/offline-exporting.js.map +1 -1
  771. package/modules/offline-exporting.src.js +129 -28
  772. package/modules/oldie-polyfills.js +7 -7
  773. package/modules/oldie-polyfills.js.map +1 -1
  774. package/modules/oldie-polyfills.src.js +11 -2
  775. package/modules/oldie.js +30 -30
  776. package/modules/oldie.js.map +1 -1
  777. package/modules/oldie.src.js +13 -4
  778. package/modules/organization.js +16 -14
  779. package/modules/organization.js.map +1 -1
  780. package/modules/organization.src.js +168 -34
  781. package/modules/overlapping-datalabels.js +3 -2
  782. package/modules/overlapping-datalabels.js.map +1 -1
  783. package/modules/overlapping-datalabels.src.js +11 -2
  784. package/modules/parallel-coordinates.js +11 -11
  785. package/modules/parallel-coordinates.js.map +1 -1
  786. package/modules/parallel-coordinates.src.js +12 -3
  787. package/modules/pareto.js +7 -7
  788. package/modules/pareto.js.map +1 -1
  789. package/modules/pareto.src.js +11 -2
  790. package/modules/pathfinder.js +31 -31
  791. package/modules/pathfinder.js.map +1 -1
  792. package/modules/pathfinder.src.js +11 -2
  793. package/modules/pattern-fill.js +15 -14
  794. package/modules/pattern-fill.js.map +1 -1
  795. package/modules/pattern-fill.src.js +25 -3
  796. package/modules/price-indicator.js +5 -5
  797. package/modules/price-indicator.js.map +1 -1
  798. package/modules/price-indicator.src.js +11 -2
  799. package/modules/pyramid3d.js +4 -4
  800. package/modules/pyramid3d.js.map +1 -1
  801. package/modules/pyramid3d.src.js +11 -2
  802. package/modules/sankey.d.ts +1 -12
  803. package/modules/sankey.js +32 -29
  804. package/modules/sankey.js.map +1 -1
  805. package/modules/sankey.src.d.ts +1 -12
  806. package/modules/sankey.src.js +422 -207
  807. package/modules/series-label.js +18 -17
  808. package/modules/series-label.js.map +1 -1
  809. package/modules/series-label.src.js +482 -386
  810. package/modules/series-on-point.js +18 -0
  811. package/modules/series-on-point.js.map +1 -0
  812. package/modules/series-on-point.src.js +464 -0
  813. package/modules/solid-gauge.js +10 -10
  814. package/modules/solid-gauge.js.map +1 -1
  815. package/modules/solid-gauge.src.js +15 -6
  816. package/modules/sonification.js +59 -59
  817. package/modules/sonification.js.map +1 -1
  818. package/modules/sonification.src.js +13 -8
  819. package/modules/static-scale.js +5 -4
  820. package/modules/static-scale.js.map +1 -1
  821. package/modules/static-scale.src.js +11 -2
  822. package/modules/stock-tools.js +167 -167
  823. package/modules/stock-tools.js.map +1 -1
  824. package/modules/stock-tools.src.js +118 -67
  825. package/modules/stock.js +205 -204
  826. package/modules/stock.js.map +1 -1
  827. package/modules/stock.src.js +141 -76
  828. package/modules/streamgraph.js +5 -4
  829. package/modules/streamgraph.js.map +1 -1
  830. package/modules/streamgraph.src.js +11 -2
  831. package/modules/sunburst.d.ts +3 -0
  832. package/modules/sunburst.js +73 -60
  833. package/modules/sunburst.js.map +1 -1
  834. package/modules/sunburst.src.d.ts +3 -0
  835. package/modules/sunburst.src.js +1391 -406
  836. package/modules/tilemap.js +17 -17
  837. package/modules/tilemap.js.map +1 -1
  838. package/modules/tilemap.src.js +11 -2
  839. package/modules/timeline.js +18 -18
  840. package/modules/timeline.js.map +1 -1
  841. package/modules/timeline.src.js +14 -5
  842. package/modules/treegrid.js +57 -56
  843. package/modules/treegrid.js.map +1 -1
  844. package/modules/treegrid.src.js +913 -892
  845. package/modules/treemap.d.ts +3 -0
  846. package/modules/treemap.js +54 -41
  847. package/modules/treemap.js.map +1 -1
  848. package/modules/treemap.src.d.ts +3 -0
  849. package/modules/treemap.src.js +1229 -255
  850. package/modules/variable-pie.js +9 -9
  851. package/modules/variable-pie.js.map +1 -1
  852. package/modules/variable-pie.src.js +11 -2
  853. package/modules/variwide.js +12 -12
  854. package/modules/variwide.js.map +1 -1
  855. package/modules/variwide.src.js +11 -2
  856. package/modules/vector.js +8 -7
  857. package/modules/vector.js.map +1 -1
  858. package/modules/vector.src.js +11 -2
  859. package/modules/venn.js +31 -31
  860. package/modules/venn.js.map +1 -1
  861. package/modules/venn.src.js +88 -105
  862. package/modules/windbarb.js +15 -15
  863. package/modules/windbarb.js.map +1 -1
  864. package/modules/windbarb.src.js +11 -2
  865. package/modules/wordcloud.js +23 -23
  866. package/modules/wordcloud.js.map +1 -1
  867. package/modules/wordcloud.src.js +92 -109
  868. package/modules/xrange.js +16 -16
  869. package/modules/xrange.js.map +1 -1
  870. package/modules/xrange.src.js +11 -2
  871. package/package.json +1 -1
  872. package/themes/avocado.js +4 -3
  873. package/themes/avocado.js.map +1 -1
  874. package/themes/avocado.src.js +11 -2
  875. package/themes/brand-dark.js +9 -8
  876. package/themes/brand-dark.js.map +1 -1
  877. package/themes/brand-dark.src.js +11 -2
  878. package/themes/brand-light.js +8 -8
  879. package/themes/brand-light.js.map +1 -1
  880. package/themes/brand-light.src.js +11 -2
  881. package/themes/dark-blue.js +9 -8
  882. package/themes/dark-blue.js.map +1 -1
  883. package/themes/dark-blue.src.js +11 -2
  884. package/themes/dark-green.js +9 -8
  885. package/themes/dark-green.js.map +1 -1
  886. package/themes/dark-green.src.js +11 -2
  887. package/themes/dark-unica.js +8 -7
  888. package/themes/dark-unica.js.map +1 -1
  889. package/themes/dark-unica.src.js +11 -2
  890. package/themes/gray.js +9 -8
  891. package/themes/gray.js.map +1 -1
  892. package/themes/gray.src.js +11 -2
  893. package/themes/grid-light.js +5 -4
  894. package/themes/grid-light.js.map +1 -1
  895. package/themes/grid-light.src.js +11 -2
  896. package/themes/grid.js +5 -5
  897. package/themes/grid.js.map +1 -1
  898. package/themes/grid.src.js +11 -2
  899. package/themes/high-contrast-dark.js +7 -7
  900. package/themes/high-contrast-dark.js.map +1 -1
  901. package/themes/high-contrast-dark.src.js +21 -12
  902. package/themes/high-contrast-light.js +3 -3
  903. package/themes/high-contrast-light.js.map +1 -1
  904. package/themes/high-contrast-light.src.js +21 -12
  905. package/themes/sand-signika.js +5 -5
  906. package/themes/sand-signika.js.map +1 -1
  907. package/themes/sand-signika.src.js +11 -2
  908. package/themes/skies.js +5 -5
  909. package/themes/skies.js.map +1 -1
  910. package/themes/skies.src.js +11 -2
  911. package/themes/sunset.js +3 -3
  912. package/themes/sunset.js.map +1 -1
  913. package/themes/sunset.src.js +11 -2
  914. package/es-modules/Extensions/Polar.js +0 -740
  915. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  916. package/es-modules/Series/ColorMapMixin.js +0 -84
  917. package/es-modules/Series/DrawPointComposition.js +0 -111
@@ -0,0 +1,898 @@
1
+ /* *
2
+ *
3
+ * Highcharts Breadcrumbs module
4
+ *
5
+ * Authors: Grzegorz Blachlinski, Karol Kolodziej
6
+ *
7
+ * License: www.highcharts.com/license
8
+ *
9
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
10
+ *
11
+ * */
12
+ 'use strict';
13
+ import Chart from '../Core/Chart/Chart.js';
14
+ import H from '../Core/Globals.js';
15
+ import D from '../Core/DefaultOptions.js';
16
+ var defaultOptions = D.defaultOptions;
17
+ import U from '../Core/Utilities.js';
18
+ import F from '../Core/FormatUtilities.js';
19
+ var format = F.format;
20
+ var addEvent = U.addEvent, objectEach = U.objectEach, extend = U.extend, fireEvent = U.fireEvent, merge = U.merge, pick = U.pick, defined = U.defined, isString = U.isString;
21
+ // Add language support.
22
+ extend(defaultOptions.lang,
23
+ /**
24
+ * @optionparent lang
25
+ */
26
+ {
27
+ /**
28
+ * @since 10.0.0
29
+ * @product highcharts
30
+ */
31
+ mainBreadcrumb: 'Main'
32
+ });
33
+ /**
34
+ * The Breadcrumbs class
35
+ *
36
+ * @private
37
+ * @class
38
+ * @name Highcharts.Breadcrumbs
39
+ *
40
+ * @param {Highcharts.Chart} chart
41
+ * Chart object
42
+ * @param {Highcharts.Options} userOptions
43
+ * User options
44
+ */
45
+ var Breadcrumbs = /** @class */ (function () {
46
+ function Breadcrumbs(chart, userOptions) {
47
+ /* *
48
+ *
49
+ * Properties
50
+ *
51
+ * */
52
+ this.group = void 0;
53
+ this.list = [];
54
+ this.elementList = {};
55
+ this.isDirty = true;
56
+ this.level = 0;
57
+ this.options = void 0;
58
+ var chartOptions = merge(chart.options.drilldown &&
59
+ chart.options.drilldown.drillUpButton, Breadcrumbs.defaultBreadcrumbsOptions, chart.options.navigation && chart.options.navigation.breadcrumbs, userOptions);
60
+ this.chart = chart;
61
+ this.options = chartOptions || {};
62
+ }
63
+ /**
64
+ * Update Breadcrumbs properties, like level and list.
65
+ *
66
+ * @requires modules/breadcrumbs
67
+ *
68
+ * @function Highcharts.Breadcrumbs#updateProperties
69
+ * @param {Highcharts.Breadcrumbs} this
70
+ * Breadcrumbs class.
71
+ */
72
+ Breadcrumbs.prototype.updateProperties = function (list) {
73
+ this.setList(list);
74
+ this.setLevel();
75
+ this.isDirty = true;
76
+ };
77
+ /**
78
+ * Set breadcrumbs list.
79
+ * @function Highcharts.Breadcrumbs#setList
80
+ *
81
+ * @requires modules/breadcrumbs
82
+ *
83
+ * @param {Highcharts.Breadcrumbs} this
84
+ * Breadcrumbs class.
85
+ * @param {Highcharts.BreadcrumbsOptions} list
86
+ * Breadcrumbs list.
87
+ */
88
+ Breadcrumbs.prototype.setList = function (list) {
89
+ this.list = list;
90
+ };
91
+ /**
92
+ * Calcule level on which chart currently is.
93
+ *
94
+ * @requires modules/breadcrumbs
95
+ *
96
+ * @function Highcharts.Breadcrumbs#setLevel
97
+ * @param {Highcharts.Breadcrumbs} this
98
+ * Breadcrumbs class.
99
+ */
100
+ Breadcrumbs.prototype.setLevel = function () {
101
+ this.level = this.list.length && this.list.length - 1;
102
+ };
103
+ /**
104
+ * Get Breadcrumbs level
105
+ *
106
+ * @requires modules/breadcrumbs
107
+ *
108
+ * @function Highcharts.Breadcrumbs#getLevel
109
+ * @param {Highcharts.Breadcrumbs} this
110
+ * Breadcrumbs class.
111
+ */
112
+ Breadcrumbs.prototype.getLevel = function () {
113
+ return this.level;
114
+ };
115
+ /**
116
+ * Default button text formatter.
117
+ *
118
+ * @requires modules/breadcrumbs
119
+ *
120
+ * @function Highcharts.Breadcrumbs#getButtonText
121
+ * @param {Highcharts.Breadcrumbs} this
122
+ * Breadcrumbs class.
123
+ * @param {Highcharts.Breadcrumbs} breadcrumb
124
+ * Breadcrumb.
125
+ * @return {string}
126
+ * Formatted text.
127
+ */
128
+ Breadcrumbs.prototype.getButtonText = function (breadcrumb) {
129
+ var breadcrumbs = this, chart = breadcrumbs.chart, breadcrumbsOptions = breadcrumbs.options, lang = chart.options.lang, textFormat = pick(breadcrumbsOptions.format, breadcrumbsOptions.showFullPath ?
130
+ '{level.name}' : '← {level.name}'), defaultText = lang && pick(lang.drillUpText, lang.mainBreadcrumb);
131
+ var returnText = breadcrumbsOptions.formatter &&
132
+ breadcrumbsOptions.formatter(breadcrumb) ||
133
+ format(textFormat, { level: breadcrumb.levelOptions }, chart) || '';
134
+ if (((isString(returnText) &&
135
+ !returnText.length) ||
136
+ returnText === '← ') &&
137
+ defined(defaultText)) {
138
+ returnText = !breadcrumbsOptions.showFullPath ?
139
+ '← ' + defaultText :
140
+ defaultText;
141
+ }
142
+ return returnText;
143
+ };
144
+ /**
145
+ * Redraw.
146
+ *
147
+ * @requires modules/breadcrums
148
+ *
149
+ * @function Highcharts.Breadcrumbs#redraw
150
+ * @param {Highcharts.Breadcrumbs} this
151
+ * Breadcrumbs class.
152
+ */
153
+ Breadcrumbs.prototype.redraw = function () {
154
+ if (this.isDirty) {
155
+ this.render();
156
+ }
157
+ if (this.group) {
158
+ this.group.align();
159
+ }
160
+ this.isDirty = false;
161
+ };
162
+ /**
163
+ * Create a group, then draw breadcrumbs together with the separators.
164
+ *
165
+ * @requires modules/breadcrumbs
166
+ *
167
+ * @function Highcharts.Breadcrumbs#render
168
+ * @param {Highcharts.Breadcrumbs} this
169
+ * Breadcrumbs class.
170
+ */
171
+ Breadcrumbs.prototype.render = function () {
172
+ var breadcrumbs = this, chart = breadcrumbs.chart, breadcrumbsOptions = breadcrumbs.options;
173
+ // A main group for the breadcrumbs.
174
+ if (!breadcrumbs.group && breadcrumbsOptions) {
175
+ breadcrumbs.group = chart.renderer
176
+ .g('breadcrumbs-group')
177
+ .addClass('highcharts-no-tooltip highcharts-breadcrumbs')
178
+ .attr({
179
+ zIndex: breadcrumbsOptions.zIndex
180
+ })
181
+ .add();
182
+ }
183
+ // Draw breadcrumbs.
184
+ if (breadcrumbsOptions.showFullPath) {
185
+ this.renderFullPathButtons();
186
+ }
187
+ else {
188
+ this.renderSingleButton();
189
+ }
190
+ this.alignBreadcrumbsGroup();
191
+ };
192
+ /**
193
+ * Draw breadcrumbs together with the separators.
194
+ *
195
+ * @requires modules/breadcrumbs
196
+ *
197
+ * @function Highcharts.Breadcrumbs#renderFullPathButtons
198
+ * @param {Highcharts.Breadcrumbs} this
199
+ * Breadcrumbs class.
200
+ */
201
+ Breadcrumbs.prototype.renderFullPathButtons = function () {
202
+ // Make sure that only one type of button is visible.
203
+ this.destroySingleButton();
204
+ this.resetElementListState();
205
+ this.updateListElements();
206
+ this.destroyListElements();
207
+ };
208
+ /**
209
+ * Render Single button - when showFullPath is not used. The button is
210
+ * similar to the old drillUpButton
211
+ *
212
+ * @requires modules/breadcrumbs
213
+ *
214
+ * @function Highcharts.Breadcrumbs#renderSingleButton
215
+ * @param {Highcharts.Breadcrumbs} this Breadcrumbs class.
216
+ */
217
+ Breadcrumbs.prototype.renderSingleButton = function () {
218
+ var breadcrumbs = this, chart = breadcrumbs.chart, list = breadcrumbs.list, breadcrumbsOptions = breadcrumbs.options, buttonSpacing = breadcrumbsOptions.buttonSpacing;
219
+ // Make sure that only one type of button is visible.
220
+ this.destroyListElements();
221
+ // Draw breadcrumbs. Inital position for calculating the breadcrumbs
222
+ // group.
223
+ var posX = breadcrumbs.group ?
224
+ breadcrumbs.group.getBBox().width :
225
+ buttonSpacing, posY = buttonSpacing;
226
+ var previousBreadcrumb = list[list.length - 2];
227
+ if (!chart.drillUpButton && (this.level > 0)) {
228
+ chart.drillUpButton = breadcrumbs.renderButton(previousBreadcrumb, posX, posY);
229
+ }
230
+ else if (chart.drillUpButton) {
231
+ if (this.level > 0) {
232
+ // Update button.
233
+ this.updateSingleButton();
234
+ }
235
+ else {
236
+ this.destroySingleButton();
237
+ }
238
+ }
239
+ };
240
+ /**
241
+ * Update group position based on align and it's width.
242
+ *
243
+ * @requires modules/breadcrumbs
244
+ *
245
+ * @function Highcharts.Breadcrumbs#renderSingleButton
246
+ * @param {Highcharts.Breadcrumbs} this
247
+ * Breadcrumbs class.
248
+ */
249
+ Breadcrumbs.prototype.alignBreadcrumbsGroup = function (xOffset) {
250
+ var breadcrumbs = this;
251
+ if (breadcrumbs.group) {
252
+ var breadcrumbsOptions = breadcrumbs.options, buttonTheme = breadcrumbsOptions.buttonTheme, positionOptions = breadcrumbsOptions.position, alignTo = (breadcrumbsOptions.relativeTo === 'chart' ||
253
+ breadcrumbsOptions.relativeTo === 'spacingBox' ?
254
+ void 0 :
255
+ 'scrollablePlotBox'), bBox = breadcrumbs.group.getBBox(), additionalSpace = 2 * (buttonTheme.padding || 0) +
256
+ breadcrumbsOptions.buttonSpacing;
257
+ // Store positionOptions
258
+ positionOptions.width = bBox.width + additionalSpace;
259
+ positionOptions.height = bBox.height + additionalSpace;
260
+ var newPositions = merge(positionOptions);
261
+ // Add x offset if specified.
262
+ if (xOffset) {
263
+ newPositions.x += xOffset;
264
+ }
265
+ if (breadcrumbs.options.rtl) {
266
+ newPositions.x += positionOptions.width;
267
+ }
268
+ newPositions.y = pick(newPositions.y, this.yOffset, 0);
269
+ breadcrumbs.group.align(newPositions, true, alignTo);
270
+ }
271
+ };
272
+ /**
273
+ * Render a button.
274
+ *
275
+ * @requires modules/breadcrums
276
+ *
277
+ * @function Highcharts.Breadcrumbs#renderButton
278
+ * @param {Highcharts.Breadcrumbs} this
279
+ * Breadcrumbs class.
280
+ * @param {Highcharts.Breadcrumbs} breadcrumb
281
+ * Current breadcrumb
282
+ * @param {Highcharts.Breadcrumbs} posX
283
+ * Initial horizontal position
284
+ * @param {Highcharts.Breadcrumbs} posY
285
+ * Initial vertical position
286
+ * @return {SVGElement|void}
287
+ * Returns the SVG button
288
+ */
289
+ Breadcrumbs.prototype.renderButton = function (breadcrumb, posX, posY) {
290
+ var breadcrumbs = this, chart = this.chart, breadcrumbsOptions = breadcrumbs.options, buttonTheme = merge(breadcrumbsOptions.buttonTheme);
291
+ var button = chart.renderer
292
+ .button(breadcrumbs.getButtonText(breadcrumb), posX, posY, function (e) {
293
+ // Extract events from button object and call
294
+ var buttonEvents = breadcrumbsOptions.events &&
295
+ breadcrumbsOptions.events.click;
296
+ var callDefaultEvent;
297
+ if (buttonEvents) {
298
+ callDefaultEvent = buttonEvents.call(breadcrumbs, e, breadcrumb);
299
+ }
300
+ // (difference in behaviour of showFullPath and drillUp)
301
+ if (callDefaultEvent !== false) {
302
+ // For single button we are not going to the button
303
+ // level, but the one level up
304
+ if (!breadcrumbsOptions.showFullPath) {
305
+ e.newLevel = breadcrumbs.level - 1;
306
+ }
307
+ else {
308
+ e.newLevel = breadcrumb.level;
309
+ }
310
+ fireEvent(breadcrumbs, 'up', e);
311
+ }
312
+ }, buttonTheme)
313
+ .addClass('highcharts-breadcrumbs-button')
314
+ .add(breadcrumbs.group);
315
+ if (!chart.styledMode) {
316
+ button.attr(breadcrumbsOptions.style);
317
+ }
318
+ return button;
319
+ };
320
+ /**
321
+ * Render a separator.
322
+ *
323
+ * @requires modules/breadcrums
324
+ *
325
+ * @function Highcharts.Breadcrumbs#renderSeparator
326
+ * @param {Highcharts.Breadcrumbs} this
327
+ * Breadcrumbs class.
328
+ * @param {Highcharts.Breadcrumbs} posX
329
+ * Initial horizontal position
330
+ * @param {Highcharts.Breadcrumbs} posY
331
+ * Initial vertical position
332
+ * @return {Highcharts.SVGElement}
333
+ * Returns the SVG button
334
+ */
335
+ Breadcrumbs.prototype.renderSeparator = function (posX, posY) {
336
+ var breadcrumbs = this, chart = this.chart, breadcrumbsOptions = breadcrumbs.options, separatorOptions = breadcrumbsOptions.separator;
337
+ var separator = chart.renderer
338
+ .label(separatorOptions.text, posX, posY, void 0, void 0, void 0, false)
339
+ .addClass('highcharts-breadcrumbs-separator')
340
+ .add(breadcrumbs.group);
341
+ if (!chart.styledMode) {
342
+ separator.css(separatorOptions.style);
343
+ }
344
+ return separator;
345
+ };
346
+ /**
347
+ * Update.
348
+ * @function Highcharts.Breadcrumbs#update
349
+ *
350
+ * @requires modules/breadcrumbs
351
+ *
352
+ * @param {Highcharts.Breadcrumbs} this
353
+ * Breadcrumbs class.
354
+ * @param {Highcharts.BreadcrumbsOptions} options
355
+ * Breadcrumbs class.
356
+ * @param {boolean} redraw
357
+ * Redraw flag
358
+ */
359
+ Breadcrumbs.prototype.update = function (options) {
360
+ merge(true, this.options, options);
361
+ this.destroy();
362
+ this.isDirty = true;
363
+ };
364
+ /**
365
+ * Update button text when the showFullPath set to false.
366
+ * @function Highcharts.Breadcrumbs#updateSingleButton
367
+ *
368
+ * @requires modules/breadcrumbs
369
+ *
370
+ * @param {Highcharts.Breadcrumbs} this
371
+ * Breadcrumbs class.
372
+ */
373
+ Breadcrumbs.prototype.updateSingleButton = function () {
374
+ var chart = this.chart, currentBreadcrumb = this.list[this.level - 1];
375
+ if (chart.drillUpButton) {
376
+ chart.drillUpButton.attr({
377
+ text: this.getButtonText(currentBreadcrumb)
378
+ });
379
+ }
380
+ };
381
+ /**
382
+ * Destroy the chosen breadcrumbs group
383
+ *
384
+ * @requires modules/breadcrumbs
385
+ *
386
+ * @function Highcharts.Breadcrumbs#destroy
387
+ * @param {Highcharts.Breadcrumbs} this
388
+ * Breadcrumbs class.
389
+ */
390
+ Breadcrumbs.prototype.destroy = function () {
391
+ this.destroySingleButton();
392
+ // Destroy elements one by one. It's necessary beacause
393
+ // g().destroy() does not remove added HTML
394
+ this.destroyListElements(true);
395
+ // Then, destroy the group itself.
396
+ if (this.group) {
397
+ this.group.destroy();
398
+ }
399
+ this.group = void 0;
400
+ };
401
+ /**
402
+ * Destroy the elements' buttons and separators.
403
+ *
404
+ * @requires modules/breadcrumbs
405
+ *
406
+ * @function Highcharts.Breadcrumbs#destroyListElements
407
+ * @param {Highcharts.Breadcrumbs} this
408
+ * Breadcrumbs class.
409
+ */
410
+ Breadcrumbs.prototype.destroyListElements = function (force) {
411
+ var elementList = this.elementList;
412
+ objectEach(elementList, function (element, level) {
413
+ if (force ||
414
+ !elementList[level].updated) {
415
+ element = elementList[level];
416
+ element.button && element.button.destroy();
417
+ element.separator && element.separator.destroy();
418
+ delete element.button;
419
+ delete element.separator;
420
+ delete elementList[level];
421
+ }
422
+ });
423
+ if (force) {
424
+ this.elementList = {};
425
+ }
426
+ };
427
+ /**
428
+ * Destroy the single button if exists.
429
+ *
430
+ * @requires modules/breadcrumbs
431
+ *
432
+ * @function Highcharts.Breadcrumbs#destroySingleButton
433
+ * @param {Highcharts.Breadcrumbs} this
434
+ * Breadcrumbs class.
435
+ */
436
+ Breadcrumbs.prototype.destroySingleButton = function () {
437
+ if (this.chart.drillUpButton) {
438
+ this.chart.drillUpButton.destroy();
439
+ this.chart.drillUpButton = void 0;
440
+ }
441
+ };
442
+ /**
443
+ * Reset state for all buttons in elementList.
444
+ *
445
+ * @requires modules/breadcrumbs
446
+ *
447
+ * @function Highcharts.Breadcrumbs#resetElementListState
448
+ * @param {Highcharts.Breadcrumbs} this
449
+ * Breadcrumbs class.
450
+ */
451
+ Breadcrumbs.prototype.resetElementListState = function () {
452
+ objectEach(this.elementList, function (element) {
453
+ element.updated = false;
454
+ });
455
+ };
456
+ /**
457
+ * Update rendered elements inside the elementList.
458
+ *
459
+ * @requires modules/breadcrumbs
460
+ *
461
+ * @function Highcharts.Breadcrumbs#updateListElements
462
+ * @param {Highcharts.Breadcrumbs} this
463
+ * Breadcrumbs class.
464
+ */
465
+ Breadcrumbs.prototype.updateListElements = function () {
466
+ var breadcrumbs = this, elementList = breadcrumbs.elementList, buttonSpacing = breadcrumbs.options.buttonSpacing, list = breadcrumbs.list, rtl = breadcrumbs.options.rtl, rtlFactor = rtl ? -1 : 1, updateXPosition = function (element, spacing) {
467
+ return rtlFactor * element.getBBox().width +
468
+ rtlFactor * spacing;
469
+ }, adjustToRTL = function (element, posX, posY) {
470
+ element.translate(posX - element.getBBox().width, posY);
471
+ };
472
+ // Inital position for calculating the breadcrumbs group.
473
+ var posX = breadcrumbs.group ?
474
+ updateXPosition(breadcrumbs.group, buttonSpacing) :
475
+ buttonSpacing, posY = buttonSpacing, currentBreadcrumb;
476
+ list.forEach(function (breadcrumb, index) {
477
+ var isLast = index === list.length - 1;
478
+ var button, separator;
479
+ if (elementList[breadcrumb.level]) {
480
+ currentBreadcrumb = elementList[breadcrumb.level];
481
+ button = currentBreadcrumb.button;
482
+ // Render a separator if it was not created before.
483
+ if (!currentBreadcrumb.separator &&
484
+ !isLast) {
485
+ // Add spacing for the next separator
486
+ posX += rtlFactor * buttonSpacing;
487
+ currentBreadcrumb.separator =
488
+ breadcrumbs.renderSeparator(posX, posY);
489
+ if (rtl) {
490
+ adjustToRTL(currentBreadcrumb.separator, posX, posY);
491
+ }
492
+ posX += updateXPosition(currentBreadcrumb.separator, buttonSpacing);
493
+ }
494
+ else if (currentBreadcrumb.separator &&
495
+ isLast) {
496
+ currentBreadcrumb.separator.destroy();
497
+ delete currentBreadcrumb.separator;
498
+ }
499
+ elementList[breadcrumb.level].updated = true;
500
+ }
501
+ else {
502
+ // Render a button.
503
+ button = breadcrumbs.renderButton(breadcrumb, posX, posY);
504
+ if (rtl) {
505
+ adjustToRTL(button, posX, posY);
506
+ }
507
+ posX += updateXPosition(button, buttonSpacing);
508
+ // Render a separator.
509
+ if (!isLast) {
510
+ separator = breadcrumbs.renderSeparator(posX, posY);
511
+ if (rtl) {
512
+ adjustToRTL(separator, posX, posY);
513
+ }
514
+ posX += updateXPosition(separator, buttonSpacing);
515
+ }
516
+ elementList[breadcrumb.level] = {
517
+ button: button,
518
+ separator: separator,
519
+ updated: true
520
+ };
521
+ }
522
+ if (button) {
523
+ button.setState(isLast ? 2 : 0);
524
+ }
525
+ });
526
+ };
527
+ /**
528
+ * Options for breadcrumbs. Breadcrumbs general options are defined in
529
+ * `navigation.breadcrumbs`. Specific options for drilldown are set in
530
+ * `drilldown.breadcrumbs` and for tree-like series traversing, in
531
+ * `plotOptions[series].breadcrumbs`.
532
+ *
533
+ * @since 10.0.0
534
+ * @product highcharts
535
+ * @optionparent navigation.breadcrumbs
536
+ */
537
+ Breadcrumbs.defaultBreadcrumbsOptions = {
538
+ /**
539
+ * A collection of attributes for the buttons. The object takes SVG
540
+ * attributes like `fill`, `stroke`, `stroke-width`, as well as `style`,
541
+ * a collection of CSS properties for the text.
542
+ *
543
+ * The object can also be extended with states, so you can set
544
+ * presentational options for `hover`, `select` or `disabled` button
545
+ * states.
546
+ *
547
+ * @sample {highcharts} highcharts/breadcrumbs/single-button
548
+ * Themed, single button
549
+ *
550
+ * @type {Highcharts.SVGAttributes}
551
+ * @since 10.0.0
552
+ * @product highcharts
553
+ */
554
+ buttonTheme: {
555
+ /** @ignore */
556
+ fill: 'none',
557
+ /** @ignore */
558
+ height: 18,
559
+ /** @ignore */
560
+ padding: 2,
561
+ /** @ignore */
562
+ 'stroke-width': 0,
563
+ /** @ignore */
564
+ zIndex: 7,
565
+ /** @ignore */
566
+ states: {
567
+ select: {
568
+ fill: 'none'
569
+ }
570
+ },
571
+ style: {
572
+ color: "#335cad" /* Palette.highlightColor80 */
573
+ }
574
+ },
575
+ /**
576
+ * The default padding for each button and separator in each direction.
577
+ *
578
+ * @type {number}
579
+ * @since 10.0.0
580
+ */
581
+ buttonSpacing: 5,
582
+ /**
583
+ * Fires when clicking on the breadcrumbs button. Two arguments are
584
+ * passed to the function. First breadcrumb button as an SVG element.
585
+ * Second is the breadcrumbs class, containing reference to the chart,
586
+ * series etc.
587
+ *
588
+ * ```js
589
+ * click: function(button, breadcrumbs) {
590
+ * console.log(button);
591
+ * }
592
+ * ```
593
+ *
594
+ * Return false to stop default buttons click action.
595
+ *
596
+ * @type {Highcharts.BreadcrumbsClickCallbackFunction}
597
+ * @since 10.0.0
598
+ * @apioption navigation.breadcrumbs.events.click
599
+ */
600
+ /**
601
+ * When the breadcrumbs are floating, the plot area will not move to
602
+ * make space for it. By default, the chart will not make space for the
603
+ * buttons. This property won't work when positioned in the middle.
604
+ *
605
+ * @sample highcharts/breadcrumbs/single-button
606
+ * Floating button
607
+ * @type {boolean}
608
+ * @since 10.0.0
609
+ */
610
+ floating: false,
611
+ /**
612
+ * A format string for the breadcrumbs button. Variables are enclosed by
613
+ * curly brackets. Available values are passed in the declared point
614
+ * options.
615
+ *
616
+ * @type {string|undefined}
617
+ * @since 10.0.0
618
+ * @default undefined
619
+ * @sample {highcharts} highcharts/breadcrumbs/format Display custom
620
+ * values in breadcrumb button.
621
+ */
622
+ format: void 0,
623
+ /**
624
+ * Callback function to format the breadcrumb text from scratch.
625
+ *
626
+ * @type {Highcharts.BreadcrumbsFormatterCallbackFunction}
627
+ * @since 10.0.0
628
+ * @default undefined
629
+ * @apioption navigation.breadcrumbs.formatter
630
+ */
631
+ /**
632
+ * What box to align the button to. Can be either `plotBox` or
633
+ * `spacingBox`.
634
+ *
635
+ * @type {Highcharts.ButtonRelativeToValue}
636
+ * @default plotBox
637
+ * @since 10.0.0
638
+ * @product highcharts highmaps
639
+ */
640
+ relativeTo: 'plotBox',
641
+ /**
642
+ * Whether to reverse the order of buttons. This is common in Arabic
643
+ * and Hebrew.
644
+ *
645
+ * @type {boolean}
646
+ * @since 10.2.0
647
+ * @sample {highcharts} highcharts/breadcrumbs/rtl
648
+ * Breadcrumbs in RTL
649
+ */
650
+ rtl: false,
651
+ /**
652
+ * Positioning for the button row. The breadcrumbs buttons will be
653
+ * aligned properly for the default chart layout (title, subtitle,
654
+ * legend, range selector) for the custom chart layout set the position
655
+ * properties.
656
+ * @type {Highcharts.BreadcrumbsAlignOptions}
657
+ * @since 10.0.0
658
+ * @product highcharts highmaps
659
+ * @sample {highcharts} highcharts/breadcrumbs/single-button
660
+ * Single, right aligned button
661
+ */
662
+ position: {
663
+ /**
664
+ * Horizontal alignment of the breadcrumbs buttons.
665
+ *
666
+ * @type {Highcharts.AlignValue}
667
+ */
668
+ align: 'left',
669
+ /**
670
+ * Vertical alignment of the breadcrumbs buttons.
671
+ *
672
+ * @type {Highcharts.VerticalAlignValue}
673
+ */
674
+ verticalAlign: 'top',
675
+ /**
676
+ * The X offset of the breadcrumbs button group.
677
+ *
678
+ * @type {number}
679
+ */
680
+ x: 0,
681
+ /**
682
+ * The Y offset of the breadcrumbs button group. When `undefined`,
683
+ * and `floating` is `false`, the `y` position is adapted so that
684
+ * the breadcrumbs are rendered outside the target area.
685
+ *
686
+ * @type {number|undefined}
687
+ */
688
+ y: void 0
689
+ },
690
+ /**
691
+ * Options object for Breadcrumbs separator.
692
+ *
693
+ * @since 10.0.0
694
+ */
695
+ separator: {
696
+ /**
697
+ * @type {string}
698
+ * @since 10.0.0
699
+ * @product highcharts
700
+ */
701
+ text: '/',
702
+ /**
703
+ * CSS styles for the breadcrumbs separator.
704
+ *
705
+ * In styled mode, the breadcrumbs separators are styled by the
706
+ * `.highcharts-separator` rule with its different states.
707
+ * @type {Highcharts.CSSObject}
708
+ * @since 10.0.0
709
+ */
710
+ style: {
711
+ color: "#666666" /* Palette.neutralColor60 */
712
+ }
713
+ },
714
+ /**
715
+ * Show full path or only a single button.
716
+ *
717
+ * @type {boolean}
718
+ * @since 10.0.0
719
+ * @sample {highcharts} highcharts/breadcrumbs/single-button
720
+ * Single, styled button
721
+ */
722
+ showFullPath: true,
723
+ /**
724
+ * CSS styles for all breadcrumbs.
725
+ *
726
+ * In styled mode, the breadcrumbs buttons are styled by the
727
+ * `.highcharts-breadcrumbs-buttons .highcharts-button` rule with its
728
+ * different states.
729
+ * @type {Highcharts.SVGAttributes}
730
+ * @since 10.0.0
731
+ */
732
+ style: {},
733
+ /**
734
+ * Whether to use HTML to render the breadcrumbs items texts.
735
+ *
736
+ * @type {boolean}
737
+ * @since 10.0.0
738
+ */
739
+ useHTML: false,
740
+ /**
741
+ * The z index of the breadcrumbs group.
742
+ *
743
+ * @type {number}
744
+ * @since 10.0.0
745
+ */
746
+ zIndex: 7
747
+ };
748
+ return Breadcrumbs;
749
+ }());
750
+ /* eslint-disable no-invalid-this */
751
+ if (!H.Breadcrumbs) {
752
+ H.Breadcrumbs = Breadcrumbs;
753
+ // Logic for making space for the buttons above the plot area
754
+ addEvent(Chart, 'getMargins', function () {
755
+ var breadcrumbs = this.breadcrumbs;
756
+ if (breadcrumbs &&
757
+ !breadcrumbs.options.floating &&
758
+ breadcrumbs.level) {
759
+ var breadcrumbsOptions = breadcrumbs.options, buttonTheme = breadcrumbsOptions.buttonTheme, breadcrumbsHeight = ((buttonTheme.height || 0) +
760
+ 2 * (buttonTheme.padding || 0) +
761
+ breadcrumbsOptions.buttonSpacing), verticalAlign = breadcrumbsOptions.position.verticalAlign;
762
+ if (verticalAlign === 'bottom') {
763
+ this.marginBottom = (this.marginBottom || 0) + breadcrumbsHeight;
764
+ breadcrumbs.yOffset = breadcrumbsHeight;
765
+ }
766
+ else if (verticalAlign !== 'middle') {
767
+ this.plotTop += breadcrumbsHeight;
768
+ breadcrumbs.yOffset = -breadcrumbsHeight;
769
+ }
770
+ else {
771
+ breadcrumbs.yOffset = void 0;
772
+ }
773
+ }
774
+ });
775
+ addEvent(Chart, 'redraw', function () {
776
+ this.breadcrumbs && this.breadcrumbs.redraw();
777
+ });
778
+ // Remove resize/afterSetExtremes at chart destroy
779
+ addEvent(Chart, 'destroy', function destroyEvents() {
780
+ if (this.breadcrumbs) {
781
+ this.breadcrumbs.destroy();
782
+ this.breadcrumbs = void 0;
783
+ }
784
+ });
785
+ // Shift the drillUpButton to make the space for resetZoomButton, #8095.
786
+ addEvent(Chart, 'afterShowResetZoom', function () {
787
+ var chart = this;
788
+ if (chart.breadcrumbs) {
789
+ var bbox = chart.resetZoomButton &&
790
+ chart.resetZoomButton.getBBox(), breadcrumbsOptions = chart.breadcrumbs.options;
791
+ if (bbox &&
792
+ breadcrumbsOptions.position.align === 'right' &&
793
+ breadcrumbsOptions.relativeTo === 'plotBox') {
794
+ chart.breadcrumbs.alignBreadcrumbsGroup(-bbox.width - breadcrumbsOptions.buttonSpacing);
795
+ }
796
+ }
797
+ });
798
+ // After zooming out, shift the drillUpButton
799
+ // to the previous position, #8095.
800
+ addEvent(Chart, 'selection', function (event) {
801
+ if (event.resetSelection === true &&
802
+ this.breadcrumbs) {
803
+ this.breadcrumbs.alignBreadcrumbsGroup();
804
+ }
805
+ });
806
+ }
807
+ /* *
808
+ *
809
+ * Default Export
810
+ *
811
+ * */
812
+ export default Breadcrumbs;
813
+ /* *
814
+ *
815
+ * API Declarations
816
+ *
817
+ * */
818
+ /**
819
+ * Callback function to react on button clicks.
820
+ *
821
+ * @callback Highcharts.BreadcrumbsClickCallbackFunction
822
+ *
823
+ * @param {Highcharts.Event} event
824
+ * Event.
825
+ *
826
+ * @param {Highcharts.BreadcrumbOptions} options
827
+ * Breadcrumb options.
828
+ *
829
+ * @param {global.Event} e
830
+ * Event arguments.
831
+ */
832
+ /**
833
+ * Callback function to format the breadcrumb text from scratch.
834
+ *
835
+ * @callback Highcharts.BreadcrumbsFormatterCallbackFunction
836
+ *
837
+ * @param {Highcharts.Event} event
838
+ * Event.
839
+ *
840
+ * @param {Highcharts.BreadcrumbOptions} options
841
+ * Breadcrumb options.
842
+ *
843
+ * @return {string}
844
+ * Formatted text or false
845
+ */
846
+ /**
847
+ * Options for the one breadcrumb.
848
+ *
849
+ * @interface Highcharts.BreadcrumbOptions
850
+ */
851
+ /**
852
+ * Level connected to a specific breadcrumb.
853
+ * @name Highcharts.BreadcrumbOptions#level
854
+ * @type {number}
855
+ */
856
+ /**
857
+ * Options for series or point connected to a specific breadcrumb.
858
+ * @name Highcharts.BreadcrumbOptions#levelOptions
859
+ * @type {SeriesOptions|PointOptionsObject}
860
+ */
861
+ /**
862
+ * Options for aligning breadcrumbs group.
863
+ *
864
+ * @interface Highcharts.BreadcrumbsAlignOptions
865
+ */
866
+ /**
867
+ * Align of a Breadcrumb group.
868
+ * @default right
869
+ * @name Highcharts.BreadcrumbsAlignOptions#align
870
+ * @type {AlignValue}
871
+ */
872
+ /**
873
+ * Vertical align of a Breadcrumb group.
874
+ * @default top
875
+ * @name Highcharts.BreadcrumbsAlignOptions#verticalAlign
876
+ * @type {VerticalAlignValue}
877
+ */
878
+ /**
879
+ * X offset of a Breadcrumbs group.
880
+ * @name Highcharts.BreadcrumbsAlignOptions#x
881
+ * @type {number}
882
+ */
883
+ /**
884
+ * Y offset of a Breadcrumbs group.
885
+ * @name Highcharts.BreadcrumbsAlignOptions#y
886
+ * @type {number}
887
+ */
888
+ /**
889
+ * Options for all breadcrumbs.
890
+ *
891
+ * @interface Highcharts.BreadcrumbsOptions
892
+ */
893
+ /**
894
+ * Button theme.
895
+ * @name Highcharts.BreadcrumbsOptions#buttonTheme
896
+ * @type { SVGAttributes | undefined }
897
+ */
898
+ (''); // Keeps doclets above in JS file