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,460 +12,454 @@
12
12
  'use strict';
13
13
  import U from '../../Core/Utilities.js';
14
14
  var clamp = U.clamp, error = U.error, pick = U.pick;
15
+ /* *
16
+ *
17
+ * Constants
18
+ *
19
+ * */
20
+ var fragmentShader = [
21
+ /* eslint-disable max-len, @typescript-eslint/indent */
22
+ 'precision highp float;',
23
+ 'uniform vec4 fillColor;',
24
+ 'varying highp vec2 position;',
25
+ 'varying highp vec4 vColor;',
26
+ 'uniform sampler2D uSampler;',
27
+ 'uniform bool isCircle;',
28
+ 'uniform bool hasColor;',
29
+ // 'vec4 toColor(float value, vec2 point) {',
30
+ // 'return vec4(0.0, 0.0, 0.0, 0.0);',
31
+ // '}',
32
+ 'void main(void) {',
33
+ 'vec4 col = fillColor;',
34
+ 'vec4 tcol = texture2D(uSampler, gl_PointCoord.st);',
35
+ 'if (hasColor) {',
36
+ 'col = vColor;',
37
+ '}',
38
+ 'if (isCircle) {',
39
+ 'col *= tcol;',
40
+ 'if (tcol.r < 0.0) {',
41
+ 'discard;',
42
+ '} else {',
43
+ 'gl_FragColor = col;',
44
+ '}',
45
+ '} else {',
46
+ 'gl_FragColor = col;',
47
+ '}',
48
+ '}'
49
+ /* eslint-enable max-len, @typescript-eslint/indent */
50
+ ].join('\n');
51
+ var vertexShader = [
52
+ /* eslint-disable max-len, @typescript-eslint/indent */
53
+ '#version 100',
54
+ '#define LN10 2.302585092994046',
55
+ 'precision highp float;',
56
+ 'attribute vec4 aVertexPosition;',
57
+ 'attribute vec4 aColor;',
58
+ 'varying highp vec2 position;',
59
+ 'varying highp vec4 vColor;',
60
+ 'uniform mat4 uPMatrix;',
61
+ 'uniform float pSize;',
62
+ 'uniform float translatedThreshold;',
63
+ 'uniform bool hasThreshold;',
64
+ 'uniform bool skipTranslation;',
65
+ 'uniform float xAxisTrans;',
66
+ 'uniform float xAxisMin;',
67
+ 'uniform float xAxisMinPad;',
68
+ 'uniform float xAxisPointRange;',
69
+ 'uniform float xAxisLen;',
70
+ 'uniform bool xAxisPostTranslate;',
71
+ 'uniform float xAxisOrdinalSlope;',
72
+ 'uniform float xAxisOrdinalOffset;',
73
+ 'uniform float xAxisPos;',
74
+ 'uniform bool xAxisCVSCoord;',
75
+ 'uniform bool xAxisIsLog;',
76
+ 'uniform bool xAxisReversed;',
77
+ 'uniform float yAxisTrans;',
78
+ 'uniform float yAxisMin;',
79
+ 'uniform float yAxisMinPad;',
80
+ 'uniform float yAxisPointRange;',
81
+ 'uniform float yAxisLen;',
82
+ 'uniform bool yAxisPostTranslate;',
83
+ 'uniform float yAxisOrdinalSlope;',
84
+ 'uniform float yAxisOrdinalOffset;',
85
+ 'uniform float yAxisPos;',
86
+ 'uniform bool yAxisCVSCoord;',
87
+ 'uniform bool yAxisIsLog;',
88
+ 'uniform bool yAxisReversed;',
89
+ 'uniform bool isBubble;',
90
+ 'uniform bool bubbleSizeByArea;',
91
+ 'uniform float bubbleZMin;',
92
+ 'uniform float bubbleZMax;',
93
+ 'uniform float bubbleZThreshold;',
94
+ 'uniform float bubbleMinSize;',
95
+ 'uniform float bubbleMaxSize;',
96
+ 'uniform bool bubbleSizeAbs;',
97
+ 'uniform bool isInverted;',
98
+ 'float bubbleRadius(){',
99
+ 'float value = aVertexPosition.w;',
100
+ 'float zMax = bubbleZMax;',
101
+ 'float zMin = bubbleZMin;',
102
+ 'float radius = 0.0;',
103
+ 'float pos = 0.0;',
104
+ 'float zRange = zMax - zMin;',
105
+ 'if (bubbleSizeAbs){',
106
+ 'value = value - bubbleZThreshold;',
107
+ 'zMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);',
108
+ 'zMin = 0.0;',
109
+ '}',
110
+ 'if (value < zMin){',
111
+ 'radius = bubbleZMin / 2.0 - 1.0;',
112
+ '} else {',
113
+ 'pos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;',
114
+ 'if (bubbleSizeByArea && pos > 0.0){',
115
+ 'pos = sqrt(pos);',
116
+ '}',
117
+ 'radius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;',
118
+ '}',
119
+ 'return radius * 2.0;',
120
+ '}',
121
+ 'float translate(float val,',
122
+ 'float pointPlacement,',
123
+ 'float localA,',
124
+ 'float localMin,',
125
+ 'float minPixelPadding,',
126
+ 'float pointRange,',
127
+ 'float len,',
128
+ 'bool cvsCoord,',
129
+ 'bool isLog,',
130
+ 'bool reversed',
131
+ '){',
132
+ 'float sign = 1.0;',
133
+ 'float cvsOffset = 0.0;',
134
+ 'if (cvsCoord) {',
135
+ 'sign *= -1.0;',
136
+ 'cvsOffset = len;',
137
+ '}',
138
+ 'if (isLog) {',
139
+ 'val = log(val) / LN10;',
140
+ '}',
141
+ 'if (reversed) {',
142
+ 'sign *= -1.0;',
143
+ 'cvsOffset -= sign * len;',
144
+ '}',
145
+ 'return sign * (val - localMin) * localA + cvsOffset + ',
146
+ '(sign * minPixelPadding);',
147
+ '}',
148
+ 'float xToPixels(float value) {',
149
+ 'if (skipTranslation){',
150
+ 'return value;// + xAxisPos;',
151
+ '}',
152
+ 'return translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;',
153
+ '}',
154
+ 'float yToPixels(float value, float checkTreshold) {',
155
+ 'float v;',
156
+ 'if (skipTranslation){',
157
+ 'v = value;// + yAxisPos;',
158
+ '} else {',
159
+ 'v = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;',
160
+ 'if (v > yAxisLen) {',
161
+ 'v = yAxisLen;',
162
+ '}',
163
+ '}',
164
+ 'if (checkTreshold > 0.0 && hasThreshold) {',
165
+ 'v = min(v, translatedThreshold);',
166
+ '}',
167
+ 'return v;',
168
+ '}',
169
+ 'void main(void) {',
170
+ 'if (isBubble){',
171
+ 'gl_PointSize = bubbleRadius();',
172
+ '} else {',
173
+ 'gl_PointSize = pSize;',
174
+ '}',
175
+ // 'gl_PointSize = 10.0;',
176
+ 'vColor = aColor;',
177
+ 'if (skipTranslation && isInverted) {',
178
+ // If we get translated values from JS, just swap them (x, y)
179
+ 'gl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);',
180
+ '} else if (isInverted) {',
181
+ // But when calculating pixel positions directly,
182
+ // swap axes and values (x, y)
183
+ 'gl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);',
184
+ '} else {',
185
+ 'gl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);',
186
+ '}',
187
+ // 'gl_Position = uPMatrix * vec4(aVertexPosition.x, aVertexPosition.y, 0.0, 1.0);',
188
+ '}'
189
+ /* eslint-enable max-len, @typescript-eslint/indent */
190
+ ].join('\n');
191
+ /* *
192
+ *
193
+ * Class
194
+ *
195
+ * */
15
196
  /* eslint-disable valid-jsdoc */
16
197
  /**
17
198
  * A static shader mimicing axis translation functions found in Core/Axis
18
199
  *
19
200
  * @private
20
- * @function GLShader
21
201
  *
22
202
  * @param {WebGLContext} gl
23
203
  * the context in which the shader is active
24
204
  */
25
- function GLShader(gl) {
26
- var vertShade = [
27
- /* eslint-disable max-len, @typescript-eslint/indent */
28
- '#version 100',
29
- '#define LN10 2.302585092994046',
30
- 'precision highp float;',
31
- 'attribute vec4 aVertexPosition;',
32
- 'attribute vec4 aColor;',
33
- 'varying highp vec2 position;',
34
- 'varying highp vec4 vColor;',
35
- 'uniform mat4 uPMatrix;',
36
- 'uniform float pSize;',
37
- 'uniform float translatedThreshold;',
38
- 'uniform bool hasThreshold;',
39
- 'uniform bool skipTranslation;',
40
- 'uniform float xAxisTrans;',
41
- 'uniform float xAxisMin;',
42
- 'uniform float xAxisMinPad;',
43
- 'uniform float xAxisPointRange;',
44
- 'uniform float xAxisLen;',
45
- 'uniform bool xAxisPostTranslate;',
46
- 'uniform float xAxisOrdinalSlope;',
47
- 'uniform float xAxisOrdinalOffset;',
48
- 'uniform float xAxisPos;',
49
- 'uniform bool xAxisCVSCoord;',
50
- 'uniform bool xAxisIsLog;',
51
- 'uniform bool xAxisReversed;',
52
- 'uniform float yAxisTrans;',
53
- 'uniform float yAxisMin;',
54
- 'uniform float yAxisMinPad;',
55
- 'uniform float yAxisPointRange;',
56
- 'uniform float yAxisLen;',
57
- 'uniform bool yAxisPostTranslate;',
58
- 'uniform float yAxisOrdinalSlope;',
59
- 'uniform float yAxisOrdinalOffset;',
60
- 'uniform float yAxisPos;',
61
- 'uniform bool yAxisCVSCoord;',
62
- 'uniform bool yAxisIsLog;',
63
- 'uniform bool yAxisReversed;',
64
- 'uniform bool isBubble;',
65
- 'uniform bool bubbleSizeByArea;',
66
- 'uniform float bubbleZMin;',
67
- 'uniform float bubbleZMax;',
68
- 'uniform float bubbleZThreshold;',
69
- 'uniform float bubbleMinSize;',
70
- 'uniform float bubbleMaxSize;',
71
- 'uniform bool bubbleSizeAbs;',
72
- 'uniform bool isInverted;',
73
- 'float bubbleRadius(){',
74
- 'float value = aVertexPosition.w;',
75
- 'float zMax = bubbleZMax;',
76
- 'float zMin = bubbleZMin;',
77
- 'float radius = 0.0;',
78
- 'float pos = 0.0;',
79
- 'float zRange = zMax - zMin;',
80
- 'if (bubbleSizeAbs){',
81
- 'value = value - bubbleZThreshold;',
82
- 'zMax = max(zMax - bubbleZThreshold, zMin - bubbleZThreshold);',
83
- 'zMin = 0.0;',
84
- '}',
85
- 'if (value < zMin){',
86
- 'radius = bubbleZMin / 2.0 - 1.0;',
87
- '} else {',
88
- 'pos = zRange > 0.0 ? (value - zMin) / zRange : 0.5;',
89
- 'if (bubbleSizeByArea && pos > 0.0){',
90
- 'pos = sqrt(pos);',
91
- '}',
92
- 'radius = ceil(bubbleMinSize + pos * (bubbleMaxSize - bubbleMinSize)) / 2.0;',
93
- '}',
94
- 'return radius * 2.0;',
95
- '}',
96
- 'float translate(float val,',
97
- 'float pointPlacement,',
98
- 'float localA,',
99
- 'float localMin,',
100
- 'float minPixelPadding,',
101
- 'float pointRange,',
102
- 'float len,',
103
- 'bool cvsCoord,',
104
- 'bool isLog,',
105
- 'bool reversed',
106
- '){',
107
- 'float sign = 1.0;',
108
- 'float cvsOffset = 0.0;',
109
- 'if (cvsCoord) {',
110
- 'sign *= -1.0;',
111
- 'cvsOffset = len;',
112
- '}',
113
- 'if (isLog) {',
114
- 'val = log(val) / LN10;',
115
- '}',
116
- 'if (reversed) {',
117
- 'sign *= -1.0;',
118
- 'cvsOffset -= sign * len;',
119
- '}',
120
- 'return sign * (val - localMin) * localA + cvsOffset + ',
121
- '(sign * minPixelPadding);',
122
- '}',
123
- 'float xToPixels(float value) {',
124
- 'if (skipTranslation){',
125
- 'return value;// + xAxisPos;',
126
- '}',
127
- 'return translate(value, 0.0, xAxisTrans, xAxisMin, xAxisMinPad, xAxisPointRange, xAxisLen, xAxisCVSCoord, xAxisIsLog, xAxisReversed);// + xAxisPos;',
128
- '}',
129
- 'float yToPixels(float value, float checkTreshold) {',
130
- 'float v;',
131
- 'if (skipTranslation){',
132
- 'v = value;// + yAxisPos;',
133
- '} else {',
134
- 'v = translate(value, 0.0, yAxisTrans, yAxisMin, yAxisMinPad, yAxisPointRange, yAxisLen, yAxisCVSCoord, yAxisIsLog, yAxisReversed);// + yAxisPos;',
135
- 'if (v > yAxisLen) {',
136
- 'v = yAxisLen;',
137
- '}',
138
- '}',
139
- 'if (checkTreshold > 0.0 && hasThreshold) {',
140
- 'v = min(v, translatedThreshold);',
141
- '}',
142
- 'return v;',
143
- '}',
144
- 'void main(void) {',
145
- 'if (isBubble){',
146
- 'gl_PointSize = bubbleRadius();',
147
- '} else {',
148
- 'gl_PointSize = pSize;',
149
- '}',
150
- // 'gl_PointSize = 10.0;',
151
- 'vColor = aColor;',
152
- 'if (skipTranslation && isInverted) {',
153
- // If we get translated values from JS, just swap them (x, y)
154
- 'gl_Position = uPMatrix * vec4(aVertexPosition.y + yAxisPos, aVertexPosition.x + xAxisPos, 0.0, 1.0);',
155
- '} else if (isInverted) {',
156
- // But when calculating pixel positions directly,
157
- // swap axes and values (x, y)
158
- 'gl_Position = uPMatrix * vec4(yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, xToPixels(aVertexPosition.x) + xAxisPos, 0.0, 1.0);',
159
- '} else {',
160
- 'gl_Position = uPMatrix * vec4(xToPixels(aVertexPosition.x) + xAxisPos, yToPixels(aVertexPosition.y, aVertexPosition.z) + yAxisPos, 0.0, 1.0);',
161
- '}',
162
- // 'gl_Position = uPMatrix * vec4(aVertexPosition.x, aVertexPosition.y, 0.0, 1.0);',
163
- '}'
164
- /* eslint-enable max-len, @typescript-eslint/indent */
165
- ].join('\n'),
166
- // Fragment shader source
167
- fragShade = [
168
- /* eslint-disable max-len, @typescript-eslint/indent */
169
- 'precision highp float;',
170
- 'uniform vec4 fillColor;',
171
- 'varying highp vec2 position;',
172
- 'varying highp vec4 vColor;',
173
- 'uniform sampler2D uSampler;',
174
- 'uniform bool isCircle;',
175
- 'uniform bool hasColor;',
176
- // 'vec4 toColor(float value, vec2 point) {',
177
- // 'return vec4(0.0, 0.0, 0.0, 0.0);',
178
- // '}',
179
- 'void main(void) {',
180
- 'vec4 col = fillColor;',
181
- 'vec4 tcol = texture2D(uSampler, gl_PointCoord.st);',
182
- 'if (hasColor) {',
183
- 'col = vColor;',
184
- '}',
185
- 'if (isCircle) {',
186
- 'col *= tcol;',
187
- 'if (tcol.r < 0.0) {',
188
- 'discard;',
189
- '} else {',
190
- 'gl_FragColor = col;',
191
- '}',
192
- '} else {',
193
- 'gl_FragColor = col;',
194
- '}',
195
- '}'
196
- /* eslint-enable max-len, @typescript-eslint/indent */
197
- ].join('\n'), uLocations = {},
198
- // The shader program
199
- shaderProgram,
200
- // Uniform handle to the perspective matrix
201
- pUniform,
202
- // Uniform for point size
203
- psUniform,
204
- // Uniform for fill color
205
- fillColorUniform,
206
- // Uniform for isBubble
207
- isBubbleUniform,
208
- // Uniform for bubble abs sizing
209
- bubbleSizeAbsUniform, bubbleSizeAreaUniform,
210
- // Skip translation uniform
211
- skipTranslationUniform,
212
- // Set to 1 if circle
213
- isCircleUniform,
214
- // Uniform for invertion
215
- isInverted,
216
- // Error stack
217
- errors = [],
218
- // Texture uniform
219
- uSamplerUniform;
220
- /**
221
- * Handle errors accumulated in errors stack
222
- * @private
223
- */
224
- function handleErrors() {
225
- if (errors.length) {
226
- error('[highcharts boost] shader error - ' + errors.join('\n'));
205
+ var WGLShader = /** @class */ (function () {
206
+ /* *
207
+ *
208
+ * Constructor
209
+ *
210
+ * */
211
+ function WGLShader(gl) {
212
+ // Error stack
213
+ this.errors = [];
214
+ this.uLocations = {};
215
+ this.gl = gl;
216
+ if (gl && !this.createShader()) {
217
+ return void 0;
227
218
  }
228
219
  }
220
+ /* *
221
+ *
222
+ * Functions
223
+ *
224
+ * */
229
225
  /**
230
- * String to shader program
226
+ * Bind the shader.
227
+ * This makes the shader the active one until another one is bound,
228
+ * or until 0 is bound.
231
229
  * @private
232
- * @param {string} str
233
- * the program source
234
- * @param {string} type
235
- * the program type: either `vertex` or `fragment`
236
230
  */
237
- function stringToProgram(str, type) {
238
- var t = type === 'vertex' ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER, shader = gl.createShader(t);
239
- gl.shaderSource(shader, str);
240
- gl.compileShader(shader);
241
- if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
242
- errors.push('when compiling ' +
243
- type +
244
- ' shader:\n' +
245
- gl.getShaderInfoLog(shader));
246
- return false;
231
+ WGLShader.prototype.bind = function () {
232
+ if (this.gl && this.shaderProgram) {
233
+ this.gl.useProgram(this.shaderProgram);
247
234
  }
248
- return shader;
249
- }
235
+ };
250
236
  /**
251
237
  * Create the shader.
252
238
  * Loads the shader program statically defined above
253
239
  * @private
254
240
  */
255
- function createShader() {
256
- var v = stringToProgram(vertShade, 'vertex'), f = stringToProgram(fragShade, 'fragment');
241
+ WGLShader.prototype.createShader = function () {
242
+ var _this = this;
243
+ var v = this.stringToProgram(vertexShader, 'vertex'), f = this.stringToProgram(fragmentShader, 'fragment'), uloc = function (n) { return (_this.gl.getUniformLocation(_this.shaderProgram, n)); };
257
244
  if (!v || !f) {
258
- shaderProgram = false;
259
- handleErrors();
245
+ this.shaderProgram = false;
246
+ this.handleErrors();
260
247
  return false;
261
248
  }
262
- /**
263
- * @private
264
- */
265
- function uloc(n) {
266
- return gl.getUniformLocation(shaderProgram, n);
267
- }
268
- shaderProgram = gl.createProgram();
269
- gl.attachShader(shaderProgram, v);
270
- gl.attachShader(shaderProgram, f);
271
- gl.linkProgram(shaderProgram);
272
- if (!gl.getProgramParameter(shaderProgram, gl.LINK_STATUS)) {
273
- errors.push(gl.getProgramInfoLog(shaderProgram));
274
- handleErrors();
275
- shaderProgram = false;
249
+ this.shaderProgram = this.gl.createProgram();
250
+ this.gl.attachShader(this.shaderProgram, v);
251
+ this.gl.attachShader(this.shaderProgram, f);
252
+ this.gl.linkProgram(this.shaderProgram);
253
+ if (!this.gl.getProgramParameter(this.shaderProgram, this.gl.LINK_STATUS)) {
254
+ this.errors.push(this.gl.getProgramInfoLog(this.shaderProgram));
255
+ this.handleErrors();
256
+ this.shaderProgram = false;
276
257
  return false;
277
258
  }
278
- gl.useProgram(shaderProgram);
279
- gl.bindAttribLocation(shaderProgram, 0, 'aVertexPosition');
280
- pUniform = uloc('uPMatrix');
281
- psUniform = uloc('pSize');
282
- fillColorUniform = uloc('fillColor');
283
- isBubbleUniform = uloc('isBubble');
284
- bubbleSizeAbsUniform = uloc('bubbleSizeAbs');
285
- bubbleSizeAreaUniform = uloc('bubbleSizeByArea');
286
- uSamplerUniform = uloc('uSampler');
287
- skipTranslationUniform = uloc('skipTranslation');
288
- isCircleUniform = uloc('isCircle');
289
- isInverted = uloc('isInverted');
259
+ this.gl.useProgram(this.shaderProgram);
260
+ this.gl.bindAttribLocation(this.shaderProgram, 0, 'aVertexPosition');
261
+ this.pUniform = uloc('uPMatrix');
262
+ this.psUniform = uloc('pSize');
263
+ this.fcUniform = uloc('fillColor');
264
+ this.isBubbleUniform = uloc('isBubble');
265
+ this.bubbleSizeAbsUniform = uloc('bubbleSizeAbs');
266
+ this.bubbleSizeAreaUniform = uloc('bubbleSizeByArea');
267
+ this.uSamplerUniform = uloc('uSampler');
268
+ this.skipTranslationUniform = uloc('skipTranslation');
269
+ this.isCircleUniform = uloc('isCircle');
270
+ this.isInverted = uloc('isInverted');
290
271
  return true;
291
- }
292
- /**
293
- * Destroy the shader
294
- * @private
295
- */
296
- function destroy() {
297
- if (gl && shaderProgram) {
298
- gl.deleteProgram(shaderProgram);
299
- shaderProgram = false;
300
- }
301
- }
302
- /**
303
- * Bind the shader.
304
- * This makes the shader the active one until another one is bound,
305
- * or until 0 is bound.
306
- * @private
307
- */
308
- function bind() {
309
- if (gl && shaderProgram) {
310
- gl.useProgram(shaderProgram);
311
- }
312
- }
272
+ };
313
273
  /**
314
- * Set a uniform value.
315
- * This uses a hash map to cache uniform locations.
274
+ * Handle errors accumulated in errors stack
316
275
  * @private
317
- * @param name {string} - the name of the uniform to set
318
- * @param val {float} - the value to set
319
276
  */
320
- function setUniform(name, val) {
321
- if (gl && shaderProgram) {
322
- var u = uLocations[name] = (uLocations[name] ||
323
- gl.getUniformLocation(shaderProgram, name));
324
- gl.uniform1f(u, val);
277
+ WGLShader.prototype.handleErrors = function () {
278
+ if (this.errors.length) {
279
+ error('[highcharts boost] shader error - ' +
280
+ this.errors.join('\n'));
325
281
  }
326
- }
282
+ };
327
283
  /**
328
- * Set the active texture
284
+ * String to shader program
329
285
  * @private
330
- * @param texture
331
- * the texture
286
+ * @param {string} str
287
+ * Program source
288
+ * @param {string} type
289
+ * Program type: either `vertex` or `fragment`
332
290
  */
333
- function setTexture(texture) {
334
- if (gl && shaderProgram) {
335
- gl.uniform1i(uSamplerUniform, texture);
291
+ WGLShader.prototype.stringToProgram = function (str, type) {
292
+ var shader = this.gl.createShader(type === 'vertex' ? this.gl.VERTEX_SHADER : this.gl.FRAGMENT_SHADER);
293
+ this.gl.shaderSource(shader, str);
294
+ this.gl.compileShader(shader);
295
+ if (!this.gl.getShaderParameter(shader, this.gl.COMPILE_STATUS)) {
296
+ this.errors.push('when compiling ' +
297
+ type +
298
+ ' shader:\n' +
299
+ this.gl.getShaderInfoLog(shader));
300
+ return false;
336
301
  }
337
- }
302
+ return shader;
303
+ };
338
304
  /**
339
- * Set if inversion state
305
+ * Destroy the shader
340
306
  * @private
341
- * @param {number} flag
342
- * is the state
343
307
  */
344
- function setInverted(flag) {
345
- if (gl && shaderProgram) {
346
- gl.uniform1i(isInverted, flag);
308
+ WGLShader.prototype.destroy = function () {
309
+ if (this.gl && this.shaderProgram) {
310
+ this.gl.deleteProgram(this.shaderProgram);
311
+ this.shaderProgram = false;
347
312
  }
348
- }
313
+ };
314
+ WGLShader.prototype.fillColorUniform = function () {
315
+ return this.fcUniform;
316
+ };
349
317
  /**
350
- * Enable/disable circle drawing
318
+ * Get the shader program handle
351
319
  * @private
320
+ * @return {WebGLProgram}
321
+ * The handle for the program
352
322
  */
353
- function setDrawAsCircle(flag) {
354
- if (gl && shaderProgram) {
355
- gl.uniform1i(isCircleUniform, flag ? 1 : 0);
356
- }
357
- }
323
+ WGLShader.prototype.getProgram = function () {
324
+ return this.shaderProgram;
325
+ };
326
+ WGLShader.prototype.pointSizeUniform = function () {
327
+ return this.psUniform;
328
+ };
329
+ WGLShader.prototype.perspectiveUniform = function () {
330
+ return this.pUniform;
331
+ };
358
332
  /**
359
333
  * Flush
360
334
  * @private
361
335
  */
362
- function reset() {
363
- if (gl && shaderProgram) {
364
- gl.uniform1i(isBubbleUniform, 0);
365
- gl.uniform1i(isCircleUniform, 0);
336
+ WGLShader.prototype.reset = function () {
337
+ if (this.gl && this.shaderProgram) {
338
+ this.gl.uniform1i(this.isBubbleUniform, 0);
339
+ this.gl.uniform1i(this.isCircleUniform, 0);
366
340
  }
367
- }
341
+ };
368
342
  /**
369
343
  * Set bubble uniforms
370
344
  * @private
371
- * @param series {Highcharts.Series} - the series to use
345
+ * @param {Highcharts.Series} series
346
+ * Series to use
372
347
  */
373
- function setBubbleUniforms(series, zCalcMin, zCalcMax, pixelRatio) {
348
+ WGLShader.prototype.setBubbleUniforms = function (series, zCalcMin, zCalcMax, pixelRatio) {
374
349
  if (pixelRatio === void 0) { pixelRatio = 1; }
375
- var seriesOptions = series.options, zMin = Number.MAX_VALUE, zMax = -Number.MAX_VALUE;
376
- if (gl && shaderProgram && series.is('bubble')) {
350
+ var seriesOptions = series.options;
351
+ var zMin = Number.MAX_VALUE, zMax = -Number.MAX_VALUE;
352
+ if (this.gl && this.shaderProgram && series.is('bubble')) {
377
353
  var pxSizes = series.getPxExtremes();
378
354
  zMin = pick(seriesOptions.zMin, clamp(zCalcMin, seriesOptions.displayNegative === false ?
379
355
  seriesOptions.zThreshold : -Number.MAX_VALUE, zMin));
380
356
  zMax = pick(seriesOptions.zMax, Math.max(zMax, zCalcMax));
381
- gl.uniform1i(isBubbleUniform, 1);
382
- gl.uniform1i(isCircleUniform, 1);
383
- gl.uniform1i(bubbleSizeAreaUniform, (series.options.sizeBy !== 'width'));
384
- gl.uniform1i(bubbleSizeAbsUniform, series.options
357
+ this.gl.uniform1i(this.isBubbleUniform, 1);
358
+ this.gl.uniform1i(this.isCircleUniform, 1);
359
+ this.gl.uniform1i(this.bubbleSizeAreaUniform, (series.options.sizeBy !== 'width'));
360
+ this.gl.uniform1i(this.bubbleSizeAbsUniform, series.options
385
361
  .sizeByAbsoluteValue);
386
- setUniform('bubbleZMin', zMin);
387
- setUniform('bubbleZMax', zMax);
388
- setUniform('bubbleZThreshold', series.options.zThreshold);
389
- setUniform('bubbleMinSize', pxSizes.minPxSize * pixelRatio);
390
- setUniform('bubbleMaxSize', pxSizes.maxPxSize * pixelRatio);
362
+ this.setUniform('bubbleMinSize', pxSizes.minPxSize * pixelRatio);
363
+ this.setUniform('bubbleMaxSize', pxSizes.maxPxSize * pixelRatio);
364
+ this.setUniform('bubbleZMin', zMin);
365
+ this.setUniform('bubbleZMax', zMax);
366
+ this.setUniform('bubbleZThreshold', series.options.zThreshold);
391
367
  }
392
- }
368
+ };
393
369
  /**
394
370
  * Set the Color uniform.
395
371
  * @private
396
- * @param color {Array<float>} - an array with RGBA values
372
+ * @param {Array<number>} color
373
+ * Array with RGBA values.
397
374
  */
398
- function setColor(color) {
399
- if (gl && shaderProgram) {
400
- gl.uniform4f(fillColorUniform, color[0] / 255.0, color[1] / 255.0, color[2] / 255.0, color[3]);
375
+ WGLShader.prototype.setColor = function (color) {
376
+ if (this.gl && this.shaderProgram) {
377
+ this.gl.uniform4f(this.fcUniform, color[0] / 255.0, color[1] / 255.0, color[2] / 255.0, color[3]);
401
378
  }
402
- }
379
+ };
403
380
  /**
404
- * Set skip translation
381
+ * Enable/disable circle drawing
405
382
  * @private
406
383
  */
407
- function setSkipTranslation(flag) {
408
- if (gl && shaderProgram) {
409
- gl.uniform1i(skipTranslationUniform, flag === true ? 1 : 0);
384
+ WGLShader.prototype.setDrawAsCircle = function (flag) {
385
+ if (this.gl && this.shaderProgram) {
386
+ this.gl.uniform1i(this.isCircleUniform, flag ? 1 : 0);
410
387
  }
411
- }
388
+ };
389
+ /**
390
+ * Set if inversion state
391
+ * @private
392
+ * @param {number} flag
393
+ * Inversion flag
394
+ */
395
+ WGLShader.prototype.setInverted = function (flag) {
396
+ if (this.gl && this.shaderProgram) {
397
+ this.gl.uniform1i(this.isInverted, flag);
398
+ }
399
+ };
412
400
  /**
413
401
  * Set the perspective matrix
414
402
  * @private
415
- * @param m {Matrix4x4} - the matrix
403
+ * @param {Float32List} m
404
+ * Matrix 4 x 4
416
405
  */
417
- function setPMatrix(m) {
418
- if (gl && shaderProgram) {
419
- gl.uniformMatrix4fv(pUniform, false, m);
406
+ WGLShader.prototype.setPMatrix = function (m) {
407
+ if (this.gl && this.shaderProgram) {
408
+ this.gl.uniformMatrix4fv(this.pUniform, false, m);
420
409
  }
421
- }
410
+ };
422
411
  /**
423
412
  * Set the point size.
424
413
  * @private
425
- * @param p {float} - point size
414
+ * @param {number} p
415
+ * Point size
426
416
  */
427
- function setPointSize(p) {
428
- if (gl && shaderProgram) {
429
- gl.uniform1f(psUniform, p);
417
+ WGLShader.prototype.setPointSize = function (p) {
418
+ if (this.gl && this.shaderProgram) {
419
+ this.gl.uniform1f(this.psUniform, p);
430
420
  }
431
- }
421
+ };
432
422
  /**
433
- * Get the shader program handle
423
+ * Set skip translation
434
424
  * @private
435
- * @return {GLInt} - the handle for the program
436
425
  */
437
- function getProgram() {
438
- return shaderProgram;
439
- }
440
- if (gl) {
441
- if (!createShader()) {
442
- return false;
426
+ WGLShader.prototype.setSkipTranslation = function (flag) {
427
+ if (this.gl && this.shaderProgram) {
428
+ this.gl.uniform1i(this.skipTranslationUniform, flag === true ? 1 : 0);
429
+ }
430
+ };
431
+ /**
432
+ * Set the active texture
433
+ * @private
434
+ * @param {number} texture
435
+ * Texture to activate
436
+ */
437
+ WGLShader.prototype.setTexture = function (texture) {
438
+ if (this.gl && this.shaderProgram) {
439
+ this.gl.uniform1i(this.uSamplerUniform, texture);
440
+ }
441
+ };
442
+ /**
443
+ * Set a uniform value.
444
+ * This uses a hash map to cache uniform locations.
445
+ * @private
446
+ * @param {string} name
447
+ * Name of the uniform to set.
448
+ * @param {number} val
449
+ * Value to set
450
+ */
451
+ WGLShader.prototype.setUniform = function (name, val) {
452
+ if (this.gl && this.shaderProgram) {
453
+ var u = this.uLocations[name] = (this.uLocations[name] ||
454
+ this.gl.getUniformLocation(this.shaderProgram, name));
455
+ this.gl.uniform1f(u, val);
443
456
  }
444
- }
445
- return {
446
- psUniform: function () {
447
- return psUniform;
448
- },
449
- pUniform: function () {
450
- return pUniform;
451
- },
452
- fillColorUniform: function () {
453
- return fillColorUniform;
454
- },
455
- setBubbleUniforms: setBubbleUniforms,
456
- bind: bind,
457
- program: getProgram,
458
- create: createShader,
459
- setUniform: setUniform,
460
- setPMatrix: setPMatrix,
461
- setColor: setColor,
462
- setPointSize: setPointSize,
463
- setSkipTranslation: setSkipTranslation,
464
- setTexture: setTexture,
465
- setDrawAsCircle: setDrawAsCircle,
466
- reset: reset,
467
- setInverted: setInverted,
468
- destroy: destroy
469
457
  };
470
- }
471
- export default GLShader;
458
+ return WGLShader;
459
+ }());
460
+ /* *
461
+ *
462
+ * Default Export
463
+ *
464
+ * */
465
+ export default WGLShader;