highcharts 9.3.1 → 10.0.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 (862) hide show
  1. package/bower.json +1 -1
  2. package/css/annotations/popup.css +1 -1
  3. package/css/highcharts.css +21 -4
  4. package/css/highcharts.scss +18 -3
  5. package/css/stocktools/gui.css +1 -1
  6. package/css/themes/dark-unica.css +21 -4
  7. package/css/themes/grid-light.css +21 -4
  8. package/css/themes/sand-signika.css +21 -4
  9. package/es-modules/Accessibility/A11yI18n.js +1 -5
  10. package/es-modules/Accessibility/Accessibility.js +12 -6
  11. package/es-modules/Accessibility/AccessibilityComponent.js +1 -1
  12. package/es-modules/Accessibility/Components/AnnotationsA11y.js +9 -5
  13. package/es-modules/Accessibility/Components/ContainerComponent.js +1 -1
  14. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +8 -19
  15. package/es-modules/Accessibility/Components/LegendComponent.js +196 -98
  16. package/es-modules/Accessibility/Components/MenuComponent.js +16 -15
  17. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +11 -14
  18. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +22 -12
  19. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +9 -5
  20. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -2
  21. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +19 -44
  22. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +77 -56
  23. package/es-modules/Accessibility/Components/ZoomComponent.js +148 -67
  24. package/es-modules/Accessibility/FocusBorder.js +0 -5
  25. package/es-modules/Accessibility/HighContrastMode.js +4 -3
  26. package/es-modules/Accessibility/KeyboardNavigation.js +117 -101
  27. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -5
  28. package/es-modules/Accessibility/Options/LangOptions.js +3 -3
  29. package/es-modules/Accessibility/ProxyElement.js +26 -12
  30. package/es-modules/Accessibility/ProxyProvider.js +10 -5
  31. package/es-modules/Accessibility/Utils/Announcer.js +2 -2
  32. package/es-modules/Accessibility/Utils/ChartUtilities.js +17 -32
  33. package/es-modules/Accessibility/Utils/HTMLUtilities.js +0 -12
  34. package/es-modules/Core/Animation/Fx.js +5 -14
  35. package/es-modules/Core/Axis/Axis.js +189 -111
  36. package/es-modules/Core/Axis/Axis3D.js +10 -4
  37. package/es-modules/Core/Axis/BrokenAxis.js +17 -11
  38. package/es-modules/Core/Axis/Color/ColorAxis.js +28 -8
  39. package/es-modules/Core/Axis/Color/ColorAxisComposition.js +3 -3
  40. package/es-modules/Core/Axis/DateTimeAxis.js +3 -14
  41. package/es-modules/Core/Axis/GridAxis.js +34 -23
  42. package/es-modules/Core/Axis/NavigatorAxis.js +0 -5
  43. package/es-modules/Core/Axis/OrdinalAxis.js +83 -79
  44. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js +0 -5
  45. package/es-modules/Core/Axis/RadialAxis.js +7 -28
  46. package/es-modules/Core/Axis/ScrollbarAxis.js +18 -10
  47. package/es-modules/Core/Axis/StackingAxis.js +2 -1
  48. package/es-modules/Core/Axis/Tick.js +2 -4
  49. package/es-modules/Core/Axis/TreeGridAxis.js +26 -17
  50. package/es-modules/Core/Axis/TreeGridTick.js +15 -1
  51. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  52. package/es-modules/Core/Axis/ZAxis.js +1 -1
  53. package/es-modules/Core/Chart/Chart.js +42 -44
  54. package/es-modules/Core/Chart/Chart3D.js +24 -21
  55. package/es-modules/Core/Chart/ChartDefaults.js +32 -11
  56. package/es-modules/Core/Chart/GanttChart.js +4 -4
  57. package/es-modules/Core/Chart/MapChart.js +4 -9
  58. package/es-modules/Core/Chart/StockChart.js +10 -23
  59. package/es-modules/Core/DefaultOptions.js +5 -2
  60. package/es-modules/Core/Geometry/CircleUtilities.js +2 -1
  61. package/es-modules/Core/Geometry/PolygonClip.js +84 -0
  62. package/es-modules/Core/Globals.js +4 -18
  63. package/es-modules/Core/HttpUtilities.js +18 -12
  64. package/es-modules/Core/Legend/Legend.js +22 -21
  65. package/es-modules/Core/Navigator.js +43 -28
  66. package/es-modules/Core/Pointer.js +28 -20
  67. package/es-modules/Core/Renderer/HTML/AST.js +88 -18
  68. package/es-modules/Core/Renderer/HTML/HTMLElement.js +4 -2
  69. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +8 -6
  70. package/es-modules/Core/Renderer/RendererUtilities.js +2 -2
  71. package/es-modules/Core/Renderer/SVG/SVGElement.js +33 -57
  72. package/es-modules/Core/Renderer/SVG/SVGElement3D.js +17 -5
  73. package/es-modules/Core/Renderer/SVG/SVGLabel.js +17 -8
  74. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +21 -28
  75. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +12 -5
  76. package/es-modules/Core/Renderer/SVG/TextBuilder.js +25 -17
  77. package/es-modules/Core/Responsive.js +2 -3
  78. package/es-modules/Core/Scrollbar.js +14 -12
  79. package/es-modules/Core/Series/DataLabel.js +26 -13
  80. package/es-modules/Core/Series/Point.js +19 -18
  81. package/es-modules/Core/Series/Series.js +77 -88
  82. package/es-modules/Core/Series/SeriesDefaults.js +9 -5
  83. package/es-modules/Core/Time.js +14 -11
  84. package/es-modules/Core/Tooltip.js +30 -64
  85. package/es-modules/Core/Utilities.js +33 -45
  86. package/es-modules/Data/DataConverter.js +0 -6
  87. package/es-modules/Data/DataSeriesConverter.js +9 -5
  88. package/es-modules/Data/DataTable.js +2 -1
  89. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  90. package/es-modules/Data/Parsers/CSVParser.js +3 -2
  91. package/es-modules/Data/Parsers/GoogleSheetsParser.js +5 -2
  92. package/es-modules/Data/Stores/CSVStore.js +2 -2
  93. package/es-modules/Data/Stores/DataStore.js +1 -1
  94. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  95. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  96. package/es-modules/Extensions/Annotations/Annotations.js +18 -10
  97. package/es-modules/Extensions/Annotations/ControlPoint.js +0 -2
  98. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +1 -1
  99. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +1 -1
  100. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +1 -1
  101. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +3 -6
  102. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +3 -2
  103. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +1 -1
  104. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +6 -3
  105. package/es-modules/Extensions/Annotations/Mixins/EventEmitterMixin.js +0 -1
  106. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +5 -4
  107. package/es-modules/Extensions/Annotations/MockPoint.js +1 -1
  108. package/es-modules/Extensions/Annotations/NavigationBindings.js +34 -29
  109. package/es-modules/Extensions/Annotations/Popup.js +40 -32
  110. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +5 -3
  111. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +4 -2
  112. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +1 -1
  113. package/es-modules/Extensions/Annotations/Types/Measure.js +15 -11
  114. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +2 -1
  115. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +8 -4
  116. package/es-modules/Extensions/Annotations/Types/Tunnel.js +10 -5
  117. package/es-modules/Extensions/Boost/BoostInit.js +6 -1
  118. package/es-modules/Extensions/Boost/BoostOptions.js +26 -0
  119. package/es-modules/Extensions/Boost/BoostOverrides.js +3 -9
  120. package/es-modules/Extensions/Boost/BoostUtils.js +0 -6
  121. package/es-modules/Extensions/Boost/Boostables.js +1 -0
  122. package/es-modules/Extensions/Boost/WGLRenderer.js +64 -49
  123. package/es-modules/Extensions/Boost/WGLShader.js +13 -11
  124. package/es-modules/Extensions/Boost/WGLVBuffer.js +4 -7
  125. package/es-modules/Extensions/Breadcrumbs.js +874 -0
  126. package/es-modules/Extensions/Data.js +30 -62
  127. package/es-modules/Extensions/DataGrouping.js +27 -17
  128. package/es-modules/Extensions/DraggablePoints.js +16 -15
  129. package/es-modules/Extensions/Drilldown.js +148 -90
  130. package/es-modules/Extensions/ExportData.js +6 -5
  131. package/es-modules/Extensions/Exporting/Exporting.js +32 -44
  132. package/es-modules/Extensions/Exporting/ExportingDefaults.js +49 -1
  133. package/es-modules/Extensions/FullScreen.js +4 -3
  134. package/es-modules/Extensions/GeoJSON.js +152 -127
  135. package/es-modules/Extensions/MarkerClusters.js +37 -21
  136. package/es-modules/Extensions/Math3D.js +4 -4
  137. package/es-modules/Extensions/OfflineExporting/OfflineExporting.js +133 -46
  138. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  139. package/es-modules/Extensions/Oldie/Oldie.js +13 -77
  140. package/es-modules/Extensions/Oldie/VMLAxis3D.js +5 -1
  141. package/es-modules/Extensions/OverlappingDataLabels.js +10 -6
  142. package/es-modules/Extensions/Pane.js +6 -6
  143. package/es-modules/Extensions/ParallelCoordinates.js +5 -3
  144. package/es-modules/Extensions/PatternFill.js +17 -11
  145. package/es-modules/Extensions/Polar.js +6 -3
  146. package/es-modules/Extensions/PriceIndication.js +2 -1
  147. package/es-modules/Extensions/RangeSelector.js +19 -55
  148. package/es-modules/Extensions/ScrollablePlotArea.js +7 -3
  149. package/es-modules/Extensions/SeriesLabel.js +1 -1
  150. package/es-modules/Extensions/Sonification/ChartSonify.js +32 -26
  151. package/es-modules/Extensions/Sonification/Instrument.js +12 -15
  152. package/es-modules/Extensions/Sonification/PointSonify.js +12 -8
  153. package/es-modules/Extensions/Sonification/SeriesSonify.js +33 -18
  154. package/es-modules/Extensions/Sonification/SignalHandler.js +4 -6
  155. package/es-modules/Extensions/Sonification/Sonification.js +1 -1
  156. package/es-modules/Extensions/Sonification/SonificationUtilities.js +11 -7
  157. package/es-modules/Extensions/Sonification/Timeline.js +2 -7
  158. package/es-modules/Extensions/Sonification/TimelineEvent.js +0 -1
  159. package/es-modules/Extensions/Sonification/TimelinePath.js +8 -8
  160. package/es-modules/Extensions/Stacking.js +8 -25
  161. package/es-modules/Extensions/Themes/BrandDark.js +293 -0
  162. package/es-modules/Extensions/Themes/BrandLight.js +259 -0
  163. package/es-modules/Extensions/Themes/DarkUnica.js +4 -2
  164. package/es-modules/Extensions/Themes/Grid.js +4 -2
  165. package/es-modules/Extensions/Themes/GridLight.js +4 -2
  166. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  167. package/es-modules/Extensions/Themes/HighContrastLight.js +10 -10
  168. package/es-modules/Gantt/Connection.js +2 -2
  169. package/es-modules/Gantt/Pathfinder.js +6 -5
  170. package/es-modules/Gantt/PathfinderAlgorithms.js +12 -12
  171. package/es-modules/Maps/MapNavigation.js +54 -14
  172. package/es-modules/Maps/MapPointer.js +18 -1
  173. package/es-modules/Maps/MapSymbols.js +23 -3
  174. package/es-modules/Maps/MapUtilities.js +56 -0
  175. package/es-modules/Maps/MapView.js +606 -135
  176. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +148 -0
  177. package/es-modules/Maps/MapViewOptionsDefault.js +58 -20
  178. package/es-modules/Maps/Projection.js +169 -77
  179. package/es-modules/Maps/Projections/EqualEarth.js +15 -6
  180. package/es-modules/Maps/Projections/LambertConformalConic.js +27 -19
  181. package/es-modules/Maps/Projections/Miller.js +23 -10
  182. package/es-modules/Maps/Projections/Orthographic.js +21 -10
  183. package/es-modules/Maps/Projections/WebMercator.js +25 -13
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +77 -0
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +581 -0
  186. package/es-modules/Series/Area/AreaSeries.js +13 -13
  187. package/es-modules/Series/Area3DSeries.js +4 -2
  188. package/es-modules/Series/AreaRange/AreaRangeSeries.js +24 -12
  189. package/es-modules/Series/Bellcurve/BellcurveSeries.js +2 -1
  190. package/es-modules/Series/Bubble/BubbleLegendItem.js +2 -12
  191. package/es-modules/Series/Candlestick/CandlestickSeries.js +0 -1
  192. package/es-modules/Series/ColorMapMixin.js +84 -0
  193. package/es-modules/Series/Column/ColumnSeries.js +20 -17
  194. package/es-modules/Series/Column3D/Column3DComposition.js +1 -2
  195. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +5 -2
  196. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +2 -1
  197. package/es-modules/Series/Cylinder/CylinderComposition.js +36 -4
  198. package/es-modules/Series/DataModifyComposition.js +1 -0
  199. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +3 -3
  200. package/es-modules/Series/DrawPointComposition.js +7 -4
  201. package/es-modules/Series/Dumbbell/DumbbellPoint.js +0 -1
  202. package/es-modules/Series/Dumbbell/DumbbellSeries.js +0 -3
  203. package/es-modules/Series/Flags/FlagsSymbols.js +2 -2
  204. package/es-modules/Series/Funnel3D/Funnel3DComposition.js +14 -8
  205. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +2 -1
  206. package/es-modules/Series/Gantt/GanttPoint.js +1 -1
  207. package/es-modules/Series/Gantt/GanttSeries.js +3 -1
  208. package/es-modules/Series/HLC/HLCSeries.js +1 -6
  209. package/es-modules/Series/Heatmap/HeatmapPoint.js +10 -10
  210. package/es-modules/Series/Heatmap/HeatmapSeries.js +9 -10
  211. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +8 -6
  212. package/es-modules/Series/Histogram/HistogramSeries.js +4 -4
  213. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +1 -4
  214. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +19 -20
  215. package/es-modules/Series/Item/ItemSeries.js +4 -5
  216. package/es-modules/Series/Lollipop/LollipopSeries.js +1 -1
  217. package/es-modules/Series/Map/MapPoint.js +30 -1
  218. package/es-modules/Series/Map/MapSeries.js +216 -190
  219. package/es-modules/Series/MapBubble/MapBubblePoint.js +16 -24
  220. package/es-modules/Series/MapBubble/MapBubbleSeries.js +11 -0
  221. package/es-modules/Series/MapLine/MapLineSeries.js +0 -4
  222. package/es-modules/Series/MapPoint/MapPointPoint.js +2 -8
  223. package/es-modules/Series/MapPoint/MapPointSeries.js +36 -14
  224. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -4
  225. package/es-modules/Series/Networkgraph/Integrations.js +8 -22
  226. package/es-modules/Series/Networkgraph/Networkgraph.js +1 -5
  227. package/es-modules/Series/Networkgraph/QuadTree.js +1 -3
  228. package/es-modules/Series/NodesComposition.js +60 -12
  229. package/es-modules/Series/OHLC/OHLCPoint.js +0 -1
  230. package/es-modules/Series/OHLC/OHLCSeries.js +8 -1
  231. package/es-modules/Series/Organization/OrganizationPoint.js +68 -2
  232. package/es-modules/Series/Organization/OrganizationSeries.js +81 -25
  233. package/es-modules/Series/PackedBubble/PackedBubbleComposition.js +1 -0
  234. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +1 -1
  235. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +2 -4
  236. package/es-modules/Series/Pie/PiePoint.js +14 -7
  237. package/es-modules/Series/Pie/PieSeries.js +1 -1
  238. package/es-modules/Series/Pie3D/Pie3DComposition.js +2 -1
  239. package/es-modules/Series/Pie3D/Pie3DPoint.js +2 -1
  240. package/es-modules/Series/Pie3D/Pie3DSeries.js +20 -1
  241. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +2 -1
  242. package/es-modules/Series/Sankey/SankeyColumnComposition.js +193 -0
  243. package/es-modules/Series/Sankey/SankeyPoint.js +37 -1
  244. package/es-modules/Series/Sankey/SankeySeries.js +10 -126
  245. package/es-modules/Series/Scatter/ScatterSeries.js +1 -1
  246. package/es-modules/Series/SolidGauge/SolidGaugeComposition.js +3 -1
  247. package/es-modules/Series/Spline/SplineSeries.js +0 -8
  248. package/es-modules/Series/Sunburst/SunburstSeries.js +15 -4
  249. package/es-modules/Series/Sunburst/SunburstUtilities.js +3 -2
  250. package/es-modules/Series/Tilemap/TilemapPoint.js +0 -2
  251. package/es-modules/Series/Tilemap/TilemapShapes.js +0 -7
  252. package/es-modules/Series/TreeUtilities.js +2 -2
  253. package/es-modules/Series/Treemap/TreemapSeries.js +104 -99
  254. package/es-modules/Series/Variwide/VariwideSeries.js +5 -1
  255. package/es-modules/Series/Venn/VennSeries.js +6 -9
  256. package/es-modules/Series/Venn/VennUtils.js +8 -7
  257. package/es-modules/Series/Waterfall/WaterfallSeries.js +8 -3
  258. package/es-modules/Series/Wordcloud/WordcloudSeries.js +2 -2
  259. package/es-modules/Series/Wordcloud/WordcloudUtils.js +6 -10
  260. package/es-modules/Series/XRange/XRangePoint.js +6 -12
  261. package/es-modules/Series/XRange/XRangeSeries.js +4 -20
  262. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +12 -0
  263. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +1 -0
  264. package/es-modules/Stock/Indicators/BB/BBIndicator.js +12 -0
  265. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +35 -15
  266. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +9 -5
  267. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +2 -1
  268. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +6 -6
  269. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +12 -0
  270. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +8 -3
  271. package/es-modules/Stock/Indicators/LinearRegression/LinearRegression.js +30 -12
  272. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +1 -1
  273. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +70 -6
  274. package/es-modules/Stock/Indicators/PC/PCIndicator.js +11 -0
  275. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +2 -1
  276. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +2 -1
  277. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +11 -5
  278. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +3 -1
  279. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +3 -3
  280. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +19 -7
  281. package/es-modules/Stock/StockToolsBindings.js +13 -6
  282. package/es-modules/Stock/StockToolsGui.js +34 -23
  283. package/es-modules/masters/highcharts-3d.src.js +1 -1
  284. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  285. package/es-modules/masters/highcharts-more.src.js +1 -1
  286. package/es-modules/masters/highcharts.src.js +1 -1
  287. package/es-modules/masters/highmaps.src.js +1 -1
  288. package/es-modules/masters/highstock.src.js +1 -1
  289. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  290. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  291. package/es-modules/masters/indicators/ao.src.js +1 -1
  292. package/es-modules/masters/indicators/apo.src.js +1 -1
  293. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  294. package/es-modules/masters/indicators/aroon.src.js +1 -1
  295. package/es-modules/masters/indicators/atr.src.js +1 -1
  296. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  297. package/es-modules/masters/indicators/cci.src.js +1 -1
  298. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  299. package/es-modules/masters/indicators/cmf.src.js +1 -1
  300. package/es-modules/masters/indicators/cmo.src.js +1 -1
  301. package/es-modules/masters/indicators/dema.src.js +1 -1
  302. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  303. package/es-modules/masters/indicators/dmi.src.js +1 -1
  304. package/es-modules/masters/indicators/dpo.src.js +1 -1
  305. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  306. package/es-modules/masters/indicators/indicators-all.src.js +1 -1
  307. package/es-modules/masters/indicators/indicators.src.js +1 -1
  308. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  309. package/es-modules/masters/indicators/klinger.src.js +1 -1
  310. package/es-modules/masters/indicators/macd.src.js +1 -1
  311. package/es-modules/masters/indicators/mfi.src.js +1 -1
  312. package/es-modules/masters/indicators/momentum.src.js +1 -1
  313. package/es-modules/masters/indicators/natr.src.js +1 -1
  314. package/es-modules/masters/indicators/obv.src.js +1 -1
  315. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  316. package/es-modules/masters/indicators/ppo.src.js +1 -1
  317. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  318. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  319. package/es-modules/masters/indicators/psar.src.js +1 -1
  320. package/es-modules/masters/indicators/regressions.src.js +1 -1
  321. package/es-modules/masters/indicators/roc.src.js +1 -1
  322. package/es-modules/masters/indicators/rsi.src.js +1 -1
  323. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  324. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  325. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  326. package/es-modules/masters/indicators/tema.src.js +1 -1
  327. package/es-modules/masters/indicators/trendline.src.js +1 -1
  328. package/es-modules/masters/indicators/trix.src.js +1 -1
  329. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  330. package/es-modules/masters/indicators/vwap.src.js +1 -1
  331. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  332. package/es-modules/masters/indicators/wma.src.js +1 -1
  333. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  334. package/es-modules/masters/modules/accessibility.src.js +2 -2
  335. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  336. package/es-modules/masters/modules/annotations.src.js +1 -1
  337. package/es-modules/masters/modules/arc-diagram.src.js +14 -0
  338. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  339. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  340. package/es-modules/masters/modules/boost.src.js +1 -1
  341. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  342. package/es-modules/masters/modules/bullet.src.js +1 -1
  343. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  344. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  345. package/es-modules/masters/modules/cylinder.src.js +1 -1
  346. package/es-modules/masters/modules/data.src.js +1 -1
  347. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  348. package/es-modules/masters/modules/debugger.src.js +1 -1
  349. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  350. package/es-modules/masters/modules/dotplot.src.js +1 -1
  351. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  352. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  353. package/es-modules/masters/modules/drilldown.src.js +2 -1
  354. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  355. package/es-modules/masters/modules/export-data.src.js +1 -1
  356. package/es-modules/masters/modules/exporting.src.js +1 -1
  357. package/es-modules/masters/modules/full-screen.src.js +1 -1
  358. package/es-modules/masters/modules/funnel.src.js +1 -1
  359. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  360. package/es-modules/masters/modules/gantt.src.js +1 -1
  361. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  362. package/es-modules/masters/modules/heatmap.src.js +1 -1
  363. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  364. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  365. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  366. package/es-modules/masters/modules/item-series.src.js +1 -1
  367. package/es-modules/masters/modules/lollipop.src.js +1 -1
  368. package/es-modules/masters/modules/map.src.js +5 -1
  369. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  370. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  371. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  372. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  373. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  374. package/es-modules/masters/modules/oldie.src.js +1 -1
  375. package/es-modules/masters/modules/organization.src.js +1 -1
  376. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  377. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  378. package/es-modules/masters/modules/pareto.src.js +1 -1
  379. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  380. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  381. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  382. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  383. package/es-modules/masters/modules/sankey.src.js +1 -1
  384. package/es-modules/masters/modules/series-label.src.js +1 -1
  385. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  386. package/es-modules/masters/modules/sonification.src.js +1 -1
  387. package/es-modules/masters/modules/static-scale.src.js +1 -1
  388. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  389. package/es-modules/masters/modules/stock.src.js +1 -1
  390. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  391. package/es-modules/masters/modules/sunburst.src.js +1 -1
  392. package/es-modules/masters/modules/tilemap.src.js +1 -1
  393. package/es-modules/masters/modules/timeline.src.js +1 -1
  394. package/es-modules/masters/modules/treegrid.src.js +1 -1
  395. package/es-modules/masters/modules/treemap.src.js +5 -1
  396. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  397. package/es-modules/masters/modules/variwide.src.js +1 -1
  398. package/es-modules/masters/modules/vector.src.js +1 -1
  399. package/es-modules/masters/modules/venn.src.js +1 -1
  400. package/es-modules/masters/modules/windbarb.src.js +1 -1
  401. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  402. package/es-modules/masters/modules/xrange.src.js +1 -1
  403. package/es-modules/masters/themes/avocado.src.js +1 -1
  404. package/es-modules/masters/themes/brand-dark.src.js +14 -0
  405. package/es-modules/masters/themes/brand-light.src.js +14 -0
  406. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  407. package/es-modules/masters/themes/dark-green.src.js +1 -1
  408. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  409. package/es-modules/masters/themes/gray.src.js +1 -1
  410. package/es-modules/masters/themes/grid-light.src.js +1 -1
  411. package/es-modules/masters/themes/grid.src.js +1 -1
  412. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  413. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  414. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  415. package/es-modules/masters/themes/skies.src.js +1 -1
  416. package/es-modules/masters/themes/sunset.src.js +1 -1
  417. package/highcharts-3d.js +99 -98
  418. package/highcharts-3d.js.map +1 -1
  419. package/highcharts-3d.src.js +114 -54
  420. package/highcharts-gantt.js +805 -800
  421. package/highcharts-gantt.js.map +1 -1
  422. package/highcharts-gantt.src.js +1102 -973
  423. package/highcharts-more.js +195 -194
  424. package/highcharts-more.js.map +1 -1
  425. package/highcharts-more.src.js +85 -104
  426. package/highcharts.d.ts +8196 -2661
  427. package/highcharts.js +590 -585
  428. package/highcharts.js.map +1 -1
  429. package/highcharts.src.d.ts +8196 -2661
  430. package/highcharts.src.js +872 -745
  431. package/highmaps.js +757 -727
  432. package/highmaps.js.map +1 -1
  433. package/highmaps.src.js +3983 -2601
  434. package/highstock.js +792 -788
  435. package/highstock.js.map +1 -1
  436. package/highstock.src.js +1118 -1001
  437. package/indicators/acceleration-bands.d.ts +17 -1
  438. package/indicators/acceleration-bands.js +12 -10
  439. package/indicators/acceleration-bands.js.map +1 -1
  440. package/indicators/acceleration-bands.src.d.ts +17 -1
  441. package/indicators/acceleration-bands.src.js +98 -7
  442. package/indicators/accumulation-distribution.js +5 -5
  443. package/indicators/accumulation-distribution.js.map +1 -1
  444. package/indicators/accumulation-distribution.src.js +11 -2
  445. package/indicators/ao.js +6 -6
  446. package/indicators/ao.js.map +1 -1
  447. package/indicators/ao.src.js +11 -2
  448. package/indicators/apo.js +5 -5
  449. package/indicators/apo.js.map +1 -1
  450. package/indicators/apo.src.js +11 -2
  451. package/indicators/aroon-oscillator.d.ts +17 -1
  452. package/indicators/aroon-oscillator.js +10 -9
  453. package/indicators/aroon-oscillator.js.map +1 -1
  454. package/indicators/aroon-oscillator.src.d.ts +17 -1
  455. package/indicators/aroon-oscillator.src.js +86 -7
  456. package/indicators/aroon.d.ts +17 -1
  457. package/indicators/aroon.js +11 -9
  458. package/indicators/aroon.js.map +1 -1
  459. package/indicators/aroon.src.d.ts +17 -1
  460. package/indicators/aroon.src.js +87 -7
  461. package/indicators/atr.js +5 -5
  462. package/indicators/atr.js.map +1 -1
  463. package/indicators/atr.src.js +11 -2
  464. package/indicators/bollinger-bands.d.ts +17 -1
  465. package/indicators/bollinger-bands.js +12 -10
  466. package/indicators/bollinger-bands.js.map +1 -1
  467. package/indicators/bollinger-bands.src.d.ts +17 -1
  468. package/indicators/bollinger-bands.src.js +98 -7
  469. package/indicators/cci.js +5 -5
  470. package/indicators/cci.js.map +1 -1
  471. package/indicators/cci.src.js +11 -2
  472. package/indicators/chaikin.js +8 -8
  473. package/indicators/chaikin.js.map +1 -1
  474. package/indicators/chaikin.src.js +11 -2
  475. package/indicators/cmf.js +6 -6
  476. package/indicators/cmf.js.map +1 -1
  477. package/indicators/cmf.src.js +46 -17
  478. package/indicators/cmo.js +5 -5
  479. package/indicators/cmo.js.map +1 -1
  480. package/indicators/cmo.src.js +11 -2
  481. package/indicators/dema.js +5 -5
  482. package/indicators/dema.js.map +1 -1
  483. package/indicators/dema.src.js +11 -2
  484. package/indicators/disparity-index.js +6 -6
  485. package/indicators/disparity-index.js.map +1 -1
  486. package/indicators/disparity-index.src.js +13 -3
  487. package/indicators/dmi.js +12 -11
  488. package/indicators/dmi.js.map +1 -1
  489. package/indicators/dmi.src.js +95 -12
  490. package/indicators/dpo.js +5 -5
  491. package/indicators/dpo.js.map +1 -1
  492. package/indicators/dpo.src.js +11 -2
  493. package/indicators/ema.js +2 -1
  494. package/indicators/ema.js.map +1 -1
  495. package/indicators/ema.src.js +10 -1
  496. package/indicators/ichimoku-kinko-hyo.js +16 -16
  497. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  498. package/indicators/ichimoku-kinko-hyo.src.js +17 -8
  499. package/indicators/indicators-all.d.ts +17 -1
  500. package/indicators/indicators-all.js +199 -197
  501. package/indicators/indicators-all.js.map +1 -1
  502. package/indicators/indicators-all.src.d.ts +17 -1
  503. package/indicators/indicators-all.src.js +266 -69
  504. package/indicators/indicators.js +13 -12
  505. package/indicators/indicators.js.map +1 -1
  506. package/indicators/indicators.src.js +23 -8
  507. package/indicators/keltner-channels.d.ts +17 -1
  508. package/indicators/keltner-channels.js +12 -10
  509. package/indicators/keltner-channels.js.map +1 -1
  510. package/indicators/keltner-channels.src.d.ts +17 -1
  511. package/indicators/keltner-channels.src.js +98 -7
  512. package/indicators/klinger.js +14 -12
  513. package/indicators/klinger.js.map +1 -1
  514. package/indicators/klinger.src.js +94 -10
  515. package/indicators/macd.js +12 -11
  516. package/indicators/macd.js.map +1 -1
  517. package/indicators/macd.src.js +12 -3
  518. package/indicators/mfi.js +6 -6
  519. package/indicators/mfi.js.map +1 -1
  520. package/indicators/mfi.src.js +11 -2
  521. package/indicators/momentum.js +5 -5
  522. package/indicators/momentum.js.map +1 -1
  523. package/indicators/momentum.src.js +11 -2
  524. package/indicators/natr.js +5 -4
  525. package/indicators/natr.js.map +1 -1
  526. package/indicators/natr.src.js +11 -2
  527. package/indicators/obv.js +5 -5
  528. package/indicators/obv.js.map +1 -1
  529. package/indicators/obv.src.js +11 -2
  530. package/indicators/pivot-points.js +11 -11
  531. package/indicators/pivot-points.js.map +1 -1
  532. package/indicators/pivot-points.src.js +13 -3
  533. package/indicators/ppo.js +5 -5
  534. package/indicators/ppo.js.map +1 -1
  535. package/indicators/ppo.src.js +11 -2
  536. package/indicators/price-channel.d.ts +17 -1
  537. package/indicators/price-channel.js +11 -9
  538. package/indicators/price-channel.js.map +1 -1
  539. package/indicators/price-channel.src.d.ts +17 -1
  540. package/indicators/price-channel.src.js +97 -7
  541. package/indicators/price-envelopes.js +8 -8
  542. package/indicators/price-envelopes.js.map +1 -1
  543. package/indicators/price-envelopes.src.js +11 -2
  544. package/indicators/psar.js +7 -6
  545. package/indicators/psar.js.map +1 -1
  546. package/indicators/psar.src.js +11 -2
  547. package/indicators/regressions.js +12 -12
  548. package/indicators/regressions.js.map +1 -1
  549. package/indicators/regressions.src.js +41 -14
  550. package/indicators/roc.js +5 -5
  551. package/indicators/roc.js.map +1 -1
  552. package/indicators/roc.src.js +11 -2
  553. package/indicators/rsi.js +6 -5
  554. package/indicators/rsi.js.map +1 -1
  555. package/indicators/rsi.src.js +13 -3
  556. package/indicators/slow-stochastic.js +5 -5
  557. package/indicators/slow-stochastic.js.map +1 -1
  558. package/indicators/slow-stochastic.src.js +11 -2
  559. package/indicators/stochastic.d.ts +17 -1
  560. package/indicators/stochastic.js +12 -10
  561. package/indicators/stochastic.js.map +1 -1
  562. package/indicators/stochastic.src.d.ts +17 -1
  563. package/indicators/stochastic.src.js +89 -8
  564. package/indicators/supertrend.js +10 -10
  565. package/indicators/supertrend.js.map +1 -1
  566. package/indicators/supertrend.src.js +11 -2
  567. package/indicators/tema.js +6 -6
  568. package/indicators/tema.js.map +1 -1
  569. package/indicators/tema.src.js +11 -2
  570. package/indicators/trendline.js +5 -5
  571. package/indicators/trendline.js.map +1 -1
  572. package/indicators/trendline.src.js +11 -2
  573. package/indicators/trix.js +4 -4
  574. package/indicators/trix.js.map +1 -1
  575. package/indicators/trix.src.js +11 -2
  576. package/indicators/volume-by-price.js +17 -17
  577. package/indicators/volume-by-price.js.map +1 -1
  578. package/indicators/volume-by-price.src.js +14 -5
  579. package/indicators/vwap.js +5 -5
  580. package/indicators/vwap.js.map +1 -1
  581. package/indicators/vwap.src.js +30 -9
  582. package/indicators/williams-r.js +6 -5
  583. package/indicators/williams-r.js.map +1 -1
  584. package/indicators/williams-r.src.js +11 -2
  585. package/indicators/wma.js +5 -5
  586. package/indicators/wma.js.map +1 -1
  587. package/indicators/wma.src.js +11 -2
  588. package/indicators/zigzag.js +6 -6
  589. package/indicators/zigzag.js.map +1 -1
  590. package/indicators/zigzag.src.js +11 -2
  591. package/lib/jspdf.js +299 -184
  592. package/lib/jspdf.src.js +25266 -18067
  593. package/lib/svg2pdf.js +35 -31
  594. package/lib/svg2pdf.src.js +5721 -4179
  595. package/modules/accessibility.d.ts +0 -35
  596. package/modules/accessibility.js +232 -226
  597. package/modules/accessibility.js.map +1 -1
  598. package/modules/accessibility.src.d.ts +0 -35
  599. package/modules/accessibility.src.js +792 -613
  600. package/modules/annotations-advanced.js +175 -175
  601. package/modules/annotations-advanced.js.map +1 -1
  602. package/modules/annotations-advanced.src.js +175 -129
  603. package/modules/annotations.js +124 -124
  604. package/modules/annotations.js.map +1 -1
  605. package/modules/annotations.src.js +130 -102
  606. package/modules/arc-diagram.js +25 -0
  607. package/modules/arc-diagram.js.map +1 -0
  608. package/modules/arc-diagram.src.js +770 -0
  609. package/modules/arrow-symbols.js +4 -3
  610. package/modules/arrow-symbols.js.map +1 -1
  611. package/modules/arrow-symbols.src.js +11 -2
  612. package/modules/boost-canvas.js +15 -15
  613. package/modules/boost-canvas.js.map +1 -1
  614. package/modules/boost-canvas.src.js +11 -2
  615. package/modules/boost.js +80 -79
  616. package/modules/boost.js.map +1 -1
  617. package/modules/boost.src.js +103 -85
  618. package/modules/broken-axis.js +13 -13
  619. package/modules/broken-axis.js.map +1 -1
  620. package/modules/broken-axis.src.js +28 -13
  621. package/modules/bullet.js +9 -9
  622. package/modules/bullet.js.map +1 -1
  623. package/modules/bullet.src.js +11 -2
  624. package/modules/coloraxis.js +24 -24
  625. package/modules/coloraxis.js.map +1 -1
  626. package/modules/coloraxis.src.js +42 -13
  627. package/modules/current-date-indicator.js +5 -4
  628. package/modules/current-date-indicator.js.map +1 -1
  629. package/modules/current-date-indicator.src.js +11 -2
  630. package/modules/cylinder.js +11 -11
  631. package/modules/cylinder.js.map +1 -1
  632. package/modules/cylinder.src.js +47 -6
  633. package/modules/data.d.ts +6 -6
  634. package/modules/data.js +34 -33
  635. package/modules/data.js.map +1 -1
  636. package/modules/data.src.d.ts +6 -6
  637. package/modules/data.src.js +68 -84
  638. package/modules/datagrouping.js +21 -20
  639. package/modules/datagrouping.js.map +1 -1
  640. package/modules/datagrouping.src.js +38 -19
  641. package/modules/debugger.js +6 -6
  642. package/modules/debugger.js.map +1 -1
  643. package/modules/debugger.src.js +11 -2
  644. package/modules/dependency-wheel.js +12 -11
  645. package/modules/dependency-wheel.js.map +1 -1
  646. package/modules/dependency-wheel.src.js +15 -6
  647. package/modules/dotplot.js +6 -6
  648. package/modules/dotplot.js.map +1 -1
  649. package/modules/dotplot.src.js +11 -2
  650. package/modules/drag-panes.js +10 -10
  651. package/modules/drag-panes.js.map +1 -1
  652. package/modules/drag-panes.src.js +11 -2
  653. package/modules/draggable-points.js +35 -34
  654. package/modules/draggable-points.js.map +1 -1
  655. package/modules/draggable-points.src.js +27 -17
  656. package/modules/drilldown.d.ts +19 -0
  657. package/modules/drilldown.js +37 -25
  658. package/modules/drilldown.js.map +1 -1
  659. package/modules/drilldown.src.d.ts +19 -0
  660. package/modules/drilldown.src.js +1091 -101
  661. package/modules/dumbbell.js +17 -17
  662. package/modules/dumbbell.js.map +1 -1
  663. package/modules/dumbbell.src.js +11 -6
  664. package/modules/export-data.js +22 -21
  665. package/modules/export-data.js.map +1 -1
  666. package/modules/export-data.src.js +17 -7
  667. package/modules/exporting.js +39 -39
  668. package/modules/exporting.js.map +1 -1
  669. package/modules/exporting.src.js +114 -62
  670. package/modules/full-screen.js +8 -7
  671. package/modules/full-screen.js.map +1 -1
  672. package/modules/full-screen.src.js +15 -5
  673. package/modules/funnel.js +12 -12
  674. package/modules/funnel.js.map +1 -1
  675. package/modules/funnel.src.js +11 -2
  676. package/modules/funnel3d.js +21 -21
  677. package/modules/funnel3d.js.map +1 -1
  678. package/modules/funnel3d.src.js +27 -11
  679. package/modules/gantt.js +217 -217
  680. package/modules/gantt.js.map +1 -1
  681. package/modules/gantt.src.js +241 -230
  682. package/modules/grid-axis.js +23 -23
  683. package/modules/grid-axis.js.map +1 -1
  684. package/modules/grid-axis.src.js +46 -27
  685. package/modules/heatmap.js +40 -39
  686. package/modules/heatmap.js.map +1 -1
  687. package/modules/heatmap.src.js +119 -117
  688. package/modules/heikinashi.js +8 -8
  689. package/modules/heikinashi.js.map +1 -1
  690. package/modules/heikinashi.src.js +19 -8
  691. package/modules/histogram-bellcurve.js +13 -13
  692. package/modules/histogram-bellcurve.js.map +1 -1
  693. package/modules/histogram-bellcurve.src.js +17 -7
  694. package/modules/hollowcandlestick.js +9 -9
  695. package/modules/hollowcandlestick.js.map +1 -1
  696. package/modules/hollowcandlestick.src.js +31 -26
  697. package/modules/item-series.js +12 -12
  698. package/modules/item-series.js.map +1 -1
  699. package/modules/item-series.src.js +16 -7
  700. package/modules/lollipop.js +7 -7
  701. package/modules/lollipop.js.map +1 -1
  702. package/modules/lollipop.src.js +12 -3
  703. package/modules/map.d.ts +82 -43
  704. package/modules/map.js +169 -144
  705. package/modules/map.js.map +1 -1
  706. package/modules/map.src.d.ts +82 -43
  707. package/modules/map.src.js +8003 -6739
  708. package/modules/marker-clusters.js +36 -36
  709. package/modules/marker-clusters.js.map +1 -1
  710. package/modules/marker-clusters.src.js +50 -24
  711. package/modules/networkgraph.d.ts +5 -0
  712. package/modules/networkgraph.js +49 -48
  713. package/modules/networkgraph.js.map +1 -1
  714. package/modules/networkgraph.src.d.ts +5 -0
  715. package/modules/networkgraph.src.js +87 -48
  716. package/modules/no-data-to-display.js +5 -5
  717. package/modules/no-data-to-display.js.map +1 -1
  718. package/modules/no-data-to-display.src.js +11 -2
  719. package/modules/offline-exporting.js +20 -18
  720. package/modules/offline-exporting.js.map +1 -1
  721. package/modules/offline-exporting.src.js +149 -53
  722. package/modules/oldie-polyfills.js +7 -7
  723. package/modules/oldie-polyfills.js.map +1 -1
  724. package/modules/oldie-polyfills.src.js +11 -2
  725. package/modules/oldie.js +30 -30
  726. package/modules/oldie.js.map +1 -1
  727. package/modules/oldie.src.js +29 -80
  728. package/modules/organization.js +16 -14
  729. package/modules/organization.js.map +1 -1
  730. package/modules/organization.src.js +168 -32
  731. package/modules/overlapping-datalabels.js +3 -2
  732. package/modules/overlapping-datalabels.js.map +1 -1
  733. package/modules/overlapping-datalabels.src.js +11 -2
  734. package/modules/parallel-coordinates.js +11 -11
  735. package/modules/parallel-coordinates.js.map +1 -1
  736. package/modules/parallel-coordinates.src.js +16 -5
  737. package/modules/pareto.js +7 -7
  738. package/modules/pareto.js.map +1 -1
  739. package/modules/pareto.src.js +11 -2
  740. package/modules/pathfinder.js +31 -31
  741. package/modules/pathfinder.js.map +1 -1
  742. package/modules/pathfinder.src.js +31 -21
  743. package/modules/pattern-fill.js +14 -14
  744. package/modules/pattern-fill.js.map +1 -1
  745. package/modules/pattern-fill.src.js +28 -13
  746. package/modules/price-indicator.js +5 -5
  747. package/modules/price-indicator.js.map +1 -1
  748. package/modules/price-indicator.src.js +13 -3
  749. package/modules/pyramid3d.js +4 -4
  750. package/modules/pyramid3d.js.map +1 -1
  751. package/modules/pyramid3d.src.js +13 -3
  752. package/modules/sankey.d.ts +5 -0
  753. package/modules/sankey.js +32 -29
  754. package/modules/sankey.js.map +1 -1
  755. package/modules/sankey.src.d.ts +5 -0
  756. package/modules/sankey.src.js +340 -156
  757. package/modules/series-label.js +18 -17
  758. package/modules/series-label.js.map +1 -1
  759. package/modules/series-label.src.js +12 -3
  760. package/modules/solid-gauge.js +10 -10
  761. package/modules/solid-gauge.js.map +1 -1
  762. package/modules/solid-gauge.src.js +27 -3
  763. package/modules/sonification.js +59 -59
  764. package/modules/sonification.js.map +1 -1
  765. package/modules/sonification.src.js +131 -104
  766. package/modules/static-scale.js +5 -4
  767. package/modules/static-scale.js.map +1 -1
  768. package/modules/static-scale.src.js +11 -2
  769. package/modules/stock-tools.js +107 -107
  770. package/modules/stock-tools.js.map +1 -1
  771. package/modules/stock-tools.src.js +137 -98
  772. package/modules/stock.js +162 -162
  773. package/modules/stock.js.map +1 -1
  774. package/modules/stock.src.js +257 -258
  775. package/modules/streamgraph.js +5 -4
  776. package/modules/streamgraph.js.map +1 -1
  777. package/modules/streamgraph.src.js +11 -2
  778. package/modules/sunburst.d.ts +3 -0
  779. package/modules/sunburst.js +73 -61
  780. package/modules/sunburst.js.map +1 -1
  781. package/modules/sunburst.src.d.ts +3 -0
  782. package/modules/sunburst.src.js +1128 -205
  783. package/modules/tilemap.js +17 -17
  784. package/modules/tilemap.js.map +1 -1
  785. package/modules/tilemap.src.js +11 -11
  786. package/modules/timeline.js +18 -18
  787. package/modules/timeline.js.map +1 -1
  788. package/modules/timeline.src.js +11 -2
  789. package/modules/treegrid.js +57 -56
  790. package/modules/treegrid.js.map +1 -1
  791. package/modules/treegrid.src.js +106 -58
  792. package/modules/treemap.d.ts +3 -0
  793. package/modules/treemap.js +53 -41
  794. package/modules/treemap.js.map +1 -1
  795. package/modules/treemap.src.d.ts +3 -0
  796. package/modules/treemap.src.js +1113 -200
  797. package/modules/variable-pie.js +9 -9
  798. package/modules/variable-pie.js.map +1 -1
  799. package/modules/variable-pie.src.js +11 -2
  800. package/modules/variwide.js +12 -12
  801. package/modules/variwide.js.map +1 -1
  802. package/modules/variwide.src.js +17 -4
  803. package/modules/vector.js +8 -7
  804. package/modules/vector.js.map +1 -1
  805. package/modules/vector.src.js +11 -2
  806. package/modules/venn.js +31 -31
  807. package/modules/venn.js.map +1 -1
  808. package/modules/venn.src.js +34 -23
  809. package/modules/windbarb.js +15 -15
  810. package/modules/windbarb.js.map +1 -1
  811. package/modules/windbarb.src.js +11 -2
  812. package/modules/wordcloud.js +23 -23
  813. package/modules/wordcloud.js.map +1 -1
  814. package/modules/wordcloud.src.js +26 -18
  815. package/modules/xrange.js +16 -16
  816. package/modules/xrange.js.map +1 -1
  817. package/modules/xrange.src.js +21 -34
  818. package/package.json +1 -1
  819. package/themes/avocado.js +4 -3
  820. package/themes/avocado.js.map +1 -1
  821. package/themes/avocado.src.js +11 -2
  822. package/themes/brand-dark.js +16 -0
  823. package/themes/brand-dark.js.map +1 -0
  824. package/themes/brand-dark.src.js +337 -0
  825. package/themes/brand-light.js +15 -0
  826. package/themes/brand-light.js.map +1 -0
  827. package/themes/brand-light.src.js +303 -0
  828. package/themes/dark-blue.js +9 -8
  829. package/themes/dark-blue.js.map +1 -1
  830. package/themes/dark-blue.src.js +11 -2
  831. package/themes/dark-green.js +9 -8
  832. package/themes/dark-green.js.map +1 -1
  833. package/themes/dark-green.src.js +11 -2
  834. package/themes/dark-unica.js +8 -7
  835. package/themes/dark-unica.js.map +1 -1
  836. package/themes/dark-unica.src.js +15 -4
  837. package/themes/gray.js +9 -8
  838. package/themes/gray.js.map +1 -1
  839. package/themes/gray.src.js +11 -2
  840. package/themes/grid-light.js +5 -4
  841. package/themes/grid-light.js.map +1 -1
  842. package/themes/grid-light.src.js +15 -4
  843. package/themes/grid.js +5 -5
  844. package/themes/grid.js.map +1 -1
  845. package/themes/grid.src.js +15 -4
  846. package/themes/high-contrast-dark.js +7 -7
  847. package/themes/high-contrast-dark.js.map +1 -1
  848. package/themes/high-contrast-dark.src.js +21 -12
  849. package/themes/high-contrast-light.js +3 -3
  850. package/themes/high-contrast-light.js.map +1 -1
  851. package/themes/high-contrast-light.src.js +21 -12
  852. package/themes/sand-signika.js +5 -5
  853. package/themes/sand-signika.js.map +1 -1
  854. package/themes/sand-signika.src.js +11 -2
  855. package/themes/skies.js +5 -5
  856. package/themes/skies.js.map +1 -1
  857. package/themes/skies.src.js +11 -2
  858. package/themes/sunset.js +3 -3
  859. package/themes/sunset.js.map +1 -1
  860. package/themes/sunset.src.js +11 -2
  861. package/es-modules/Maps/ProjectionDefinition.js +0 -9
  862. package/es-modules/Series/ColorMapComposition.js +0 -109
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highstock JS v9.3.1 (2021-11-05)
2
+ * @license Highstock JS v10.0.0 (2022-03-07)
3
3
  *
4
4
  * Highcharts Stock as a plugin for Highcharts
5
5
  *
@@ -7,7 +7,6 @@
7
7
  *
8
8
  * License: www.highcharts.com/license
9
9
  */
10
- 'use strict';
11
10
  (function (factory) {
12
11
  if (typeof module === 'object' && module.exports) {
13
12
  factory['default'] = factory;
@@ -22,10 +21,20 @@
22
21
  factory(typeof Highcharts !== 'undefined' ? Highcharts : undefined);
23
22
  }
24
23
  }(function (Highcharts) {
24
+ 'use strict';
25
25
  var _modules = Highcharts ? Highcharts._modules : {};
26
26
  function _registerModule(obj, path, args, fn) {
27
27
  if (!obj.hasOwnProperty(path)) {
28
28
  obj[path] = fn.apply(null, args);
29
+
30
+ if (typeof CustomEvent === 'function') {
31
+ window.dispatchEvent(
32
+ new CustomEvent(
33
+ 'HighchartsModuleLoaded',
34
+ { detail: { path: path, module: obj[path] }
35
+ })
36
+ );
37
+ }
29
38
  }
30
39
  }
31
40
  _registerModule(_modules, 'Core/Axis/OrdinalAxis.js', [_modules['Core/Axis/Axis.js'], _modules['Core/Globals.js'], _modules['Core/Series/Series.js'], _modules['Core/Utilities.js']], function (Axis, H, Series, U) {
@@ -250,12 +259,12 @@
250
259
  while (i--) {
251
260
  translated = translatedArr[i];
252
261
  distance = Math.abs(lastTranslated - translated);
253
- // #4175 - when axis is reversed, the distance, is negative
254
- // but tickPixelIntervalOption positive, so we need to
255
- // compare the same values
262
+ // #4175 - when axis is reversed, the distance, is negative but
263
+ // tickPixelIntervalOption positive, so we need to compare the
264
+ // same values
256
265
  // Remove ticks that are closer than 0.6 times the pixel
257
- // interval from the one to the right, but not if it is
258
- // close to the median distance (#748).
266
+ // interval from the one to the right, but not if it is close to
267
+ // the median distance (#748).
259
268
  if (lastTranslated &&
260
269
  distance < tickPixelIntervalOption * 0.8 &&
261
270
  (medianDistance === null || distance < medianDistance * 0.8)) {
@@ -287,11 +296,8 @@
287
296
  *
288
297
  * @private
289
298
  * @function Highcharts.Axis#index2val
290
- *
291
299
  * @param {number} index
292
- * The index value of searched point
293
- *
294
- * @return {number}
300
+ * The index value of searched point
295
301
  */
296
302
  function index2val(index) {
297
303
  var axis = this,
@@ -328,11 +334,8 @@
328
334
  *
329
335
  * @private
330
336
  * @function Highcharts.Axis#lin2val
331
- *
332
337
  * @param {number} val
333
- * The linear abstracted value.
334
- *
335
- * @return {number}
338
+ * The linear abstracted value.
336
339
  */
337
340
  function lin2val(val) {
338
341
  var axis = this,
@@ -345,37 +348,37 @@
345
348
  return val;
346
349
  }
347
350
  // Convert back from modivied value to pixels. // #15970
348
- var pixelVal = (val - localMin) * localA + axis.minPixelPadding,
351
+ var pixelVal = (val - localMin) * localA +
352
+ axis.minPixelPadding,
349
353
  isInside = pixelVal > 0 && pixelVal < axis.left + axis.len;
350
- // If the value is not inside the plot area,
351
- // use the extended positions.
354
+ // If the value is not inside the plot area, use the extended positions.
352
355
  // (array contains also points that are outside of the plotArea).
353
356
  if (!isInside) {
354
357
  // When iterating for the first time,
355
358
  // get the extended ordinal positional and assign them.
356
359
  if (!ordinal.extendedOrdinalPositions) {
357
- ordinal.extendedOrdinalPositions = ordinal.getExtendedPositions();
360
+ ordinal.extendedOrdinalPositions = (ordinal.getExtendedPositions());
358
361
  }
359
362
  positions = ordinal.extendedOrdinalPositions;
360
363
  }
361
- // In some cases (especially in early stages of the chart creation)
362
- // the getExtendedPositions might return undefined.
364
+ // In some cases (especially in early stages of the chart creation) the
365
+ // getExtendedPositions might return undefined.
363
366
  if (positions && positions.length) {
364
367
  var index = ordinal.getIndexOfPoint(pixelVal,
365
368
  positions),
366
369
  mantissa = correctFloat(index % 1);
367
- // Check if the index is inside position array.
368
- // If true, read/approximate value for that exact index.
370
+ // Check if the index is inside position array. If true,
371
+ // read/approximate value for that exact index.
369
372
  if (index >= 0 && index < positions.length - 1) {
370
373
  var leftNeighbour = positions[Math.floor(index)],
371
374
  rightNeighbour = positions[Math.ceil(index)],
372
375
  distance = rightNeighbour - leftNeighbour;
373
376
  return positions[Math.floor(index)] + mantissa * distance;
374
377
  }
375
- // For cases when the index is not in the extended ordinal
376
- // position array, like when the value we are looking
377
- // for exceed the available data,
378
- // approximate that value based on the calculated slope.
378
+ // For cases when the index is not in the extended ordinal position
379
+ // array, like when the value we are looking for exceed the
380
+ // available data, approximate that value based on the calculated
381
+ // slope.
379
382
  var positionsLength = positions.length,
380
383
  firstPositionsValue = positions[0],
381
384
  lastPositionsValue = positions[positionsLength - 1],
@@ -388,8 +391,8 @@
388
391
  return val;
389
392
  }
390
393
  /**
391
- * Internal function to calculate the precise index
392
- * in ordinalPositions array.
394
+ * Internal function to calculate the precise index in ordinalPositions
395
+ * array.
393
396
  * @private
394
397
  */
395
398
  function getIndexInArray(ordinalPositions, val) {
@@ -487,7 +490,11 @@
487
490
  // how many ordinal units did we move?
488
491
  movedUnits = (mouseDownX - chartX) / pointPixelWidth,
489
492
  // get index of all the chart's points
490
- extendedAxis = { ordinal: { positions: xAxis.ordinal.getExtendedPositions() } },
493
+ extendedAxis = {
494
+ ordinal: {
495
+ positions: xAxis.ordinal.getExtendedPositions()
496
+ }
497
+ },
491
498
  index2val_1 = xAxis.index2val,
492
499
  val2lin_1 = xAxis.val2lin;
493
500
  var trimmedRange = void 0,
@@ -507,37 +514,41 @@
507
514
  }
508
515
  if (movedUnits < 0) {
509
516
  searchAxisLeft = extendedAxis;
510
- searchAxisRight = xAxis.ordinal.positions ? xAxis : extendedAxis;
517
+ searchAxisRight = xAxis.ordinal.positions ?
518
+ xAxis : extendedAxis;
511
519
  }
512
520
  else {
513
- searchAxisLeft = xAxis.ordinal.positions ? xAxis : extendedAxis;
521
+ searchAxisLeft = xAxis.ordinal.positions ?
522
+ xAxis : extendedAxis;
514
523
  searchAxisRight = extendedAxis;
515
524
  }
516
- // In grouped data series, the last ordinal position
517
- // represents the grouped data, which is to the left of the
518
- // real data max. If we don't compensate for this, we will
519
- // be allowed to pan grouped data series passed the right of
520
- // the plot area.
525
+ // In grouped data series, the last ordinal position represents
526
+ // the grouped data, which is to the left of the real data max.
527
+ // If we don't compensate for this, we will be allowed to pan
528
+ // grouped data series passed the right of the plot area.
521
529
  ordinalPositions = searchAxisRight.ordinal.positions;
522
530
  if (dataMax >
523
531
  ordinalPositions[ordinalPositions.length - 1]) {
524
532
  ordinalPositions.push(dataMax);
525
533
  }
526
- // Get the new min and max values by getting the ordinal
527
- // index for the current extreme, then add the moved units
528
- // and translate back to values. This happens on the
529
- // extended ordinal positions if the new position is out of
530
- // range, else it happens on the current x axis which is
531
- // smaller and faster.
534
+ // Get the new min and max values by getting the ordinal index
535
+ // for the current extreme, then add the moved units and
536
+ // translate back to values. This happens on the extended
537
+ // ordinal positions if the new position is out of range, else
538
+ // it happens on the current x axis which is smaller and faster.
532
539
  chart.fixedRange = max - min;
533
- trimmedRange = xAxis.navigatorAxis.toFixedRange(null, null, index2val_1.apply(searchAxisLeft, [
534
- val2lin_1.apply(searchAxisLeft, [min, true]) + movedUnits
540
+ trimmedRange = xAxis.navigatorAxis
541
+ .toFixedRange(void 0, void 0, index2val_1.apply(searchAxisLeft, [
542
+ val2lin_1.apply(searchAxisLeft, [min, true]) +
543
+ movedUnits
535
544
  ]), index2val_1.apply(searchAxisRight, [
536
- val2lin_1.apply(searchAxisRight, [max, true]) + movedUnits
545
+ val2lin_1.apply(searchAxisRight, [max, true]) +
546
+ movedUnits
537
547
  ]));
538
548
  // Apply it if it is within the available data range
539
549
  if (trimmedRange.min >= Math.min(extremes.dataMin, min) &&
540
- trimmedRange.max <= Math.max(dataMax, max) + overscroll) {
550
+ trimmedRange.max <= Math.max(dataMax, max) +
551
+ overscroll) {
541
552
  xAxis.setExtremes(trimmedRange.min, trimmedRange.max, true, false, { trigger: 'pan' });
542
553
  }
543
554
  chart.mouseDownX = chartX; // set new reference for next run
@@ -577,14 +588,10 @@
577
588
  *
578
589
  * @private
579
590
  * @function Highcharts.Axis#val2lin
580
- *
581
591
  * @param {number} val
582
592
  * The axis value.
583
- *
584
593
  * @param {boolean} [toIndex]
585
594
  * Whether to return the index in the ordinalPositions or the new value.
586
- *
587
- * @return {number}
588
595
  */
589
596
  function val2lin(val, toIndex) {
590
597
  var axis = this,
@@ -631,7 +638,8 @@
631
638
  val <=
632
639
  extendedOrdinalPositions[length_2 - 1]) {
633
640
  // Return Value
634
- ordinalIndex = getIndexInArray(extendedOrdinalPositions, val) - originalPositionsReference;
641
+ ordinalIndex = getIndexInArray(extendedOrdinalPositions, val) -
642
+ originalPositionsReference;
635
643
  }
636
644
  else {
637
645
  // Since ordinal.slope is the average distance between 2
@@ -713,7 +721,9 @@
713
721
  axis.series.forEach(function (series, i) {
714
722
  uniqueOrdinalPositions = [];
715
723
  if ((!ignoreHiddenSeries || series.visible !== false) &&
716
- (series.takeOrdinalPosition !== false || hasBreaks)) {
724
+ (series
725
+ .takeOrdinalPosition !== false ||
726
+ hasBreaks)) {
717
727
  // concatenate the processed X data into the existing
718
728
  // positions, or the empty array
719
729
  ordinalPositions = ordinalPositions.concat(series.processedXData);
@@ -729,13 +739,15 @@
729
739
  if (len) {
730
740
  i = 0;
731
741
  while (i < len - 1) {
732
- if (ordinalPositions[i] !== ordinalPositions[i + 1]) {
742
+ if (ordinalPositions[i] !==
743
+ ordinalPositions[i + 1]) {
733
744
  uniqueOrdinalPositions.push(ordinalPositions[i + 1]);
734
745
  }
735
746
  i++;
736
747
  }
737
748
  // Check first item:
738
- if (uniqueOrdinalPositions[0] !== ordinalPositions[0]) {
749
+ if (uniqueOrdinalPositions[0] !==
750
+ ordinalPositions[0]) {
739
751
  uniqueOrdinalPositions.unshift(ordinalPositions[0]);
740
752
  }
741
753
  ordinalPositions = uniqueOrdinalPositions;
@@ -751,7 +763,8 @@
751
763
  dist = ordinalPositions[1] - ordinalPositions[0];
752
764
  i = len - 1;
753
765
  while (i-- && !useOrdinal) {
754
- if (ordinalPositions[i + 1] - ordinalPositions[i] !== dist) {
766
+ if (ordinalPositions[i + 1] - ordinalPositions[i] !==
767
+ dist) {
755
768
  useOrdinal = true;
756
769
  }
757
770
  }
@@ -760,8 +773,8 @@
760
773
  // spaced.
761
774
  if (!axis.options.keepOrdinalPadding &&
762
775
  (ordinalPositions[0] - min > dist ||
763
- max - ordinalPositions[ordinalPositions.length - 1] >
764
- dist)) {
776
+ (max -
777
+ ordinalPositions[ordinalPositions.length - 1]) > dist)) {
765
778
  useOrdinal = true;
766
779
  }
767
780
  }
@@ -939,9 +952,10 @@
939
952
  fakeAxis.series.push(fakeSeries);
940
953
  series.processData.apply(fakeSeries);
941
954
  });
942
- // Force to use the ordinal when points are evenly spaced
943
- // (e.g. weeks), #3825.
944
- if (fakeSeries.closestPointRange !== fakeSeries.basePointRange &&
955
+ // Force to use the ordinal when points are evenly spaced (e.g.
956
+ // weeks), #3825.
957
+ if ((fakeSeries.closestPointRange !==
958
+ fakeSeries.basePointRange) &&
945
959
  fakeSeries.currentDataGrouping) {
946
960
  fakeAxis.forceOrdinal = true;
947
961
  }
@@ -989,8 +1003,8 @@
989
1003
  if (!groupIntervalFactor) {
990
1004
  // Register all the distances in an array
991
1005
  for (i = 0; i < len - 1; i++) {
992
- distances[i] =
993
- processedXData[i + 1] - processedXData[i];
1006
+ distances[i] = (processedXData[i + 1] -
1007
+ processedXData[i]);
994
1008
  }
995
1009
  // Sort them and find the median
996
1010
  distances.sort(function (a, b) {
@@ -1012,15 +1026,12 @@
1012
1026
  *
1013
1027
  * @private
1014
1028
  * @param {number} val
1015
- * The pixel value of a point.
1029
+ * The pixel value of a point.
1016
1030
  *
1017
1031
  * @param {Array<number>} [ordinallArray]
1018
- * An array of all points available on the axis
1019
- * for the given data set.
1020
- * Either ordinalPositions if the value is inside the plotArea
1021
- * or extendedOrdinalPositions if not.
1022
- *
1023
- * @return {number}
1032
+ * An array of all points available on the axis for the given data set.
1033
+ * Either ordinalPositions if the value is inside the plotArea or
1034
+ * extendedOrdinalPositions if not.
1024
1035
  */
1025
1036
  Additions.prototype.getIndexOfPoint = function (val, ordinalArray) {
1026
1037
  var ordinal = this,
@@ -1041,10 +1052,11 @@
1041
1052
  }
1042
1053
  });
1043
1054
  }
1044
- // Distance in pixels between two points
1045
- // on the ordinal axis in the current zoom.
1046
- var ordinalPointPixelInterval = axis.translationSlope *
1047
- (ordinal.slope || axis.closestPointRange || ordinal.overscrollPointsRange),
1055
+ // Distance in pixels between two points on the ordinal axis in the
1056
+ // current zoom.
1057
+ var ordinalPointPixelInterval = axis.translationSlope * (ordinal.slope ||
1058
+ axis.closestPointRange ||
1059
+ ordinal.overscrollPointsRange),
1048
1060
  // toValue for the first point.
1049
1061
  shiftIndex = (val - firstPointX) / ordinalPointPixelInterval;
1050
1062
  return Additions.findIndexOf(ordinalArray, firstPointVal) + shiftIndex;
@@ -1080,19 +1092,20 @@
1080
1092
  * @private
1081
1093
  */
1082
1094
  Additions.prototype.postProcessTickInterval = function (tickInterval) {
1083
- // Problem: https://jsfiddle.net/highcharts/FQm4E/1/
1084
- // This is a case where this algorithm doesn't work optimally. In
1085
- // this case, the tick labels are spread out per week, but all the
1086
- // gaps reside within weeks. So we have a situation where the labels
1087
- // are courser than the ordinal gaps, and thus the tick interval
1088
- // should not be altered.
1095
+ // Problem: https://jsfiddle.net/highcharts/FQm4E/1/. This is a case
1096
+ // where this algorithm doesn't work optimally. In this case, the
1097
+ // tick labels are spread out per week, but all the gaps reside
1098
+ // within weeks. So we have a situation where the labels are courser
1099
+ // than the ordinal gaps, and thus the tick interval should not be
1100
+ // altered.
1089
1101
  var ordinal = this,
1090
1102
  axis = ordinal.axis,
1091
1103
  ordinalSlope = ordinal.slope;
1092
1104
  var ret;
1093
1105
  if (ordinalSlope) {
1094
1106
  if (!axis.options.breaks) {
1095
- ret = tickInterval / (ordinalSlope / axis.closestPointRange);
1107
+ ret = (tickInterval /
1108
+ (ordinalSlope / axis.closestPointRange));
1096
1109
  }
1097
1110
  else {
1098
1111
  ret = axis.closestPointRange || tickInterval; // #7275
@@ -1610,6 +1623,7 @@
1610
1623
  * @type {string}
1611
1624
  * @since 1.0.1
1612
1625
  * @product highstock
1626
+ * @validvalue ["percent", "value"]
1613
1627
  * @apioption plotOptions.series.compare
1614
1628
  */
1615
1629
  /**
@@ -1849,8 +1863,11 @@
1849
1863
  (threshold > brk.from && y < brk.from)) {
1850
1864
  eventName = 'pointBreak';
1851
1865
  }
1852
- else if ((threshold < brk.from && y > brk.from && y < brk.to) ||
1853
- (threshold > brk.from && y > brk.to && y < brk.from)) {
1866
+ else if ((threshold < brk.from &&
1867
+ y > brk.from &&
1868
+ y < brk.to) || (threshold > brk.from &&
1869
+ y > brk.to &&
1870
+ y < brk.from)) {
1854
1871
  eventName = 'pointInBreak';
1855
1872
  }
1856
1873
  if (eventName) {
@@ -1969,12 +1986,9 @@
1969
1986
  isNull: true,
1970
1987
  x: xRange
1971
1988
  });
1972
- // For stacked chart generate empty stack items,
1973
- // #6546
1989
+ // For stacked chart generate empty stack items, #6546
1974
1990
  if (yAxis.stacking && this.options.stacking) {
1975
- stack = yAxis.stacking.stacks[this.stackKey][xRange] =
1976
- new StackItem(yAxis, yAxis.options
1977
- .stackLabels, false, xRange, this.stack);
1991
+ stack = yAxis.stacking.stacks[this.stackKey][xRange] = new StackItem(yAxis, yAxis.options.stackLabels, false, xRange, this.stack);
1978
1992
  stack.total = 0;
1979
1993
  }
1980
1994
  }
@@ -2211,10 +2225,12 @@
2211
2225
  repeat_1 = brk.repeat || Infinity;
2212
2226
  if (isNumber(min_1) && isNumber(max_1)) {
2213
2227
  if (Additions.isInBreak(brk, min_1)) {
2214
- min_1 += (brk.to % repeat_1) - (min_1 % repeat_1);
2228
+ min_1 += ((brk.to % repeat_1) -
2229
+ (min_1 % repeat_1));
2215
2230
  }
2216
2231
  if (Additions.isInBreak(brk, max_1)) {
2217
- max_1 -= (max_1 % repeat_1) - (brk.from % repeat_1);
2232
+ max_1 -= ((max_1 % repeat_1) -
2233
+ (brk.from % repeat_1));
2218
2234
  }
2219
2235
  }
2220
2236
  });
@@ -2262,13 +2278,17 @@
2262
2278
  to: brk.value,
2263
2279
  len: brk.value - start_1 - (brk.size || 0)
2264
2280
  });
2265
- length_1 += brk.value - start_1 - (brk.size || 0);
2281
+ length_1 += (brk.value -
2282
+ start_1 -
2283
+ (brk.size || 0));
2266
2284
  }
2267
2285
  });
2268
2286
  brokenAxis.breakArray = breakArray_1;
2269
2287
  // Used with staticScale, and below the actual axis
2270
2288
  // length, when breaks are substracted.
2271
- if (isNumber(min_1) && isNumber(max_1) && isNumber(axis.min)) {
2289
+ if (isNumber(min_1) &&
2290
+ isNumber(max_1) &&
2291
+ isNumber(axis.min)) {
2272
2292
  brokenAxis.unitLength = max_1 - min_1 - length_1 +
2273
2293
  pointRangePadding;
2274
2294
  fireEvent(axis, 'afterBreaks');
@@ -2551,13 +2571,17 @@
2551
2571
  groupedXData = groupedData.groupedXData,
2552
2572
  groupedYData = groupedData.groupedYData,
2553
2573
  gapSize = 0;
2554
- // The smoothed option is deprecated, instead,
2555
- // there is a fallback to the new anchoring mechanism. #12455.
2556
- if (dataGroupingOptions && dataGroupingOptions.smoothed && groupedXData.length) {
2574
+ // The smoothed option is deprecated, instead, there is a fallback
2575
+ // to the new anchoring mechanism. #12455.
2576
+ if (dataGroupingOptions &&
2577
+ dataGroupingOptions.smoothed &&
2578
+ groupedXData.length) {
2557
2579
  dataGroupingOptions.firstAnchor = 'firstPoint';
2558
2580
  dataGroupingOptions.anchor = 'middle';
2559
2581
  dataGroupingOptions.lastAnchor = 'lastPoint';
2560
- error(32, false, chart, { 'dataGrouping.smoothed': 'use dataGrouping.anchor' });
2582
+ error(32, false, chart, {
2583
+ 'dataGrouping.smoothed': 'use dataGrouping.anchor'
2584
+ });
2561
2585
  }
2562
2586
  anchorPoints(series, groupedXData, xMax);
2563
2587
  // Record what data grouping values were used
@@ -2634,7 +2658,8 @@
2634
2658
  pointArrayMap = series.pointArrayMap,
2635
2659
  pointArrayMapLength = pointArrayMap && pointArrayMap.length,
2636
2660
  extendedPointArrayMap = ['x'].concat(pointArrayMap || ['y']),
2637
- groupAll = this.options.dataGrouping && this.options.dataGrouping.groupAll,
2661
+ groupAll = (this.options.dataGrouping &&
2662
+ this.options.dataGrouping.groupAll),
2638
2663
  pos = 0,
2639
2664
  start = 0,
2640
2665
  valuesLen,
@@ -2764,7 +2789,7 @@
2764
2789
  xMax) {
2765
2790
  var options = series.options,
2766
2791
  dataGroupingOptions = options.dataGrouping,
2767
- totalRange = series.currentDataGrouping && series.currentDataGrouping.gapSize;
2792
+ totalRange = (series.currentDataGrouping && series.currentDataGrouping.gapSize);
2768
2793
  var i;
2769
2794
  // DataGrouping x-coordinates.
2770
2795
  if (dataGroupingOptions && series.xData && totalRange && series.groupMap) {
@@ -2776,9 +2801,9 @@
2776
2801
  anchor);
2777
2802
  // Anchor points that are not extremes.
2778
2803
  if (anchor && anchor !== 'start') {
2779
- var shiftInterval = totalRange *
2804
+ var shiftInterval = (totalRange *
2780
2805
  { middle: 0.5,
2781
- end: 1 }[anchor];
2806
+ end: 1 }[anchor]);
2782
2807
  i = groupedXData.length - 1;
2783
2808
  while (i-- && i > 0) {
2784
2809
  groupedXData[i] += shiftInterval;
@@ -3044,7 +3069,8 @@
3044
3069
  series.forEach(function (series) {
3045
3070
  // Reset the groupPixelWidth, then calculate if needed.
3046
3071
  series.groupPixelWidth = void 0; // #2110
3047
- series.groupPixelWidth = axis.getGroupPixelWidth && axis.getGroupPixelWidth();
3072
+ series.groupPixelWidth = (axis.getGroupPixelWidth &&
3073
+ axis.getGroupPixelWidth());
3048
3074
  if (series.groupPixelWidth) {
3049
3075
  series.hasProcessed = true; // #2692
3050
3076
  }
@@ -3083,7 +3109,8 @@
3083
3109
  // Execute grouping if the amount of points is greater than the
3084
3110
  // limit defined in groupPixelWidth
3085
3111
  if (series[i].groupPixelWidth ||
3086
- dataLength > (this.chart.plotSizeX / groupPixelWidth) ||
3112
+ (dataLength >
3113
+ (this.chart.plotSizeX / groupPixelWidth)) ||
3087
3114
  (dataLength && dgOptions.forced)) {
3088
3115
  doGrouping = true;
3089
3116
  }
@@ -3128,8 +3155,11 @@
3128
3155
  }
3129
3156
  else {
3130
3157
  this.chart.options.series.forEach(function (seriesOptions) {
3131
- seriesOptions.dataGrouping = dataGrouping;
3132
- }, false);
3158
+ // Merging dataGrouping options with already defined options #16759
3159
+ seriesOptions.dataGrouping = typeof dataGrouping === 'boolean' ?
3160
+ dataGrouping :
3161
+ merge(dataGrouping, seriesOptions.dataGrouping);
3162
+ });
3133
3163
  }
3134
3164
  // Clear ordinal slope, so we won't accidentaly use the old one (#7827)
3135
3165
  if (axis.ordinal) {
@@ -3224,10 +3254,10 @@
3224
3254
  type = this.type,
3225
3255
  plotOptions = this.chart.options.plotOptions,
3226
3256
  defaultOptions = D.defaultOptions.plotOptions[type].dataGrouping,
3227
- // External series, for example technical indicators should also
3228
- // inherit commonOptions which are not available outside this module
3229
- baseOptions = this.useCommonDataGrouping && commonOptions;
3230
- if (specificOptions[type] || baseOptions) { // #1284
3257
+ // External series, for example technical indicators should also inherit
3258
+ // commonOptions which are not available outside this module
3259
+ baseOptions = (this.useCommonDataGrouping && commonOptions);
3260
+ if (plotOptions && (specificOptions[type] || baseOptions)) { // #1284
3231
3261
  if (!defaultOptions) {
3232
3262
  defaultOptions = merge(commonOptions, specificOptions[type]);
3233
3263
  }
@@ -3360,7 +3390,7 @@
3360
3390
  * to two weeks, the second and third item of the week array are used,
3361
3391
  * and applied to the start and end date of the time span.
3362
3392
  *
3363
- * @type {object}
3393
+ * @type {Object}
3364
3394
  * @apioption plotOptions.series.dataGrouping.dateTimeLabelFormats
3365
3395
  */
3366
3396
  /**
@@ -3698,10 +3728,7 @@
3698
3728
  /**
3699
3729
  * Function to create SVGPath of the point based on the
3700
3730
  * plot positions of this point.
3701
- *
3702
- * @param {SVGPath} point
3703
- * @param {SVGElement} graphic
3704
- * @returns {SVGPath}
3731
+ * @private
3705
3732
  */
3706
3733
  HLCSeries.prototype.getPointPath = function (point, graphic) {
3707
3734
  // crisp vector coordinates
@@ -3761,7 +3788,6 @@
3761
3788
  /**
3762
3789
  * @private
3763
3790
  * @function Highcharts.seriesTypes.hlc#init
3764
- * @return {void}
3765
3791
  */
3766
3792
  HLCSeries.prototype.init = function () {
3767
3793
  _super.prototype.init.apply(this, arguments);
@@ -3787,7 +3813,6 @@
3787
3813
  *
3788
3814
  * @private
3789
3815
  * @function Highcharts.seriesTypes.hlc#translate
3790
- * @return {void}
3791
3816
  */
3792
3817
  HLCSeries.prototype.translate = function () {
3793
3818
  var series = this,
@@ -4063,7 +4088,6 @@
4063
4088
  * Extend the parent method by adding up or down to the class name.
4064
4089
  * @private
4065
4090
  * @function Highcharts.seriesTypes.ohlc#getClassName
4066
- * @return {string}
4067
4091
  */
4068
4092
  OHLCPoint.prototype.getClassName = function () {
4069
4093
  return _super.prototype.getClassName.call(this) +
@@ -4238,7 +4262,7 @@
4238
4262
  * @sample stock/demo/ohlc/
4239
4263
  * OHLC chart
4240
4264
  *
4241
- * @extends plotOptions.ohlc
4265
+ * @extends plotOptions.hlc
4242
4266
  * @product highstock
4243
4267
  * @optionparent plotOptions.ohlc
4244
4268
  */
@@ -4386,6 +4410,13 @@
4386
4410
  * @product highstock
4387
4411
  * @apioption series.ohlc.data
4388
4412
  */
4413
+ /**
4414
+ * The closing value of each data point.
4415
+ *
4416
+ * @type {number}
4417
+ * @product highstock
4418
+ * @apioption series.ohlc.data.close
4419
+ */
4389
4420
  /**
4390
4421
  * The opening value of each data point.
4391
4422
  *
@@ -4503,7 +4534,6 @@
4503
4534
  *
4504
4535
  * @private
4505
4536
  * @function Highcharts.seriesTypes.candlestick#drawPoints
4506
- * @return {void}
4507
4537
  */
4508
4538
  CandlestickSeries.prototype.drawPoints = function () {
4509
4539
  var series = this,
@@ -5048,8 +5078,8 @@
5048
5078
  /**
5049
5079
  * Create the circlepin and squarepin icons with anchor.
5050
5080
  * @private
5051
- * @param {string} shape - circle or square
5052
- * @return {void}
5081
+ * @param {string} shape
5082
+ * circle or square
5053
5083
  */
5054
5084
  function createPinSymbol(shape) {
5055
5085
  symbols[(shape + 'pin')] = function (x, y, w, h, options) {
@@ -5852,7 +5882,8 @@
5852
5882
  from = unitedMin + range * (1 - this.to);
5853
5883
  }
5854
5884
  if (this.shouldUpdateExtremes(e.DOMType)) {
5855
- axis.setExtremes(from, to, true, e.DOMType !== 'mousemove' && e.DOMType !== 'touchmove', e);
5885
+ axis.setExtremes(from, to, true, (e.DOMType !== 'mousemove' &&
5886
+ e.DOMType !== 'touchmove'), e);
5856
5887
  }
5857
5888
  else {
5858
5889
  // When live redraw is disabled, don't change extremes
@@ -5869,7 +5900,7 @@
5869
5900
  scrollMin = _a.scrollMin,
5870
5901
  scrollMax = _a.scrollMax,
5871
5902
  scrollbar = axis.scrollbar,
5872
- offset = axis.axisTitleMargin + (axis.titleOffset || 0),
5903
+ offset = (axis.axisTitleMargin + (axis.titleOffset || 0)),
5873
5904
  scrollbarsOffsets = axis.chart.scrollbarsOffsets,
5874
5905
  axisMargin = axis.options.margin || 0,
5875
5906
  offsetsIndex,
@@ -5881,8 +5912,11 @@
5881
5912
  if (!axis.opposite) {
5882
5913
  scrollbarsOffsets[1] += offset;
5883
5914
  }
5884
- scrollbar.position(axis.left, axis.top + axis.height + 2 + scrollbarsOffsets[1] -
5885
- (axis.opposite ? axisMargin : 0), axis.width, axis.height);
5915
+ scrollbar.position(axis.left, (axis.top +
5916
+ axis.height +
5917
+ 2 +
5918
+ scrollbarsOffsets[1] -
5919
+ (axis.opposite ? axisMargin : 0)), axis.width, axis.height);
5886
5920
  // Next scrollbar should reserve space for margin (if set)
5887
5921
  if (!axis.opposite) {
5888
5922
  scrollbarsOffsets[1] += axisMargin;
@@ -5899,7 +5933,10 @@
5899
5933
  xPosition = axis.opposite ? 0 : axisMargin;
5900
5934
  }
5901
5935
  else {
5902
- xPosition = axis.left + axis.width + 2 + scrollbarsOffsets[0] -
5936
+ xPosition = axis.left +
5937
+ axis.width +
5938
+ 2 +
5939
+ scrollbarsOffsets[0] -
5903
5940
  (axis.opposite ? 0 : axisMargin);
5904
5941
  }
5905
5942
  scrollbar.position(xPosition, axis.top, axis.width, axis.height);
@@ -5923,10 +5960,10 @@
5923
5960
  scrollbar.setRange(0, 1);
5924
5961
  }
5925
5962
  else {
5926
- from =
5927
- (axis.min - scrollMin) / (scrollMax - scrollMin);
5928
- to =
5929
- (axis.max - scrollMin) / (scrollMax - scrollMin);
5963
+ from = ((axis.min - scrollMin) /
5964
+ (scrollMax - scrollMin));
5965
+ to = ((axis.max - scrollMin) /
5966
+ (scrollMax - scrollMin));
5930
5967
  if ((axis.horiz && !axis.reversed) ||
5931
5968
  (!axis.horiz && axis.reversed)) {
5932
5969
  scrollbar.setRange(from, to);
@@ -5945,7 +5982,8 @@
5945
5982
  index = axis.horiz ? 2 : opposite ? 3 : 1,
5946
5983
  scrollbar = axis.scrollbar;
5947
5984
  if (scrollbar) {
5948
- axis.chart.scrollbarsOffsets = [0, 0]; // reset scrollbars offsets
5985
+ // reset scrollbars offsets
5986
+ axis.chart.scrollbarsOffsets = [0, 0];
5949
5987
  axis.chart.axisOffset[index] +=
5950
5988
  scrollbar.size + scrollbar.options.margin;
5951
5989
  }
@@ -6312,10 +6350,16 @@
6312
6350
  mouseUpHandler = this.mouseUpHandler.bind(this);
6313
6351
  // Mouse events
6314
6352
  var _events = [
6315
- [buttons[buttonsOrder[0]].element, 'click',
6316
- this.buttonToMinClick.bind(this)],
6317
- [buttons[buttonsOrder[1]].element, 'click',
6318
- this.buttonToMaxClick.bind(this)],
6353
+ [
6354
+ buttons[buttonsOrder[0]].element,
6355
+ 'click',
6356
+ this.buttonToMinClick.bind(this)
6357
+ ],
6358
+ [
6359
+ buttons[buttonsOrder[1]].element,
6360
+ 'click',
6361
+ this.buttonToMaxClick.bind(this)
6362
+ ],
6319
6363
  [track, 'click',
6320
6364
  this.trackClick.bind(this)],
6321
6365
  [bar, 'mousedown',
@@ -6337,7 +6381,8 @@
6337
6381
  };
6338
6382
  Scrollbar.prototype.buttonToMaxClick = function (e) {
6339
6383
  var scroller = this;
6340
- var range = (scroller.to - scroller.from) * pick(scroller.options.step, 0.2);
6384
+ var range = ((scroller.to - scroller.from) *
6385
+ pick(scroller.options.step, 0.2));
6341
6386
  scroller.updatePosition(scroller.from + range, scroller.to + range);
6342
6387
  fireEvent(scroller, 'changed', {
6343
6388
  from: scroller.from,
@@ -6390,7 +6435,6 @@
6390
6435
  *
6391
6436
  * @private
6392
6437
  * @function Highcharts.Scrollbar#destroy
6393
- * @return {void}
6394
6438
  */
6395
6439
  Scrollbar.prototype.destroy = function () {
6396
6440
  var scroller = this,
@@ -6423,7 +6467,6 @@
6423
6467
  * @function Highcharts.Scrollbar#drawScrollbarButton
6424
6468
  * @param {number} index
6425
6469
  * 0 is left, 1 is right
6426
- * @return {void}
6427
6470
  */
6428
6471
  Scrollbar.prototype.drawScrollbarButton = function (index) {
6429
6472
  var scroller = this,
@@ -6516,7 +6559,8 @@
6516
6559
  var scroller = this,
6517
6560
  normalizedEvent = scroller.chart.pointer.normalize(e),
6518
6561
  options = scroller.options,
6519
- direction = options.vertical ? 'chartY' : 'chartX',
6562
+ direction = options.vertical ?
6563
+ 'chartY' : 'chartX',
6520
6564
  initPositions = scroller.initPositions || [];
6521
6565
  var scrollPosition,
6522
6566
  chartPosition,
@@ -6577,7 +6621,6 @@
6577
6621
  * width of the scrollbar
6578
6622
  * @param {number} height
6579
6623
  * height of the scorllbar
6580
- * @return {void}
6581
6624
  */
6582
6625
  Scrollbar.prototype.position = function (x, y, width, height) {
6583
6626
  var scroller = this,
@@ -6626,7 +6669,6 @@
6626
6669
  *
6627
6670
  * @private
6628
6671
  * @function Highcharts.Scrollbar#removeEvents
6629
- * @return {void}
6630
6672
  */
6631
6673
  Scrollbar.prototype.removeEvents = function () {
6632
6674
  this._events.forEach(function (args) {
@@ -6718,7 +6760,6 @@
6718
6760
  * scale (0-1) where bar should start
6719
6761
  * @param {number} to
6720
6762
  * scale (0-1) where bar should end
6721
- * @return {void}
6722
6763
  */
6723
6764
  Scrollbar.prototype.setRange = function (from, to) {
6724
6765
  var scroller = this,
@@ -6797,8 +6838,6 @@
6797
6838
  *
6798
6839
  * @private
6799
6840
  * @function Highcharts.Scrollbar#shouldUpdateExtremes
6800
- * @param {string} [eventType]
6801
- * @return {boolean}
6802
6841
  */
6803
6842
  Scrollbar.prototype.shouldUpdateExtremes = function (eventType) {
6804
6843
  return (pick(this.options.liveRedraw, H.svg && !H.isTouchDevice && !this.chart.isBoosting) ||
@@ -6848,7 +6887,6 @@
6848
6887
  * @function Highcharts.Scrollbar#updatePosition
6849
6888
  * @param {number} from
6850
6889
  * @param {number} to
6851
- * @return {void}
6852
6890
  */
6853
6891
  Scrollbar.prototype.updatePosition = function (from, to) {
6854
6892
  if (to > 1) {
@@ -6931,11 +6969,6 @@
6931
6969
  *
6932
6970
  * @private
6933
6971
  * @function Highcharts.Axis#toFixedRange
6934
- * @param {number} [pxMin]
6935
- * @param {number} [pxMax]
6936
- * @param {number} [fixedMin]
6937
- * @param {number} [fixedMax]
6938
- * @return {*}
6939
6972
  */
6940
6973
  NavigatorAxisAdditions.prototype.toFixedRange = function (pxMin, pxMax, fixedMin, fixedMax) {
6941
6974
  var navigator = this;
@@ -7686,17 +7719,32 @@
7686
7719
  verticalMin = navigatorTop + zoomedMax + outlineCorrection;
7687
7720
  zoomedMax = navigatorTop + zoomedMin + outlineCorrection;
7688
7721
  path = [
7689
- ['M', left + outlineHeight, navigatorTop - scrollbarHeight - outlineCorrection],
7722
+ [
7723
+ 'M',
7724
+ left + outlineHeight,
7725
+ navigatorTop - scrollbarHeight - outlineCorrection
7726
+ ],
7727
+ // top right of zoomed range
7690
7728
  ['L', left + outlineHeight, verticalMin],
7691
7729
  ['L', left, verticalMin],
7692
7730
  ['L', left, zoomedMax],
7693
7731
  ['L', left + outlineHeight, zoomedMax],
7694
- ['L', left + outlineHeight, navigatorTop + navigatorSize + scrollbarHeight]
7732
+ [
7733
+ 'L',
7734
+ left + outlineHeight,
7735
+ navigatorTop + navigatorSize + scrollbarHeight
7736
+ ]
7695
7737
  ];
7696
7738
  if (maskInside) {
7697
- path.push(['M', left + outlineHeight, verticalMin - halfOutline], // upper left of zoomed range
7698
- ['L', left + outlineHeight, zoomedMax + halfOutline] // upper right of z.r.
7699
- );
7739
+ path.push(
7740
+ // upper left of zoomed range
7741
+ ['M', left + outlineHeight, verticalMin - halfOutline],
7742
+ // upper right of z.r.
7743
+ [
7744
+ 'L',
7745
+ left + outlineHeight,
7746
+ zoomedMax + halfOutline
7747
+ ]);
7700
7748
  }
7701
7749
  }
7702
7750
  else {
@@ -7704,17 +7752,25 @@
7704
7752
  zoomedMax += left + scrollbarHeight - outlineCorrection;
7705
7753
  navigatorTop += halfOutline;
7706
7754
  path = [
7755
+ // left
7707
7756
  ['M', left, navigatorTop],
7757
+ // upper left of zoomed range
7708
7758
  ['L', zoomedMin, navigatorTop],
7759
+ // lower left of z.r.
7709
7760
  ['L', zoomedMin, navigatorTop + outlineHeight],
7761
+ // lower right of z.r.
7710
7762
  ['L', zoomedMax, navigatorTop + outlineHeight],
7763
+ // upper right of z.r.
7711
7764
  ['L', zoomedMax, navigatorTop],
7712
- ['L', left + navigatorSize + scrollbarHeight * 2, navigatorTop] // right
7765
+ // right
7766
+ ['L', left + navigatorSize + scrollbarHeight * 2, navigatorTop]
7713
7767
  ];
7714
7768
  if (maskInside) {
7715
- path.push(['M', zoomedMin - halfOutline, navigatorTop], // upper left of zoomed range
7716
- ['L', zoomedMax + halfOutline, navigatorTop] // upper right of z.r.
7717
- );
7769
+ path.push(
7770
+ // upper left of zoomed range
7771
+ ['M', zoomedMin - halfOutline, navigatorTop],
7772
+ // upper right of z.r.
7773
+ ['L', zoomedMax + halfOutline, navigatorTop]);
7718
7774
  }
7719
7775
  }
7720
7776
  navigator.outline[verb]({
@@ -7817,19 +7873,21 @@
7817
7873
  maskInside,
7818
7874
  !maskInside
7819
7875
  ].forEach(function (hasMask, index) {
7820
- navigator.shades[index] = renderer.rect()
7821
- .addClass('highcharts-navigator-mask' +
7822
- (index === 1 ? '-inside' : '-outside'))
7823
- .add(navigatorGroup);
7876
+ var shade = renderer.rect()
7877
+ .addClass('highcharts-navigator-mask' +
7878
+ (index === 1 ? '-inside' : '-outside'))
7879
+ .add(navigatorGroup);
7824
7880
  if (!chart.styledMode) {
7825
- navigator.shades[index]
7826
- .attr({
7881
+ shade.attr({
7827
7882
  fill: hasMask ?
7828
7883
  navigatorOptions.maskFill :
7829
7884
  'rgba(0,0,0,0)'
7830
- })
7831
- .css((index === 1) && mouseCursor);
7885
+ });
7886
+ if (index === 1) {
7887
+ shade.css(mouseCursor);
7888
+ }
7832
7889
  }
7890
+ navigator.shades[index] = shade;
7833
7891
  });
7834
7892
  // Create the outline:
7835
7893
  navigator.outline = renderer.path()
@@ -7900,7 +7958,6 @@
7900
7958
  * Pixel value minimum
7901
7959
  * @param {number} [pxMax]
7902
7960
  * Pixel value maximum
7903
- * @return {void}
7904
7961
  */
7905
7962
  Navigator.prototype.render = function (min, max, pxMin, pxMax) {
7906
7963
  var navigator = this,
@@ -8177,7 +8234,6 @@
8177
8234
  * Mouse event
8178
8235
  * @param {number} index
8179
8236
  * Index of a handle in Navigator.handles array
8180
- * @return {void}
8181
8237
  */
8182
8238
  Navigator.prototype.handlesMousedown = function (e, index) {
8183
8239
  e = this.chart.pointer.normalize(e);
@@ -8273,7 +8329,6 @@
8273
8329
  * @function Highcharts.Navigator#onMouseUp
8274
8330
  * @param {Highcharts.PointerEventObject} e
8275
8331
  * Mouse event
8276
- * @return {void}
8277
8332
  */
8278
8333
  Navigator.prototype.onMouseUp = function (e) {
8279
8334
  var navigator = this,
@@ -8360,7 +8415,6 @@
8360
8415
  *
8361
8416
  * @private
8362
8417
  * @function Highcharts.Navigator#removeEvents
8363
- * @return {void}
8364
8418
  */
8365
8419
  Navigator.prototype.removeEvents = function () {
8366
8420
  if (this.eventsToUnbind) {
@@ -8376,7 +8430,6 @@
8376
8430
  *
8377
8431
  * @private
8378
8432
  * @function Highcharts.Navigator#removeBaseSeriesEvents
8379
- * @return {void}
8380
8433
  */
8381
8434
  Navigator.prototype.removeBaseSeriesEvents = function () {
8382
8435
  var baseSeries = this.baseSeries || [];
@@ -8462,7 +8515,8 @@
8462
8515
  offset: 0,
8463
8516
  index: yAxisIndex,
8464
8517
  isInternal: true,
8465
- reversed: pick((navigatorOptions.yAxis && navigatorOptions.yAxis.reversed), (chart.yAxis[0] && chart.yAxis[0].reversed), false),
8518
+ reversed: pick((navigatorOptions.yAxis &&
8519
+ navigatorOptions.yAxis.reversed), (chart.yAxis[0] && chart.yAxis[0].reversed), false),
8466
8520
  zoomEnabled: false
8467
8521
  }, chart.inverted ? {
8468
8522
  width: height
@@ -8544,9 +8598,6 @@
8544
8598
  *
8545
8599
  * @private
8546
8600
  * @function Highcharts.Navigator#getUnionExtremes
8547
- * @param {boolean} [returnFalseOnNoBaseSeries]
8548
- * as the param says.
8549
- * @return {Highcharts.Dictionary<(number|undefined)>|undefined}
8550
8601
  */
8551
8602
  Navigator.prototype.getUnionExtremes = function (returnFalseOnNoBaseSeries) {
8552
8603
  var baseAxis = this.chart.xAxis[0],
@@ -8574,7 +8625,6 @@
8574
8625
  * Additional series options for a navigator
8575
8626
  * @param {boolean} [redraw]
8576
8627
  * Whether to redraw after update.
8577
- * @return {void}
8578
8628
  */
8579
8629
  Navigator.prototype.setBaseSeries = function (baseSeriesOptions, redraw) {
8580
8630
  var chart = this.chart,
@@ -8613,7 +8663,6 @@
8613
8663
  * @function Highcharts.Navigator.updateNavigatorSeries
8614
8664
  * @param {boolean} addEvents
8615
8665
  * @param {boolean} [redraw]
8616
- * @return {void}
8617
8666
  */
8618
8667
  Navigator.prototype.updateNavigatorSeries = function (addEvents, redraw) {
8619
8668
  var navigator = this,
@@ -8754,7 +8803,6 @@
8754
8803
  *
8755
8804
  * @private
8756
8805
  * @function Highcharts.Navigator#addBaseSeriesEvent
8757
- * @return {void}
8758
8806
  */
8759
8807
  Navigator.prototype.addBaseSeriesEvents = function () {
8760
8808
  var navigator = this,
@@ -8807,7 +8855,8 @@
8807
8855
  Navigator.prototype.getBaseSeriesMin = function (currentSeriesMin) {
8808
8856
  return this.baseSeries.reduce(function (min, series) {
8809
8857
  // (#10193)
8810
- return Math.min(min, series.xData ? series.xData[0] : min);
8858
+ return Math.min(min, series.xData && series.xData.length ?
8859
+ series.xData[0] : min);
8811
8860
  }, currentSeriesMin);
8812
8861
  };
8813
8862
  /**
@@ -8948,7 +8997,6 @@
8948
8997
  *
8949
8998
  * @private
8950
8999
  * @function Highcharts.Navigator#addChartEvents
8951
- * @return {void}
8952
9000
  */
8953
9001
  Navigator.prototype.addChartEvents = function () {
8954
9002
  if (!this.eventsToUnbind) {
@@ -9747,7 +9795,6 @@
9747
9795
  * @param {number} i
9748
9796
  * The index of the button
9749
9797
  * @param {boolean} [redraw]
9750
- * @return {void}
9751
9798
  */
9752
9799
  RangeSelector.prototype.clickButton = function (i, redraw) {
9753
9800
  var rangeSelector = this,
@@ -9845,7 +9892,8 @@
9845
9892
  // If the navigator exist and the axis range is declared reset that
9846
9893
  // range and from now on only use the range set by a user, #14742.
9847
9894
  if (chart.navigator && chart.navigator.baseSeries[0]) {
9848
- chart.navigator.baseSeries[0].xAxis.options.range = void 0;
9895
+ chart.navigator.baseSeries[0].xAxis.options
9896
+ .range = void 0;
9849
9897
  }
9850
9898
  newMin = dataMin;
9851
9899
  newMax = dataMax;
@@ -9890,7 +9938,6 @@
9890
9938
  * @private
9891
9939
  * @function Highcharts.RangeSelector#setSelected
9892
9940
  * @param {number} [selected]
9893
- * @return {void}
9894
9941
  */
9895
9942
  RangeSelector.prototype.setSelected = function (selected) {
9896
9943
  this.selected = this.options.selected = selected;
@@ -9901,12 +9948,11 @@
9901
9948
  * @private
9902
9949
  * @function Highcharts.RangeSelector#init
9903
9950
  * @param {Highcharts.Chart} chart
9904
- * @return {void}
9905
9951
  */
9906
9952
  RangeSelector.prototype.init = function (chart) {
9907
9953
  var rangeSelector = this,
9908
9954
  options = chart.options.rangeSelector,
9909
- buttonOptions = options.buttons || rangeSelector.defaultButtons.slice(),
9955
+ buttonOptions = (options.buttons || rangeSelector.defaultButtons.slice()),
9910
9956
  selectedOption = options.selected,
9911
9957
  blurInputs = function () {
9912
9958
  var minInput = rangeSelector.minInput,
@@ -9956,7 +10002,6 @@
9956
10002
  *
9957
10003
  * @private
9958
10004
  * @function Highcharts.RangeSelector#updateButtonStates
9959
- * @return {void}
9960
10005
  */
9961
10006
  RangeSelector.prototype.updateButtonStates = function () {
9962
10007
  var rangeSelector = this,
@@ -10062,7 +10107,6 @@
10062
10107
  * @private
10063
10108
  * @function Highcharts.RangeSelector#computeButtonRange
10064
10109
  * @param {Highcharts.RangeSelectorButtonsOptions} rangeOptions
10065
- * @return {void}
10066
10110
  */
10067
10111
  RangeSelector.prototype.computeButtonRange = function (rangeOptions) {
10068
10112
  var type = rangeOptions.type,
@@ -10097,12 +10141,11 @@
10097
10141
  *
10098
10142
  * @private
10099
10143
  * @function Highcharts.RangeSelector#getInputValue
10100
- * @param {string} name
10101
- * @return {number}
10102
10144
  */
10103
10145
  RangeSelector.prototype.getInputValue = function (name) {
10104
10146
  var input = name === 'min' ? this.minInput : this.maxInput;
10105
- var options = this.chart.options.rangeSelector;
10147
+ var options = this.chart.options
10148
+ .rangeSelector;
10106
10149
  var time = this.chart.time;
10107
10150
  if (input) {
10108
10151
  return ((input.type === 'text' && options.inputDateParser) ||
@@ -10115,9 +10158,6 @@
10115
10158
  *
10116
10159
  * @private
10117
10160
  * @function Highcharts.RangeSelector#setInputValue
10118
- * @param {string} name
10119
- * @param {number} [inputTime]
10120
- * @return {void}
10121
10161
  */
10122
10162
  RangeSelector.prototype.setInputValue = function (name, inputTime) {
10123
10163
  var options = this.options, time = this.chart.time, input = name === 'min' ? this.minInput : this.maxInput, dateBox = name === 'min' ? this.minDateBox : this.maxDateBox;
@@ -10132,7 +10172,8 @@
10132
10172
  input.setAttribute('data-hc-time', inputTime);
10133
10173
  updatedTime = inputTime;
10134
10174
  }
10135
- input.value = time.dateFormat(this.inputTypeFormats[input.type] || options.inputEditDateFormat, updatedTime);
10175
+ input.value = time.dateFormat((this.inputTypeFormats[input.type] ||
10176
+ options.inputEditDateFormat), updatedTime);
10136
10177
  if (dateBox) {
10137
10178
  dateBox.attr({
10138
10179
  text: time.dateFormat(options.inputDateFormat, updatedTime)
@@ -10145,10 +10186,6 @@
10145
10186
  *
10146
10187
  * @private
10147
10188
  * @function Highcharts.RangeSelector#setInputExtremes
10148
- * @param {string} name
10149
- * @param {number} min
10150
- * @param {number} max
10151
- * @return {void}
10152
10189
  */
10153
10190
  RangeSelector.prototype.setInputExtremes = function (name, min, max) {
10154
10191
  var input = name === 'min' ? this.minInput : this.maxInput;
@@ -10173,7 +10210,6 @@
10173
10210
  * @private
10174
10211
  * @function Highcharts.RangeSelector#showInput
10175
10212
  * @param {string} name
10176
- * @return {void}
10177
10213
  */
10178
10214
  RangeSelector.prototype.showInput = function (name) {
10179
10215
  var dateBox = name === 'min' ? this.minDateBox : this.maxDateBox;
@@ -10185,7 +10221,9 @@
10185
10221
  translateY = _a.translateY;
10186
10222
  var inputBoxWidth = this.options.inputBoxWidth;
10187
10223
  css(input, {
10188
- width: isTextInput ? ((dateBox.width + (inputBoxWidth ? -2 : 20)) + 'px') : 'auto',
10224
+ width: isTextInput ?
10225
+ ((dateBox.width + (inputBoxWidth ? -2 : 20)) + 'px') :
10226
+ 'auto',
10189
10227
  height: isTextInput ? ((dateBox.height - 2) + 'px') : 'auto',
10190
10228
  border: '2px solid silver'
10191
10229
  });
@@ -10211,7 +10249,6 @@
10211
10249
  * @private
10212
10250
  * @function Highcharts.RangeSelector#hideInput
10213
10251
  * @param {string} name
10214
- * @return {void}
10215
10252
  */
10216
10253
  RangeSelector.prototype.hideInput = function (name) {
10217
10254
  var input = name === 'min' ? this.minInput : this.maxInput;
@@ -10263,8 +10300,6 @@
10263
10300
  *
10264
10301
  * @private
10265
10302
  * @function Highcharts.RangeSelector#drawInput
10266
- * @param {string} name
10267
- * @return {RangeSelectorInputElements}
10268
10303
  */
10269
10304
  RangeSelector.prototype.drawInput = function (name) {
10270
10305
  var _a = this,
@@ -10433,8 +10468,6 @@
10433
10468
  *
10434
10469
  * @private
10435
10470
  * @function Highcharts.RangeSelector#getPosition
10436
- *
10437
- * @return {Highcharts.Dictionary<number>}
10438
10471
  */
10439
10472
  RangeSelector.prototype.getPosition = function () {
10440
10473
  var chart = this.chart,
@@ -10454,13 +10487,8 @@
10454
10487
  *
10455
10488
  * @private
10456
10489
  * @function Highcharts.RangeSelector#getYTDExtremes
10457
- *
10458
- * @param {number} dataMax
10459
- *
10460
- * @param {number} dataMin
10461
- *
10462
10490
  * @return {*}
10463
- * Returns min and max for the YTD
10491
+ * Returns min and max for the YTD
10464
10492
  */
10465
10493
  RangeSelector.prototype.getYTDExtremes = function (dataMax, dataMin, useUTC) {
10466
10494
  var time = this.chart.time,
@@ -10489,7 +10517,6 @@
10489
10517
  * X axis minimum
10490
10518
  * @param {number} [max]
10491
10519
  * X axis maximum
10492
- * @return {void}
10493
10520
  */
10494
10521
  RangeSelector.prototype.render = function (min, max) {
10495
10522
  var chart = this.chart,
@@ -10543,7 +10570,8 @@
10543
10570
  this.setInputValue('min', min);
10544
10571
  this.setInputValue('max', max);
10545
10572
  var unionExtremes = (chart.scroller && chart.scroller.getUnionExtremes()) || chart.xAxis[0] || {};
10546
- if (defined(unionExtremes.dataMin) && defined(unionExtremes.dataMax)) {
10573
+ if (defined(unionExtremes.dataMin) &&
10574
+ defined(unionExtremes.dataMax)) {
10547
10575
  var minRange = chart.xAxis[0].minRange || 0;
10548
10576
  this.setInputExtremes('min', unionExtremes.dataMin, Math.min(unionExtremes.dataMax, this.getInputValue('max')) - minRange);
10549
10577
  this.setInputExtremes('max', Math.max(unionExtremes.dataMin, this.getInputValue('min')) + minRange, unionExtremes.dataMax);
@@ -10576,7 +10604,6 @@
10576
10604
  *
10577
10605
  * @private
10578
10606
  * @function Highcharts.RangeSelector#renderButtons
10579
- * @return {void}
10580
10607
  */
10581
10608
  RangeSelector.prototype.renderButtons = function () {
10582
10609
  var _this = this;
@@ -10677,7 +10704,6 @@
10677
10704
  *
10678
10705
  * @private
10679
10706
  * @function Highcharts.RangeSelector#alignElements
10680
- * @return {void}
10681
10707
  */
10682
10708
  RangeSelector.prototype.alignElements = function () {
10683
10709
  var _this = this;
@@ -10833,7 +10859,6 @@
10833
10859
  * @function Highcharts.RangeSelector#alignButtonGroup
10834
10860
  * @param {number} xOffsetForExportButton
10835
10861
  * @param {number} [width]
10836
- * @return {void}
10837
10862
  */
10838
10863
  RangeSelector.prototype.alignButtonGroup = function (xOffsetForExportButton, width) {
10839
10864
  var _a = this,
@@ -10863,7 +10888,6 @@
10863
10888
  /**
10864
10889
  * @private
10865
10890
  * @function Highcharts.RangeSelector#positionButtons
10866
- * @return {void}
10867
10891
  */
10868
10892
  RangeSelector.prototype.positionButtons = function () {
10869
10893
  var _a = this,
@@ -10904,7 +10928,6 @@
10904
10928
  * @param {number} xOffsetForExportButton
10905
10929
  * The X offset of the group required to make room for the
10906
10930
  * exporting button
10907
- * @return {void}
10908
10931
  */
10909
10932
  RangeSelector.prototype.handleCollision = function (xOffsetForExportButton) {
10910
10933
  var _this = this;
@@ -11005,7 +11028,6 @@
11005
11028
  * @private
11006
11029
  * @function Highcharts.RangeSelector#collapseButtons
11007
11030
  * @param {number} xOffsetForExportButton
11008
- * @return {void}
11009
11031
  */
11010
11032
  RangeSelector.prototype.collapseButtons = function (xOffsetForExportButton) {
11011
11033
  var _a = this,
@@ -11059,7 +11081,6 @@
11059
11081
  *
11060
11082
  * @private
11061
11083
  * @function Highcharts.RangeSelector#expandButtons
11062
- * @return {void}
11063
11084
  */
11064
11085
  RangeSelector.prototype.expandButtons = function () {
11065
11086
  var _a = this,
@@ -11091,7 +11112,6 @@
11091
11112
  *
11092
11113
  * @private
11093
11114
  * @function Highcharts.RangeSelector#currentButtonIndex
11094
- * @return {number}
11095
11115
  */
11096
11116
  RangeSelector.prototype.currentButtonIndex = function () {
11097
11117
  var dropdown = this.dropdown;
@@ -11105,7 +11125,6 @@
11105
11125
  *
11106
11126
  * @private
11107
11127
  * @function Highcharts.RangeSelector#showDropdown
11108
- * @return {void}
11109
11128
  */
11110
11129
  RangeSelector.prototype.showDropdown = function () {
11111
11130
  var _a = this,
@@ -11129,7 +11148,6 @@
11129
11148
  /**
11130
11149
  * @private
11131
11150
  * @function Highcharts.RangeSelector#hideDropdown
11132
- * @return {void}
11133
11151
  */
11134
11152
  RangeSelector.prototype.hideDropdown = function () {
11135
11153
  var dropdown = this.dropdown;
@@ -11148,7 +11166,7 @@
11148
11166
  * @private
11149
11167
  * @function Highcharts.RangeSelector#getHeight
11150
11168
  * @return {number}
11151
- * Returns rangeSelector height
11169
+ * Returns rangeSelector height
11152
11170
  */
11153
11171
  RangeSelector.prototype.getHeight = function () {
11154
11172
  var rangeSelector = this,
@@ -11184,11 +11202,8 @@
11184
11202
  *
11185
11203
  * @private
11186
11204
  * @function Highcharts.RangeSelector#titleCollision
11187
- *
11188
- * @param {Highcharts.Chart} chart
11189
- *
11190
11205
  * @return {boolean}
11191
- * Returns collision status
11206
+ * Returns collision status
11192
11207
  */
11193
11208
  RangeSelector.prototype.titleCollision = function (chart) {
11194
11209
  return !(chart.options.title.text ||
@@ -11200,7 +11215,6 @@
11200
11215
  * @private
11201
11216
  * @function Highcharts.RangeSelector#update
11202
11217
  * @param {Highcharts.RangeSelectorOptions} options
11203
- * @return {void}
11204
11218
  */
11205
11219
  RangeSelector.prototype.update = function (options) {
11206
11220
  var chart = this.chart;
@@ -11296,17 +11310,14 @@
11296
11310
  *
11297
11311
  * @private
11298
11312
  * @function preferredInputType
11299
- * @param {string} format
11300
- * @return {string}
11301
11313
  */
11302
11314
  function preferredInputType(format) {
11303
11315
  var ms = format.indexOf('%L') !== -1;
11304
11316
  if (ms) {
11305
11317
  return 'text';
11306
11318
  }
11307
- var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y'].some(function (char) {
11308
- return format.indexOf('%' + char) !== -1;
11309
- });
11319
+ var date = ['a', 'A', 'd', 'e', 'w', 'b', 'B', 'm', 'o', 'y', 'Y']
11320
+ .some(function (char) { return format.indexOf('%' + char) !== -1; });
11310
11321
  var time = ['H', 'k', 'I', 'l', 'M', 'S'].some(function (char) {
11311
11322
  return format.indexOf('%' + char) !== -1;
11312
11323
  });
@@ -11343,7 +11354,8 @@
11343
11354
  // Get the true range from a start date
11344
11355
  getTrueRange = function (base,
11345
11356
  count) {
11346
- var timeName = type === 'year' ? 'FullYear' : 'Month';
11357
+ var timeName = type === 'year' ?
11358
+ 'FullYear' : 'Month';
11347
11359
  var date = new time.Date(base);
11348
11360
  var basePeriod = time.get(timeName,
11349
11361
  date);
@@ -11627,10 +11639,9 @@
11627
11639
  * Function to run when the chart has loaded and and all external
11628
11640
  * images are loaded.
11629
11641
  *
11630
- * @return {void}
11631
11642
  *
11632
- * @fires Highcharts.StockChart#event:init
11633
- * @fires Highcharts.StockChart#event:afterInit
11643
+ * @emits Highcharts.StockChart#event:init
11644
+ * @emits Highcharts.StockChart#event:afterInit
11634
11645
  */
11635
11646
  StockChart.prototype.init = function (userOptions, callback) {
11636
11647
  var defaultOptions = getOptions(),
@@ -11656,7 +11667,8 @@
11656
11667
  },
11657
11668
  scrollbar: {
11658
11669
  // #4988 - check if setOptions was called
11659
- enabled: pick(defaultOptions.scrollbar && defaultOptions.scrollbar.enabled,
11670
+ enabled: pick((defaultOptions.scrollbar &&
11671
+ defaultOptions.scrollbar.enabled),
11660
11672
  true)
11661
11673
  },
11662
11674
  rangeSelector: {
@@ -11685,15 +11697,15 @@
11685
11697
  // apply X axis options to both single and multi y axes
11686
11698
  options.xAxis = splat(userOptions.xAxis || {}).map(function (xAxisOptions, i) {
11687
11699
  return merge(getDefaultAxisOptions('xAxis', xAxisOptions), defaultOptions.xAxis, // #3802
11688
- defaultOptions.xAxis && defaultOptions.xAxis[i], // #7690
11689
- xAxisOptions, // user options
11700
+ // #7690
11701
+ defaultOptions.xAxis && defaultOptions.xAxis[i], xAxisOptions, // user options
11690
11702
  getForcedAxisOptions('xAxis', userOptions));
11691
11703
  });
11692
11704
  // apply Y axis options to both single and multi y axes
11693
11705
  options.yAxis = splat(userOptions.yAxis || {}).map(function (yAxisOptions, i) {
11694
11706
  return merge(getDefaultAxisOptions('yAxis', yAxisOptions), defaultOptions.yAxis, // #3802
11695
- defaultOptions.yAxis && defaultOptions.yAxis[i], // #7690
11696
- yAxisOptions // user options
11707
+ // #7690
11708
+ defaultOptions.yAxis && defaultOptions.yAxis[i], yAxisOptions // user options
11697
11709
  );
11698
11710
  });
11699
11711
  _super.prototype.init.call(this, options, callback);
@@ -11704,14 +11716,10 @@
11704
11716
  *
11705
11717
  * @private
11706
11718
  * @function Highcharts.StockChart#createAxis
11707
- *
11708
11719
  * @param {string} type
11709
- * An axis type.
11710
- *
11720
+ * An axis type.
11711
11721
  * @param {Chart.CreateAxisOptionsObject} options
11712
- * The axis creation options.
11713
- *
11714
- * @return {Highcharts.Axis | Highcharts.ColorAxis}
11722
+ * The axis creation options.
11715
11723
  */
11716
11724
  StockChart.prototype.createAxis = function (type, options) {
11717
11725
  options.axis = merge(getDefaultAxisOptions(type, options.axis), options.axis, getForcedAxisOptions(type, this.userOptions));
@@ -11767,9 +11775,6 @@
11767
11775
  *
11768
11776
  * @private
11769
11777
  * @function getDefaultAxisOptions
11770
- * @param {string} type
11771
- * @param {Highcharts.AxisOptions} options
11772
- * @return {Highcharts.AxisOptions}
11773
11778
  */
11774
11779
  function getDefaultAxisOptions(type, options) {
11775
11780
  if (type === 'xAxis') {
@@ -11816,9 +11821,6 @@
11816
11821
  *
11817
11822
  * @private
11818
11823
  * @function getForcedAxisOptions
11819
- * @param {string} type
11820
- * @param {Highcharts.Options} chartOptions
11821
- * @return {Highcharts.AxisOptions}
11822
11824
  */
11823
11825
  function getForcedAxisOptions(type, chartOptions) {
11824
11826
  if (type === 'xAxis') {
@@ -12037,9 +12039,6 @@
12037
12039
  *
12038
12040
  * @private
12039
12041
  * @function Highcharts.SVGRenderer#crispPolyLine
12040
- * @param {Highcharts.SVGPathArray} points
12041
- * @param {number} width
12042
- * @return {Highcharts.SVGPathArray}
12043
12042
  */
12044
12043
  SVGRenderer.prototype.crispPolyLine = function (points, width) {
12045
12044
  // points format: [['M', 0, 0], ['L', 100, 0]]