highcharts 8.2.0 → 8.2.2

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 (731) hide show
  1. package/bower.json +1 -1
  2. package/es-modules/Accessibility/Accessibility.js +3 -2
  3. package/es-modules/Accessibility/AccessibilityComponent.js +7 -8
  4. package/es-modules/Accessibility/Components/ContainerComponent.js +6 -7
  5. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +0 -1
  6. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +4 -4
  7. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +4 -4
  8. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -2
  9. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +4 -4
  10. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +8 -6
  11. package/es-modules/Accessibility/Components/ZoomComponent.js +7 -6
  12. package/es-modules/Accessibility/KeyboardNavigation.js +7 -3
  13. package/es-modules/Accessibility/Options/Options.js +1 -2
  14. package/es-modules/Accessibility/Utils/ChartUtilities.js +4 -4
  15. package/es-modules/Accessibility/Utils/DOMElementProvider.js +3 -3
  16. package/es-modules/Accessibility/Utils/HTMLUtilities.js +2 -3
  17. package/es-modules/Core/Animation/AnimationUtilities.js +193 -0
  18. package/es-modules/Core/Animation/Fx.js +378 -0
  19. package/es-modules/Core/Axis/Axis.js +12 -6
  20. package/es-modules/Core/Axis/BrokenAxis.js +4 -6
  21. package/es-modules/Core/Axis/ColorAxis.js +11 -10
  22. package/es-modules/Core/Axis/GridAxis.js +113 -57
  23. package/es-modules/Core/Axis/OrdinalAxis.js +4 -5
  24. package/es-modules/Core/Axis/PlotLineOrBand.js +11 -4
  25. package/es-modules/Core/Axis/StackingAxis.js +3 -1
  26. package/es-modules/Core/Axis/TreeGridAxis.js +52 -7
  27. package/es-modules/Core/Chart/Chart.js +13 -8
  28. package/es-modules/Core/Chart/Chart3D.js +2 -1
  29. package/es-modules/Core/Chart/GanttChart.js +5 -9
  30. package/es-modules/Core/Chart/StockChart.js +6 -7
  31. package/es-modules/Core/Color/Color.js +419 -0
  32. package/es-modules/Core/Color/ColorType.js +9 -0
  33. package/es-modules/Core/Dynamics.js +54 -23
  34. package/es-modules/Core/Globals.js +1 -1
  35. package/es-modules/Core/Interaction.js +9 -6
  36. package/es-modules/Core/Legend.js +3 -1
  37. package/es-modules/Core/Navigator.js +8 -4
  38. package/es-modules/Core/Options.js +13 -11
  39. package/es-modules/Core/Pointer.js +2 -2
  40. package/es-modules/Core/Renderer/DOMElementType.js +9 -0
  41. package/es-modules/Core/Renderer/HTML/HTMLElement.js +220 -0
  42. package/es-modules/Core/Renderer/HTML/{HTML.js → HTMLRenderer.js} +8 -202
  43. package/es-modules/Core/Renderer/SVG/SVGElement.js +14 -8
  44. package/es-modules/Core/Renderer/SVG/SVGLabel.js +0 -1
  45. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +2 -3
  46. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
  47. package/es-modules/Core/Series/BaseSeries.js +157 -0
  48. package/es-modules/Core/Series/CartesianSeries.js +5553 -0
  49. package/es-modules/Core/Series/DataLabels.js +11 -9
  50. package/es-modules/Core/Series/Point.js +5 -3
  51. package/es-modules/Core/Series/Series.js +138 -5528
  52. package/es-modules/Core/Series/Series3D.js +1 -1
  53. package/es-modules/Core/Tooltip.js +2 -1
  54. package/es-modules/Core/Utilities.js +0 -582
  55. package/es-modules/Extensions/Annotations/Annotations.js +4 -2
  56. package/es-modules/Extensions/Annotations/Mixins/ControllableMixin.js +3 -3
  57. package/es-modules/Extensions/Annotations/MockPoint.js +3 -3
  58. package/es-modules/Extensions/Annotations/NavigationBindings.js +5 -4
  59. package/es-modules/Extensions/Annotations/Popup.js +1 -2
  60. package/es-modules/Extensions/Annotations/Types/Measure.js +0 -1
  61. package/es-modules/Extensions/Boost/Boost.js +3 -3
  62. package/es-modules/Extensions/Boost/BoostAttach.js +5 -4
  63. package/es-modules/Extensions/Boost/BoostInit.js +1 -1
  64. package/es-modules/Extensions/Boost/BoostOverrides.js +1 -1
  65. package/es-modules/Extensions/Boost/BoostUtils.js +1 -1
  66. package/es-modules/Extensions/Boost/NamedColors.js +1 -1
  67. package/es-modules/Extensions/Boost/WGLRenderer.js +4 -4
  68. package/es-modules/Extensions/Boost/WGLShader.js +1 -2
  69. package/es-modules/Extensions/BoostCanvas.js +9 -6
  70. package/es-modules/Extensions/CurrentDateIndication.js +3 -7
  71. package/es-modules/Extensions/Data.js +7 -9
  72. package/es-modules/Extensions/DataGrouping.js +3 -2
  73. package/es-modules/Extensions/Debugger.js +3 -2
  74. package/es-modules/Extensions/DownloadURL.js +5 -3
  75. package/es-modules/Extensions/DragPanes.js +1 -1
  76. package/es-modules/Extensions/DraggablePoints.js +6 -5
  77. package/es-modules/Extensions/Drilldown.js +24 -10
  78. package/es-modules/Extensions/ExportData.js +1 -2
  79. package/es-modules/Extensions/Exporting.js +9 -2
  80. package/es-modules/Extensions/MarkerClusters.js +8 -5
  81. package/es-modules/Extensions/NoDataToDisplay.js +13 -13
  82. package/es-modules/Extensions/OfflineExporting.js +14 -14
  83. package/es-modules/Extensions/{Oldie.js → Oldie/Oldie.js} +15 -12
  84. package/es-modules/{Core/Axis → Extensions/Oldie}/VMLAxis3D.js +1 -1
  85. package/es-modules/Extensions/Oldie/VMLRenderer3D.js +46 -0
  86. package/es-modules/Extensions/OverlappingDataLabels.js +4 -0
  87. package/es-modules/Extensions/Pane.js +1 -1
  88. package/es-modules/Extensions/ParallelCoordinates.js +1 -1
  89. package/es-modules/Extensions/PatternFill.js +10 -7
  90. package/es-modules/Extensions/Polar.js +4 -2
  91. package/es-modules/Extensions/ScrollablePlotArea.js +3 -1
  92. package/es-modules/Extensions/SeriesLabel.js +4 -3
  93. package/es-modules/{modules/sonification/chartSonify.js → Extensions/Sonification/ChartSonify.js} +1 -1
  94. package/es-modules/{modules/sonification → Extensions/Sonification}/Earcon.js +0 -0
  95. package/es-modules/{modules/sonification → Extensions/Sonification}/Instrument.js +7 -2
  96. package/es-modules/{modules/sonification/instrumentDefinitions.js → Extensions/Sonification/InstrumentDefinitions.js} +1 -1
  97. package/es-modules/{modules/sonification/musicalFrequencies.js → Extensions/Sonification/MusicalFrequencies.js} +0 -0
  98. package/es-modules/{modules/sonification/options.js → Extensions/Sonification/Options.js} +0 -0
  99. package/es-modules/{modules/sonification/pointSonify.js → Extensions/Sonification/PointSonify.js} +1 -1
  100. package/es-modules/{modules/sonification/sonification.js → Extensions/Sonification/Sonification.js} +10 -9
  101. package/es-modules/{modules/sonification → Extensions/Sonification}/Timeline.js +1 -1
  102. package/es-modules/{modules/sonification/utilities.js → Extensions/Sonification/Utilities.js} +1 -1
  103. package/es-modules/Extensions/Stacking.js +1 -1
  104. package/es-modules/Extensions/StaticScale.js +3 -3
  105. package/es-modules/Extensions/Themes/Avocado.js +3 -4
  106. package/es-modules/Extensions/Themes/DarkUnica.js +5 -7
  107. package/es-modules/Extensions/Themes/Gray.js +3 -4
  108. package/es-modules/Extensions/Themes/HighContrastDark.js +3 -4
  109. package/es-modules/Extensions/Themes/Sunset.js +3 -4
  110. package/es-modules/Gantt/Pathfinder.js +6 -0
  111. package/es-modules/Maps/Map.js +9 -5
  112. package/es-modules/Maps/MapNavigation.js +0 -1
  113. package/es-modules/{mixins → Mixins}/CenteredSeries.js +0 -0
  114. package/es-modules/{mixins → Mixins}/ColorMapSeries.js +7 -3
  115. package/es-modules/{mixins → Mixins}/ColorSeries.js +7 -3
  116. package/es-modules/{mixins → Mixins}/DerivedSeries.js +1 -1
  117. package/es-modules/{mixins → Mixins}/DrawPoint.js +0 -0
  118. package/es-modules/{mixins → Mixins}/Geometry.js +0 -0
  119. package/es-modules/{mixins → Mixins}/GeometryCircles.js +0 -0
  120. package/es-modules/{mixins → Mixins}/IndicatorRequired.js +0 -0
  121. package/es-modules/{mixins → Mixins}/LegendSymbol.js +0 -0
  122. package/es-modules/{mixins → Mixins}/MultipleLines.js +0 -0
  123. package/es-modules/{mixins → Mixins}/Navigation.js +0 -0
  124. package/es-modules/{mixins → Mixins}/NelderMead.js +0 -0
  125. package/es-modules/{mixins → Mixins}/Nodes.js +1 -1
  126. package/es-modules/{mixins → Mixins}/OnSeries.js +1 -1
  127. package/es-modules/{mixins → Mixins}/Polygon.js +0 -0
  128. package/es-modules/{mixins → Mixins}/ReduceArray.js +0 -0
  129. package/es-modules/{mixins → Mixins}/TreeSeries.js +1 -1
  130. package/es-modules/Series/AreaRangeSeries.js +57 -21
  131. package/es-modules/Series/AreaSeries.js +38 -6
  132. package/es-modules/Series/AreaSplineRangeSeries.js +44 -7
  133. package/es-modules/Series/AreaSplineSeries.js +43 -6
  134. package/es-modules/Series/BarSeries.js +2 -5
  135. package/es-modules/Series/BellcurveSeries.js +45 -5
  136. package/es-modules/Series/BoxPlotSeries.js +7 -6
  137. package/es-modules/Series/Bubble/BubbleLegend.js +3 -3
  138. package/es-modules/Series/Bubble/BubbleSeries.js +13 -11
  139. package/es-modules/Series/BulletSeries.js +5 -5
  140. package/es-modules/Series/CandlestickSeries.js +7 -6
  141. package/es-modules/Series/Column3DSeries.js +77 -23
  142. package/es-modules/Series/ColumnPyramidSeries.js +5 -6
  143. package/es-modules/Series/ColumnRangeSeries.js +17 -16
  144. package/es-modules/Series/ColumnSeries.js +18 -14
  145. package/es-modules/Series/CylinderSeries.js +8 -11
  146. package/es-modules/Series/DependencyWheelSeries.js +11 -9
  147. package/es-modules/Series/DotplotSeries.js +3 -11
  148. package/es-modules/Series/DumbbellSeries.js +11 -7
  149. package/es-modules/Series/ErrorBarSeries.js +3 -5
  150. package/es-modules/Series/FlagsSeries.js +13 -9
  151. package/es-modules/Series/Funnel3DSeries.js +8 -12
  152. package/es-modules/Series/FunnelSeries.js +6 -6
  153. package/es-modules/Series/GanttSeries.js +11 -12
  154. package/es-modules/Series/GaugeSeries.js +6 -5
  155. package/es-modules/Series/HeatmapSeries.js +9 -7
  156. package/es-modules/Series/HistogramSeries.js +6 -5
  157. package/es-modules/Series/ItemSeries.js +5 -5
  158. package/es-modules/Series/LineSeries.js +13 -0
  159. package/es-modules/Series/LollipopSeries.js +11 -7
  160. package/es-modules/Series/MapBubbleSeries.js +4 -5
  161. package/es-modules/Series/MapLineSeries.js +4 -6
  162. package/es-modules/Series/MapPointSeries.js +6 -5
  163. package/es-modules/Series/MapSeries.js +15 -12
  164. package/es-modules/Series/Networkgraph/DraggableNodes.js +8 -6
  165. package/es-modules/Series/Networkgraph/Layouts.js +3 -1
  166. package/es-modules/Series/Networkgraph/Networkgraph.js +8 -7
  167. package/es-modules/Series/OHLCSeries.js +4 -6
  168. package/es-modules/Series/OrganizationSeries.js +7 -4
  169. package/es-modules/Series/PackedBubbleSeries.js +10 -10
  170. package/es-modules/Series/ParetoSeries.js +6 -5
  171. package/es-modules/Series/Pie3DSeries.js +3 -2
  172. package/es-modules/Series/PieSeries.js +36 -10
  173. package/es-modules/Series/PolygonSeries.js +6 -6
  174. package/es-modules/Series/Pyramid3DSeries.js +3 -5
  175. package/es-modules/Series/SankeySeries.js +13 -12
  176. package/es-modules/Series/Scatter3DSeries.js +4 -6
  177. package/es-modules/Series/ScatterSeries.js +10 -5
  178. package/es-modules/Series/SolidGaugeSeries.js +7 -7
  179. package/es-modules/Series/SplineSeries.js +5 -3
  180. package/es-modules/Series/StreamgraphSeries.js +41 -5
  181. package/es-modules/Series/SunburstSeries.js +15 -11
  182. package/es-modules/Series/TilemapSeries.js +8 -6
  183. package/es-modules/Series/TimelineSeries.js +6 -5
  184. package/es-modules/Series/TreemapSeries.js +36 -50
  185. package/es-modules/Series/VariablePieSeries.js +9 -7
  186. package/es-modules/Series/VariwideSeries.js +7 -6
  187. package/es-modules/Series/VectorSeries.js +5 -3
  188. package/es-modules/Series/VennSeries.js +20 -17
  189. package/es-modules/Series/WaterfallSeries.js +6 -4
  190. package/es-modules/Series/WindbarbSeries.js +9 -6
  191. package/es-modules/Series/WordcloudSeries.js +11 -9
  192. package/es-modules/Series/XRangeSeries.js +8 -7
  193. package/es-modules/Stock/Indicators/ABIndicator.js +7 -7
  194. package/es-modules/Stock/Indicators/ADIndicator.js +4 -3
  195. package/es-modules/Stock/Indicators/AOIndicator.js +5 -4
  196. package/es-modules/Stock/Indicators/APOIndicator.js +7 -7
  197. package/es-modules/Stock/Indicators/ATRIndicator.js +5 -5
  198. package/es-modules/Stock/Indicators/AroonIndicator.js +6 -5
  199. package/es-modules/Stock/Indicators/AroonOscillatorIndicator.js +5 -5
  200. package/es-modules/Stock/Indicators/BBIndicator.js +7 -7
  201. package/es-modules/Stock/Indicators/CCIIndicator.js +4 -3
  202. package/es-modules/Stock/Indicators/CMFIndicator.js +3 -4
  203. package/es-modules/Stock/Indicators/ChaikinIndicator.js +9 -8
  204. package/es-modules/Stock/Indicators/DEMAIndicator.js +7 -7
  205. package/es-modules/Stock/Indicators/DPOIndicator.js +4 -3
  206. package/es-modules/Stock/Indicators/EMAIndicator.js +3 -3
  207. package/es-modules/Stock/Indicators/IKHIndicator.js +22 -19
  208. package/es-modules/Stock/Indicators/KeltnerChannelsIndicator.js +10 -7
  209. package/es-modules/Stock/Indicators/MACDIndicator.js +7 -4
  210. package/es-modules/Stock/Indicators/MFIIndicator.js +4 -3
  211. package/es-modules/Stock/Indicators/MomentumIndicator.js +4 -3
  212. package/es-modules/Stock/Indicators/NATRIndicator.js +4 -6
  213. package/es-modules/Stock/Indicators/PCIndicator.js +8 -7
  214. package/es-modules/Stock/Indicators/PPOIndicator.js +7 -7
  215. package/es-modules/Stock/Indicators/PSARIndicator.js +3 -4
  216. package/es-modules/Stock/Indicators/PivotPointsIndicator.js +5 -5
  217. package/es-modules/Stock/Indicators/PriceEnvelopesIndicator.js +5 -5
  218. package/es-modules/Stock/Indicators/ROCIndicator.js +4 -3
  219. package/es-modules/Stock/Indicators/RSIIndicator.js +4 -3
  220. package/es-modules/Stock/Indicators/RegressionIndicators.js +7 -6
  221. package/es-modules/Stock/Indicators/{Indicators.js → SMAIndicator.js} +9 -6
  222. package/es-modules/Stock/Indicators/SlowStochasticIndicator.js +6 -8
  223. package/es-modules/Stock/Indicators/StochasticIndicator.js +8 -8
  224. package/es-modules/Stock/Indicators/SupertrendIndicator.js +7 -6
  225. package/es-modules/Stock/Indicators/TEMAIndicator.js +7 -7
  226. package/es-modules/Stock/Indicators/TRIXIndicator.js +7 -7
  227. package/es-modules/Stock/Indicators/TrendLineIndicator.js +4 -3
  228. package/es-modules/Stock/Indicators/VBPIndicator.js +7 -4
  229. package/es-modules/Stock/Indicators/VWAPIndicator.js +4 -3
  230. package/es-modules/Stock/Indicators/WMAIndicator.js +4 -3
  231. package/es-modules/Stock/Indicators/WilliamsRIndicator.js +6 -5
  232. package/es-modules/Stock/Indicators/ZigzagIndicator.js +5 -7
  233. package/es-modules/Stock/StockToolsBindings.js +16 -2
  234. package/es-modules/Stock/StockToolsGui.js +9 -9
  235. package/es-modules/masters/highcharts-3d.src.js +1 -2
  236. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  237. package/es-modules/masters/highcharts-more.src.js +1 -1
  238. package/es-modules/masters/highcharts.src.js +3 -2
  239. package/es-modules/masters/highmaps.src.js +1 -1
  240. package/es-modules/masters/highstock.src.js +1 -1
  241. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  242. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  243. package/es-modules/masters/indicators/ao.src.js +1 -1
  244. package/es-modules/masters/indicators/apo.src.js +1 -1
  245. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  246. package/es-modules/masters/indicators/aroon.src.js +1 -1
  247. package/es-modules/masters/indicators/atr.src.js +1 -1
  248. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  249. package/es-modules/masters/indicators/cci.src.js +1 -1
  250. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  251. package/es-modules/masters/indicators/cmf.src.js +1 -1
  252. package/es-modules/masters/indicators/dema.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ema.src.js +1 -1
  255. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  256. package/es-modules/masters/indicators/indicators-all.src.js +2 -2
  257. package/es-modules/masters/indicators/indicators.src.js +2 -2
  258. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  264. package/es-modules/masters/indicators/ppo.src.js +1 -1
  265. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  266. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  267. package/es-modules/masters/indicators/psar.src.js +1 -1
  268. package/es-modules/masters/indicators/regressions.src.js +1 -1
  269. package/es-modules/masters/indicators/roc.src.js +1 -1
  270. package/es-modules/masters/indicators/rsi.src.js +1 -1
  271. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  272. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  274. package/es-modules/masters/indicators/tema.src.js +1 -1
  275. package/es-modules/masters/indicators/trendline.src.js +1 -1
  276. package/es-modules/masters/indicators/trix.src.js +1 -1
  277. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  278. package/es-modules/masters/indicators/vwap.src.js +1 -1
  279. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  280. package/es-modules/masters/indicators/wma.src.js +1 -1
  281. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  282. package/es-modules/masters/modules/accessibility.src.js +1 -1
  283. package/es-modules/masters/modules/annotations-advanced.src.js +1 -1
  284. package/es-modules/masters/modules/annotations.src.js +1 -1
  285. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  286. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  287. package/es-modules/masters/modules/boost.src.js +1 -1
  288. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  289. package/es-modules/masters/modules/bullet.src.js +1 -1
  290. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  291. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  292. package/es-modules/masters/modules/cylinder.src.js +1 -1
  293. package/es-modules/masters/modules/data.src.js +1 -1
  294. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  295. package/es-modules/masters/modules/debugger.src.js +1 -1
  296. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  297. package/es-modules/masters/modules/dotplot.src.js +1 -1
  298. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  299. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  300. package/es-modules/masters/modules/drilldown.src.js +1 -1
  301. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  302. package/es-modules/masters/modules/export-data.src.js +1 -1
  303. package/es-modules/masters/modules/exporting.src.js +1 -1
  304. package/es-modules/masters/modules/full-screen.src.js +1 -1
  305. package/es-modules/masters/modules/funnel.src.js +1 -1
  306. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  307. package/es-modules/masters/modules/gantt.src.js +1 -1
  308. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  309. package/es-modules/masters/modules/heatmap.src.js +1 -1
  310. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  311. package/es-modules/masters/modules/item-series.src.js +1 -1
  312. package/es-modules/masters/modules/lollipop.src.js +1 -1
  313. package/es-modules/masters/modules/map.src.js +1 -1
  314. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  315. package/es-modules/masters/modules/networkgraph.src.js +1 -1
  316. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  317. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  318. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  319. package/es-modules/masters/modules/oldie.src.js +2 -2
  320. package/es-modules/masters/modules/organization.src.js +1 -1
  321. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  322. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  323. package/es-modules/masters/modules/pareto.src.js +1 -1
  324. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  325. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  326. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  327. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  328. package/es-modules/masters/modules/sankey.src.js +1 -1
  329. package/es-modules/masters/modules/series-label.src.js +1 -1
  330. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  331. package/es-modules/masters/modules/sonification.src.js +2 -2
  332. package/es-modules/masters/modules/static-scale.src.js +1 -1
  333. package/es-modules/masters/modules/stock-tools.src.js +1 -1
  334. package/es-modules/masters/modules/stock.src.js +1 -1
  335. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  336. package/es-modules/masters/modules/sunburst.src.js +1 -1
  337. package/es-modules/masters/modules/tilemap.src.js +1 -1
  338. package/es-modules/masters/modules/timeline.src.js +1 -1
  339. package/es-modules/masters/modules/treegrid.src.js +1 -1
  340. package/es-modules/masters/modules/treemap.src.js +1 -1
  341. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  342. package/es-modules/masters/modules/variwide.src.js +1 -1
  343. package/es-modules/masters/modules/vector.src.js +1 -1
  344. package/es-modules/masters/modules/venn.src.js +1 -1
  345. package/es-modules/masters/modules/windbarb.src.js +1 -1
  346. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  347. package/es-modules/masters/modules/xrange.src.js +1 -1
  348. package/es-modules/masters/themes/avocado.src.js +1 -1
  349. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  350. package/es-modules/masters/themes/dark-green.src.js +1 -1
  351. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  352. package/es-modules/masters/themes/gray.src.js +1 -1
  353. package/es-modules/masters/themes/grid-light.src.js +1 -1
  354. package/es-modules/masters/themes/grid.src.js +1 -1
  355. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  356. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  357. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  358. package/es-modules/masters/themes/skies.src.js +1 -1
  359. package/es-modules/masters/themes/sunset.src.js +1 -1
  360. package/highcharts-3d.js +86 -89
  361. package/highcharts-3d.js.map +1 -1
  362. package/highcharts-3d.src.js +88 -149
  363. package/highcharts-gantt.js +729 -717
  364. package/highcharts-gantt.js.map +1 -1
  365. package/highcharts-gantt.src.js +5570 -5094
  366. package/highcharts-more.js +164 -163
  367. package/highcharts-more.js.map +1 -1
  368. package/highcharts-more.src.js +182 -118
  369. package/highcharts.d.ts +89 -159
  370. package/highcharts.js +537 -530
  371. package/highcharts.js.map +1 -1
  372. package/highcharts.src.d.ts +89 -159
  373. package/highcharts.src.js +5341 -4976
  374. package/highmaps.js +635 -627
  375. package/highmaps.js.map +1 -1
  376. package/highmaps.src.js +5907 -5530
  377. package/highstock.js +696 -689
  378. package/highstock.js.map +1 -1
  379. package/highstock.src.js +5384 -5026
  380. package/indicators/acceleration-bands.js +8 -8
  381. package/indicators/acceleration-bands.js.map +1 -1
  382. package/indicators/acceleration-bands.src.js +7 -7
  383. package/indicators/accumulation-distribution.js +4 -4
  384. package/indicators/accumulation-distribution.js.map +1 -1
  385. package/indicators/accumulation-distribution.src.js +5 -5
  386. package/indicators/ao.js +5 -5
  387. package/indicators/ao.js.map +1 -1
  388. package/indicators/ao.src.js +6 -6
  389. package/indicators/apo.js +5 -5
  390. package/indicators/apo.js.map +1 -1
  391. package/indicators/apo.src.js +7 -7
  392. package/indicators/aroon-oscillator.js +8 -8
  393. package/indicators/aroon-oscillator.js.map +1 -1
  394. package/indicators/aroon-oscillator.src.js +6 -6
  395. package/indicators/aroon.js +7 -7
  396. package/indicators/aroon.js.map +1 -1
  397. package/indicators/aroon.src.js +6 -6
  398. package/indicators/atr.js +4 -4
  399. package/indicators/atr.js.map +1 -1
  400. package/indicators/atr.src.js +6 -14
  401. package/indicators/bollinger-bands.js +8 -8
  402. package/indicators/bollinger-bands.js.map +1 -1
  403. package/indicators/bollinger-bands.src.js +7 -7
  404. package/indicators/cci.js +4 -4
  405. package/indicators/cci.js.map +1 -1
  406. package/indicators/cci.src.js +5 -5
  407. package/indicators/chaikin.js +6 -6
  408. package/indicators/chaikin.js.map +1 -1
  409. package/indicators/chaikin.src.js +75 -74
  410. package/indicators/cmf.js +2 -2
  411. package/indicators/cmf.js.map +1 -1
  412. package/indicators/cmf.src.js +4 -4
  413. package/indicators/dema.js +5 -5
  414. package/indicators/dema.js.map +1 -1
  415. package/indicators/dema.src.js +7 -7
  416. package/indicators/dpo.js +4 -4
  417. package/indicators/dpo.js.map +1 -1
  418. package/indicators/dpo.src.js +5 -5
  419. package/indicators/ema.js +4 -4
  420. package/indicators/ema.js.map +1 -1
  421. package/indicators/ema.src.js +4 -5
  422. package/indicators/ichimoku-kinko-hyo.js +13 -13
  423. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  424. package/indicators/ichimoku-kinko-hyo.src.js +21 -20
  425. package/indicators/indicators-all.js +118 -118
  426. package/indicators/indicators-all.js.map +1 -1
  427. package/indicators/indicators-all.src.js +227 -230
  428. package/indicators/indicators.js +9 -9
  429. package/indicators/indicators.js.map +1 -1
  430. package/indicators/indicators.src.js +7 -7
  431. package/indicators/keltner-channels.js +8 -8
  432. package/indicators/keltner-channels.js.map +1 -1
  433. package/indicators/keltner-channels.src.js +12 -9
  434. package/indicators/macd.js +10 -10
  435. package/indicators/macd.js.map +1 -1
  436. package/indicators/macd.src.js +8 -7
  437. package/indicators/mfi.js +4 -4
  438. package/indicators/mfi.js.map +1 -1
  439. package/indicators/mfi.src.js +5 -5
  440. package/indicators/momentum.js +4 -4
  441. package/indicators/momentum.js.map +1 -1
  442. package/indicators/momentum.src.js +5 -5
  443. package/indicators/natr.js +3 -3
  444. package/indicators/natr.js.map +1 -1
  445. package/indicators/natr.src.js +5 -5
  446. package/indicators/pivot-points.js +8 -8
  447. package/indicators/pivot-points.js.map +1 -1
  448. package/indicators/pivot-points.src.js +6 -6
  449. package/indicators/ppo.js +5 -5
  450. package/indicators/ppo.js.map +1 -1
  451. package/indicators/ppo.src.js +7 -7
  452. package/indicators/price-channel.js +8 -8
  453. package/indicators/price-channel.js.map +1 -1
  454. package/indicators/price-channel.src.js +65 -65
  455. package/indicators/price-envelopes.js +7 -7
  456. package/indicators/price-envelopes.js.map +1 -1
  457. package/indicators/price-envelopes.src.js +6 -6
  458. package/indicators/psar.js +2 -2
  459. package/indicators/psar.js.map +1 -1
  460. package/indicators/psar.src.js +4 -4
  461. package/indicators/regressions.js +6 -6
  462. package/indicators/regressions.js.map +1 -1
  463. package/indicators/regressions.src.js +8 -8
  464. package/indicators/roc.js +3 -3
  465. package/indicators/roc.js.map +1 -1
  466. package/indicators/roc.src.js +5 -5
  467. package/indicators/rsi.js +4 -4
  468. package/indicators/rsi.js.map +1 -1
  469. package/indicators/rsi.src.js +5 -5
  470. package/indicators/slow-stochastic.js +5 -5
  471. package/indicators/slow-stochastic.js.map +1 -1
  472. package/indicators/slow-stochastic.src.js +6 -6
  473. package/indicators/stochastic.js +9 -9
  474. package/indicators/stochastic.js.map +1 -1
  475. package/indicators/stochastic.src.js +66 -66
  476. package/indicators/supertrend.js +9 -9
  477. package/indicators/supertrend.js.map +1 -1
  478. package/indicators/supertrend.src.js +9 -7
  479. package/indicators/tema.js +6 -6
  480. package/indicators/tema.js.map +1 -1
  481. package/indicators/tema.src.js +7 -7
  482. package/indicators/trendline.js +3 -3
  483. package/indicators/trendline.js.map +1 -1
  484. package/indicators/trendline.src.js +5 -5
  485. package/indicators/trix.js +4 -4
  486. package/indicators/trix.js.map +1 -1
  487. package/indicators/trix.src.js +7 -7
  488. package/indicators/volume-by-price.js +13 -13
  489. package/indicators/volume-by-price.js.map +1 -1
  490. package/indicators/volume-by-price.src.js +7 -8
  491. package/indicators/vwap.js +4 -4
  492. package/indicators/vwap.js.map +1 -1
  493. package/indicators/vwap.src.js +5 -5
  494. package/indicators/williams-r.js +4 -4
  495. package/indicators/williams-r.js.map +1 -1
  496. package/indicators/williams-r.src.js +6 -6
  497. package/indicators/wma.js +4 -4
  498. package/indicators/wma.js.map +1 -1
  499. package/indicators/wma.src.js +5 -5
  500. package/indicators/zigzag.js +4 -4
  501. package/indicators/zigzag.js.map +1 -1
  502. package/indicators/zigzag.src.js +6 -7
  503. package/modules/accessibility.js +148 -147
  504. package/modules/accessibility.js.map +1 -1
  505. package/modules/accessibility.src.js +104 -96
  506. package/modules/annotations-advanced.js +158 -158
  507. package/modules/annotations-advanced.js.map +1 -1
  508. package/modules/annotations-advanced.src.js +15 -14
  509. package/modules/annotations.js +105 -105
  510. package/modules/annotations.js.map +1 -1
  511. package/modules/annotations.src.js +15 -14
  512. package/modules/arrow-symbols.js +1 -1
  513. package/modules/arrow-symbols.src.js +1 -1
  514. package/modules/boost-canvas.js +15 -15
  515. package/modules/boost-canvas.js.map +1 -1
  516. package/modules/boost-canvas.src.js +16 -16
  517. package/modules/boost.d.ts +4 -0
  518. package/modules/boost.js +77 -64
  519. package/modules/boost.js.map +1 -1
  520. package/modules/boost.src.d.ts +4 -0
  521. package/modules/boost.src.js +561 -14
  522. package/modules/broken-axis.js +12 -12
  523. package/modules/broken-axis.js.map +1 -1
  524. package/modules/broken-axis.src.js +4 -5
  525. package/modules/bullet.js +6 -6
  526. package/modules/bullet.js.map +1 -1
  527. package/modules/bullet.src.js +5 -6
  528. package/modules/coloraxis.js +22 -21
  529. package/modules/coloraxis.js.map +1 -1
  530. package/modules/coloraxis.src.js +46 -41
  531. package/modules/current-date-indicator.js +4 -4
  532. package/modules/current-date-indicator.js.map +1 -1
  533. package/modules/current-date-indicator.src.js +4 -6
  534. package/modules/cylinder.js +8 -8
  535. package/modules/cylinder.js.map +1 -1
  536. package/modules/cylinder.src.js +18 -21
  537. package/modules/data.js +32 -32
  538. package/modules/data.js.map +1 -1
  539. package/modules/data.src.js +7 -11
  540. package/modules/datagrouping.js +17 -17
  541. package/modules/datagrouping.js.map +1 -1
  542. package/modules/datagrouping.src.js +3 -4
  543. package/modules/debugger.js +4 -4
  544. package/modules/debugger.js.map +1 -1
  545. package/modules/debugger.src.js +4 -4
  546. package/modules/dependency-wheel.js +8 -8
  547. package/modules/dependency-wheel.js.map +1 -1
  548. package/modules/dependency-wheel.src.js +9 -9
  549. package/modules/dotplot.js +5 -5
  550. package/modules/dotplot.js.map +1 -1
  551. package/modules/dotplot.src.js +4 -12
  552. package/modules/drag-panes.js +7 -7
  553. package/modules/drag-panes.js.map +1 -1
  554. package/modules/drag-panes.src.js +2 -2
  555. package/modules/draggable-points.js +33 -33
  556. package/modules/draggable-points.js.map +1 -1
  557. package/modules/draggable-points.src.js +6 -6
  558. package/modules/drilldown.js +23 -22
  559. package/modules/drilldown.js.map +1 -1
  560. package/modules/drilldown.src.js +21 -11
  561. package/modules/dumbbell.js +24 -20
  562. package/modules/dumbbell.js.map +1 -1
  563. package/modules/dumbbell.src.js +396 -136
  564. package/modules/export-data.js +21 -21
  565. package/modules/export-data.js.map +1 -1
  566. package/modules/export-data.src.js +8 -7
  567. package/modules/exporting.js +32 -32
  568. package/modules/exporting.js.map +1 -1
  569. package/modules/exporting.src.js +10 -3
  570. package/modules/full-screen.js +1 -1
  571. package/modules/full-screen.src.js +1 -1
  572. package/modules/funnel.js +9 -9
  573. package/modules/funnel.js.map +1 -1
  574. package/modules/funnel.src.js +6 -8
  575. package/modules/funnel3d.js +17 -17
  576. package/modules/funnel3d.js.map +1 -1
  577. package/modules/funnel3d.src.js +9 -12
  578. package/modules/gantt.js +194 -189
  579. package/modules/gantt.js.map +1 -1
  580. package/modules/gantt.src.js +232 -121
  581. package/modules/grid-axis.js +22 -19
  582. package/modules/grid-axis.js.map +1 -1
  583. package/modules/grid-axis.src.js +130 -64
  584. package/modules/heatmap.js +33 -33
  585. package/modules/heatmap.js.map +1 -1
  586. package/modules/heatmap.src.js +93 -84
  587. package/modules/histogram-bellcurve.js +10 -10
  588. package/modules/histogram-bellcurve.js.map +1 -1
  589. package/modules/histogram-bellcurve.src.js +49 -11
  590. package/modules/item-series.js +9 -9
  591. package/modules/item-series.js.map +1 -1
  592. package/modules/item-series.src.js +5 -6
  593. package/modules/lollipop.d.ts +20 -1
  594. package/modules/lollipop.js +26 -4
  595. package/modules/lollipop.js.map +1 -1
  596. package/modules/lollipop.src.d.ts +20 -1
  597. package/modules/lollipop.src.js +1431 -9
  598. package/modules/map.d.ts +1 -1
  599. package/modules/map.js +99 -99
  600. package/modules/map.js.map +1 -1
  601. package/modules/map.src.d.ts +1 -1
  602. package/modules/map.src.js +1421 -1409
  603. package/modules/marker-clusters.js +35 -35
  604. package/modules/marker-clusters.js.map +1 -1
  605. package/modules/marker-clusters.src.js +5 -5
  606. package/modules/networkgraph.js +47 -46
  607. package/modules/networkgraph.js.map +1 -1
  608. package/modules/networkgraph.src.js +18 -17
  609. package/modules/no-data-to-display.js +4 -4
  610. package/modules/no-data-to-display.js.map +1 -1
  611. package/modules/no-data-to-display.src.js +15 -12
  612. package/modules/offline-exporting.js +15 -15
  613. package/modules/offline-exporting.js.map +1 -1
  614. package/modules/offline-exporting.src.js +20 -18
  615. package/modules/oldie-polyfills.js +1 -1
  616. package/modules/oldie-polyfills.src.js +1 -1
  617. package/modules/oldie.js +52 -26
  618. package/modules/oldie.js.map +1 -1
  619. package/modules/oldie.src.js +1401 -22
  620. package/modules/organization.js +11 -11
  621. package/modules/organization.js.map +1 -1
  622. package/modules/organization.src.js +6 -5
  623. package/modules/overlapping-datalabels.js +1 -1
  624. package/modules/overlapping-datalabels.src.js +1 -1
  625. package/modules/parallel-coordinates.js +1 -1
  626. package/modules/parallel-coordinates.src.js +1 -1
  627. package/modules/pareto.js +5 -5
  628. package/modules/pareto.js.map +1 -1
  629. package/modules/pareto.src.js +5 -6
  630. package/modules/pathfinder.js +20 -20
  631. package/modules/pathfinder.js.map +1 -1
  632. package/modules/pathfinder.src.js +7 -1
  633. package/modules/pattern-fill.js +13 -13
  634. package/modules/pattern-fill.js.map +1 -1
  635. package/modules/pattern-fill.src.js +10 -10
  636. package/modules/price-indicator.js +1 -1
  637. package/modules/price-indicator.src.js +1 -1
  638. package/modules/pyramid3d.js +3 -3
  639. package/modules/pyramid3d.js.map +1 -1
  640. package/modules/pyramid3d.src.js +3 -4
  641. package/modules/sankey.js +25 -25
  642. package/modules/sankey.js.map +1 -1
  643. package/modules/sankey.src.js +15 -15
  644. package/modules/series-label.js +17 -17
  645. package/modules/series-label.js.map +1 -1
  646. package/modules/series-label.src.js +3 -3
  647. package/modules/solid-gauge.js +8 -8
  648. package/modules/solid-gauge.js.map +1 -1
  649. package/modules/solid-gauge.src.js +4 -5
  650. package/modules/sonification.js +46 -46
  651. package/modules/sonification.js.map +1 -1
  652. package/modules/sonification.src.js +21 -16
  653. package/modules/static-scale.js +4 -4
  654. package/modules/static-scale.js.map +1 -1
  655. package/modules/static-scale.src.js +3 -4
  656. package/modules/stock-tools.js +142 -141
  657. package/modules/stock-tools.js.map +1 -1
  658. package/modules/stock-tools.src.js +40 -21
  659. package/modules/stock.js +161 -161
  660. package/modules/stock.js.map +1 -1
  661. package/modules/stock.src.js +41 -48
  662. package/modules/streamgraph.js +2 -2
  663. package/modules/streamgraph.js.map +1 -1
  664. package/modules/streamgraph.src.js +41 -4
  665. package/modules/sunburst.js +51 -50
  666. package/modules/sunburst.js.map +1 -1
  667. package/modules/sunburst.src.js +134 -65
  668. package/modules/tilemap.js +14 -14
  669. package/modules/tilemap.js.map +1 -1
  670. package/modules/tilemap.src.js +9 -9
  671. package/modules/timeline.js +14 -14
  672. package/modules/timeline.js.map +1 -1
  673. package/modules/timeline.src.js +7 -8
  674. package/modules/treegrid.js +57 -52
  675. package/modules/treegrid.js.map +1 -1
  676. package/modules/treegrid.src.js +191 -77
  677. package/modules/treemap.js +35 -34
  678. package/modules/treemap.js.map +1 -1
  679. package/modules/treemap.src.js +205 -138
  680. package/modules/variable-pie.js +8 -8
  681. package/modules/variable-pie.js.map +1 -1
  682. package/modules/variable-pie.src.js +10 -9
  683. package/modules/variwide.js +8 -8
  684. package/modules/variwide.js.map +1 -1
  685. package/modules/variwide.src.js +6 -7
  686. package/modules/vector.js +6 -6
  687. package/modules/vector.js.map +1 -1
  688. package/modules/vector.src.js +6 -7
  689. package/modules/venn.js +26 -26
  690. package/modules/venn.js.map +1 -1
  691. package/modules/venn.src.js +23 -23
  692. package/modules/windbarb.js +11 -11
  693. package/modules/windbarb.js.map +1 -1
  694. package/modules/windbarb.src.js +8 -9
  695. package/modules/wordcloud.js +19 -19
  696. package/modules/wordcloud.js.map +1 -1
  697. package/modules/wordcloud.src.js +14 -14
  698. package/modules/xrange.js +12 -12
  699. package/modules/xrange.js.map +1 -1
  700. package/modules/xrange.src.js +8 -9
  701. package/package.json +1 -1
  702. package/themes/avocado.js +1 -1
  703. package/themes/avocado.js.map +1 -1
  704. package/themes/avocado.src.js +4 -4
  705. package/themes/dark-blue.js +1 -1
  706. package/themes/dark-blue.src.js +1 -1
  707. package/themes/dark-green.js +1 -1
  708. package/themes/dark-green.src.js +1 -1
  709. package/themes/dark-unica.js +1 -1
  710. package/themes/dark-unica.js.map +1 -1
  711. package/themes/dark-unica.src.js +6 -7
  712. package/themes/gray.js +1 -1
  713. package/themes/gray.js.map +1 -1
  714. package/themes/gray.src.js +4 -4
  715. package/themes/grid-light.js +1 -1
  716. package/themes/grid-light.src.js +1 -1
  717. package/themes/grid.js +1 -1
  718. package/themes/grid.src.js +1 -1
  719. package/themes/high-contrast-dark.js +1 -1
  720. package/themes/high-contrast-dark.js.map +1 -1
  721. package/themes/high-contrast-dark.src.js +4 -4
  722. package/themes/high-contrast-light.js +1 -1
  723. package/themes/high-contrast-light.src.js +1 -1
  724. package/themes/sand-signika.js +1 -1
  725. package/themes/sand-signika.src.js +1 -1
  726. package/themes/skies.js +1 -1
  727. package/themes/skies.src.js +1 -1
  728. package/themes/sunset.js +1 -1
  729. package/themes/sunset.js.map +1 -1
  730. package/themes/sunset.src.js +4 -4
  731. package/es-modules/Core/Renderer/VML/VMLRenderer3D.js +0 -37
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Highcharts JS v8.2.0 (2020-08-20)
2
+ * @license Highcharts JS v8.2.2 (2020-10-22)
3
3
  *
4
4
  * (c) 2009-2019 Sebastian Bochan, Rafal Sebestjanski
5
5
  *
@@ -26,7 +26,1427 @@
26
26
  obj[path] = fn.apply(null, args);
27
27
  }
28
28
  }
29
- _registerModule(_modules, 'Series/LollipopSeries.js', [_modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (H, U) {
29
+ _registerModule(_modules, 'Series/AreaRangeSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Core/Series/Point.js'], _modules['Core/Utilities.js']], function (BaseSeries, H, Point, U) {
30
+ /* *
31
+ *
32
+ * (c) 2010-2020 Torstein Honsi
33
+ *
34
+ * License: www.highcharts.com/license
35
+ *
36
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
37
+ *
38
+ * */
39
+ var noop = H.noop;
40
+ var defined = U.defined,
41
+ extend = U.extend,
42
+ isArray = U.isArray,
43
+ isNumber = U.isNumber,
44
+ pick = U.pick;
45
+ var Series = H.Series,
46
+ areaProto = BaseSeries.seriesTypes.area.prototype,
47
+ columnProto = BaseSeries.seriesTypes.column.prototype,
48
+ pointProto = Point.prototype,
49
+ seriesProto = Series.prototype;
50
+ /**
51
+ * The area range series is a carteseian series with higher and lower values for
52
+ * each point along an X axis, where the area between the values is shaded.
53
+ *
54
+ * @sample {highcharts} highcharts/demo/arearange/
55
+ * Area range chart
56
+ * @sample {highstock} stock/demo/arearange/
57
+ * Area range chart
58
+ *
59
+ * @extends plotOptions.area
60
+ * @product highcharts highstock
61
+ * @excluding stack, stacking
62
+ * @requires highcharts-more
63
+ * @optionparent plotOptions.arearange
64
+ */
65
+ BaseSeries.seriesType('arearange', 'area', {
66
+ /**
67
+ * @see [fillColor](#plotOptions.arearange.fillColor)
68
+ * @see [fillOpacity](#plotOptions.arearange.fillOpacity)
69
+ *
70
+ * @apioption plotOptions.arearange.color
71
+ */
72
+ /**
73
+ * @default low
74
+ * @apioption plotOptions.arearange.colorKey
75
+ */
76
+ /**
77
+ * @see [color](#plotOptions.arearange.color)
78
+ * @see [fillOpacity](#plotOptions.arearange.fillOpacity)
79
+ *
80
+ * @apioption plotOptions.arearange.fillColor
81
+ */
82
+ /**
83
+ * @see [color](#plotOptions.arearange.color)
84
+ * @see [fillColor](#plotOptions.arearange.fillColor)
85
+ *
86
+ * @default {highcharts} 0.75
87
+ * @default {highstock} 0.75
88
+ * @apioption plotOptions.arearange.fillOpacity
89
+ */
90
+ /**
91
+ * Whether to apply a drop shadow to the graph line. Since 2.3 the shadow
92
+ * can be an object configuration containing `color`, `offsetX`, `offsetY`,
93
+ * `opacity` and `width`.
94
+ *
95
+ * @type {boolean|Highcharts.ShadowOptionsObject}
96
+ * @product highcharts
97
+ * @apioption plotOptions.arearange.shadow
98
+ */
99
+ /**
100
+ * Pixel width of the arearange graph line.
101
+ *
102
+ * @since 2.3.0
103
+ *
104
+ * @private
105
+ */
106
+ lineWidth: 1,
107
+ threshold: null,
108
+ tooltip: {
109
+ pointFormat: '<span style="color:{series.color}">\u25CF</span> ' +
110
+ '{series.name}: <b>{point.low}</b> - <b>{point.high}</b><br/>'
111
+ },
112
+ /**
113
+ * Whether the whole area or just the line should respond to mouseover
114
+ * tooltips and other mouse or touch events.
115
+ *
116
+ * @since 2.3.0
117
+ *
118
+ * @private
119
+ */
120
+ trackByArea: true,
121
+ /**
122
+ * Extended data labels for range series types. Range series data labels use
123
+ * no `x` and `y` options. Instead, they have `xLow`, `xHigh`, `yLow` and
124
+ * `yHigh` options to allow the higher and lower data label sets
125
+ * individually.
126
+ *
127
+ * @declare Highcharts.SeriesAreaRangeDataLabelsOptionsObject
128
+ * @exclude x, y
129
+ * @since 2.3.0
130
+ * @product highcharts highstock
131
+ *
132
+ * @private
133
+ */
134
+ dataLabels: {
135
+ align: void 0,
136
+ verticalAlign: void 0,
137
+ /**
138
+ * X offset of the lower data labels relative to the point value.
139
+ *
140
+ * @sample highcharts/plotoptions/arearange-datalabels/
141
+ * Data labels on range series
142
+ * @sample highcharts/plotoptions/arearange-datalabels/
143
+ * Data labels on range series
144
+ */
145
+ xLow: 0,
146
+ /**
147
+ * X offset of the higher data labels relative to the point value.
148
+ *
149
+ * @sample highcharts/plotoptions/arearange-datalabels/
150
+ * Data labels on range series
151
+ */
152
+ xHigh: 0,
153
+ /**
154
+ * Y offset of the lower data labels relative to the point value.
155
+ *
156
+ * @sample highcharts/plotoptions/arearange-datalabels/
157
+ * Data labels on range series
158
+ */
159
+ yLow: 0,
160
+ /**
161
+ * Y offset of the higher data labels relative to the point value.
162
+ *
163
+ * @sample highcharts/plotoptions/arearange-datalabels/
164
+ * Data labels on range series
165
+ */
166
+ yHigh: 0
167
+ }
168
+ // Prototype members
169
+ }, {
170
+ pointArrayMap: ['low', 'high'],
171
+ pointValKey: 'low',
172
+ deferTranslatePolar: true,
173
+ /* eslint-disable valid-jsdoc */
174
+ /**
175
+ * @private
176
+ */
177
+ toYData: function (point) {
178
+ return [point.low, point.high];
179
+ },
180
+ /**
181
+ * Translate a point's plotHigh from the internal angle and radius measures
182
+ * to true plotHigh coordinates. This is an addition of the toXY method
183
+ * found in Polar.js, because it runs too early for arearanges to be
184
+ * considered (#3419).
185
+ * @private
186
+ */
187
+ highToXY: function (point) {
188
+ // Find the polar plotX and plotY
189
+ var chart = this.chart,
190
+ xy = this.xAxis.postTranslate(point.rectPlotX,
191
+ this.yAxis.len - point.plotHigh);
192
+ point.plotHighX = xy.x - chart.plotLeft;
193
+ point.plotHigh = xy.y - chart.plotTop;
194
+ point.plotLowX = point.plotX;
195
+ },
196
+ /**
197
+ * Translate data points from raw values x and y to plotX and plotY.
198
+ * @private
199
+ */
200
+ translate: function () {
201
+ var series = this,
202
+ yAxis = series.yAxis,
203
+ hasModifyValue = !!series.modifyValue;
204
+ areaProto.translate.apply(series);
205
+ // Set plotLow and plotHigh
206
+ series.points.forEach(function (point) {
207
+ var high = point.high,
208
+ plotY = point.plotY;
209
+ if (point.isNull) {
210
+ point.plotY = null;
211
+ }
212
+ else {
213
+ point.plotLow = plotY;
214
+ point.plotHigh = yAxis.translate(hasModifyValue ?
215
+ series.modifyValue(high, point) :
216
+ high, 0, 1, 0, 1);
217
+ if (hasModifyValue) {
218
+ point.yBottom = point.plotHigh;
219
+ }
220
+ }
221
+ });
222
+ // Postprocess plotHigh
223
+ if (this.chart.polar) {
224
+ this.points.forEach(function (point) {
225
+ series.highToXY(point);
226
+ point.tooltipPos = [
227
+ (point.plotHighX + point.plotLowX) / 2,
228
+ (point.plotHigh + point.plotLow) / 2
229
+ ];
230
+ });
231
+ }
232
+ },
233
+ /**
234
+ * Extend the line series' getSegmentPath method by applying the segment
235
+ * path to both lower and higher values of the range.
236
+ * @private
237
+ */
238
+ getGraphPath: function (points) {
239
+ var highPoints = [],
240
+ highAreaPoints = [],
241
+ i,
242
+ getGraphPath = areaProto.getGraphPath,
243
+ point,
244
+ pointShim,
245
+ linePath,
246
+ lowerPath,
247
+ options = this.options,
248
+ polar = this.chart.polar,
249
+ connectEnds = polar && options.connectEnds !== false,
250
+ connectNulls = options.connectNulls,
251
+ step = options.step,
252
+ higherPath,
253
+ higherAreaPath;
254
+ points = points || this.points;
255
+ // Create the top line and the top part of the area fill. The area fill
256
+ // compensates for null points by drawing down to the lower graph,
257
+ // moving across the null gap and starting again at the lower graph.
258
+ i = points.length;
259
+ while (i--) {
260
+ point = points[i];
261
+ // Support for polar
262
+ var highAreaPoint = polar ? {
263
+ plotX: point.rectPlotX,
264
+ plotY: point.yBottom,
265
+ doCurve: false // #5186, gaps in areasplinerange fill
266
+ } : {
267
+ plotX: point.plotX,
268
+ plotY: point.plotY,
269
+ doCurve: false // #5186, gaps in areasplinerange fill
270
+ };
271
+ if (!point.isNull &&
272
+ !connectEnds &&
273
+ !connectNulls &&
274
+ (!points[i + 1] || points[i + 1].isNull)) {
275
+ highAreaPoints.push(highAreaPoint);
276
+ }
277
+ pointShim = {
278
+ polarPlotY: point.polarPlotY,
279
+ rectPlotX: point.rectPlotX,
280
+ yBottom: point.yBottom,
281
+ // plotHighX is for polar charts
282
+ plotX: pick(point.plotHighX, point.plotX),
283
+ plotY: point.plotHigh,
284
+ isNull: point.isNull
285
+ };
286
+ highAreaPoints.push(pointShim);
287
+ highPoints.push(pointShim);
288
+ if (!point.isNull &&
289
+ !connectEnds &&
290
+ !connectNulls &&
291
+ (!points[i - 1] || points[i - 1].isNull)) {
292
+ highAreaPoints.push(highAreaPoint);
293
+ }
294
+ }
295
+ // Get the paths
296
+ lowerPath = getGraphPath.call(this, points);
297
+ if (step) {
298
+ if (step === true) {
299
+ step = 'left';
300
+ }
301
+ options.step = {
302
+ left: 'right',
303
+ center: 'center',
304
+ right: 'left'
305
+ }[step]; // swap for reading in getGraphPath
306
+ }
307
+ higherPath = getGraphPath.call(this, highPoints);
308
+ higherAreaPath = getGraphPath.call(this, highAreaPoints);
309
+ options.step = step;
310
+ // Create a line on both top and bottom of the range
311
+ linePath = []
312
+ .concat(lowerPath, higherPath);
313
+ // For the area path, we need to change the 'move' statement
314
+ // into 'lineTo'
315
+ if (!this.chart.polar && higherAreaPath[0] && higherAreaPath[0][0] === 'M') {
316
+ // This probably doesn't work for spline
317
+ higherAreaPath[0] = ['L', higherAreaPath[0][1], higherAreaPath[0][2]];
318
+ }
319
+ this.graphPath = linePath;
320
+ this.areaPath = lowerPath.concat(higherAreaPath);
321
+ // Prepare for sideways animation
322
+ linePath.isArea = true;
323
+ linePath.xMap = lowerPath.xMap;
324
+ this.areaPath.xMap = lowerPath.xMap;
325
+ return linePath;
326
+ },
327
+ /**
328
+ * Extend the basic drawDataLabels method by running it for both lower and
329
+ * higher values.
330
+ * @private
331
+ */
332
+ drawDataLabels: function () {
333
+ var data = this.points,
334
+ length = data.length,
335
+ i,
336
+ originalDataLabels = [],
337
+ dataLabelOptions = this.options.dataLabels,
338
+ point,
339
+ up,
340
+ inverted = this.chart.inverted,
341
+ upperDataLabelOptions,
342
+ lowerDataLabelOptions;
343
+ // Split into upper and lower options. If data labels is an array, the
344
+ // first element is the upper label, the second is the lower.
345
+ //
346
+ // TODO: We want to change this and allow multiple labels for both upper
347
+ // and lower values in the future - introducing some options for which
348
+ // point value to use as Y for the dataLabel, so that this could be
349
+ // handled in Series.drawDataLabels. This would also improve performance
350
+ // since we now have to loop over all the points multiple times to work
351
+ // around the data label logic.
352
+ if (isArray(dataLabelOptions)) {
353
+ upperDataLabelOptions = dataLabelOptions[0] || { enabled: false };
354
+ lowerDataLabelOptions = dataLabelOptions[1] || { enabled: false };
355
+ }
356
+ else {
357
+ // Make copies
358
+ upperDataLabelOptions = extend({}, dataLabelOptions);
359
+ upperDataLabelOptions.x = dataLabelOptions.xHigh;
360
+ upperDataLabelOptions.y = dataLabelOptions.yHigh;
361
+ lowerDataLabelOptions = extend({}, dataLabelOptions);
362
+ lowerDataLabelOptions.x = dataLabelOptions.xLow;
363
+ lowerDataLabelOptions.y = dataLabelOptions.yLow;
364
+ }
365
+ // Draw upper labels
366
+ if (upperDataLabelOptions.enabled || this._hasPointLabels) {
367
+ // Set preliminary values for plotY and dataLabel
368
+ // and draw the upper labels
369
+ i = length;
370
+ while (i--) {
371
+ point = data[i];
372
+ if (point) {
373
+ up = upperDataLabelOptions.inside ?
374
+ point.plotHigh < point.plotLow :
375
+ point.plotHigh > point.plotLow;
376
+ point.y = point.high;
377
+ point._plotY = point.plotY;
378
+ point.plotY = point.plotHigh;
379
+ // Store original data labels and set preliminary label
380
+ // objects to be picked up in the uber method
381
+ originalDataLabels[i] = point.dataLabel;
382
+ point.dataLabel = point.dataLabelUpper;
383
+ // Set the default offset
384
+ point.below = up;
385
+ if (inverted) {
386
+ if (!upperDataLabelOptions.align) {
387
+ upperDataLabelOptions.align = up ? 'right' : 'left';
388
+ }
389
+ }
390
+ else {
391
+ if (!upperDataLabelOptions.verticalAlign) {
392
+ upperDataLabelOptions.verticalAlign = up ?
393
+ 'top' :
394
+ 'bottom';
395
+ }
396
+ }
397
+ }
398
+ }
399
+ this.options.dataLabels = upperDataLabelOptions;
400
+ if (seriesProto.drawDataLabels) {
401
+ // #1209:
402
+ seriesProto.drawDataLabels.apply(this, arguments);
403
+ }
404
+ // Reset state after the upper labels were created. Move
405
+ // it to point.dataLabelUpper and reassign the originals.
406
+ // We do this here to support not drawing a lower label.
407
+ i = length;
408
+ while (i--) {
409
+ point = data[i];
410
+ if (point) {
411
+ point.dataLabelUpper = point.dataLabel;
412
+ point.dataLabel = originalDataLabels[i];
413
+ delete point.dataLabels;
414
+ point.y = point.low;
415
+ point.plotY = point._plotY;
416
+ }
417
+ }
418
+ }
419
+ // Draw lower labels
420
+ if (lowerDataLabelOptions.enabled || this._hasPointLabels) {
421
+ i = length;
422
+ while (i--) {
423
+ point = data[i];
424
+ if (point) {
425
+ up = lowerDataLabelOptions.inside ?
426
+ point.plotHigh < point.plotLow :
427
+ point.plotHigh > point.plotLow;
428
+ // Set the default offset
429
+ point.below = !up;
430
+ if (inverted) {
431
+ if (!lowerDataLabelOptions.align) {
432
+ lowerDataLabelOptions.align = up ? 'left' : 'right';
433
+ }
434
+ }
435
+ else {
436
+ if (!lowerDataLabelOptions.verticalAlign) {
437
+ lowerDataLabelOptions.verticalAlign = up ?
438
+ 'bottom' :
439
+ 'top';
440
+ }
441
+ }
442
+ }
443
+ }
444
+ this.options.dataLabels = lowerDataLabelOptions;
445
+ if (seriesProto.drawDataLabels) {
446
+ seriesProto.drawDataLabels.apply(this, arguments);
447
+ }
448
+ }
449
+ // Merge upper and lower into point.dataLabels for later destroying
450
+ if (upperDataLabelOptions.enabled) {
451
+ i = length;
452
+ while (i--) {
453
+ point = data[i];
454
+ if (point) {
455
+ point.dataLabels = [
456
+ point.dataLabelUpper,
457
+ point.dataLabel
458
+ ].filter(function (label) {
459
+ return !!label;
460
+ });
461
+ }
462
+ }
463
+ }
464
+ // Reset options
465
+ this.options.dataLabels = dataLabelOptions;
466
+ },
467
+ alignDataLabel: function () {
468
+ columnProto.alignDataLabel.apply(this, arguments);
469
+ },
470
+ drawPoints: function () {
471
+ var series = this,
472
+ pointLength = series.points.length,
473
+ point,
474
+ i;
475
+ // Draw bottom points
476
+ seriesProto.drawPoints
477
+ .apply(series, arguments);
478
+ // Prepare drawing top points
479
+ i = 0;
480
+ while (i < pointLength) {
481
+ point = series.points[i];
482
+ // Save original props to be overridden by temporary props for top
483
+ // points
484
+ point.origProps = {
485
+ plotY: point.plotY,
486
+ plotX: point.plotX,
487
+ isInside: point.isInside,
488
+ negative: point.negative,
489
+ zone: point.zone,
490
+ y: point.y
491
+ };
492
+ point.lowerGraphic = point.graphic;
493
+ point.graphic = point.upperGraphic;
494
+ point.plotY = point.plotHigh;
495
+ if (defined(point.plotHighX)) {
496
+ point.plotX = point.plotHighX;
497
+ }
498
+ point.y = point.high;
499
+ point.negative = point.high < (series.options.threshold || 0);
500
+ point.zone = (series.zones.length && point.getZone());
501
+ if (!series.chart.polar) {
502
+ point.isInside = point.isTopInside = (typeof point.plotY !== 'undefined' &&
503
+ point.plotY >= 0 &&
504
+ point.plotY <= series.yAxis.len && // #3519
505
+ point.plotX >= 0 &&
506
+ point.plotX <= series.xAxis.len);
507
+ }
508
+ i++;
509
+ }
510
+ // Draw top points
511
+ seriesProto.drawPoints.apply(series, arguments);
512
+ // Reset top points preliminary modifications
513
+ i = 0;
514
+ while (i < pointLength) {
515
+ point = series.points[i];
516
+ point.upperGraphic = point.graphic;
517
+ point.graphic = point.lowerGraphic;
518
+ extend(point, point.origProps);
519
+ delete point.origProps;
520
+ i++;
521
+ }
522
+ },
523
+ /* eslint-enable valid-jsdoc */
524
+ setStackedPoints: noop
525
+ }, {
526
+ /**
527
+ * Range series only. The high or maximum value for each data point.
528
+ * @name Highcharts.Point#high
529
+ * @type {number|undefined}
530
+ */
531
+ /**
532
+ * Range series only. The low or minimum value for each data point.
533
+ * @name Highcharts.Point#low
534
+ * @type {number|undefined}
535
+ */
536
+ /* eslint-disable valid-jsdoc */
537
+ /**
538
+ * @private
539
+ */
540
+ setState: function () {
541
+ var prevState = this.state,
542
+ series = this.series,
543
+ isPolar = series.chart.polar;
544
+ if (!defined(this.plotHigh)) {
545
+ // Boost doesn't calculate plotHigh
546
+ this.plotHigh = series.yAxis.toPixels(this.high, true);
547
+ }
548
+ if (!defined(this.plotLow)) {
549
+ // Boost doesn't calculate plotLow
550
+ this.plotLow = this.plotY = series.yAxis.toPixels(this.low, true);
551
+ }
552
+ if (series.stateMarkerGraphic) {
553
+ series.lowerStateMarkerGraphic = series.stateMarkerGraphic;
554
+ series.stateMarkerGraphic = series.upperStateMarkerGraphic;
555
+ }
556
+ // Change state also for the top marker
557
+ this.graphic = this.upperGraphic;
558
+ this.plotY = this.plotHigh;
559
+ if (isPolar) {
560
+ this.plotX = this.plotHighX;
561
+ }
562
+ // Top state:
563
+ pointProto.setState.apply(this, arguments);
564
+ this.state = prevState;
565
+ // Now restore defaults
566
+ this.plotY = this.plotLow;
567
+ this.graphic = this.lowerGraphic;
568
+ if (isPolar) {
569
+ this.plotX = this.plotLowX;
570
+ }
571
+ if (series.stateMarkerGraphic) {
572
+ series.upperStateMarkerGraphic = series.stateMarkerGraphic;
573
+ series.stateMarkerGraphic = series.lowerStateMarkerGraphic;
574
+ // Lower marker is stored at stateMarkerGraphic
575
+ // to avoid reference duplication (#7021)
576
+ series.lowerStateMarkerGraphic = void 0;
577
+ }
578
+ pointProto.setState.apply(this, arguments);
579
+ },
580
+ haloPath: function () {
581
+ var isPolar = this.series.chart.polar,
582
+ path = [];
583
+ // Bottom halo
584
+ this.plotY = this.plotLow;
585
+ if (isPolar) {
586
+ this.plotX = this.plotLowX;
587
+ }
588
+ if (this.isInside) {
589
+ path = pointProto.haloPath.apply(this, arguments);
590
+ }
591
+ // Top halo
592
+ this.plotY = this.plotHigh;
593
+ if (isPolar) {
594
+ this.plotX = this.plotHighX;
595
+ }
596
+ if (this.isTopInside) {
597
+ path = path.concat(pointProto.haloPath.apply(this, arguments));
598
+ }
599
+ return path;
600
+ },
601
+ destroyElements: function () {
602
+ var graphics = ['lowerGraphic', 'upperGraphic'];
603
+ graphics.forEach(function (graphicName) {
604
+ if (this[graphicName]) {
605
+ this[graphicName] =
606
+ this[graphicName].destroy();
607
+ }
608
+ }, this);
609
+ // Clear graphic for states, removed in the above each:
610
+ this.graphic = null;
611
+ return pointProto.destroyElements.apply(this, arguments);
612
+ },
613
+ isValid: function () {
614
+ return isNumber(this.low) && isNumber(this.high);
615
+ }
616
+ /* eslint-enable valid-jsdoc */
617
+ });
618
+ /**
619
+ * A `arearange` series. If the [type](#series.arearange.type) option is not
620
+ * specified, it is inherited from [chart.type](#chart.type).
621
+ *
622
+ *
623
+ * @extends series,plotOptions.arearange
624
+ * @excluding dataParser, dataURL, stack, stacking
625
+ * @product highcharts highstock
626
+ * @requires highcharts-more
627
+ * @apioption series.arearange
628
+ */
629
+ /**
630
+ * @see [fillColor](#series.arearange.fillColor)
631
+ * @see [fillOpacity](#series.arearange.fillOpacity)
632
+ *
633
+ * @apioption series.arearange.color
634
+ */
635
+ /**
636
+ * An array of data points for the series. For the `arearange` series type,
637
+ * points can be given in the following ways:
638
+ *
639
+ * 1. An array of arrays with 3 or 2 values. In this case, the values
640
+ * correspond to `x,low,high`. If the first value is a string, it is
641
+ * applied as the name of the point, and the `x` value is inferred.
642
+ * The `x` value can also be omitted, in which case the inner arrays
643
+ * should be of length 2\. Then the `x` value is automatically calculated,
644
+ * either starting at 0 and incremented by 1, or from `pointStart`
645
+ * and `pointInterval` given in the series options.
646
+ * ```js
647
+ * data: [
648
+ * [0, 8, 3],
649
+ * [1, 1, 1],
650
+ * [2, 6, 8]
651
+ * ]
652
+ * ```
653
+ *
654
+ * 2. An array of objects with named values. The following snippet shows only a
655
+ * few settings, see the complete options set below. If the total number of
656
+ * data points exceeds the series'
657
+ * [turboThreshold](#series.arearange.turboThreshold),
658
+ * this option is not available.
659
+ * ```js
660
+ * data: [{
661
+ * x: 1,
662
+ * low: 9,
663
+ * high: 0,
664
+ * name: "Point2",
665
+ * color: "#00FF00"
666
+ * }, {
667
+ * x: 1,
668
+ * low: 3,
669
+ * high: 4,
670
+ * name: "Point1",
671
+ * color: "#FF00FF"
672
+ * }]
673
+ * ```
674
+ *
675
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
676
+ * Arrays of numeric x and y
677
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
678
+ * Arrays of datetime x and y
679
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
680
+ * Arrays of point.name and y
681
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
682
+ * Config objects
683
+ *
684
+ * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
685
+ * @extends series.line.data
686
+ * @excluding marker, y
687
+ * @product highcharts highstock
688
+ * @apioption series.arearange.data
689
+ */
690
+ /**
691
+ * @extends series.arearange.dataLabels
692
+ * @product highcharts highstock
693
+ * @apioption series.arearange.data.dataLabels
694
+ */
695
+ /**
696
+ * @see [color](#series.arearange.color)
697
+ * @see [fillOpacity](#series.arearange.fillOpacity)
698
+ *
699
+ * @apioption series.arearange.fillColor
700
+ */
701
+ /**
702
+ * @see [color](#series.arearange.color)
703
+ * @see [fillColor](#series.arearange.fillColor)
704
+ *
705
+ * @default {highcharts} 0.75
706
+ * @default {highstock} 0.75
707
+ * @apioption series.arearange.fillOpacity
708
+ */
709
+ /**
710
+ * The high or maximum value for each data point.
711
+ *
712
+ * @type {number}
713
+ * @product highcharts highstock
714
+ * @apioption series.arearange.data.high
715
+ */
716
+ /**
717
+ * The low or minimum value for each data point.
718
+ *
719
+ * @type {number}
720
+ * @product highcharts highstock
721
+ * @apioption series.arearange.data.low
722
+ */
723
+ ''; // adds doclets above to tranpiled file
724
+
725
+ });
726
+ _registerModule(_modules, 'Series/ColumnRangeSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Core/Options.js'], _modules['Core/Utilities.js']], function (BaseSeries, H, O, U) {
727
+ /* *
728
+ *
729
+ * (c) 2010-2020 Torstein Honsi
730
+ *
731
+ * License: www.highcharts.com/license
732
+ *
733
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
734
+ *
735
+ * */
736
+ var noop = H.noop;
737
+ var defaultOptions = O.defaultOptions;
738
+ var clamp = U.clamp,
739
+ merge = U.merge,
740
+ pick = U.pick;
741
+ var columnProto = BaseSeries.seriesTypes.column.prototype;
742
+ /**
743
+ * The column range is a cartesian series type with higher and lower
744
+ * Y values along an X axis. To display horizontal bars, set
745
+ * [chart.inverted](#chart.inverted) to `true`.
746
+ *
747
+ * @sample {highcharts|highstock} highcharts/demo/columnrange/
748
+ * Inverted column range
749
+ *
750
+ * @extends plotOptions.column
751
+ * @since 2.3.0
752
+ * @excluding negativeColor, stacking, softThreshold, threshold
753
+ * @product highcharts highstock
754
+ * @requires highcharts-more
755
+ * @optionparent plotOptions.columnrange
756
+ */
757
+ var columnRangeOptions = {
758
+ /**
759
+ * Extended data labels for range series types. Range series data labels
760
+ * have no `x` and `y` options. Instead,
761
+ they have `xLow`,
762
+ `xHigh`,
763
+ * `yLow` and `yHigh` options to allow the higher and lower data label
764
+ * sets individually.
765
+ *
766
+ * @declare Highcharts.SeriesAreaRangeDataLabelsOptionsObject
767
+ * @extends plotOptions.arearange.dataLabels
768
+ * @since 2.3.0
769
+ * @product highcharts highstock
770
+ * @apioption plotOptions.columnrange.dataLabels
771
+ */
772
+ pointRange: null,
773
+ /** @ignore-option */
774
+ marker: null,
775
+ states: {
776
+ hover: {
777
+ /** @ignore-option */
778
+ halo: false
779
+ }
780
+ }
781
+ };
782
+ /**
783
+ * The ColumnRangeSeries class
784
+ *
785
+ * @private
786
+ * @class
787
+ * @name Highcharts.seriesTypes.columnrange
788
+ *
789
+ * @augments Highcharts.Series
790
+ */
791
+ BaseSeries.seriesType('columnrange', 'arearange', merge(defaultOptions.plotOptions.column, defaultOptions.plotOptions.arearange, columnRangeOptions), {
792
+ // eslint-disable-next-line valid-jsdoc
793
+ /**
794
+ * Translate data points from raw values x and y to plotX and plotY
795
+ * @private
796
+ */
797
+ translate: function () {
798
+ var series = this,
799
+ yAxis = series.yAxis,
800
+ xAxis = series.xAxis,
801
+ startAngleRad = xAxis.startAngleRad,
802
+ start,
803
+ chart = series.chart,
804
+ isRadial = series.xAxis.isRadial,
805
+ safeDistance = Math.max(chart.chartWidth,
806
+ chart.chartHeight) + 999,
807
+ plotHigh;
808
+ // eslint-disable-next-line valid-jsdoc
809
+ /**
810
+ * Don't draw too far outside plot area (#6835)
811
+ * @private
812
+ */
813
+ function safeBounds(pixelPos) {
814
+ return clamp(pixelPos, -safeDistance, safeDistance);
815
+ }
816
+ columnProto.translate.apply(series);
817
+ // Set plotLow and plotHigh
818
+ series.points.forEach(function (point) {
819
+ var shapeArgs = point.shapeArgs,
820
+ minPointLength = series.options.minPointLength,
821
+ heightDifference,
822
+ height,
823
+ y;
824
+ point.plotHigh = plotHigh = safeBounds(yAxis.translate(point.high, 0, 1, 0, 1));
825
+ point.plotLow = safeBounds(point.plotY);
826
+ // adjust shape
827
+ y = plotHigh;
828
+ height = pick(point.rectPlotY, point.plotY) - plotHigh;
829
+ // Adjust for minPointLength
830
+ if (Math.abs(height) < minPointLength) {
831
+ heightDifference = (minPointLength - height);
832
+ height += heightDifference;
833
+ y -= heightDifference / 2;
834
+ // Adjust for negative ranges or reversed Y axis (#1457)
835
+ }
836
+ else if (height < 0) {
837
+ height *= -1;
838
+ y -= height;
839
+ }
840
+ if (isRadial) {
841
+ start = point.barX + startAngleRad;
842
+ point.shapeType = 'arc';
843
+ point.shapeArgs = series.polarArc(y + height, y, start, start + point.pointWidth);
844
+ }
845
+ else {
846
+ shapeArgs.height = height;
847
+ shapeArgs.y = y;
848
+ point.tooltipPos = chart.inverted ?
849
+ [
850
+ yAxis.len + yAxis.pos - chart.plotLeft - y -
851
+ height / 2,
852
+ xAxis.len + xAxis.pos - chart.plotTop -
853
+ shapeArgs.x - shapeArgs.width / 2,
854
+ height
855
+ ] : [
856
+ xAxis.left - chart.plotLeft + shapeArgs.x +
857
+ shapeArgs.width / 2,
858
+ yAxis.pos - chart.plotTop + y + height / 2,
859
+ height
860
+ ]; // don't inherit from column tooltip position - #3372
861
+ }
862
+ });
863
+ },
864
+ directTouch: true,
865
+ trackerGroups: ['group', 'dataLabelsGroup'],
866
+ drawGraph: noop,
867
+ getSymbol: noop,
868
+ // Overrides from modules that may be loaded after this module
869
+ crispCol: function () {
870
+ return columnProto.crispCol.apply(this, arguments);
871
+ },
872
+ drawPoints: function () {
873
+ return columnProto.drawPoints.apply(this, arguments);
874
+ },
875
+ drawTracker: function () {
876
+ return columnProto.drawTracker.apply(this, arguments);
877
+ },
878
+ getColumnMetrics: function () {
879
+ return columnProto.getColumnMetrics.apply(this, arguments);
880
+ },
881
+ pointAttribs: function () {
882
+ return columnProto.pointAttribs.apply(this, arguments);
883
+ },
884
+ animate: function () {
885
+ return columnProto.animate.apply(this, arguments);
886
+ },
887
+ polarArc: function () {
888
+ return columnProto.polarArc.apply(this, arguments);
889
+ },
890
+ translate3dPoints: function () {
891
+ return columnProto.translate3dPoints.apply(this, arguments);
892
+ },
893
+ translate3dShapes: function () {
894
+ return columnProto.translate3dShapes.apply(this, arguments);
895
+ }
896
+ }, {
897
+ setState: columnProto.pointClass.prototype.setState
898
+ });
899
+ /**
900
+ * A `columnrange` series. If the [type](#series.columnrange.type)
901
+ * option is not specified, it is inherited from
902
+ * [chart.type](#chart.type).
903
+ *
904
+ * @extends series,plotOptions.columnrange
905
+ * @excluding dataParser, dataURL, stack, stacking
906
+ * @product highcharts highstock
907
+ * @requires highcharts-more
908
+ * @apioption series.columnrange
909
+ */
910
+ /**
911
+ * An array of data points for the series. For the `columnrange` series
912
+ * type, points can be given in the following ways:
913
+ *
914
+ * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
915
+ * to `x,low,high`. If the first value is a string, it is applied as the name
916
+ * of the point, and the `x` value is inferred. The `x` value can also be
917
+ * omitted, in which case the inner arrays should be of length 2\. Then the
918
+ * `x` value is automatically calculated, either starting at 0 and
919
+ * incremented by 1, or from `pointStart` and `pointInterval` given in the
920
+ * series options.
921
+ * ```js
922
+ * data: [
923
+ * [0, 4, 2],
924
+ * [1, 2, 1],
925
+ * [2, 9, 10]
926
+ * ]
927
+ * ```
928
+ *
929
+ * 2. An array of objects with named values. The following snippet shows only a
930
+ * few settings, see the complete options set below. If the total number of
931
+ * data points exceeds the series'
932
+ * [turboThreshold](#series.columnrange.turboThreshold), this option is not
933
+ * available.
934
+ * ```js
935
+ * data: [{
936
+ * x: 1,
937
+ * low: 0,
938
+ * high: 4,
939
+ * name: "Point2",
940
+ * color: "#00FF00"
941
+ * }, {
942
+ * x: 1,
943
+ * low: 5,
944
+ * high: 3,
945
+ * name: "Point1",
946
+ * color: "#FF00FF"
947
+ * }]
948
+ * ```
949
+ *
950
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
951
+ * Arrays of numeric x and y
952
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
953
+ * Arrays of datetime x and y
954
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
955
+ * Arrays of point.name and y
956
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
957
+ * Config objects
958
+ *
959
+ * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
960
+ * @extends series.arearange.data
961
+ * @excluding marker
962
+ * @product highcharts highstock
963
+ * @apioption series.columnrange.data
964
+ */
965
+ /**
966
+ * @extends series.columnrange.dataLabels
967
+ * @product highcharts highstock
968
+ * @apioption series.columnrange.data.dataLabels
969
+ */
970
+ /**
971
+ * @excluding halo, lineWidth, lineWidthPlus, marker
972
+ * @product highcharts highstock
973
+ * @apioption series.columnrange.states.hover
974
+ */
975
+ /**
976
+ * @excluding halo, lineWidth, lineWidthPlus, marker
977
+ * @product highcharts highstock
978
+ * @apioption series.columnrange.states.select
979
+ */
980
+ ''; // adds doclets above into transpiled
981
+
982
+ });
983
+ _registerModule(_modules, 'Series/DumbbellSeries.js', [_modules['Core/Series/Series.js'], _modules['Core/Renderer/SVG/SVGRenderer.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (BaseSeries, SVGRenderer, H, U) {
984
+ /* *
985
+ *
986
+ * (c) 2010-2020 Sebastian Bochan, Rafal Sebestjanski
987
+ *
988
+ * License: www.highcharts.com/license
989
+ *
990
+ * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
991
+ *
992
+ * */
993
+ var noop = H.noop;
994
+ var extend = U.extend,
995
+ pick = U.pick;
996
+ var seriesProto = H.Series.prototype, seriesTypes = BaseSeries.seriesTypes, areaRangeProto = seriesTypes.arearange.prototype, columnRangeProto = seriesTypes.columnrange.prototype, colProto = seriesTypes.column.prototype, areaRangePointProto = areaRangeProto.pointClass.prototype, TrackerMixin = H.TrackerMixin; // Interaction
997
+ /**
998
+ * The dumbbell series is a cartesian series with higher and lower values for
999
+ * each point along an X axis, connected with a line between the values.
1000
+ * Requires `highcharts-more.js` and `modules/dumbbell.js`.
1001
+ *
1002
+ * @sample {highcharts} highcharts/demo/dumbbell/
1003
+ * Dumbbell chart
1004
+ * @sample {highcharts} highcharts/series-dumbbell/styled-mode-dumbbell/
1005
+ * Styled mode
1006
+ *
1007
+ * @extends plotOptions.arearange
1008
+ * @product highcharts highstock
1009
+ * @excluding fillColor, fillOpacity, lineWidth, stack, stacking,
1010
+ * stickyTracking, trackByArea, boostThreshold, boostBlending
1011
+ * @since 8.0.0
1012
+ * @optionparent plotOptions.dumbbell
1013
+ */
1014
+ BaseSeries.seriesType('dumbbell', 'arearange', {
1015
+ /** @ignore-option */
1016
+ trackByArea: false,
1017
+ /** @ignore-option */
1018
+ fillColor: 'none',
1019
+ /** @ignore-option */
1020
+ lineWidth: 0,
1021
+ pointRange: 1,
1022
+ /**
1023
+ * Pixel width of the line that connects the dumbbell point's values.
1024
+ *
1025
+ * @since 8.0.0
1026
+ * @product highcharts highstock
1027
+ */
1028
+ connectorWidth: 1,
1029
+ /** @ignore-option */
1030
+ stickyTracking: false,
1031
+ groupPadding: 0.2,
1032
+ crisp: false,
1033
+ pointPadding: 0.1,
1034
+ /**
1035
+ * Color of the start markers in a dumbbell graph.
1036
+ *
1037
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1038
+ * @since 8.0.0
1039
+ * @product highcharts highstock
1040
+ */
1041
+ lowColor: '#333333',
1042
+ /**
1043
+ * Color of the line that connects the dumbbell point's values.
1044
+ * By default it is the series' color.
1045
+ *
1046
+ * @type {string}
1047
+ * @product highcharts highstock
1048
+ * @since 8.0.0
1049
+ * @apioption plotOptions.dumbbell.connectorColor
1050
+ */
1051
+ states: {
1052
+ hover: {
1053
+ /** @ignore-option */
1054
+ lineWidthPlus: 0,
1055
+ /**
1056
+ * The additional connector line width for a hovered point.
1057
+ *
1058
+ * @since 8.0.0
1059
+ * @product highcharts highstock
1060
+ */
1061
+ connectorWidthPlus: 1,
1062
+ /** @ignore-option */
1063
+ halo: false
1064
+ }
1065
+ }
1066
+ }, {
1067
+ trackerGroups: ['group', 'markerGroup', 'dataLabelsGroup'],
1068
+ drawTracker: TrackerMixin.drawTrackerPoint,
1069
+ drawGraph: noop,
1070
+ crispCol: colProto.crispCol,
1071
+ /**
1072
+ * Get connector line path and styles that connects dumbbell point's low and
1073
+ * high values.
1074
+ * @private
1075
+ *
1076
+ * @param {Highcharts.Series} this The series of points.
1077
+ * @param {Highcharts.Point} point The point to inspect.
1078
+ *
1079
+ * @return {Highcharts.SVGAttributes} attribs The path and styles.
1080
+ */
1081
+ getConnectorAttribs: function (point) {
1082
+ var series = this, chart = series.chart, pointOptions = point.options, seriesOptions = series.options, xAxis = series.xAxis, yAxis = series.yAxis, connectorWidth = pick(pointOptions.connectorWidth, seriesOptions.connectorWidth), connectorColor = pick(pointOptions.connectorColor, seriesOptions.connectorColor, pointOptions.color, point.zone ? point.zone.color : void 0, point.color), connectorWidthPlus = pick(seriesOptions.states &&
1083
+ seriesOptions.states.hover &&
1084
+ seriesOptions.states.hover.connectorWidthPlus, 1), dashStyle = pick(pointOptions.dashStyle, seriesOptions.dashStyle), pointTop = pick(point.plotLow, point.plotY), pxThreshold = yAxis.toPixels(seriesOptions.threshold || 0, true), pointHeight = chart.inverted ?
1085
+ yAxis.len - pxThreshold : pxThreshold, pointBottom = pick(point.plotHigh, pointHeight), attribs, origProps;
1086
+ if (point.state) {
1087
+ connectorWidth = connectorWidth + connectorWidthPlus;
1088
+ }
1089
+ if (pointTop < 0) {
1090
+ pointTop = 0;
1091
+ }
1092
+ else if (pointTop >= yAxis.len) {
1093
+ pointTop = yAxis.len;
1094
+ }
1095
+ if (pointBottom < 0) {
1096
+ pointBottom = 0;
1097
+ }
1098
+ else if (pointBottom >= yAxis.len) {
1099
+ pointBottom = yAxis.len;
1100
+ }
1101
+ if (point.plotX < 0 || point.plotX > xAxis.len) {
1102
+ connectorWidth = 0;
1103
+ }
1104
+ // Connector should reflect upper marker's zone color
1105
+ if (point.upperGraphic) {
1106
+ origProps = {
1107
+ y: point.y,
1108
+ zone: point.zone
1109
+ };
1110
+ point.y = point.high;
1111
+ point.zone = point.zone ? point.getZone() : void 0;
1112
+ connectorColor = pick(pointOptions.connectorColor, seriesOptions.connectorColor, pointOptions.color, point.zone ? point.zone.color : void 0, point.color);
1113
+ extend(point, origProps);
1114
+ }
1115
+ attribs = {
1116
+ d: SVGRenderer.prototype.crispLine([[
1117
+ 'M',
1118
+ point.plotX,
1119
+ pointTop
1120
+ ], [
1121
+ 'L',
1122
+ point.plotX,
1123
+ pointBottom
1124
+ ]], connectorWidth, 'ceil')
1125
+ };
1126
+ if (!chart.styledMode) {
1127
+ attribs.stroke = connectorColor;
1128
+ attribs['stroke-width'] = connectorWidth;
1129
+ if (dashStyle) {
1130
+ attribs.dashstyle = dashStyle;
1131
+ }
1132
+ }
1133
+ return attribs;
1134
+ },
1135
+ /**
1136
+ * Draw connector line that connects dumbbell point's low and high values.
1137
+ * @private
1138
+ *
1139
+ * @param {Highcharts.Series} this The series of points.
1140
+ * @param {Highcharts.Point} point The point to inspect.
1141
+ *
1142
+ * @return {void}
1143
+ */
1144
+ drawConnector: function (point) {
1145
+ var series = this,
1146
+ animationLimit = pick(series.options.animationLimit, 250),
1147
+ verb = point.connector && series.chart.pointCount < animationLimit ?
1148
+ 'animate' : 'attr';
1149
+ if (!point.connector) {
1150
+ point.connector = series.chart.renderer.path()
1151
+ .addClass('highcharts-lollipop-stem')
1152
+ .attr({
1153
+ zIndex: -1
1154
+ })
1155
+ .add(series.markerGroup);
1156
+ }
1157
+ point.connector[verb](this.getConnectorAttribs(point));
1158
+ },
1159
+ /**
1160
+ * Return the width and x offset of the dumbbell adjusted for grouping,
1161
+ * groupPadding, pointPadding, pointWidth etc.
1162
+ *
1163
+ * @private
1164
+ *
1165
+ * @function Highcharts.seriesTypes.column#getColumnMetrics
1166
+ *
1167
+ * @param {Highcharts.Series} this The series of points.
1168
+ *
1169
+ * @return {Highcharts.ColumnMetricsObject} metrics shapeArgs
1170
+ *
1171
+ */
1172
+ getColumnMetrics: function () {
1173
+ var metrics = colProto.getColumnMetrics.apply(this,
1174
+ arguments);
1175
+ metrics.offset += metrics.width / 2;
1176
+ return metrics;
1177
+ },
1178
+ translatePoint: areaRangeProto.translate,
1179
+ setShapeArgs: columnRangeProto.translate,
1180
+ /**
1181
+ * Translate each point to the plot area coordinate system and find
1182
+ * shape positions
1183
+ *
1184
+ * @private
1185
+ *
1186
+ * @function Highcharts.seriesTypes.dumbbell#translate
1187
+ *
1188
+ * @param {Highcharts.Series} this The series of points.
1189
+ *
1190
+ * @return {void}
1191
+ */
1192
+ translate: function () {
1193
+ // Calculate shapeargs
1194
+ this.setShapeArgs.apply(this);
1195
+ // Calculate point low / high values
1196
+ this.translatePoint.apply(this, arguments);
1197
+ // Correct x position
1198
+ this.points.forEach(function (point) {
1199
+ var shapeArgs = point.shapeArgs,
1200
+ pointWidth = point.pointWidth;
1201
+ point.plotX = shapeArgs.x;
1202
+ shapeArgs.x = point.plotX - pointWidth / 2;
1203
+ point.tooltipPos = null;
1204
+ });
1205
+ this.columnMetrics.offset -= this.columnMetrics.width / 2;
1206
+ },
1207
+ seriesDrawPoints: areaRangeProto.drawPoints,
1208
+ /**
1209
+ * Extend the arearange series' drawPoints method by applying a connector
1210
+ * and coloring markers.
1211
+ * @private
1212
+ *
1213
+ * @function Highcharts.Series#drawPoints
1214
+ *
1215
+ * @param {Highcharts.Series} this The series of points.
1216
+ *
1217
+ * @return {void}
1218
+ */
1219
+ drawPoints: function () {
1220
+ var series = this,
1221
+ chart = series.chart,
1222
+ pointLength = series.points.length,
1223
+ seriesLowColor = series.lowColor = series.options.lowColor,
1224
+ i = 0,
1225
+ lowerGraphicColor,
1226
+ point,
1227
+ zoneColor;
1228
+ this.seriesDrawPoints.apply(series, arguments);
1229
+ // Draw connectors and color upper markers
1230
+ while (i < pointLength) {
1231
+ point = series.points[i];
1232
+ series.drawConnector(point);
1233
+ if (point.upperGraphic) {
1234
+ point.upperGraphic.element.point = point;
1235
+ point.upperGraphic.addClass('highcharts-lollipop-high');
1236
+ }
1237
+ point.connector.element.point = point;
1238
+ if (point.lowerGraphic) {
1239
+ zoneColor = point.zone && point.zone.color;
1240
+ lowerGraphicColor = pick(point.options.lowColor, seriesLowColor, point.options.color, zoneColor, point.color, series.color);
1241
+ if (!chart.styledMode) {
1242
+ point.lowerGraphic.attr({
1243
+ fill: lowerGraphicColor
1244
+ });
1245
+ }
1246
+ point.lowerGraphic.addClass('highcharts-lollipop-low');
1247
+ }
1248
+ i++;
1249
+ }
1250
+ },
1251
+ /**
1252
+ * Get non-presentational attributes for a point. Used internally for
1253
+ * both styled mode and classic. Set correct position in link with connector
1254
+ * line.
1255
+ *
1256
+ * @see Series#pointAttribs
1257
+ *
1258
+ * @function Highcharts.Series#markerAttribs
1259
+ *
1260
+ * @param {Highcharts.Series} this The series of points.
1261
+ *
1262
+ * @return {Highcharts.SVGAttributes}
1263
+ * A hash containing those attributes that are not settable from
1264
+ * CSS.
1265
+ */
1266
+ markerAttribs: function () {
1267
+ var ret = areaRangeProto.markerAttribs.apply(this,
1268
+ arguments);
1269
+ ret.x = Math.floor(ret.x);
1270
+ ret.y = Math.floor(ret.y);
1271
+ return ret;
1272
+ },
1273
+ /**
1274
+ * Get presentational attributes
1275
+ *
1276
+ * @private
1277
+ * @function Highcharts.seriesTypes.column#pointAttribs
1278
+ *
1279
+ * @param {Highcharts.Series} this The series of points.
1280
+ * @param {Highcharts.Point} point The point to inspect.
1281
+ * @param {string} state current state of point (normal, hover, select)
1282
+ *
1283
+ * @return {Highcharts.SVGAttributes} pointAttribs SVGAttributes
1284
+ */
1285
+ pointAttribs: function (point, state) {
1286
+ var pointAttribs;
1287
+ pointAttribs = seriesProto.pointAttribs.apply(this, arguments);
1288
+ if (state === 'hover') {
1289
+ delete pointAttribs.fill;
1290
+ }
1291
+ return pointAttribs;
1292
+ }
1293
+ }, {
1294
+ // seriesTypes doesn't inherit from arearange point proto so put below
1295
+ // methods rigidly.
1296
+ destroyElements: areaRangePointProto.destroyElements,
1297
+ isValid: areaRangePointProto.isValid,
1298
+ pointSetState: areaRangePointProto.setState,
1299
+ /**
1300
+ * Set the point's state extended by have influence on the connector
1301
+ * (between low and high value).
1302
+ *
1303
+ * @private
1304
+ * @param {Highcharts.Point} this The point to inspect.
1305
+ *
1306
+ * @return {void}
1307
+ */
1308
+ setState: function () {
1309
+ var point = this,
1310
+ series = point.series,
1311
+ chart = series.chart,
1312
+ seriesLowColor = series.options.lowColor,
1313
+ seriesMarker = series.options.marker,
1314
+ pointOptions = point.options,
1315
+ pointLowColor = pointOptions.lowColor,
1316
+ zoneColor = point.zone && point.zone.color,
1317
+ lowerGraphicColor = pick(pointLowColor,
1318
+ seriesLowColor,
1319
+ pointOptions.color,
1320
+ zoneColor,
1321
+ point.color,
1322
+ series.color),
1323
+ verb = 'attr',
1324
+ upperGraphicColor,
1325
+ origProps;
1326
+ this.pointSetState.apply(this, arguments);
1327
+ if (!point.state) {
1328
+ verb = 'animate';
1329
+ if (point.lowerGraphic && !chart.styledMode) {
1330
+ point.lowerGraphic.attr({
1331
+ fill: lowerGraphicColor
1332
+ });
1333
+ if (point.upperGraphic) {
1334
+ origProps = {
1335
+ y: point.y,
1336
+ zone: point.zone
1337
+ };
1338
+ point.y = point.high;
1339
+ point.zone = point.zone ? point.getZone() : void 0;
1340
+ upperGraphicColor = pick(point.marker ? point.marker.fillColor : void 0, seriesMarker ? seriesMarker.fillColor : void 0, pointOptions.color, point.zone ? point.zone.color : void 0, point.color);
1341
+ point.upperGraphic.attr({
1342
+ fill: upperGraphicColor
1343
+ });
1344
+ extend(point, origProps);
1345
+ }
1346
+ }
1347
+ }
1348
+ point.connector[verb](series.getConnectorAttribs(point));
1349
+ }
1350
+ });
1351
+ /**
1352
+ * The `dumbbell` series. If the [type](#series.dumbbell.type) option is
1353
+ * not specified, it is inherited from [chart.type](#chart.type).
1354
+ *
1355
+ * @extends series,plotOptions.dumbbell
1356
+ * @excluding boostThreshold, boostBlending
1357
+ * @product highcharts highstock
1358
+ * @requires highcharts-more
1359
+ * @requires modules/dumbbell
1360
+ * @apioption series.dumbbell
1361
+ */
1362
+ /**
1363
+ * An array of data points for the series. For the `dumbbell` series
1364
+ * type, points can be given in the following ways:
1365
+ *
1366
+ * 1. An array of arrays with 3 or 2 values. In this case, the values correspond
1367
+ * to `x,low,high`. If the first value is a string, it is applied as the name
1368
+ * of the point, and the `x` value is inferred. The `x` value can also be
1369
+ * omitted, in which case the inner arrays should be of length 2\. Then the
1370
+ * `x` value is automatically calculated, either starting at 0 and
1371
+ * incremented by 1, or from `pointStart` and `pointInterval` given in the
1372
+ * series options.
1373
+ * ```js
1374
+ * data: [
1375
+ * [0, 4, 2],
1376
+ * [1, 2, 1],
1377
+ * [2, 9, 10]
1378
+ * ]
1379
+ * ```
1380
+ *
1381
+ * 2. An array of objects with named values. The following snippet shows only a
1382
+ * few settings, see the complete options set below. If the total number of
1383
+ * data points exceeds the series'
1384
+ * [turboThreshold](#series.dumbbell.turboThreshold), this option is not
1385
+ * available.
1386
+ * ```js
1387
+ * data: [{
1388
+ * x: 1,
1389
+ * low: 0,
1390
+ * high: 4,
1391
+ * name: "Point2",
1392
+ * color: "#00FF00",
1393
+ * lowColor: "#00FFFF",
1394
+ * connectorWidth: 3,
1395
+ * connectorColor: "#FF00FF"
1396
+ * }, {
1397
+ * x: 1,
1398
+ * low: 5,
1399
+ * high: 3,
1400
+ * name: "Point1",
1401
+ * color: "#FF00FF"
1402
+ * }]
1403
+ * ```
1404
+ *
1405
+ * @sample {highcharts} highcharts/series/data-array-of-arrays/
1406
+ * Arrays of numeric x and y
1407
+ * @sample {highcharts} highcharts/series/data-array-of-arrays-datetime/
1408
+ * Arrays of datetime x and y
1409
+ * @sample {highcharts} highcharts/series/data-array-of-name-value/
1410
+ * Arrays of point.name and y
1411
+ * @sample {highcharts} highcharts/series/data-array-of-objects/
1412
+ * Config objects
1413
+ *
1414
+ * @type {Array<Array<(number|string),number>|Array<(number|string),number,number>|*>}
1415
+ * @extends series.arearange.data
1416
+ * @product highcharts highstock
1417
+ * @apioption series.dumbbell.data
1418
+ */
1419
+ /**
1420
+ * Color of the line that connects the dumbbell point's values.
1421
+ * By default it is the series' color.
1422
+ *
1423
+ * @type {string}
1424
+ * @since 8.0.0
1425
+ * @product highcharts highstock
1426
+ * @apioption series.dumbbell.data.connectorColor
1427
+ */
1428
+ /**
1429
+ * Pixel width of the line that connects the dumbbell point's values.
1430
+ *
1431
+ * @type {number}
1432
+ * @since 8.0.0
1433
+ * @default 1
1434
+ * @product highcharts highstock
1435
+ * @apioption series.dumbbell.data.connectorWidth
1436
+ */
1437
+ /**
1438
+ * Color of the start markers in a dumbbell graph.
1439
+ *
1440
+ * @type {Highcharts.ColorString|Highcharts.GradientColorObject|Highcharts.PatternObject}
1441
+ * @since 8.0.0
1442
+ * @default #333333
1443
+ * @product highcharts highstock
1444
+ * @apioption series.dumbbell.data.lowColor
1445
+ */
1446
+ ''; // adds doclets above to transpiled file
1447
+
1448
+ });
1449
+ _registerModule(_modules, 'Series/LollipopSeries.js', [_modules['Core/Series/Point.js'], _modules['Core/Series/Series.js'], _modules['Core/Globals.js'], _modules['Core/Utilities.js']], function (Point, BaseSeries, H, U) {
30
1450
  /* *
31
1451
  *
32
1452
  * (c) 2010-2020 Sebastian Bochan, Rafal Sebestjanski
@@ -36,9 +1456,11 @@
36
1456
  * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
37
1457
  *
38
1458
  * */
39
- var seriesType = U.seriesType;
40
- var areaProto = H.seriesTypes.area.prototype,
41
- colProto = H.seriesTypes.column.prototype;
1459
+ var isObject = U.isObject,
1460
+ pick = U.pick;
1461
+ var seriesTypes = BaseSeries.seriesTypes,
1462
+ areaProto = seriesTypes.area.prototype,
1463
+ colProto = seriesTypes.column.prototype;
42
1464
  /**
43
1465
  * The lollipop series is a carteseian series with a line anchored from
44
1466
  * the x axis and a dot at the end to mark the value.
@@ -57,7 +1479,7 @@
57
1479
  * @since 8.0.0
58
1480
  * @optionparent plotOptions.lollipop
59
1481
  */
60
- seriesType('lollipop', 'dumbbell', {
1482
+ BaseSeries.seriesType('lollipop', 'dumbbell', {
61
1483
  /** @ignore-option */
62
1484
  lowColor: void 0,
63
1485
  /** @ignore-option */
@@ -86,7 +1508,7 @@
86
1508
  pointArrayMap: ['y'],
87
1509
  pointValKey: 'y',
88
1510
  toYData: function (point) {
89
- return [H.pick(point.y, point.low)];
1511
+ return [pick(point.y, point.low)];
90
1512
  },
91
1513
  translatePoint: areaProto.translate,
92
1514
  drawPoint: areaProto.drawPoints,
@@ -96,11 +1518,11 @@
96
1518
  pointSetState: areaProto.pointClass.prototype.setState,
97
1519
  setState: H.seriesTypes.dumbbell.prototype.pointClass.prototype.setState,
98
1520
  init: function (series, options, x) {
99
- if (H.isObject(options) && 'low' in options) {
1521
+ if (isObject(options) && 'low' in options) {
100
1522
  options.y = options.low;
101
1523
  delete options.low;
102
1524
  }
103
- return H.Point.prototype.init.apply(this, arguments);
1525
+ return Point.prototype.init.apply(this, arguments);
104
1526
  }
105
1527
  });
106
1528
  /**