highcharts 10.2.0 → 10.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/bower.json +1 -1
  2. package/css/highcharts.css +10 -20
  3. package/css/themes/dark-unica.css +10 -20
  4. package/css/themes/grid-light.css +10 -20
  5. package/css/themes/sand-signika.css +10 -20
  6. package/es-modules/Accessibility/Accessibility.js +6 -0
  7. package/es-modules/Accessibility/Components/LegendComponent.js +8 -8
  8. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -2
  9. package/es-modules/Accessibility/Options/A11yDefaults.js +1 -1
  10. package/es-modules/Core/Axis/Axis.js +3 -0
  11. package/es-modules/Core/Axis/Axis3D.js +1 -1
  12. package/es-modules/Core/Axis/AxisDefaults.js +1 -1
  13. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  14. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +4 -0
  15. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  16. package/es-modules/Core/Axis/OrdinalAxis.js +2 -2
  17. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  18. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  19. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  20. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  21. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  22. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  23. package/es-modules/Core/Axis/ZAxis.js +73 -70
  24. package/es-modules/Core/Chart/Chart.js +16 -2
  25. package/es-modules/Core/Chart/Chart3D.js +2 -2
  26. package/es-modules/Core/Chart/ChartDefaults.js +151 -2
  27. package/es-modules/Core/Chart/StockChart.js +5 -3
  28. package/es-modules/Core/DefaultOptions.js +2 -1
  29. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  30. package/es-modules/Core/Globals.js +2 -1
  31. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  32. package/es-modules/Core/Navigator.js +24 -7
  33. package/es-modules/Core/Pointer.js +7 -9
  34. package/es-modules/Core/Renderer/HTML/AST.js +4 -1
  35. package/es-modules/Core/Renderer/SVG/SVGElement.js +103 -163
  36. package/es-modules/Core/Renderer/SVG/SVGLabel.js +29 -27
  37. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +3 -3
  38. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +1 -1
  39. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  40. package/es-modules/Core/Scrollbar.js +3 -1
  41. package/es-modules/Core/Series/DataLabel.js +8 -6
  42. package/es-modules/Core/Series/Point.js +2 -2
  43. package/es-modules/Core/Series/Series.js +36 -31
  44. package/es-modules/Core/Series/Series3D.js +1 -1
  45. package/es-modules/Core/Series/SeriesDefaults.js +8 -3
  46. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  47. package/es-modules/Core/Tooltip.js +14 -3
  48. package/es-modules/Core/Utilities.js +1 -3
  49. package/es-modules/Data/DataConverter.js +5 -0
  50. package/es-modules/Data/DataPromise.js +1 -1
  51. package/es-modules/Data/DataSeriesComposition.js +288 -0
  52. package/es-modules/Data/DataSeriesConverter.js +1 -1
  53. package/es-modules/Data/DataTable.js +2 -2
  54. package/es-modules/Data/Modifiers/ChainModifier.js +1 -1
  55. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  56. package/es-modules/Data/Modifiers/GroupModifier.js +1 -1
  57. package/es-modules/Data/Modifiers/InvertModifier.js +1 -1
  58. package/es-modules/Data/Modifiers/RangeModifier.js +1 -1
  59. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +1 -1
  60. package/es-modules/Data/Modifiers/SortModifier.js +1 -1
  61. package/es-modules/Data/Parsers/DataParser.js +1 -1
  62. package/es-modules/Data/Stores/DataStore.js +1 -1
  63. package/es-modules/Extensions/Annotations/Annotation.js +347 -1156
  64. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  65. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  66. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  67. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  68. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  69. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  70. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +90 -61
  71. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  72. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  73. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  74. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  75. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  76. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  77. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -674
  78. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  79. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  80. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  81. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  82. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  83. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  84. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  85. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +10 -14
  86. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +11 -19
  87. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +10 -10
  88. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +28 -20
  89. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +63 -63
  90. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +10 -19
  91. package/es-modules/Extensions/Annotations/Types/Measure.js +255 -249
  92. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +11 -17
  93. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +20 -17
  94. package/es-modules/Extensions/Annotations/Types/Tunnel.js +12 -13
  95. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +11 -15
  96. package/es-modules/Extensions/Boost/Boost.js +320 -15
  97. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  98. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  99. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  100. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  101. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  102. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  103. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  104. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  105. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  106. package/es-modules/Extensions/BoostCanvas.js +62 -46
  107. package/es-modules/Extensions/Breadcrumbs.js +4 -0
  108. package/es-modules/Extensions/DataGrouping.js +65 -27
  109. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  110. package/es-modules/Extensions/DraggablePoints.js +4 -3
  111. package/es-modules/Extensions/Drilldown.js +7 -8
  112. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +341 -530
  113. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  114. package/es-modules/Extensions/Exporting/Exporting.js +5 -1
  115. package/es-modules/Extensions/Exporting/ExportingDefaults.js +3 -1
  116. package/es-modules/Extensions/{FullScreen.js → Exporting/Fullscreen.js} +72 -27
  117. package/es-modules/Extensions/MarkerClusters.js +2 -0
  118. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  119. package/es-modules/Extensions/Oldie/Oldie.js +1 -1
  120. package/es-modules/Extensions/ParallelCoordinates.js +11 -7
  121. package/es-modules/Extensions/ScrollablePlotArea.js +1 -1
  122. package/es-modules/Extensions/SeriesLabel/SeriesLabel.js +2 -2
  123. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  124. package/es-modules/Maps/MapPointer.js +1 -1
  125. package/es-modules/Maps/MapView.js +2 -1
  126. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  127. package/es-modules/Series/AreaRange/AreaRangeSeries.js +8 -2
  128. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  129. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  130. package/es-modules/Series/Bubble/BubbleSeries.js +85 -66
  131. package/es-modules/Series/Column/ColumnSeries.js +2 -0
  132. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  133. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +1 -1
  134. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  135. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +24 -11
  136. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +16 -2
  137. package/es-modules/Series/DragNodesComposition.js +166 -0
  138. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +1 -1
  139. package/es-modules/Series/Gantt/GanttSeries.js +1 -1
  140. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  141. package/es-modules/Series/Heatmap/HeatmapSeries.js +5 -1
  142. package/es-modules/Series/Lollipop/LollipopPoint.js +21 -11
  143. package/es-modules/Series/Lollipop/LollipopSeries.js +15 -10
  144. package/es-modules/Series/Map/MapSeries.js +6 -1
  145. package/es-modules/Series/MapBubble/MapBubblePoint.js +15 -17
  146. package/es-modules/Series/MapBubble/MapBubbleSeries.js +19 -19
  147. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  148. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  149. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  150. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  151. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  152. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  153. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  154. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  155. package/es-modules/Series/Organization/OrganizationSeries.js +9 -1
  156. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  157. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -77
  158. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +2 -2
  159. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +197 -570
  160. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  161. package/es-modules/Series/Pie/PieSeries.js +3 -1
  162. package/es-modules/Series/PolarComposition.js +12 -12
  163. package/es-modules/Series/Sankey/SankeySeries.js +13 -1
  164. package/es-modules/Series/Scatter/ScatterSeries.js +4 -1
  165. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +1 -1
  166. package/es-modules/Series/SeriesOnPointComposition.js +5 -1
  167. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +1 -1
  168. package/es-modules/Series/Sunburst/SunburstPoint.js +5 -6
  169. package/es-modules/Series/Sunburst/SunburstSeries.js +24 -2
  170. package/es-modules/Series/Timeline/TimelineSeries.js +2 -0
  171. package/es-modules/Series/Treemap/TreemapSeries.js +3 -3
  172. package/es-modules/Series/Vector/VectorSeries.js +2 -4
  173. package/es-modules/Series/Wordcloud/WordcloudSeries.js +1 -1
  174. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  175. package/es-modules/Series/XRange/XRangePoint.js +54 -45
  176. package/es-modules/Series/XRange/XRangeSeries.js +121 -273
  177. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  178. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +10 -2
  179. package/es-modules/Stock/Indicators/AD/ADIndicator.js +5 -0
  180. package/es-modules/Stock/Indicators/AO/AOIndicator.js +22 -11
  181. package/es-modules/Stock/Indicators/APO/APOIndicator.js +6 -1
  182. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +16 -3
  183. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +15 -2
  184. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +6 -2
  185. package/es-modules/Stock/Indicators/BB/BBIndicator.js +5 -1
  186. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +16 -3
  187. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +20 -0
  188. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +15 -1
  189. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +7 -2
  190. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +25 -0
  191. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +5 -0
  192. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +19 -8
  193. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +10 -0
  194. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +34 -15
  195. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +25 -0
  196. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +12 -1
  197. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +11 -1
  198. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +12 -7
  199. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +11 -1
  200. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +11 -1
  201. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +21 -10
  202. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +23 -10
  203. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +30 -2
  204. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +16 -1
  205. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +10 -0
  206. package/es-modules/Stock/Indicators/PC/PCIndicator.js +13 -8
  207. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +14 -4
  208. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +16 -3
  209. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +16 -6
  210. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +16 -12
  211. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +25 -0
  212. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +15 -2
  213. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +20 -2
  214. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +1 -1
  215. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +25 -0
  216. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +15 -0
  217. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +17 -3
  218. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +25 -0
  219. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +14 -4
  220. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +32 -3
  221. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +6 -6
  222. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +11 -1
  223. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +30 -2
  224. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +10 -0
  225. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +11 -1
  226. package/es-modules/Stock/StockToolbar.js +568 -0
  227. package/es-modules/Stock/StockTools.js +256 -0
  228. package/es-modules/Stock/StockToolsBindings.js +114 -629
  229. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  230. package/es-modules/Stock/StockToolsGui.js +150 -1771
  231. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  232. package/es-modules/masters/highcharts-3d.src.js +5 -4
  233. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  234. package/es-modules/masters/highcharts-more.src.js +4 -3
  235. package/es-modules/masters/highcharts.src.js +5 -2
  236. package/es-modules/masters/highmaps.src.js +1 -1
  237. package/es-modules/masters/highstock.src.js +1 -1
  238. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  239. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  240. package/es-modules/masters/indicators/ao.src.js +1 -1
  241. package/es-modules/masters/indicators/apo.src.js +1 -1
  242. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  243. package/es-modules/masters/indicators/aroon.src.js +1 -1
  244. package/es-modules/masters/indicators/atr.src.js +1 -1
  245. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  246. package/es-modules/masters/indicators/cci.src.js +1 -1
  247. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  248. package/es-modules/masters/indicators/cmf.src.js +1 -1
  249. package/es-modules/masters/indicators/cmo.src.js +1 -1
  250. package/es-modules/masters/indicators/dema.src.js +1 -1
  251. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  252. package/es-modules/masters/indicators/dmi.src.js +1 -1
  253. package/es-modules/masters/indicators/dpo.src.js +1 -1
  254. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  255. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  256. package/es-modules/masters/indicators/indicators.src.js +1 -1
  257. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  258. package/es-modules/masters/indicators/klinger.src.js +1 -1
  259. package/es-modules/masters/indicators/macd.src.js +1 -1
  260. package/es-modules/masters/indicators/mfi.src.js +1 -1
  261. package/es-modules/masters/indicators/momentum.src.js +1 -1
  262. package/es-modules/masters/indicators/natr.src.js +1 -1
  263. package/es-modules/masters/indicators/obv.src.js +1 -1
  264. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  265. package/es-modules/masters/indicators/ppo.src.js +1 -1
  266. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  267. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  268. package/es-modules/masters/indicators/psar.src.js +1 -1
  269. package/es-modules/masters/indicators/regressions.src.js +5 -5
  270. package/es-modules/masters/indicators/roc.src.js +1 -1
  271. package/es-modules/masters/indicators/rsi.src.js +1 -1
  272. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  273. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  274. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  275. package/es-modules/masters/indicators/tema.src.js +1 -1
  276. package/es-modules/masters/indicators/trendline.src.js +1 -1
  277. package/es-modules/masters/indicators/trix.src.js +1 -1
  278. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  279. package/es-modules/masters/indicators/vwap.src.js +1 -1
  280. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  281. package/es-modules/masters/indicators/wma.src.js +1 -1
  282. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  283. package/es-modules/masters/modules/accessibility.src.js +1 -1
  284. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  285. package/es-modules/masters/modules/annotations.src.js +6 -4
  286. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  287. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  288. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  289. package/es-modules/masters/modules/boost.src.js +6 -2
  290. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  291. package/es-modules/masters/modules/bullet.src.js +1 -1
  292. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  293. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  294. package/es-modules/masters/modules/cylinder.src.js +1 -1
  295. package/es-modules/masters/modules/data.src.js +1 -1
  296. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  297. package/es-modules/masters/modules/debugger.src.js +5 -3
  298. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  299. package/es-modules/masters/modules/dotplot.src.js +1 -1
  300. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  301. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  302. package/es-modules/masters/modules/drilldown.src.js +1 -1
  303. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  304. package/es-modules/masters/modules/export-data.src.js +5 -2
  305. package/es-modules/masters/modules/exporting.src.js +1 -2
  306. package/es-modules/masters/modules/full-screen.src.js +6 -2
  307. package/es-modules/masters/modules/funnel.src.js +1 -1
  308. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  309. package/es-modules/masters/modules/gantt.src.js +3 -2
  310. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  311. package/es-modules/masters/modules/heatmap.src.js +1 -1
  312. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  313. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  314. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  315. package/es-modules/masters/modules/item-series.src.js +1 -1
  316. package/es-modules/masters/modules/lollipop.src.js +1 -1
  317. package/es-modules/masters/modules/map.src.js +2 -2
  318. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  319. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  320. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  321. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  322. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  323. package/es-modules/masters/modules/oldie.src.js +1 -1
  324. package/es-modules/masters/modules/organization.src.js +1 -1
  325. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  326. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  327. package/es-modules/masters/modules/pareto.src.js +1 -1
  328. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  329. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  330. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  331. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  332. package/es-modules/masters/modules/sankey.src.js +1 -1
  333. package/es-modules/masters/modules/series-label.src.js +1 -1
  334. package/es-modules/masters/modules/series-on-point.src.js +1 -1
  335. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  336. package/es-modules/masters/modules/sonification.src.js +1 -1
  337. package/es-modules/masters/modules/static-scale.src.js +1 -1
  338. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  339. package/es-modules/masters/modules/stock.src.js +1 -1
  340. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  341. package/es-modules/masters/modules/sunburst.src.js +1 -1
  342. package/es-modules/masters/modules/tilemap.src.js +1 -1
  343. package/es-modules/masters/modules/timeline.src.js +1 -1
  344. package/es-modules/masters/modules/treegrid.src.js +2 -2
  345. package/es-modules/masters/modules/treemap.src.js +1 -1
  346. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  347. package/es-modules/masters/modules/variwide.src.js +1 -1
  348. package/es-modules/masters/modules/vector.src.js +1 -1
  349. package/es-modules/masters/modules/venn.src.js +1 -1
  350. package/es-modules/masters/modules/windbarb.src.js +1 -1
  351. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  352. package/es-modules/masters/modules/xrange.src.js +5 -2
  353. package/es-modules/masters/themes/avocado.src.js +1 -1
  354. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  355. package/es-modules/masters/themes/brand-light.src.js +1 -1
  356. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  357. package/es-modules/masters/themes/dark-green.src.js +1 -1
  358. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  359. package/es-modules/masters/themes/gray.src.js +1 -1
  360. package/es-modules/masters/themes/grid-light.src.js +1 -1
  361. package/es-modules/masters/themes/grid.src.js +1 -1
  362. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  363. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  364. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  365. package/es-modules/masters/themes/skies.src.js +1 -1
  366. package/es-modules/masters/themes/sunset.src.js +1 -1
  367. package/highcharts-3d.js +98 -99
  368. package/highcharts-3d.js.map +1 -1
  369. package/highcharts-3d.src.js +232 -211
  370. package/highcharts-gantt.js +808 -809
  371. package/highcharts-gantt.js.map +1 -1
  372. package/highcharts-gantt.src.js +2308 -2136
  373. package/highcharts-more.d.ts +5 -8
  374. package/highcharts-more.js +201 -194
  375. package/highcharts-more.js.map +1 -1
  376. package/highcharts-more.src.d.ts +5 -8
  377. package/highcharts-more.src.js +3671 -3275
  378. package/highcharts.d.ts +1400 -885
  379. package/highcharts.js +593 -595
  380. package/highcharts.js.map +1 -1
  381. package/highcharts.src.d.ts +1400 -885
  382. package/highcharts.src.js +847 -716
  383. package/highmaps.js +762 -763
  384. package/highmaps.js.map +1 -1
  385. package/highmaps.src.js +1288 -1129
  386. package/highstock.js +796 -798
  387. package/highstock.js.map +1 -1
  388. package/highstock.src.js +953 -762
  389. package/indicators/acceleration-bands.js +1 -1
  390. package/indicators/acceleration-bands.js.map +1 -1
  391. package/indicators/acceleration-bands.src.js +11 -3
  392. package/indicators/accumulation-distribution.js +1 -1
  393. package/indicators/accumulation-distribution.js.map +1 -1
  394. package/indicators/accumulation-distribution.src.js +6 -1
  395. package/indicators/ao.js +6 -6
  396. package/indicators/ao.js.map +1 -1
  397. package/indicators/ao.src.js +23 -14
  398. package/indicators/apo.js +1 -1
  399. package/indicators/apo.js.map +1 -1
  400. package/indicators/apo.src.js +6 -1
  401. package/indicators/aroon-oscillator.js +10 -10
  402. package/indicators/aroon-oscillator.js.map +1 -1
  403. package/indicators/aroon-oscillator.src.js +7 -3
  404. package/indicators/aroon.js +1 -1
  405. package/indicators/aroon.js.map +1 -1
  406. package/indicators/aroon.src.js +16 -3
  407. package/indicators/atr.js +1 -1
  408. package/indicators/atr.js.map +1 -1
  409. package/indicators/atr.src.js +17 -4
  410. package/indicators/bollinger-bands.js +1 -1
  411. package/indicators/bollinger-bands.js.map +1 -1
  412. package/indicators/bollinger-bands.src.js +6 -2
  413. package/indicators/cci.js +1 -1
  414. package/indicators/cci.js.map +1 -1
  415. package/indicators/cci.src.js +17 -4
  416. package/indicators/chaikin.js +8 -8
  417. package/indicators/chaikin.js.map +1 -1
  418. package/indicators/chaikin.src.js +13 -5
  419. package/indicators/cmf.js +1 -1
  420. package/indicators/cmf.js.map +1 -1
  421. package/indicators/cmf.src.js +21 -1
  422. package/indicators/cmo.js +1 -1
  423. package/indicators/cmo.js.map +1 -1
  424. package/indicators/cmo.src.js +16 -2
  425. package/indicators/dema.js +1 -1
  426. package/indicators/dema.js.map +1 -1
  427. package/indicators/dema.src.js +26 -1
  428. package/indicators/disparity-index.js +1 -1
  429. package/indicators/disparity-index.src.js +1 -1
  430. package/indicators/dmi.js +1 -1
  431. package/indicators/dmi.js.map +1 -1
  432. package/indicators/dmi.src.js +6 -1
  433. package/indicators/dpo.js +1 -1
  434. package/indicators/dpo.js.map +1 -1
  435. package/indicators/dpo.src.js +20 -9
  436. package/indicators/ichimoku-kinko-hyo.js +1 -1
  437. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  438. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  439. package/indicators/indicators-all.js +199 -199
  440. package/indicators/indicators-all.js.map +1 -1
  441. package/indicators/indicators-all.src.js +754 -162
  442. package/indicators/indicators.js +1 -1
  443. package/indicators/indicators.js.map +1 -1
  444. package/indicators/indicators.src.js +12 -2
  445. package/indicators/keltner-channels.js +1 -1
  446. package/indicators/keltner-channels.js.map +1 -1
  447. package/indicators/keltner-channels.src.js +26 -1
  448. package/indicators/klinger.js +12 -12
  449. package/indicators/klinger.js.map +1 -1
  450. package/indicators/klinger.src.js +13 -4
  451. package/indicators/macd.js +1 -1
  452. package/indicators/macd.js.map +1 -1
  453. package/indicators/macd.src.js +22 -13
  454. package/indicators/mfi.js +1 -1
  455. package/indicators/mfi.js.map +1 -1
  456. package/indicators/mfi.src.js +24 -11
  457. package/indicators/momentum.js +1 -1
  458. package/indicators/momentum.js.map +1 -1
  459. package/indicators/momentum.src.js +31 -3
  460. package/indicators/natr.js +1 -1
  461. package/indicators/natr.js.map +1 -1
  462. package/indicators/natr.src.js +17 -3
  463. package/indicators/obv.js +1 -1
  464. package/indicators/obv.js.map +1 -1
  465. package/indicators/obv.src.js +11 -1
  466. package/indicators/pivot-points.js +1 -1
  467. package/indicators/pivot-points.js.map +1 -1
  468. package/indicators/pivot-points.src.js +32 -19
  469. package/indicators/ppo.js +1 -1
  470. package/indicators/ppo.js.map +1 -1
  471. package/indicators/ppo.src.js +15 -5
  472. package/indicators/price-channel.js +1 -1
  473. package/indicators/price-channel.js.map +1 -1
  474. package/indicators/price-channel.src.js +14 -9
  475. package/indicators/price-envelopes.js +1 -1
  476. package/indicators/price-envelopes.js.map +1 -1
  477. package/indicators/price-envelopes.src.js +26 -1
  478. package/indicators/psar.js +1 -1
  479. package/indicators/psar.js.map +1 -1
  480. package/indicators/psar.src.js +17 -4
  481. package/indicators/regressions.js +12 -11
  482. package/indicators/regressions.js.map +1 -1
  483. package/indicators/regressions.src.js +50 -15
  484. package/indicators/roc.js +1 -1
  485. package/indicators/roc.js.map +1 -1
  486. package/indicators/roc.src.js +16 -3
  487. package/indicators/rsi.js +1 -1
  488. package/indicators/rsi.js.map +1 -1
  489. package/indicators/rsi.src.js +21 -3
  490. package/indicators/slow-stochastic.js +1 -1
  491. package/indicators/slow-stochastic.js.map +1 -1
  492. package/indicators/slow-stochastic.src.js +26 -1
  493. package/indicators/stochastic.js +1 -1
  494. package/indicators/stochastic.js.map +1 -1
  495. package/indicators/stochastic.src.js +16 -1
  496. package/indicators/supertrend.js +7 -7
  497. package/indicators/supertrend.js.map +1 -1
  498. package/indicators/supertrend.src.js +18 -6
  499. package/indicators/tema.js +1 -1
  500. package/indicators/tema.src.js +1 -1
  501. package/indicators/trendline.js +1 -1
  502. package/indicators/trendline.js.map +1 -1
  503. package/indicators/trendline.src.js +15 -5
  504. package/indicators/trix.js +1 -1
  505. package/indicators/trix.js.map +1 -1
  506. package/indicators/trix.src.js +26 -1
  507. package/indicators/volume-by-price.js +17 -17
  508. package/indicators/volume-by-price.js.map +1 -1
  509. package/indicators/volume-by-price.src.js +38 -10
  510. package/indicators/vwap.js +1 -1
  511. package/indicators/vwap.js.map +1 -1
  512. package/indicators/vwap.src.js +12 -2
  513. package/indicators/williams-r.js +1 -1
  514. package/indicators/williams-r.js.map +1 -1
  515. package/indicators/williams-r.src.js +11 -1
  516. package/indicators/wma.js +1 -1
  517. package/indicators/wma.js.map +1 -1
  518. package/indicators/wma.src.js +31 -3
  519. package/indicators/zigzag.js +1 -1
  520. package/indicators/zigzag.js.map +1 -1
  521. package/indicators/zigzag.src.js +12 -2
  522. package/modules/accessibility.js +183 -182
  523. package/modules/accessibility.js.map +1 -1
  524. package/modules/accessibility.src.js +559 -554
  525. package/modules/annotations-advanced.d.ts +1 -1
  526. package/modules/annotations-advanced.js +193 -192
  527. package/modules/annotations-advanced.js.map +1 -1
  528. package/modules/annotations-advanced.src.d.ts +1 -1
  529. package/modules/annotations-advanced.src.js +9263 -8654
  530. package/modules/annotations.d.ts +1 -1
  531. package/modules/annotations.js +128 -126
  532. package/modules/annotations.js.map +1 -1
  533. package/modules/annotations.src.d.ts +1 -1
  534. package/modules/annotations.src.js +6699 -6063
  535. package/modules/arc-diagram.js +1 -1
  536. package/modules/arc-diagram.src.js +1 -1
  537. package/modules/arrow-symbols.js +1 -1
  538. package/modules/arrow-symbols.src.js +1 -1
  539. package/modules/boost-canvas.d.ts +19 -0
  540. package/modules/boost-canvas.js +81 -16
  541. package/modules/boost-canvas.js.map +1 -1
  542. package/modules/boost-canvas.src.d.ts +19 -0
  543. package/modules/boost-canvas.src.js +3334 -50
  544. package/modules/boost.d.ts +8 -26
  545. package/modules/boost.js +84 -77
  546. package/modules/boost.js.map +1 -1
  547. package/modules/boost.src.d.ts +8 -26
  548. package/modules/boost.src.js +2423 -1888
  549. package/modules/broken-axis.js +2 -2
  550. package/modules/broken-axis.js.map +1 -1
  551. package/modules/broken-axis.src.js +2 -2
  552. package/modules/bullet.js +1 -1
  553. package/modules/bullet.src.js +1 -1
  554. package/modules/coloraxis.js +1 -1
  555. package/modules/coloraxis.js.map +1 -1
  556. package/modules/coloraxis.src.js +5 -1
  557. package/modules/current-date-indicator.js +1 -1
  558. package/modules/current-date-indicator.src.js +1 -1
  559. package/modules/cylinder.js +9 -9
  560. package/modules/cylinder.js.map +1 -1
  561. package/modules/cylinder.src.js +2 -2
  562. package/modules/data.js +1 -1
  563. package/modules/data.src.js +1 -1
  564. package/modules/datagrouping.d.ts +22 -0
  565. package/modules/datagrouping.js +4 -4
  566. package/modules/datagrouping.js.map +1 -1
  567. package/modules/datagrouping.src.d.ts +22 -0
  568. package/modules/datagrouping.src.js +66 -28
  569. package/modules/debugger.js +6 -5
  570. package/modules/debugger.js.map +1 -1
  571. package/modules/debugger.src.js +81 -40
  572. package/modules/dependency-wheel.js +12 -12
  573. package/modules/dependency-wheel.js.map +1 -1
  574. package/modules/dependency-wheel.src.js +41 -14
  575. package/modules/dotplot.js +1 -1
  576. package/modules/dotplot.src.js +1 -1
  577. package/modules/drag-panes.js +1 -1
  578. package/modules/drag-panes.src.js +1 -1
  579. package/modules/draggable-points.js +5 -5
  580. package/modules/draggable-points.js.map +1 -1
  581. package/modules/draggable-points.src.js +5 -4
  582. package/modules/drilldown.d.ts +0 -10
  583. package/modules/drilldown.js +29 -29
  584. package/modules/drilldown.js.map +1 -1
  585. package/modules/drilldown.src.d.ts +0 -10
  586. package/modules/drilldown.src.js +12 -9
  587. package/modules/dumbbell.js +1 -1
  588. package/modules/dumbbell.src.js +1 -1
  589. package/modules/export-data.js +25 -24
  590. package/modules/export-data.js.map +1 -1
  591. package/modules/export-data.src.js +607 -499
  592. package/modules/exporting.js +38 -38
  593. package/modules/exporting.js.map +1 -1
  594. package/modules/exporting.src.js +559 -507
  595. package/modules/full-screen.js +8 -8
  596. package/modules/full-screen.js.map +1 -1
  597. package/modules/full-screen.src.js +76 -26
  598. package/modules/funnel.js +1 -1
  599. package/modules/funnel.src.js +1 -1
  600. package/modules/funnel3d.js +2 -2
  601. package/modules/funnel3d.js.map +1 -1
  602. package/modules/funnel3d.src.js +2 -2
  603. package/modules/gantt.js +217 -216
  604. package/modules/gantt.js.map +1 -1
  605. package/modules/gantt.src.js +1481 -1440
  606. package/modules/grid-axis.js +1 -1
  607. package/modules/grid-axis.src.js +1 -1
  608. package/modules/heatmap.js +1 -1
  609. package/modules/heatmap.js.map +1 -1
  610. package/modules/heatmap.src.js +10 -2
  611. package/modules/heikinashi.js +1 -1
  612. package/modules/heikinashi.src.js +1 -1
  613. package/modules/histogram-bellcurve.js +1 -1
  614. package/modules/histogram-bellcurve.src.js +1 -1
  615. package/modules/hollowcandlestick.js +1 -1
  616. package/modules/hollowcandlestick.src.js +1 -1
  617. package/modules/item-series.js +1 -1
  618. package/modules/item-series.src.js +1 -1
  619. package/modules/lollipop.js +6 -6
  620. package/modules/lollipop.js.map +1 -1
  621. package/modules/lollipop.src.js +37 -22
  622. package/modules/map.d.ts +3 -3
  623. package/modules/map.js +171 -171
  624. package/modules/map.js.map +1 -1
  625. package/modules/map.src.d.ts +3 -3
  626. package/modules/map.src.js +442 -414
  627. package/modules/marker-clusters.js +1 -1
  628. package/modules/marker-clusters.js.map +1 -1
  629. package/modules/marker-clusters.src.js +3 -1
  630. package/modules/networkgraph.js +55 -50
  631. package/modules/networkgraph.js.map +1 -1
  632. package/modules/networkgraph.src.js +2259 -1938
  633. package/modules/no-data-to-display.js +1 -1
  634. package/modules/no-data-to-display.src.js +1 -1
  635. package/modules/offline-exporting.js +2 -2
  636. package/modules/offline-exporting.src.js +2 -2
  637. package/modules/oldie-polyfills.js +1 -1
  638. package/modules/oldie-polyfills.src.js +1 -1
  639. package/modules/oldie.js +2 -2
  640. package/modules/oldie.src.js +2 -2
  641. package/modules/organization.js +15 -15
  642. package/modules/organization.js.map +1 -1
  643. package/modules/organization.src.js +10 -2
  644. package/modules/overlapping-datalabels.js +1 -1
  645. package/modules/overlapping-datalabels.src.js +1 -1
  646. package/modules/parallel-coordinates.js +11 -11
  647. package/modules/parallel-coordinates.js.map +1 -1
  648. package/modules/parallel-coordinates.src.js +13 -8
  649. package/modules/pareto.js +1 -1
  650. package/modules/pareto.src.js +1 -1
  651. package/modules/pathfinder.js +1 -1
  652. package/modules/pathfinder.src.js +1 -1
  653. package/modules/pattern-fill.js +1 -1
  654. package/modules/pattern-fill.src.js +1 -1
  655. package/modules/price-indicator.js +1 -1
  656. package/modules/price-indicator.src.js +1 -1
  657. package/modules/pyramid3d.js +1 -1
  658. package/modules/pyramid3d.src.js +1 -1
  659. package/modules/sankey.js +1 -1
  660. package/modules/sankey.js.map +1 -1
  661. package/modules/sankey.src.js +14 -2
  662. package/modules/series-label.js +5 -5
  663. package/modules/series-label.js.map +1 -1
  664. package/modules/series-label.src.js +3 -3
  665. package/modules/series-on-point.js +1 -1
  666. package/modules/series-on-point.js.map +1 -1
  667. package/modules/series-on-point.src.js +6 -2
  668. package/modules/solid-gauge.js +1 -1
  669. package/modules/solid-gauge.src.js +2 -2
  670. package/modules/sonification.d.ts +2 -2
  671. package/modules/sonification.js +1 -1
  672. package/modules/sonification.src.d.ts +2 -2
  673. package/modules/sonification.src.js +2 -2
  674. package/modules/static-scale.js +1 -1
  675. package/modules/static-scale.src.js +1 -1
  676. package/modules/stock-tools.d.ts +1 -23
  677. package/modules/stock-tools.js +109 -179
  678. package/modules/stock-tools.js.map +1 -1
  679. package/modules/stock-tools.src.d.ts +1 -23
  680. package/modules/stock-tools.src.js +2605 -6335
  681. package/modules/stock.d.ts +8 -0
  682. package/modules/stock.js +105 -105
  683. package/modules/stock.js.map +1 -1
  684. package/modules/stock.src.d.ts +8 -0
  685. package/modules/stock.src.js +105 -45
  686. package/modules/streamgraph.js +1 -1
  687. package/modules/streamgraph.src.js +1 -1
  688. package/modules/sunburst.js +72 -72
  689. package/modules/sunburst.js.map +1 -1
  690. package/modules/sunburst.src.js +38 -12
  691. package/modules/tilemap.js +1 -1
  692. package/modules/tilemap.src.js +1 -1
  693. package/modules/timeline.js +1 -1
  694. package/modules/timeline.js.map +1 -1
  695. package/modules/timeline.src.js +3 -1
  696. package/modules/treegrid.js +57 -57
  697. package/modules/treegrid.js.map +1 -1
  698. package/modules/treegrid.src.js +1022 -1014
  699. package/modules/treemap.js +1 -1
  700. package/modules/treemap.js.map +1 -1
  701. package/modules/treemap.src.js +8 -4
  702. package/modules/variable-pie.js +1 -1
  703. package/modules/variable-pie.src.js +1 -1
  704. package/modules/variwide.js +1 -1
  705. package/modules/variwide.src.js +1 -1
  706. package/modules/vector.js +2 -2
  707. package/modules/vector.js.map +1 -1
  708. package/modules/vector.src.js +3 -5
  709. package/modules/venn.js +1 -1
  710. package/modules/venn.src.js +5 -5
  711. package/modules/windbarb.js +1 -1
  712. package/modules/windbarb.src.js +1 -1
  713. package/modules/wordcloud.js +1 -1
  714. package/modules/wordcloud.src.js +3 -3
  715. package/modules/xrange.js +17 -17
  716. package/modules/xrange.js.map +1 -1
  717. package/modules/xrange.src.js +411 -397
  718. package/package.json +1 -1
  719. package/themes/avocado.js +1 -1
  720. package/themes/avocado.src.js +1 -1
  721. package/themes/brand-dark.js +1 -1
  722. package/themes/brand-dark.src.js +1 -1
  723. package/themes/brand-light.js +1 -1
  724. package/themes/brand-light.src.js +1 -1
  725. package/themes/dark-blue.js +1 -1
  726. package/themes/dark-blue.src.js +1 -1
  727. package/themes/dark-green.js +1 -1
  728. package/themes/dark-green.src.js +1 -1
  729. package/themes/dark-unica.js +1 -1
  730. package/themes/dark-unica.src.js +1 -1
  731. package/themes/gray.js +1 -1
  732. package/themes/gray.src.js +1 -1
  733. package/themes/grid-light.js +1 -1
  734. package/themes/grid-light.src.js +1 -1
  735. package/themes/grid.js +1 -1
  736. package/themes/grid.src.js +1 -1
  737. package/themes/high-contrast-dark.js +1 -1
  738. package/themes/high-contrast-dark.src.js +1 -1
  739. package/themes/high-contrast-light.js +1 -1
  740. package/themes/high-contrast-light.src.js +1 -1
  741. package/themes/sand-signika.js +1 -1
  742. package/themes/sand-signika.src.js +1 -1
  743. package/themes/skies.js +1 -1
  744. package/themes/skies.src.js +1 -1
  745. package/themes/sunset.js +1 -1
  746. package/themes/sunset.src.js +1 -1
  747. package/es-modules/Core/Axis/StackingAxis.js +0 -215
  748. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  749. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  750. package/es-modules/Extensions/Annotations/AnnotationsDefaults.js +0 -0
  751. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  752. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  753. package/es-modules/Extensions/Boost/BoostAttach.js +0 -154
  754. package/es-modules/Extensions/Boost/BoostInit.js +0 -324
  755. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  756. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  757. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  758. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  759. package/es-modules/Extensions/Stacking.js +0 -517
  760. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  761. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  762. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1180
  763. package/es-modules/Series/XRange/XRangeComposition.js +0 -49
@@ -12,12 +12,42 @@
12
12
  'use strict';
13
13
  import Color from '../../Core/Color/Color.js';
14
14
  var color = Color.parse;
15
- import GLShader from './WGLShader.js';
16
- import GLVertexBuffer from './WGLVBuffer.js';
17
15
  import H from '../../Core/Globals.js';
18
16
  var doc = H.doc, win = H.win;
19
17
  import U from '../../Core/Utilities.js';
20
18
  var isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach = U.objectEach, pick = U.pick;
19
+ import WGLDrawMode from './WGLDrawMode.js';
20
+ import WGLShader from './WGLShader.js';
21
+ import WGLVertexBuffer from './WGLVertexBuffer.js';
22
+ /* *
23
+ *
24
+ * Constants
25
+ *
26
+ * */
27
+ // Things to draw as "rectangles" (i.e lines)
28
+ var asBar = {
29
+ 'column': true,
30
+ 'columnrange': true,
31
+ 'bar': true,
32
+ 'area': true,
33
+ 'areaspline': true,
34
+ 'arearange': true
35
+ };
36
+ var asCircle = {
37
+ 'scatter': true,
38
+ 'bubble': true
39
+ };
40
+ var contexts = [
41
+ 'webgl',
42
+ 'experimental-webgl',
43
+ 'moz-webgl',
44
+ 'webkit-3d'
45
+ ];
46
+ /* *
47
+ *
48
+ * Class
49
+ *
50
+ * */
21
51
  /* eslint-disable valid-jsdoc */
22
52
  /**
23
53
  * Main renderer. Used to render series.
@@ -28,85 +58,76 @@ var isNumber = U.isNumber, isObject = U.isObject, merge = U.merge, objectEach =
28
58
  * - Need to figure out a way to transform the data quicker
29
59
  *
30
60
  * @private
31
- * @function GLRenderer
61
+ *
62
+ * @param {Function} postRenderCallback
32
63
  */
33
- function GLRenderer(postRenderCallback) {
34
- // // Shader
35
- var shader = false,
36
- // Vertex buffers - keyed on shader attribute name
37
- vbuffer = false, vlen = 0,
38
- // Opengl context
39
- gl = false,
40
- // Width of our viewport in pixels
41
- width = 0,
42
- // Height of our viewport in pixels
43
- height = 0,
44
- // The data to render - array of coordinates
45
- data = false,
46
- // The marker data
47
- markerData = false,
48
- // Exports
49
- exports = {},
50
- // Is it inited?
51
- isInited = false,
52
- // The series stack
53
- series = [],
54
- // Texture handles
55
- textureHandles = {},
56
- // Things to draw as "rectangles" (i.e lines)
57
- asBar = {
58
- 'column': true,
59
- 'columnrange': true,
60
- 'bar': true,
61
- 'area': true,
62
- 'areaspline': true,
63
- 'arearange': true
64
- }, asCircle = {
65
- 'scatter': true,
66
- 'bubble': true
67
- },
68
- // Render settings
69
- settings = {
70
- pointSize: 1,
71
- lineWidth: 1,
72
- fillColor: '#AA00AA',
73
- useAlpha: true,
74
- usePreallocated: false,
75
- useGPUTranslations: false,
76
- debug: {
77
- timeRendering: false,
78
- timeSeriesProcessing: false,
79
- timeSetup: false,
80
- timeBufferCopy: false,
81
- timeKDTree: false,
82
- showSkipSummary: false
83
- }
84
- };
85
- // /////////////////////////////////////////////////////////////////////////
86
- /**
87
- * @private
88
- */
89
- function getPixelRatio() {
90
- return settings.pixelRatio || win.devicePixelRatio || 1;
64
+ var WGLRenderer = /** @class */ (function () {
65
+ /* *
66
+ *
67
+ * Constructor
68
+ *
69
+ * */
70
+ function WGLRenderer(postRenderCallback) {
71
+ // The data to render - array of coordinates
72
+ this.data = [];
73
+ // Height of our viewport in pixels
74
+ this.height = 0;
75
+ // Is it inited?
76
+ this.isInited = false;
77
+ // The marker data
78
+ this.markerData = [];
79
+ // The series stack
80
+ this.series = [];
81
+ // Texture handles
82
+ this.textureHandles = {};
83
+ // Width of our viewport in pixels
84
+ this.width = 0;
85
+ this.postRenderCallback = postRenderCallback;
86
+ this.settings = {
87
+ pointSize: 1,
88
+ lineWidth: 1,
89
+ fillColor: '#AA00AA',
90
+ useAlpha: true,
91
+ usePreallocated: false,
92
+ useGPUTranslations: false,
93
+ debug: {
94
+ timeRendering: false,
95
+ timeSeriesProcessing: false,
96
+ timeSetup: false,
97
+ timeBufferCopy: false,
98
+ timeKDTree: false,
99
+ showSkipSummary: false
100
+ }
101
+ };
91
102
  }
103
+ /* *
104
+ *
105
+ * Static Functions
106
+ *
107
+ * */
92
108
  /**
109
+ * Returns an orthographic perspective matrix
93
110
  * @private
111
+ * @param {number} width
112
+ * the width of the viewport in pixels
113
+ * @param {number} height
114
+ * the height of the viewport in pixels
94
115
  */
95
- function setOptions(options) {
96
- // The pixelRatio defaults to 1. This is an antipattern, we should
97
- // refactor the Boost options to include an object of default options as
98
- // base for the merge, like other components.
99
- if (!('pixelRatio' in options)) {
100
- options.pixelRatio = 1;
101
- }
102
- merge(true, settings, options);
103
- }
116
+ WGLRenderer.orthoMatrix = function (width, height) {
117
+ var near = 0, far = 1;
118
+ return [
119
+ 2 / width, 0, 0, 0,
120
+ 0, -(2 / height), 0, 0,
121
+ 0, 0, -2 / (far - near), 0,
122
+ -1, 1, -(far + near) / (far - near), 1
123
+ ];
124
+ };
104
125
  /**
105
126
  * @private
106
127
  */
107
- function seriesPointCount(series) {
128
+ WGLRenderer.seriesPointCount = function (series) {
108
129
  var isStacked, xData, s;
109
- if (series.isSeriesBoosting) {
130
+ if (series.boosted) {
110
131
  isStacked = !!series.options.stacking;
111
132
  xData = (series.xData ||
112
133
  series.options.xData ||
@@ -125,81 +146,80 @@ function GLRenderer(postRenderCallback) {
125
146
  return s;
126
147
  }
127
148
  return 0;
128
- }
149
+ };
150
+ /* *
151
+ *
152
+ * Functions
153
+ *
154
+ * */
155
+ /**
156
+ * @private
157
+ */
158
+ WGLRenderer.prototype.getPixelRatio = function () {
159
+ return this.settings.pixelRatio || win.devicePixelRatio || 1;
160
+ };
161
+ /**
162
+ * @private
163
+ */
164
+ WGLRenderer.prototype.setOptions = function (options) {
165
+ // The pixelRatio defaults to 1. This is an antipattern, we should
166
+ // refactor the Boost options to include an object of default options as
167
+ // base for the merge, like other components.
168
+ if (!('pixelRatio' in options)) {
169
+ options.pixelRatio = 1;
170
+ }
171
+ merge(true, this.settings, options);
172
+ };
129
173
  /**
130
174
  * Allocate a float buffer to fit all series
131
175
  * @private
132
176
  */
133
- function allocateBuffer(chart) {
177
+ WGLRenderer.prototype.allocateBuffer = function (chart) {
178
+ var vbuffer = this.vbuffer;
134
179
  var s = 0;
135
- if (!settings.usePreallocated) {
180
+ if (!this.settings.usePreallocated) {
136
181
  return;
137
182
  }
138
183
  chart.series.forEach(function (series) {
139
- if (series.isSeriesBoosting) {
140
- s += seriesPointCount(series);
184
+ if (series.boosted) {
185
+ s += WGLRenderer.seriesPointCount(series);
141
186
  }
142
187
  });
143
- vbuffer.allocate(s);
144
- }
188
+ vbuffer && vbuffer.allocate(s);
189
+ };
145
190
  /**
146
191
  * @private
147
192
  */
148
- function allocateBufferForSingleSeries(series) {
193
+ WGLRenderer.prototype.allocateBufferForSingleSeries = function (series) {
194
+ var vbuffer = this.vbuffer;
149
195
  var s = 0;
150
- if (!settings.usePreallocated) {
196
+ if (!this.settings.usePreallocated) {
151
197
  return;
152
198
  }
153
- if (series.isSeriesBoosting) {
154
- s = seriesPointCount(series);
199
+ if (series.boosted) {
200
+ s = WGLRenderer.seriesPointCount(series);
155
201
  }
156
- vbuffer.allocate(s);
157
- }
158
- /**
159
- * Returns an orthographic perspective matrix
160
- * @private
161
- * @param {number} width
162
- * the width of the viewport in pixels
163
- * @param {number} height
164
- * the height of the viewport in pixels
165
- */
166
- function orthoMatrix(width, height) {
167
- var near = 0, far = 1;
168
- return [
169
- 2 / width, 0, 0, 0,
170
- 0, -(2 / height), 0, 0,
171
- 0, 0, -2 / (far - near), 0,
172
- -1, 1, -(far + near) / (far - near), 1
173
- ];
174
- }
202
+ vbuffer && vbuffer.allocate(s);
203
+ };
175
204
  /**
176
205
  * Clear the depth and color buffer
177
206
  * @private
178
207
  */
179
- function clear() {
180
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
181
- }
182
- /**
183
- * Get the WebGL context
184
- * @private
185
- * @return {WebGLContext}
186
- * the context
187
- */
188
- function getGL() {
189
- return gl;
190
- }
208
+ WGLRenderer.prototype.clear = function () {
209
+ var gl = this.gl;
210
+ gl && gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
211
+ };
191
212
  /**
192
213
  * Push data for a single series
193
214
  * This calculates additional vertices and transforms the data to be
194
215
  * aligned correctly in memory
195
216
  * @private
196
217
  */
197
- function pushSeriesData(series, inst) {
198
- var isRange = (series.pointArrayMap &&
218
+ WGLRenderer.prototype.pushSeriesData = function (series, inst) {
219
+ var _this = this;
220
+ var data = this.data, settings = this.settings, vbuffer = this.vbuffer, isRange = (series.pointArrayMap &&
199
221
  series.pointArrayMap.join(',') === 'low,high'), chart = series.chart, options = series.options, isStacked = !!options.stacking, rawData = options.data, xExtremes = series.xAxis.getExtremes(), xMin = xExtremes.min, xMax = xExtremes.max, yExtremes = series.yAxis.getExtremes(), yMin = yExtremes.min, yMax = yExtremes.max, xData = series.xData || options.xData || series.processedXData, yData = series.yData || options.yData || series.processedYData, zData = (series.zData || options.zData ||
200
- series.processedZData), yAxis = series.yAxis, xAxis = series.xAxis,
201
- // plotHeight = series.chart.plotHeight,
202
- plotWidth = series.chart.plotWidth, useRaw = !xData || xData.length === 0,
222
+ series.processedZData), yAxis = series.yAxis, xAxis = series.xAxis, useRaw = !xData || xData.length === 0,
203
223
  // threshold = options.threshold,
204
224
  // yBottom = chart.yAxis[0].getThreshold(threshold),
205
225
  // hasThreshold = isNumber(threshold),
@@ -213,13 +233,13 @@ function GLRenderer(postRenderCallback) {
213
233
  // For some reason eslint/TypeScript don't pick up that this is
214
234
  // actually used: --- bre1470: it is never read, just set
215
235
  // maxVal: (number|undefined), // eslint-disable-line no-unused-vars
216
- points = series.points || false, lastX = false, lastY = false, minVal, scolor, sdata = isStacked ? series.data : (xData || rawData), closestLeft = { x: Number.MAX_VALUE, y: 0 }, closestRight = { x: -Number.MAX_VALUE, y: 0 },
236
+ points = series.points || false, sdata = isStacked ? series.data : (xData || rawData), closestLeft = { x: Number.MAX_VALUE, y: 0 }, closestRight = { x: -Number.MAX_VALUE, y: 0 }, cullXThreshold = 1, cullYThreshold = 1, chartDestroyed = typeof chart.index === 'undefined', drawAsBar = asBar[series.type], zoneAxis = options.zoneAxis || 'y', zones = options.zones || false, threshold = options.threshold, pixelRatio = this.getPixelRatio();
237
+ var // plotHeight = series.chart.plotHeight,
238
+ plotWidth = series.chart.plotWidth, lastX = false, lastY = false, minVal, scolor,
217
239
  //
218
240
  skipped = 0, hadPoints = false,
219
- //
220
- cullXThreshold = 1, cullYThreshold = 1,
221
241
  // The following are used in the builder while loop
222
- x, y, d, z, i = -1, px = false, nx = false, low, chartDestroyed = typeof chart.index === 'undefined', nextInside = false, prevInside = false, pcolor = false, drawAsBar = asBar[series.type], isXInside = false, isYInside = true, firstPoint = true, zoneAxis = options.zoneAxis || 'y', zones = options.zones || false, zoneColors, zoneDefColor = false, threshold = options.threshold, gapSize = false, pixelRatio = getPixelRatio();
242
+ x, y, d, z, i = -1, px = false, nx = false, low, nextInside = false, prevInside = false, pcolor = false, isXInside = false, isYInside = true, firstPoint = true, zoneColors, zoneDefColor = false, gapSize = false, vlen = 0;
223
243
  if (options.boostData && options.boostData.length > 0) {
224
244
  return;
225
245
  }
@@ -260,19 +280,19 @@ function GLRenderer(postRenderCallback) {
260
280
  * Push color to color buffer - need to do this per vertex.
261
281
  * @private
262
282
  */
263
- function pushColor(color) {
283
+ var pushColor = function (color) {
264
284
  if (color) {
265
285
  inst.colorData.push(color[0]);
266
286
  inst.colorData.push(color[1]);
267
287
  inst.colorData.push(color[2]);
268
288
  inst.colorData.push(color[3]);
269
289
  }
270
- }
290
+ };
271
291
  /**
272
292
  * Push a vertice to the data buffer.
273
293
  * @private
274
294
  */
275
- function vertice(x, y, checkTreshold, pointSize, color) {
295
+ var vertice = function (x, y, checkTreshold, pointSize, color) {
276
296
  if (pointSize === void 0) { pointSize = 1; }
277
297
  pushColor(color);
278
298
  // Correct for pixel ratio
@@ -282,7 +302,7 @@ function GLRenderer(postRenderCallback) {
282
302
  y *= pixelRatio;
283
303
  pointSize *= pixelRatio;
284
304
  }
285
- if (settings.usePreallocated) {
305
+ if (settings.usePreallocated && vbuffer) {
286
306
  vbuffer.push(x, y, checkTreshold ? 1 : 0, pointSize);
287
307
  vlen += 4;
288
308
  }
@@ -292,20 +312,20 @@ function GLRenderer(postRenderCallback) {
292
312
  data.push(checkTreshold ? pixelRatio : 0);
293
313
  data.push(pointSize);
294
314
  }
295
- }
315
+ };
296
316
  /**
297
317
  * @private
298
318
  */
299
- function closeSegment() {
319
+ var closeSegment = function () {
300
320
  if (inst.segments.length) {
301
321
  inst.segments[inst.segments.length - 1].to = data.length || vlen;
302
322
  }
303
- }
323
+ };
304
324
  /**
305
325
  * Create a new segment for the current set.
306
326
  * @private
307
327
  */
308
- function beginSegment() {
328
+ var beginSegment = function () {
309
329
  // Insert a segment on the series.
310
330
  // A segment is just a start indice.
311
331
  // When adding a segment, if one exists from before, it should
@@ -318,12 +338,12 @@ function GLRenderer(postRenderCallback) {
318
338
  inst.segments.push({
319
339
  from: data.length || vlen
320
340
  });
321
- }
341
+ };
322
342
  /**
323
343
  * Push a rectangle to the data buffer.
324
344
  * @private
325
345
  */
326
- function pushRect(x, y, w, h, color) {
346
+ var pushRect = function (x, y, w, h, color) {
327
347
  pushColor(color);
328
348
  vertice(x + w, y);
329
349
  pushColor(color);
@@ -336,7 +356,7 @@ function GLRenderer(postRenderCallback) {
336
356
  vertice(x + w, y + h);
337
357
  pushColor(color);
338
358
  vertice(x + w, y);
339
- }
359
+ };
340
360
  // Create the first segment
341
361
  beginSegment();
342
362
  // Special case for point shapes
@@ -345,7 +365,7 @@ function GLRenderer(postRenderCallback) {
345
365
  // translated, so we skip the shader translation.
346
366
  inst.skipTranslation = true;
347
367
  // Force triangle draw mode
348
- inst.drawMode = 'triangles';
368
+ inst.drawMode = 'TRIANGLES';
349
369
  // We don't have a z component in the shader, so we need to sort.
350
370
  if (points[0].node && points[0].node.levelDynamic) {
351
371
  points.sort(function (a, b) {
@@ -363,12 +383,13 @@ function GLRenderer(postRenderCallback) {
363
383
  });
364
384
  }
365
385
  points.forEach(function (point) {
366
- var plotY = point.plotY, swidth, pointAttr;
386
+ var plotY = point.plotY;
387
+ var swidth, pointAttr;
367
388
  if (typeof plotY !== 'undefined' &&
368
389
  !isNaN(plotY) &&
369
390
  point.y !== null &&
370
391
  point.shapeArgs) {
371
- var _a = point.shapeArgs, _b = _a.x, x_1 = _b === void 0 ? 0 : _b, _c = _a.y, y_1 = _c === void 0 ? 0 : _c, _d = _a.width, width_1 = _d === void 0 ? 0 : _d, _e = _a.height, height_1 = _e === void 0 ? 0 : _e;
392
+ var _a = point.shapeArgs, _b = _a.x, x_1 = _b === void 0 ? 0 : _b, _c = _a.y, y_1 = _c === void 0 ? 0 : _c, _d = _a.width, width = _d === void 0 ? 0 : _d, _e = _a.height, height = _e === void 0 ? 0 : _e;
372
393
  pointAttr = chart.styledMode ?
373
394
  point.series
374
395
  .colorAttribs(point) :
@@ -392,7 +413,7 @@ function GLRenderer(postRenderCallback) {
392
413
  scolor[0] /= 255.0;
393
414
  scolor[1] /= 255.0;
394
415
  scolor[2] /= 255.0;
395
- pushRect(x_1, y_1, width_1, height_1, scolor);
416
+ pushRect(x_1, y_1, width, height, scolor);
396
417
  swidth /= 2;
397
418
  }
398
419
  // } else {
@@ -406,10 +427,10 @@ function GLRenderer(postRenderCallback) {
406
427
  if (series.is('heatmap') && chart.inverted) {
407
428
  x_1 = xAxis.len - x_1;
408
429
  y_1 = yAxis.len - y_1;
409
- width_1 = -width_1;
410
- height_1 = -height_1;
430
+ width = -width;
431
+ height = -height;
411
432
  }
412
- pushRect(x_1 + swidth, y_1 + swidth, width_1 - (swidth * 2), height_1 - (swidth * 2), pcolor);
433
+ pushRect(x_1 + swidth, y_1 + swidth, width - (swidth * 2), height - (swidth * 2), pcolor);
413
434
  }
414
435
  });
415
436
  closeSegment();
@@ -587,7 +608,7 @@ function GLRenderer(postRenderCallback) {
587
608
  // If this is rendered as a point, just skip drawing it
588
609
  // entirely, as we're not dependandt on lineTo'ing to it.
589
610
  // See #8197
590
- if (inst.drawMode === 'points') {
611
+ if (inst.drawMode === 'POINTS') {
591
612
  return "continue";
592
613
  }
593
614
  // Having this here will clamp markers and make the angle
@@ -667,7 +688,7 @@ function GLRenderer(postRenderCallback) {
667
688
  firstPoint = false;
668
689
  };
669
690
  // Extract color axis
670
- // (chart.axes || []).forEach(function (a) {
691
+ // (chart.axes || []).forEach((a): void => {
671
692
  // if (H.ColorAxis && a instanceof H.ColorAxis) {
672
693
  // caxis = a;
673
694
  // }
@@ -680,10 +701,7 @@ function GLRenderer(postRenderCallback) {
680
701
  if (settings.debug.showSkipSummary) {
681
702
  console.log('skipped points:', skipped); // eslint-disable-line no-console
682
703
  }
683
- /**
684
- * @private
685
- */
686
- function pushSupplementPoint(point, atStart) {
704
+ var pushSupplementPoint = function (point, atStart) {
687
705
  if (!settings.useGPUTranslations) {
688
706
  inst.skipTranslation = true;
689
707
  point.x = xAxis.toPixels(point.x, true);
@@ -692,11 +710,11 @@ function GLRenderer(postRenderCallback) {
692
710
  // We should only do this for lines, and we should ignore markers
693
711
  // since there's no point here that would have a marker.
694
712
  if (atStart) {
695
- data = [point.x, point.y, 0, 2].concat(data);
713
+ _this.data = [point.x, point.y, 0, 2].concat(_this.data);
696
714
  return;
697
715
  }
698
716
  vertice(point.x, point.y, 0, 2);
699
- }
717
+ };
700
718
  if (!hadPoints &&
701
719
  connectNulls !== false &&
702
720
  series.drawMode === 'line_strip') {
@@ -709,14 +727,16 @@ function GLRenderer(postRenderCallback) {
709
727
  }
710
728
  }
711
729
  closeSegment();
712
- }
730
+ };
713
731
  /**
714
732
  * Push a series to the renderer
715
733
  * If we render the series immediatly, we don't have to loop later
716
734
  * @private
717
- * @param s {Highchart.Series} - the series to push
735
+ * @param {Highchart.Series} s
736
+ * The series to push.
718
737
  */
719
- function pushSeries(s) {
738
+ WGLRenderer.prototype.pushSeries = function (s) {
739
+ var markerData = this.markerData, series = this.series, settings = this.settings;
720
740
  if (series.length > 0) {
721
741
  // series[series.length - 1].to = data.length;
722
742
  if (series[series.length - 1].hasMarkers) {
@@ -741,19 +761,7 @@ function GLRenderer(postRenderCallback) {
741
761
  s.options.marker.enabled !== false :
742
762
  false,
743
763
  showMarkers: true,
744
- drawMode: {
745
- 'area': 'lines',
746
- 'arearange': 'lines',
747
- 'areaspline': 'lines',
748
- 'column': 'lines',
749
- 'columnrange': 'lines',
750
- 'bar': 'lines',
751
- 'line': 'line_strip',
752
- 'scatter': 'points',
753
- 'heatmap': 'triangles',
754
- 'treemap': 'triangles',
755
- 'bubble': 'points'
756
- }[s.type] || 'line_strip'
764
+ drawMode: WGLDrawMode[s.type] || 'LINE_STRIP'
757
765
  };
758
766
  if (s.index >= series.length) {
759
767
  series.push(obj);
@@ -762,35 +770,38 @@ function GLRenderer(postRenderCallback) {
762
770
  series[s.index] = obj;
763
771
  }
764
772
  // Add the series data to our buffer(s)
765
- pushSeriesData(s, obj);
773
+ this.pushSeriesData(s, obj);
766
774
  if (settings.debug.timeSeriesProcessing) {
767
775
  console.timeEnd('building ' + s.type + ' series'); // eslint-disable-line no-console
768
776
  }
769
- }
777
+ };
770
778
  /**
771
779
  * Flush the renderer.
772
780
  * This removes pushed series and vertices.
773
781
  * Should be called after clearing and before rendering
774
782
  * @private
775
783
  */
776
- function flush() {
777
- series = [];
778
- exports.data = data = [];
779
- markerData = [];
784
+ WGLRenderer.prototype.flush = function () {
785
+ var vbuffer = this.vbuffer;
786
+ this.data = [];
787
+ this.markerData = [];
788
+ this.series = [];
780
789
  if (vbuffer) {
781
790
  vbuffer.destroy();
782
791
  }
783
- }
792
+ };
784
793
  /**
785
794
  * Pass x-axis to shader
786
795
  * @private
787
- * @param axis {Highcharts.Axis} - the x-axis
796
+ * @param {Highcharts.Axis} axis
797
+ * The x-axis.
788
798
  */
789
- function setXAxis(axis) {
799
+ WGLRenderer.prototype.setXAxis = function (axis) {
800
+ var shader = this.shader;
790
801
  if (!shader) {
791
802
  return;
792
803
  }
793
- var pixelRatio = getPixelRatio();
804
+ var pixelRatio = this.getPixelRatio();
794
805
  shader.setUniform('xAxisTrans', axis.transA * pixelRatio);
795
806
  shader.setUniform('xAxisMin', axis.min);
796
807
  shader.setUniform('xAxisMinPad', axis.minPixelPadding * pixelRatio);
@@ -800,17 +811,19 @@ function GLRenderer(postRenderCallback) {
800
811
  shader.setUniform('xAxisCVSCoord', (!axis.horiz));
801
812
  shader.setUniform('xAxisIsLog', (!!axis.logarithmic));
802
813
  shader.setUniform('xAxisReversed', (!!axis.reversed));
803
- }
814
+ };
804
815
  /**
805
816
  * Pass y-axis to shader
806
817
  * @private
807
- * @param axis {Highcharts.Axis} - the y-axis
818
+ * @param {Highcharts.Axis} axis
819
+ * The y-axis.
808
820
  */
809
- function setYAxis(axis) {
821
+ WGLRenderer.prototype.setYAxis = function (axis) {
822
+ var shader = this.shader;
810
823
  if (!shader) {
811
824
  return;
812
825
  }
813
- var pixelRatio = getPixelRatio();
826
+ var pixelRatio = this.getPixelRatio();
814
827
  shader.setUniform('yAxisTrans', axis.transA * pixelRatio);
815
828
  shader.setUniform('yAxisMin', axis.min);
816
829
  shader.setUniform('yAxisMinPad', axis.minPixelPadding * pixelRatio);
@@ -820,32 +833,41 @@ function GLRenderer(postRenderCallback) {
820
833
  shader.setUniform('yAxisCVSCoord', (!axis.horiz));
821
834
  shader.setUniform('yAxisIsLog', (!!axis.logarithmic));
822
835
  shader.setUniform('yAxisReversed', (!!axis.reversed));
823
- }
836
+ };
824
837
  /**
825
838
  * Set the translation threshold
826
839
  * @private
827
- * @param has {boolean} - has threshold flag
828
- * @param translation {Float} - the threshold
840
+ * @param {boolean} has
841
+ * Has threshold flag.
842
+ * @param {numbe} translation
843
+ * The threshold.
829
844
  */
830
- function setThreshold(has, translation) {
845
+ WGLRenderer.prototype.setThreshold = function (has, translation) {
846
+ var shader = this.shader;
847
+ if (!shader) {
848
+ return;
849
+ }
831
850
  shader.setUniform('hasThreshold', has);
832
851
  shader.setUniform('translatedThreshold', translation);
833
- }
852
+ };
834
853
  /**
835
854
  * Render the data
836
855
  * This renders all pushed series.
837
856
  * @private
838
857
  */
839
- function render(chart) {
840
- var pixelRatio = getPixelRatio();
858
+ WGLRenderer.prototype.renderChart = function (chart) {
859
+ var _this = this;
860
+ var gl = this.gl, settings = this.settings, shader = this.shader, vbuffer = this.vbuffer;
861
+ var pixelRatio = this.getPixelRatio();
841
862
  if (chart) {
842
- width = chart.chartWidth * pixelRatio;
843
- height = chart.chartHeight * pixelRatio;
863
+ this.width = chart.chartWidth * pixelRatio;
864
+ this.height = chart.chartHeight * pixelRatio;
844
865
  }
845
866
  else {
846
867
  return false;
847
868
  }
848
- if (!gl || !width || !height || !shader) {
869
+ var height = this.height, width = this.width;
870
+ if (!gl || !shader || !width || !height) {
849
871
  return false;
850
872
  }
851
873
  if (settings.debug.timeRendering) {
@@ -855,22 +877,25 @@ function GLRenderer(postRenderCallback) {
855
877
  gl.canvas.height = height;
856
878
  shader.bind();
857
879
  gl.viewport(0, 0, width, height);
858
- shader.setPMatrix(orthoMatrix(width, height));
880
+ shader.setPMatrix(WGLRenderer.orthoMatrix(width, height));
859
881
  if (settings.lineWidth > 1 && !H.isMS) {
860
882
  gl.lineWidth(settings.lineWidth);
861
883
  }
862
- vbuffer.build(exports.data, 'aVertexPosition', 4);
863
- vbuffer.bind();
884
+ if (vbuffer) {
885
+ vbuffer.build(this.data, 'aVertexPosition', 4);
886
+ vbuffer.bind();
887
+ }
864
888
  shader.setInverted(chart.inverted);
865
889
  // Render the series
866
- series.forEach(function (s, si) {
867
- var options = s.series.options, shapeOptions = options.marker, sindex, lineWidth = (typeof options.lineWidth !== 'undefined' ?
890
+ this.series.forEach(function (s, si) {
891
+ var options = s.series.options, shapeOptions = options.marker, lineWidth = (typeof options.lineWidth !== 'undefined' ?
868
892
  options.lineWidth :
869
- 1), threshold = options.threshold, hasThreshold = isNumber(threshold), yBottom = s.series.yAxis.getThreshold(threshold), translatedThreshold = yBottom, cbuffer, showMarkers = pick(options.marker ? options.marker.enabled : null, s.series.xAxis.isRadial ? true : null, s.series.closestPointRangePx >
893
+ 1), threshold = options.threshold, hasThreshold = isNumber(threshold), yBottom = s.series.yAxis.getThreshold(threshold), translatedThreshold = yBottom, showMarkers = pick(options.marker ? options.marker.enabled : null, s.series.xAxis.isRadial ? true : null, s.series.closestPointRangePx >
870
894
  2 * ((options.marker ?
871
895
  options.marker.radius :
872
- 10) || 10)), fillColor, shapeTexture = textureHandles[(shapeOptions && shapeOptions.symbol) ||
873
- s.series.symbol] || textureHandles.circle, scolor = [];
896
+ 10) || 10)), shapeTexture = _this.textureHandles[(shapeOptions && shapeOptions.symbol) ||
897
+ s.series.symbol] || _this.textureHandles.circle;
898
+ var sindex, cbuffer, fillColor, scolor = [];
874
899
  if (s.segments.length === 0 ||
875
900
  s.segments[0].from === s.segments[0].to) {
876
901
  return;
@@ -885,7 +910,7 @@ function GLRenderer(postRenderCallback) {
885
910
  }
886
911
  else {
887
912
  fillColor =
888
- (s.drawMode === 'points' && // #14260
913
+ (s.drawMode === 'POINTS' && // #14260
889
914
  s.series.pointAttribs &&
890
915
  s.series.pointAttribs().fill) ||
891
916
  s.series.color;
@@ -901,7 +926,7 @@ function GLRenderer(postRenderCallback) {
901
926
  scolor[3] = 1.0;
902
927
  }
903
928
  // This is very much temporary
904
- if (s.drawMode === 'lines' &&
929
+ if (s.drawMode === 'LINES' &&
905
930
  settings.useAlpha &&
906
931
  scolor[3] < 1) {
907
932
  scolor[3] /= 10;
@@ -928,21 +953,21 @@ function GLRenderer(postRenderCallback) {
928
953
  // If there are entries in the colorData buffer, build and bind it.
929
954
  if (s.colorData.length > 0) {
930
955
  shader.setUniform('hasColor', 1.0);
931
- cbuffer = GLVertexBuffer(gl, shader); // eslint-disable-line new-cap
956
+ cbuffer = new WGLVertexBuffer(gl, shader);
932
957
  cbuffer.build(s.colorData, 'aColor', 4);
933
958
  cbuffer.bind();
934
959
  }
935
960
  else {
936
961
  // #15869, a buffer with fewer points might already be bound by
937
962
  // a different series/chart causing out of range errors
938
- gl.disableVertexAttribArray(gl.getAttribLocation(shader.program(), 'aColor'));
963
+ gl.disableVertexAttribArray(gl.getAttribLocation(shader.getProgram(), 'aColor'));
939
964
  }
940
965
  // Set series specific uniforms
941
966
  shader.setColor(scolor);
942
- setXAxis(s.series.xAxis);
943
- setYAxis(s.series.yAxis);
944
- setThreshold(hasThreshold, translatedThreshold);
945
- if (s.drawMode === 'points') {
967
+ _this.setXAxis(s.series.xAxis);
968
+ _this.setYAxis(s.series.yAxis);
969
+ _this.setThreshold(hasThreshold, translatedThreshold);
970
+ if (s.drawMode === 'POINTS') {
946
971
  shader.setPointSize(pick(options.marker && options.marker.radius, 0.5) * 2 * pixelRatio);
947
972
  }
948
973
  // If set to true, the toPixels translations in the shader
@@ -952,9 +977,12 @@ function GLRenderer(postRenderCallback) {
952
977
  shader.setBubbleUniforms(s.series, s.zMin, s.zMax, pixelRatio);
953
978
  }
954
979
  shader.setDrawAsCircle(asCircle[s.series.type] || false);
980
+ if (!vbuffer) {
981
+ return;
982
+ }
955
983
  // Do the actual rendering
956
984
  // If the line width is < 0, skip rendering of the lines. See #7833.
957
- if (lineWidth > 0 || s.drawMode !== 'line_strip') {
985
+ if (lineWidth > 0 || s.drawMode !== 'LINE_STRIP') {
958
986
  for (sindex = 0; sindex < s.segments.length; sindex++) {
959
987
  vbuffer.render(s.segments[sindex].from, s.segments[sindex].to, s.drawMode);
960
988
  }
@@ -970,76 +998,72 @@ function GLRenderer(postRenderCallback) {
970
998
  if (settings.debug.timeRendering) {
971
999
  console.timeEnd('gl rendering'); // eslint-disable-line no-console
972
1000
  }
973
- if (postRenderCallback) {
974
- postRenderCallback();
1001
+ if (this.postRenderCallback) {
1002
+ this.postRenderCallback(this);
975
1003
  }
976
- flush();
977
- }
1004
+ this.flush();
1005
+ };
978
1006
  /**
979
1007
  * Render the data when ready
980
1008
  * @private
981
1009
  */
982
- function renderWhenReady(chart) {
983
- clear();
1010
+ WGLRenderer.prototype.render = function (chart) {
1011
+ var _this = this;
1012
+ this.clear();
984
1013
  if (chart.renderer.forExport) {
985
- return render(chart);
1014
+ return this.renderChart(chart);
986
1015
  }
987
- if (isInited) {
988
- render(chart);
1016
+ if (this.isInited) {
1017
+ this.renderChart(chart);
989
1018
  }
990
1019
  else {
991
1020
  setTimeout(function () {
992
- renderWhenReady(chart);
1021
+ _this.render(chart);
993
1022
  }, 1);
994
1023
  }
995
- }
1024
+ };
996
1025
  /**
997
1026
  * Set the viewport size in pixels
998
1027
  * Creates an orthographic perspective matrix and applies it.
999
1028
  * @private
1000
- * @param w {Integer} - the width of the viewport
1001
- * @param h {Integer} - the height of the viewport
1002
1029
  */
1003
- function setSize(w, h) {
1030
+ WGLRenderer.prototype.setSize = function (width, height) {
1031
+ var shader = this.shader;
1004
1032
  // Skip if there's no change, or if we have no valid shader
1005
- if ((width === w && height === h) || !shader) {
1033
+ if (!shader || (this.width === width && this.height === height)) {
1006
1034
  return;
1007
1035
  }
1008
- width = w;
1009
- height = h;
1036
+ this.width = width;
1037
+ this.height = height;
1010
1038
  shader.bind();
1011
- shader.setPMatrix(orthoMatrix(width, height));
1012
- }
1039
+ shader.setPMatrix(WGLRenderer.orthoMatrix(width, height));
1040
+ };
1013
1041
  /**
1014
1042
  * Init OpenGL
1015
1043
  * @private
1016
- * @param canvas {HTMLCanvas} - the canvas to render to
1017
1044
  */
1018
- function init(canvas, noFlush) {
1019
- var i = 0, contexts = [
1020
- 'webgl',
1021
- 'experimental-webgl',
1022
- 'moz-webgl',
1023
- 'webkit-3d'
1024
- ];
1025
- isInited = false;
1045
+ WGLRenderer.prototype.init = function (canvas, noFlush) {
1046
+ var _this = this;
1047
+ var settings = this.settings;
1048
+ this.isInited = false;
1026
1049
  if (!canvas) {
1027
1050
  return false;
1028
1051
  }
1029
1052
  if (settings.debug.timeSetup) {
1030
1053
  console.time('gl setup'); // eslint-disable-line no-console
1031
1054
  }
1032
- for (; i < contexts.length; i++) {
1033
- gl = canvas.getContext(contexts[i], {
1055
+ for (var i = 0; i < contexts.length; ++i) {
1056
+ this.gl = canvas.getContext(contexts[i], {
1034
1057
  // premultipliedAlpha: false
1035
1058
  });
1036
- if (gl) {
1059
+ if (this.gl) {
1037
1060
  break;
1038
1061
  }
1039
1062
  }
1063
+ var gl = this.gl;
1040
1064
  if (gl) {
1041
1065
  if (!noFlush) {
1042
- flush();
1066
+ this.flush();
1043
1067
  }
1044
1068
  }
1045
1069
  else {
@@ -1051,22 +1075,19 @@ function GLRenderer(postRenderCallback) {
1051
1075
  gl.disable(gl.DEPTH_TEST);
1052
1076
  // gl.depthMask(gl.FALSE);
1053
1077
  gl.depthFunc(gl.LESS);
1054
- shader = GLShader(gl); // eslint-disable-line new-cap
1078
+ var shader = this.shader = new WGLShader(gl);
1055
1079
  if (!shader) {
1056
1080
  // We need to abort, there's no shader context
1057
1081
  return false;
1058
1082
  }
1059
- vbuffer = GLVertexBuffer(gl, shader); // eslint-disable-line new-cap
1060
- /**
1061
- * @private
1062
- */
1063
- function createTexture(name, fn) {
1083
+ this.vbuffer = new WGLVertexBuffer(gl, shader);
1084
+ var createTexture = function (name, fn) {
1064
1085
  var props = {
1065
1086
  isReady: false,
1066
1087
  texture: doc.createElement('canvas'),
1067
1088
  handle: gl.createTexture()
1068
1089
  }, ctx = props.texture.getContext('2d');
1069
- textureHandles[name] = props;
1090
+ _this.textureHandles[name] = props;
1070
1091
  props.texture.width = 512;
1071
1092
  props.texture.height = 512;
1072
1093
  ctx.mozImageSmoothingEnabled = false;
@@ -1092,7 +1113,7 @@ function GLRenderer(postRenderCallback) {
1092
1113
  catch (e) {
1093
1114
  // silent error
1094
1115
  }
1095
- }
1116
+ };
1096
1117
  // Circle shape
1097
1118
  createTexture('circle', function (ctx) {
1098
1119
  ctx.beginPath();
@@ -1132,39 +1153,27 @@ function GLRenderer(postRenderCallback) {
1132
1153
  ctx.lineTo(0, 0);
1133
1154
  ctx.fill();
1134
1155
  });
1135
- isInited = true;
1156
+ this.isInited = true;
1136
1157
  if (settings.debug.timeSetup) {
1137
1158
  console.timeEnd('gl setup'); // eslint-disable-line no-console
1138
1159
  }
1139
1160
  return true;
1140
- }
1141
- /**
1142
- * Check if we have a valid OGL context
1143
- * @private
1144
- * @return {boolean}
1145
- * true if the context is valid
1146
- */
1147
- function valid() {
1148
- return gl !== false;
1149
- }
1150
- /**
1151
- * Check if the renderer has been initialized
1152
- * @private
1153
- * @return {boolean}
1154
- * true if it has, false if not
1155
- */
1156
- function inited() {
1157
- return isInited;
1158
- }
1161
+ };
1159
1162
  /**
1160
1163
  * @private
1164
+ * @todo use it
1161
1165
  */
1162
- function destroy() {
1163
- flush();
1164
- vbuffer.destroy();
1165
- shader.destroy();
1166
+ WGLRenderer.prototype.destroy = function () {
1167
+ var gl = this.gl, shader = this.shader, vbuffer = this.vbuffer;
1168
+ this.flush();
1169
+ if (vbuffer) {
1170
+ vbuffer.destroy();
1171
+ }
1172
+ if (shader) {
1173
+ shader.destroy();
1174
+ }
1166
1175
  if (gl) {
1167
- objectEach(textureHandles, function (texture) {
1176
+ objectEach(this.textureHandles, function (texture) {
1168
1177
  if (texture.handle) {
1169
1178
  gl.deleteTexture(texture.handle);
1170
1179
  }
@@ -1172,28 +1181,12 @@ function GLRenderer(postRenderCallback) {
1172
1181
  gl.canvas.width = 1;
1173
1182
  gl.canvas.height = 1;
1174
1183
  }
1175
- }
1176
- // /////////////////////////////////////////////////////////////////////////
1177
- exports = {
1178
- allocateBufferForSingleSeries: allocateBufferForSingleSeries,
1179
- pushSeries: pushSeries,
1180
- setSize: setSize,
1181
- inited: inited,
1182
- setThreshold: setThreshold,
1183
- init: init,
1184
- render: renderWhenReady,
1185
- settings: settings,
1186
- valid: valid,
1187
- clear: clear,
1188
- flush: flush,
1189
- setXAxis: setXAxis,
1190
- setYAxis: setYAxis,
1191
- data: data,
1192
- gl: getGL,
1193
- allocateBuffer: allocateBuffer,
1194
- destroy: destroy,
1195
- setOptions: setOptions
1196
1184
  };
1197
- return exports;
1198
- }
1199
- export default GLRenderer;
1185
+ return WGLRenderer;
1186
+ }());
1187
+ /* *
1188
+ *
1189
+ * Default Export
1190
+ *
1191
+ * */
1192
+ export default WGLRenderer;