highcharts 10.0.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 (942) 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/A11yI18n.js +4 -4
  7. package/es-modules/Accessibility/Accessibility.js +8 -3
  8. package/es-modules/Accessibility/Components/AnnotationsA11y.js +3 -3
  9. package/es-modules/Accessibility/Components/ContainerComponent.js +11 -10
  10. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +18 -11
  11. package/es-modules/Accessibility/Components/LegendComponent.js +11 -11
  12. package/es-modules/Accessibility/Components/MenuComponent.js +3 -1
  13. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +3 -1
  14. package/es-modules/Accessibility/Components/SeriesComponent/SeriesComponent.js +3 -1
  15. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +34 -17
  16. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +35 -10
  17. package/es-modules/Accessibility/Components/ZoomComponent.js +30 -70
  18. package/es-modules/Accessibility/FocusBorder.js +6 -5
  19. package/es-modules/Accessibility/HighContrastMode.js +1 -1
  20. package/es-modules/Accessibility/KeyboardNavigation.js +2 -2
  21. package/es-modules/Accessibility/Options/{Options.js → A11yDefaults.js} +73 -5
  22. package/es-modules/Accessibility/Options/DeprecatedOptions.js +12 -2
  23. package/es-modules/Accessibility/Options/{LangOptions.js → LangDefaults.js} +46 -31
  24. package/es-modules/Accessibility/Utils/ChartUtilities.js +10 -5
  25. package/es-modules/Core/Animation/Fx.js +1 -1
  26. package/es-modules/Core/Axis/Axis.js +51 -46
  27. package/es-modules/Core/Axis/Axis3D.js +1 -1
  28. package/es-modules/Core/Axis/AxisDefaults.js +9 -9
  29. package/es-modules/Core/Axis/BrokenAxis.js +1 -1
  30. package/es-modules/Core/Axis/Color/ColorAxis.js +4 -2
  31. package/es-modules/Core/Axis/Color/ColorAxisDefaults.js +7 -3
  32. package/es-modules/Core/Axis/DateTimeAxis.js +5 -3
  33. package/es-modules/Core/Axis/GridAxis.js +821 -822
  34. package/es-modules/Core/Axis/LogarithmicAxis.js +1 -1
  35. package/es-modules/Core/Axis/NavigatorAxis.js +2 -2
  36. package/es-modules/Core/Axis/OrdinalAxis.js +26 -3
  37. package/es-modules/Core/Axis/PlotLineOrBand/PlotLineOrBand.js +3 -3
  38. package/es-modules/Core/Axis/RadialAxis.js +1 -1
  39. package/es-modules/Core/Axis/Stacking/StackItem.js +262 -0
  40. package/es-modules/Core/Axis/Stacking/StackingAxis.js +468 -0
  41. package/es-modules/Core/Axis/Tick.js +22 -18
  42. package/es-modules/Core/Axis/TreeGrid/TreeGridAxis.js +732 -0
  43. package/es-modules/Core/Axis/TreeGrid/TreeGridTick.js +313 -0
  44. package/es-modules/Core/Axis/WaterfallAxis.js +1 -1
  45. package/es-modules/Core/Axis/ZAxis.js +76 -71
  46. package/es-modules/Core/Chart/Chart.js +42 -9
  47. package/es-modules/Core/Chart/Chart3D.js +2 -2
  48. package/es-modules/Core/Chart/ChartDefaults.js +165 -5
  49. package/es-modules/Core/Chart/GanttChart.js +3 -1
  50. package/es-modules/Core/Chart/MapChart.js +3 -1
  51. package/es-modules/Core/Chart/StockChart.js +12 -8
  52. package/es-modules/Core/Color/Color.js +1 -1
  53. package/es-modules/Core/DefaultOptions.js +19 -16
  54. package/es-modules/Core/Geometry/CircleUtilities.js +4 -4
  55. package/es-modules/Core/Globals.js +2 -1
  56. package/es-modules/Core/HttpUtilities.js +39 -37
  57. package/es-modules/Core/Legend/Legend.js +4 -4
  58. package/es-modules/Core/MSPointer.js +3 -1
  59. package/es-modules/{Extensions → Core}/Math3D.js +48 -43
  60. package/es-modules/Core/Navigator.js +31 -14
  61. package/es-modules/Core/Pointer.js +8 -10
  62. package/es-modules/Core/Renderer/HTML/AST.js +13 -7
  63. package/es-modules/Core/Renderer/HTML/HTMLElement.js +3 -1
  64. package/es-modules/Core/Renderer/HTML/HTMLRenderer.js +3 -1
  65. package/es-modules/Core/Renderer/SVG/SVGElement.js +132 -192
  66. package/es-modules/Core/Renderer/SVG/SVGLabel.js +32 -28
  67. package/es-modules/Core/Renderer/SVG/SVGRenderer.js +50 -45
  68. package/es-modules/Core/Renderer/SVG/SVGRenderer3D.js +5 -3
  69. package/es-modules/Core/Renderer/SVG/TextBuilder.js +5 -3
  70. package/es-modules/Core/Scrollbar.js +12 -6
  71. package/es-modules/Core/ScrollbarDefaults.js +8 -8
  72. package/es-modules/Core/Series/DataLabel.js +63 -40
  73. package/es-modules/Core/Series/Point.js +11 -2
  74. package/es-modules/Core/Series/Series.js +60 -43
  75. package/es-modules/Core/Series/Series3D.js +4 -2
  76. package/es-modules/Core/Series/SeriesDefaults.js +11 -6
  77. package/es-modules/Core/Series/SeriesRegistry.js +6 -29
  78. package/es-modules/Core/Time.js +6 -7
  79. package/es-modules/Core/Tooltip.js +17 -6
  80. package/es-modules/Core/Utilities.js +7 -9
  81. package/es-modules/Data/DataConverter.js +6 -1
  82. package/es-modules/Data/DataPromise.js +1 -1
  83. package/es-modules/Data/DataSeriesComposition.js +288 -0
  84. package/es-modules/Data/DataSeriesConverter.js +1 -1
  85. package/es-modules/Data/DataTable.js +14 -12
  86. package/es-modules/Data/Modifiers/ChainModifier.js +4 -2
  87. package/es-modules/Data/Modifiers/DataModifier.js +1 -1
  88. package/es-modules/Data/Modifiers/GroupModifier.js +4 -2
  89. package/es-modules/Data/Modifiers/InvertModifier.js +10 -8
  90. package/es-modules/Data/Modifiers/RangeModifier.js +4 -2
  91. package/es-modules/Data/Modifiers/SeriesPointsModifier.js +4 -2
  92. package/es-modules/Data/Modifiers/SortModifier.js +4 -2
  93. package/es-modules/Data/Parsers/CSVParser.js +3 -1
  94. package/es-modules/Data/Parsers/DataParser.js +2 -2
  95. package/es-modules/Data/Parsers/GoogleSheetsParser.js +3 -2
  96. package/es-modules/Data/Parsers/HTMLTableParser.js +3 -1
  97. package/es-modules/Data/Stores/CSVStore.js +8 -5
  98. package/es-modules/Data/Stores/DataStore.js +1 -1
  99. package/es-modules/Data/Stores/GoogleSheetsStore.js +3 -1
  100. package/es-modules/Data/Stores/HTMLTableStore.js +3 -1
  101. package/es-modules/Extensions/Annotations/Annotation.js +652 -0
  102. package/es-modules/Extensions/Annotations/AnnotationChart.js +291 -0
  103. package/es-modules/Extensions/Annotations/AnnotationDefaults.js +624 -0
  104. package/es-modules/Extensions/Annotations/ControlPoint.js +89 -64
  105. package/es-modules/Extensions/Annotations/{Mixins/ControllableMixin.js → Controllables/Controllable.js} +300 -241
  106. package/es-modules/Extensions/Annotations/Controllables/ControllableCircle.js +63 -50
  107. package/es-modules/Extensions/Annotations/Controllables/ControllableDefaults.js +95 -0
  108. package/es-modules/Extensions/Annotations/Controllables/ControllableEllipse.js +95 -63
  109. package/es-modules/Extensions/Annotations/Controllables/ControllableImage.js +50 -44
  110. package/es-modules/Extensions/Annotations/Controllables/ControllableLabel.js +95 -78
  111. package/es-modules/Extensions/Annotations/Controllables/ControllablePath.js +167 -51
  112. package/es-modules/Extensions/Annotations/Controllables/ControllableRect.js +53 -52
  113. package/es-modules/Extensions/Annotations/{Mixins/EventEmitterMixin.js → EventEmitter.js} +136 -116
  114. package/es-modules/Extensions/Annotations/MockPoint.js +210 -145
  115. package/es-modules/Extensions/Annotations/NavigationBindings.js +272 -663
  116. package/es-modules/Extensions/Annotations/NavigationBindingsDefaults.js +396 -0
  117. package/es-modules/Extensions/Annotations/NavigationBindingsUtilities.js +98 -0
  118. package/es-modules/Extensions/Annotations/Popup/Popup.js +295 -0
  119. package/es-modules/Extensions/Annotations/Popup/PopupAnnotations.js +177 -0
  120. package/es-modules/Extensions/Annotations/Popup/PopupComposition.js +81 -0
  121. package/es-modules/Extensions/Annotations/Popup/PopupIndicators.js +609 -0
  122. package/es-modules/Extensions/Annotations/Popup/PopupTabs.js +134 -0
  123. package/es-modules/Extensions/Annotations/Types/BasicAnnotation.js +23 -23
  124. package/es-modules/Extensions/Annotations/Types/CrookedLine.js +15 -21
  125. package/es-modules/Extensions/Annotations/Types/ElliottWave.js +14 -12
  126. package/es-modules/Extensions/Annotations/Types/Fibonacci.js +33 -23
  127. package/es-modules/Extensions/Annotations/Types/FibonacciTimeZones.js +67 -65
  128. package/es-modules/Extensions/Annotations/Types/InfinityLine.js +14 -21
  129. package/es-modules/Extensions/Annotations/Types/Measure.js +259 -251
  130. package/es-modules/Extensions/Annotations/Types/Pitchfork.js +15 -19
  131. package/es-modules/Extensions/Annotations/Types/TimeCycles.js +24 -19
  132. package/es-modules/Extensions/Annotations/Types/Tunnel.js +17 -15
  133. package/es-modules/Extensions/Annotations/Types/VerticalLine.js +15 -17
  134. package/es-modules/Extensions/Boost/Boost.js +320 -15
  135. package/es-modules/Extensions/Boost/BoostChart.js +245 -0
  136. package/es-modules/Extensions/Boost/BoostSeries.js +927 -0
  137. package/es-modules/Extensions/Boost/BoostableMap.js +21 -5
  138. package/es-modules/Extensions/Boost/Boostables.js +13 -2
  139. package/es-modules/Extensions/Boost/NamedColors.js +15 -6
  140. package/es-modules/Extensions/Boost/WGLDrawMode.js +36 -0
  141. package/es-modules/Extensions/Boost/WGLRenderer.js +288 -295
  142. package/es-modules/Extensions/Boost/WGLShader.js +370 -376
  143. package/es-modules/Extensions/Boost/WGLVertexBuffer.js +192 -0
  144. package/es-modules/Extensions/BoostCanvas.js +70 -48
  145. package/es-modules/Extensions/Breadcrumbs.js +37 -9
  146. package/es-modules/Extensions/CurrentDateIndication.js +1 -1
  147. package/es-modules/Extensions/Data.js +638 -602
  148. package/es-modules/Extensions/DataGrouping.js +68 -28
  149. package/es-modules/Extensions/Debugger/Debugger.js +60 -22
  150. package/es-modules/Extensions/Debugger/ErrorMessages.js +4 -0
  151. package/es-modules/Extensions/DownloadURL.js +3 -3
  152. package/es-modules/Extensions/DragPanes.js +1 -1
  153. package/es-modules/Extensions/DraggablePoints.js +4 -3
  154. package/es-modules/Extensions/Drilldown.js +15 -14
  155. package/es-modules/Extensions/{ExportData.js → ExportData/ExportData.js} +358 -498
  156. package/es-modules/Extensions/ExportData/ExportDataDefaults.js +272 -0
  157. package/es-modules/Extensions/Exporting/Exporting.js +30 -17
  158. package/es-modules/Extensions/Exporting/ExportingDefaults.js +10 -8
  159. package/es-modules/Extensions/Exporting/Fullscreen.js +352 -0
  160. package/es-modules/Extensions/GeoJSON.js +3 -4
  161. package/es-modules/Extensions/MarkerClusters.js +5 -3
  162. package/es-modules/Extensions/NoDataToDisplay.js +1 -1
  163. package/es-modules/Extensions/OfflineExporting/OfflineExportingDefaults.js +1 -1
  164. package/es-modules/Extensions/Oldie/Oldie.js +2 -2
  165. package/es-modules/Extensions/OverlappingDataLabels.js +5 -4
  166. package/es-modules/Extensions/Pane.js +3 -3
  167. package/es-modules/Extensions/ParallelCoordinates.js +12 -8
  168. package/es-modules/Extensions/PatternFill.js +14 -2
  169. package/es-modules/Extensions/RangeSelector.js +29 -18
  170. package/es-modules/Extensions/ScrollablePlotArea.js +4 -4
  171. package/es-modules/Extensions/{SeriesLabel.js → SeriesLabel/SeriesLabel.js} +264 -386
  172. package/es-modules/Extensions/SeriesLabel/SeriesLabelDefaults.js +124 -0
  173. package/es-modules/Extensions/SeriesLabel/SeriesLabelUtilities.js +67 -0
  174. package/es-modules/Extensions/Sonification/ChartSonify.js +1 -1
  175. package/es-modules/Extensions/Sonification/Earcon.js +1 -1
  176. package/es-modules/Extensions/Themes/HighContrastDark.js +10 -10
  177. package/es-modules/Extensions/Themes/HighContrastLight.js +9 -9
  178. package/es-modules/Maps/MapNavigation.js +3 -7
  179. package/es-modules/Maps/MapPointer.js +1 -1
  180. package/es-modules/Maps/MapView.js +31 -19
  181. package/es-modules/Maps/MapViewInsetsOptionsDefault.js +1 -1
  182. package/es-modules/Maps/MapViewOptionsDefault.js +3 -1
  183. package/es-modules/Maps/Projection.js +13 -11
  184. package/es-modules/Series/ArcDiagram/ArcDiagramPoint.js +3 -1
  185. package/es-modules/Series/ArcDiagram/ArcDiagramSeries.js +12 -2
  186. package/es-modules/Series/Area/AreaSeries.js +21 -14
  187. package/es-modules/Series/{Area3DSeries.js → Area3D/Area3DSeries.js} +42 -20
  188. package/es-modules/Series/AreaRange/AreaRangePoint.js +24 -11
  189. package/es-modules/Series/AreaRange/AreaRangeSeries.js +162 -149
  190. package/es-modules/Series/AreaSpline/AreaSplineSeries.js +45 -41
  191. package/es-modules/Series/AreaSplineRange/AreaSplineRangeSeries.js +43 -43
  192. package/es-modules/Series/Bar/BarSeries.js +3 -1
  193. package/es-modules/Series/Bellcurve/BellcurveSeries.js +3 -1
  194. package/es-modules/Series/BoxPlot/BoxPlotSeries.js +4 -2
  195. package/es-modules/Series/Bubble/BubbleLegendComposition.js +223 -231
  196. package/es-modules/Series/Bubble/BubbleLegendDefaults.js +1 -1
  197. package/es-modules/Series/Bubble/BubbleLegendItem.js +46 -45
  198. package/es-modules/Series/Bubble/BubblePoint.js +3 -1
  199. package/es-modules/Series/Bubble/BubbleSeries.js +96 -68
  200. package/es-modules/Series/Bullet/BulletPoint.js +3 -1
  201. package/es-modules/Series/Bullet/BulletSeries.js +4 -3
  202. package/es-modules/Series/Candlestick/CandlestickSeries.js +5 -3
  203. package/es-modules/Series/CenteredUtilities.js +8 -2
  204. package/es-modules/Series/ColorMapComposition.js +111 -0
  205. package/es-modules/Series/Column/ColumnSeries.js +8 -4
  206. package/es-modules/Series/Column3D/Column3DComposition.js +2 -2
  207. package/es-modules/Series/ColumnPyramid/ColumnPyramidSeries.js +4 -2
  208. package/es-modules/Series/ColumnRange/ColumnRangePoint.js +17 -13
  209. package/es-modules/Series/ColumnRange/ColumnRangeSeries.js +60 -57
  210. package/es-modules/Series/Cylinder/CylinderComposition.js +1 -1
  211. package/es-modules/Series/Cylinder/CylinderPoint.js +3 -1
  212. package/es-modules/Series/Cylinder/CylinderSeries.js +3 -1
  213. package/es-modules/Series/DependencyWheel/DependencyWheelPoint.js +27 -12
  214. package/es-modules/Series/DependencyWheel/DependencyWheelSeries.js +19 -3
  215. package/es-modules/Series/DotPlot/DotPlotSeries.js +3 -1
  216. package/es-modules/Series/DragNodesComposition.js +166 -0
  217. package/es-modules/Series/DrawPointUtilities.js +87 -0
  218. package/es-modules/Series/Dumbbell/DumbbellPoint.js +3 -1
  219. package/es-modules/Series/Dumbbell/DumbbellSeries.js +4 -2
  220. package/es-modules/Series/ErrorBar/ErrorBarSeries.js +4 -2
  221. package/es-modules/Series/Flags/FlagsPoint.js +4 -1
  222. package/es-modules/Series/Flags/FlagsSeries.js +13 -16
  223. package/es-modules/Series/Funnel/FunnelSeries.js +5 -3
  224. package/es-modules/Series/Funnel3D/Funnel3DPoint.js +3 -1
  225. package/es-modules/Series/Funnel3D/Funnel3DSeries.js +4 -2
  226. package/es-modules/Series/Gantt/GanttPoint.js +3 -1
  227. package/es-modules/Series/Gantt/GanttSeries.js +4 -2
  228. package/es-modules/Series/Gauge/GaugePoint.js +3 -1
  229. package/es-modules/Series/Gauge/GaugeSeries.js +196 -174
  230. package/es-modules/Series/GraphLayoutComposition.js +130 -0
  231. package/es-modules/Series/HLC/HLCPoint.js +3 -1
  232. package/es-modules/Series/HLC/HLCSeries.js +4 -2
  233. package/es-modules/Series/Heatmap/HeatmapPoint.js +7 -5
  234. package/es-modules/Series/Heatmap/HeatmapSeries.js +34 -34
  235. package/es-modules/Series/HeikinAshi/HeikinAshiPoint.js +3 -1
  236. package/es-modules/Series/HeikinAshi/HeikinAshiSeries.js +3 -1
  237. package/es-modules/Series/Histogram/HistogramSeries.js +3 -1
  238. package/es-modules/Series/HollowCandlestick/HollowCandlestickPoint.js +3 -1
  239. package/es-modules/Series/HollowCandlestick/HollowCandlestickSeries.js +11 -9
  240. package/es-modules/Series/Item/ItemPoint.js +3 -1
  241. package/es-modules/Series/Item/ItemSeries.js +3 -1
  242. package/es-modules/Series/Line/LineSeries.js +4 -2
  243. package/es-modules/Series/Lollipop/LollipopPoint.js +24 -12
  244. package/es-modules/Series/Lollipop/LollipopSeries.js +18 -11
  245. package/es-modules/Series/Map/MapPoint.js +8 -6
  246. package/es-modules/Series/Map/MapSeries.js +115 -28
  247. package/es-modules/Series/MapBubble/MapBubblePoint.js +18 -18
  248. package/es-modules/Series/MapBubble/MapBubbleSeries.js +69 -21
  249. package/es-modules/Series/MapLine/MapLineSeries.js +18 -1
  250. package/es-modules/Series/MapPoint/MapPointPoint.js +4 -2
  251. package/es-modules/Series/MapPoint/MapPointSeries.js +14 -2
  252. package/es-modules/Series/Networkgraph/EulerIntegration.js +199 -0
  253. package/es-modules/Series/Networkgraph/NetworkgraphPoint.js +290 -0
  254. package/es-modules/Series/Networkgraph/NetworkgraphSeries.js +401 -0
  255. package/es-modules/Series/Networkgraph/NetworkgraphSeriesDefaults.js +545 -0
  256. package/es-modules/Series/Networkgraph/QuadTree.js +66 -272
  257. package/es-modules/Series/Networkgraph/QuadTreeNode.js +271 -0
  258. package/es-modules/Series/Networkgraph/{Layouts.js → ReingoldFruchtermanLayout.js} +240 -259
  259. package/es-modules/Series/Networkgraph/VerletIntegration.js +193 -0
  260. package/es-modules/Series/NodesComposition.js +45 -40
  261. package/es-modules/Series/OHLC/OHLCPoint.js +3 -1
  262. package/es-modules/Series/OHLC/OHLCSeries.js +3 -1
  263. package/es-modules/Series/Organization/OrganizationPoint.js +3 -1
  264. package/es-modules/Series/Organization/OrganizationSeries.js +14 -4
  265. package/es-modules/Series/PackedBubble/PackedBubbleIntegration.js +81 -0
  266. package/es-modules/Series/PackedBubble/{PackedBubbleComposition.js → PackedBubbleLayout.js} +114 -79
  267. package/es-modules/Series/PackedBubble/PackedBubblePoint.js +5 -3
  268. package/es-modules/Series/PackedBubble/PackedBubbleSeries.js +200 -571
  269. package/es-modules/Series/PackedBubble/PackedBubbleSeriesDefaults.js +394 -0
  270. package/es-modules/Series/ParetoSeries/ParetoSeries.js +3 -1
  271. package/es-modules/Series/Pie/PieDataLabel.js +4 -2
  272. package/es-modules/Series/Pie/PiePoint.js +3 -1
  273. package/es-modules/Series/Pie/PieSeries.js +54 -38
  274. package/es-modules/Series/Pie3D/Pie3DPoint.js +3 -1
  275. package/es-modules/Series/Pie3D/Pie3DSeries.js +3 -1
  276. package/es-modules/Series/PolarComposition.js +819 -0
  277. package/es-modules/Series/Polygon/PolygonSeries.js +3 -1
  278. package/es-modules/Series/Pyramid/PyramidSeries.js +3 -1
  279. package/es-modules/Series/Pyramid3D/Pyramid3DSeries.js +3 -1
  280. package/es-modules/Series/Sankey/SankeyPoint.js +3 -1
  281. package/es-modules/Series/Sankey/SankeySeries.js +38 -10
  282. package/es-modules/Series/Scatter/ScatterSeries.js +14 -6
  283. package/es-modules/Series/Scatter3D/Scatter3DPoint.js +3 -1
  284. package/es-modules/Series/Scatter3D/Scatter3DSeries.js +4 -2
  285. package/es-modules/Series/SeriesOnPointComposition.js +395 -0
  286. package/es-modules/Series/SolidGauge/SolidGaugeSeries.js +6 -4
  287. package/es-modules/Series/Spline/SplineSeries.js +13 -4
  288. package/es-modules/Series/Streamgraph/StreamgraphSeries.js +3 -1
  289. package/es-modules/Series/Sunburst/SunburstPoint.js +8 -9
  290. package/es-modules/Series/Sunburst/SunburstSeries.js +32 -5
  291. package/es-modules/Series/Tilemap/TilemapPoint.js +3 -1
  292. package/es-modules/Series/Tilemap/TilemapSeries.js +3 -1
  293. package/es-modules/Series/Timeline/TimelinePoint.js +3 -1
  294. package/es-modules/Series/Timeline/TimelineSeries.js +8 -4
  295. package/es-modules/Series/Treemap/TreemapPoint.js +8 -4
  296. package/es-modules/Series/Treemap/TreemapSeries.js +12 -10
  297. package/es-modules/Series/VariablePie/VariablePieSeries.js +3 -1
  298. package/es-modules/Series/Variwide/VariwidePoint.js +3 -1
  299. package/es-modules/Series/Variwide/VariwideSeries.js +3 -1
  300. package/es-modules/Series/Vector/VectorSeries.js +5 -5
  301. package/es-modules/Series/Venn/VennPoint.js +5 -5
  302. package/es-modules/Series/Venn/VennSeries.js +9 -6
  303. package/es-modules/Series/Waterfall/WaterfallPoint.js +3 -1
  304. package/es-modules/Series/Waterfall/WaterfallSeries.js +14 -12
  305. package/es-modules/Series/Windbarb/WindbarbPoint.js +3 -1
  306. package/es-modules/Series/Windbarb/WindbarbSeries.js +3 -1
  307. package/es-modules/Series/Wordcloud/WordcloudPoint.js +6 -6
  308. package/es-modules/Series/Wordcloud/WordcloudSeries.js +12 -9
  309. package/es-modules/Series/Wordcloud/WordcloudUtils.js +1 -1
  310. package/es-modules/Series/XRange/XRangePoint.js +57 -46
  311. package/es-modules/Series/XRange/XRangeSeries.js +124 -274
  312. package/es-modules/Series/XRange/XRangeSeriesDefaults.js +211 -0
  313. package/es-modules/Stock/Indicators/ABands/ABandsIndicator.js +13 -3
  314. package/es-modules/Stock/Indicators/AD/ADIndicator.js +8 -1
  315. package/es-modules/Stock/Indicators/AO/AOIndicator.js +27 -14
  316. package/es-modules/Stock/Indicators/APO/APOIndicator.js +9 -2
  317. package/es-modules/Stock/Indicators/ATR/ATRIndicator.js +19 -4
  318. package/es-modules/Stock/Indicators/Aroon/AroonIndicator.js +18 -3
  319. package/es-modules/Stock/Indicators/AroonOscillator/AroonOscillatorIndicator.js +9 -3
  320. package/es-modules/Stock/Indicators/BB/BBIndicator.js +11 -5
  321. package/es-modules/Stock/Indicators/CCI/CCIIndicator.js +19 -4
  322. package/es-modules/Stock/Indicators/CMF/CMFIndicator.js +23 -1
  323. package/es-modules/Stock/Indicators/CMO/CMOIndicator.js +18 -2
  324. package/es-modules/Stock/Indicators/Chaikin/ChaikinIndicator.js +10 -3
  325. package/es-modules/Stock/Indicators/DEMA/DEMAIndicator.js +28 -1
  326. package/es-modules/Stock/Indicators/DMI/DMIIndicator.js +18 -7
  327. package/es-modules/Stock/Indicators/DPO/DPOIndicator.js +22 -9
  328. package/es-modules/Stock/Indicators/DisparityIndex/DisparityIndexIndicator.js +3 -1
  329. package/es-modules/Stock/Indicators/EMA/EMAIndicator.js +13 -1
  330. package/es-modules/Stock/Indicators/IKH/IKHIndicator.js +37 -16
  331. package/es-modules/Stock/Indicators/KeltnerChannels/KeltnerChannelsIndicator.js +28 -1
  332. package/es-modules/Stock/Indicators/Klinger/KlingerIndicator.js +15 -2
  333. package/es-modules/Stock/Indicators/LinearRegression/{LinearRegression.js → LinearRegressionIndicator.js} +14 -2
  334. package/es-modules/Stock/Indicators/LinearRegressionAngle/{LinearRegressionAngle.js → LinearRegressionAngleIndicator.js} +15 -8
  335. package/es-modules/Stock/Indicators/LinearRegressionIntercept/{LinearRegressionIntercept.js → LinearRegressionInterceptIndicator.js} +14 -2
  336. package/es-modules/Stock/Indicators/LinearRegressionSlopes/{LinearRegressionSlopes.js → LinearRegressionSlopesIndicator.js} +14 -2
  337. package/es-modules/Stock/Indicators/MACD/MACDIndicator.js +47 -23
  338. package/es-modules/Stock/Indicators/MFI/MFIIndicator.js +26 -11
  339. package/es-modules/Stock/Indicators/Momentum/MomentumIndicator.js +33 -3
  340. package/es-modules/Stock/Indicators/MultipleLinesComposition.js +85 -95
  341. package/es-modules/Stock/Indicators/NATR/NATRIndicator.js +19 -2
  342. package/es-modules/Stock/Indicators/OBV/OBVIndicator.js +13 -1
  343. package/es-modules/Stock/Indicators/PC/PCIndicator.js +16 -9
  344. package/es-modules/Stock/Indicators/PPO/PPOIndicator.js +17 -5
  345. package/es-modules/Stock/Indicators/PSAR/PSARIndicator.js +19 -4
  346. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsIndicator.js +19 -7
  347. package/es-modules/Stock/Indicators/PivotPoints/PivotPointsPoint.js +19 -13
  348. package/es-modules/Stock/Indicators/PriceEnvelopes/PriceEnvelopesIndicator.js +28 -1
  349. package/es-modules/Stock/Indicators/ROC/ROCIndicator.js +18 -3
  350. package/es-modules/Stock/Indicators/RSI/RSIIndicator.js +23 -3
  351. package/es-modules/Stock/Indicators/SMA/SMAIndicator.js +4 -2
  352. package/es-modules/Stock/Indicators/SlowStochastic/SlowStochasticIndicator.js +28 -1
  353. package/es-modules/Stock/Indicators/Stochastic/StochasticIndicator.js +18 -1
  354. package/es-modules/Stock/Indicators/Supertrend/SupertrendIndicator.js +23 -7
  355. package/es-modules/Stock/Indicators/TEMA/TEMAIndicator.js +3 -1
  356. package/es-modules/Stock/Indicators/TRIX/TRIXIndicator.js +28 -1
  357. package/es-modules/Stock/Indicators/TrendLine/TrendLineIndicator.js +17 -5
  358. package/es-modules/Stock/Indicators/VBP/VBPIndicator.js +35 -4
  359. package/es-modules/Stock/Indicators/VBP/VBPPoint.js +9 -7
  360. package/es-modules/Stock/Indicators/VWAP/VWAPIndicator.js +14 -2
  361. package/es-modules/Stock/Indicators/WMA/WMAIndicator.js +33 -3
  362. package/es-modules/Stock/Indicators/WilliamsR/WilliamsRIndicator.js +13 -1
  363. package/es-modules/Stock/Indicators/Zigzag/ZigzagIndicator.js +14 -2
  364. package/es-modules/Stock/StockToolbar.js +568 -0
  365. package/es-modules/Stock/StockTools.js +256 -0
  366. package/es-modules/Stock/StockToolsBindings.js +140 -647
  367. package/es-modules/Stock/StockToolsDefaults.js +1190 -0
  368. package/es-modules/Stock/StockToolsGui.js +150 -1771
  369. package/es-modules/Stock/StockToolsUtilities.js +423 -0
  370. package/es-modules/masters/highcharts-3d.src.js +5 -4
  371. package/es-modules/masters/highcharts-gantt.src.js +1 -1
  372. package/es-modules/masters/highcharts-more.src.js +7 -6
  373. package/es-modules/masters/highcharts.src.js +5 -2
  374. package/es-modules/masters/highmaps.src.js +1 -1
  375. package/es-modules/masters/highstock.src.js +1 -1
  376. package/es-modules/masters/indicators/acceleration-bands.src.js +1 -1
  377. package/es-modules/masters/indicators/accumulation-distribution.src.js +1 -1
  378. package/es-modules/masters/indicators/ao.src.js +1 -1
  379. package/es-modules/masters/indicators/apo.src.js +1 -1
  380. package/es-modules/masters/indicators/aroon-oscillator.src.js +1 -1
  381. package/es-modules/masters/indicators/aroon.src.js +1 -1
  382. package/es-modules/masters/indicators/atr.src.js +1 -1
  383. package/es-modules/masters/indicators/bollinger-bands.src.js +1 -1
  384. package/es-modules/masters/indicators/cci.src.js +1 -1
  385. package/es-modules/masters/indicators/chaikin.src.js +1 -1
  386. package/es-modules/masters/indicators/cmf.src.js +1 -1
  387. package/es-modules/masters/indicators/cmo.src.js +1 -1
  388. package/es-modules/masters/indicators/dema.src.js +1 -1
  389. package/es-modules/masters/indicators/disparity-index.src.js +1 -1
  390. package/es-modules/masters/indicators/dmi.src.js +1 -1
  391. package/es-modules/masters/indicators/dpo.src.js +1 -1
  392. package/es-modules/masters/indicators/ichimoku-kinko-hyo.src.js +1 -1
  393. package/es-modules/masters/indicators/indicators-all.src.js +5 -7
  394. package/es-modules/masters/indicators/indicators.src.js +1 -1
  395. package/es-modules/masters/indicators/keltner-channels.src.js +1 -1
  396. package/es-modules/masters/indicators/klinger.src.js +1 -1
  397. package/es-modules/masters/indicators/macd.src.js +1 -1
  398. package/es-modules/masters/indicators/mfi.src.js +1 -1
  399. package/es-modules/masters/indicators/momentum.src.js +1 -1
  400. package/es-modules/masters/indicators/natr.src.js +1 -1
  401. package/es-modules/masters/indicators/obv.src.js +1 -1
  402. package/es-modules/masters/indicators/pivot-points.src.js +1 -1
  403. package/es-modules/masters/indicators/ppo.src.js +1 -1
  404. package/es-modules/masters/indicators/price-channel.src.js +1 -1
  405. package/es-modules/masters/indicators/price-envelopes.src.js +1 -1
  406. package/es-modules/masters/indicators/psar.src.js +1 -1
  407. package/es-modules/masters/indicators/regressions.src.js +5 -5
  408. package/es-modules/masters/indicators/roc.src.js +1 -1
  409. package/es-modules/masters/indicators/rsi.src.js +1 -1
  410. package/es-modules/masters/indicators/slow-stochastic.src.js +1 -1
  411. package/es-modules/masters/indicators/stochastic.src.js +1 -1
  412. package/es-modules/masters/indicators/supertrend.src.js +1 -1
  413. package/es-modules/masters/indicators/tema.src.js +1 -1
  414. package/es-modules/masters/indicators/trendline.src.js +1 -1
  415. package/es-modules/masters/indicators/trix.src.js +1 -1
  416. package/es-modules/masters/indicators/volume-by-price.src.js +1 -1
  417. package/es-modules/masters/indicators/vwap.src.js +1 -1
  418. package/es-modules/masters/indicators/williams-r.src.js +1 -1
  419. package/es-modules/masters/indicators/wma.src.js +1 -1
  420. package/es-modules/masters/indicators/zigzag.src.js +1 -1
  421. package/es-modules/masters/modules/accessibility.src.js +1 -1
  422. package/es-modules/masters/modules/annotations-advanced.src.js +6 -4
  423. package/es-modules/masters/modules/annotations.src.js +6 -4
  424. package/es-modules/masters/modules/arc-diagram.src.js +1 -1
  425. package/es-modules/masters/modules/arrow-symbols.src.js +1 -1
  426. package/es-modules/masters/modules/boost-canvas.src.js +1 -1
  427. package/es-modules/masters/modules/boost.src.js +6 -2
  428. package/es-modules/masters/modules/broken-axis.src.js +1 -1
  429. package/es-modules/masters/modules/bullet.src.js +1 -1
  430. package/es-modules/masters/modules/coloraxis.src.js +1 -1
  431. package/es-modules/masters/modules/current-date-indicator.src.js +1 -1
  432. package/es-modules/masters/modules/cylinder.src.js +1 -1
  433. package/es-modules/masters/modules/data.src.js +2 -1
  434. package/es-modules/masters/modules/datagrouping.src.js +1 -1
  435. package/es-modules/masters/modules/debugger.src.js +5 -3
  436. package/es-modules/masters/modules/dependency-wheel.src.js +1 -1
  437. package/es-modules/masters/modules/dotplot.src.js +1 -1
  438. package/es-modules/masters/modules/drag-panes.src.js +1 -1
  439. package/es-modules/masters/modules/draggable-points.src.js +1 -1
  440. package/es-modules/masters/modules/drilldown.src.js +1 -1
  441. package/es-modules/masters/modules/dumbbell.src.js +1 -1
  442. package/es-modules/masters/modules/export-data.src.js +5 -2
  443. package/es-modules/masters/modules/exporting.src.js +1 -2
  444. package/es-modules/masters/modules/full-screen.src.js +6 -2
  445. package/es-modules/masters/modules/funnel.src.js +1 -1
  446. package/es-modules/masters/modules/funnel3d.src.js +1 -1
  447. package/es-modules/masters/modules/gantt.src.js +3 -2
  448. package/es-modules/masters/modules/grid-axis.src.js +1 -1
  449. package/es-modules/masters/modules/heatmap.src.js +1 -1
  450. package/es-modules/masters/modules/heikinashi.src.js +1 -1
  451. package/es-modules/masters/modules/histogram-bellcurve.src.js +1 -1
  452. package/es-modules/masters/modules/hollowcandlestick.src.js +1 -1
  453. package/es-modules/masters/modules/item-series.src.js +1 -1
  454. package/es-modules/masters/modules/lollipop.src.js +1 -1
  455. package/es-modules/masters/modules/map.src.js +2 -2
  456. package/es-modules/masters/modules/marker-clusters.src.js +1 -1
  457. package/es-modules/masters/modules/networkgraph.src.js +5 -2
  458. package/es-modules/masters/modules/no-data-to-display.src.js +1 -1
  459. package/es-modules/masters/modules/offline-exporting.src.js +1 -1
  460. package/es-modules/masters/modules/oldie-polyfills.src.js +1 -1
  461. package/es-modules/masters/modules/oldie.src.js +1 -1
  462. package/es-modules/masters/modules/organization.src.js +1 -1
  463. package/es-modules/masters/modules/overlapping-datalabels.src.js +1 -1
  464. package/es-modules/masters/modules/parallel-coordinates.src.js +1 -1
  465. package/es-modules/masters/modules/pareto.src.js +1 -1
  466. package/es-modules/masters/modules/pathfinder.src.js +1 -1
  467. package/es-modules/masters/modules/pattern-fill.src.js +1 -1
  468. package/es-modules/masters/modules/price-indicator.src.js +1 -1
  469. package/es-modules/masters/modules/pyramid3d.src.js +1 -1
  470. package/es-modules/masters/modules/sankey.src.js +1 -1
  471. package/es-modules/masters/modules/series-label.src.js +5 -2
  472. package/es-modules/masters/modules/series-on-point.src.js +16 -0
  473. package/es-modules/masters/modules/solid-gauge.src.js +1 -1
  474. package/es-modules/masters/modules/sonification.src.js +2 -6
  475. package/es-modules/masters/modules/static-scale.src.js +1 -1
  476. package/es-modules/masters/modules/stock-tools.src.js +10 -3
  477. package/es-modules/masters/modules/stock.src.js +1 -1
  478. package/es-modules/masters/modules/streamgraph.src.js +1 -1
  479. package/es-modules/masters/modules/sunburst.src.js +1 -1
  480. package/es-modules/masters/modules/tilemap.src.js +1 -1
  481. package/es-modules/masters/modules/timeline.src.js +1 -1
  482. package/es-modules/masters/modules/treegrid.src.js +2 -2
  483. package/es-modules/masters/modules/treemap.src.js +1 -1
  484. package/es-modules/masters/modules/variable-pie.src.js +1 -1
  485. package/es-modules/masters/modules/variwide.src.js +1 -1
  486. package/es-modules/masters/modules/vector.src.js +1 -1
  487. package/es-modules/masters/modules/venn.src.js +1 -1
  488. package/es-modules/masters/modules/windbarb.src.js +1 -1
  489. package/es-modules/masters/modules/wordcloud.src.js +1 -1
  490. package/es-modules/masters/modules/xrange.src.js +5 -2
  491. package/es-modules/masters/themes/avocado.src.js +1 -1
  492. package/es-modules/masters/themes/brand-dark.src.js +1 -1
  493. package/es-modules/masters/themes/brand-light.src.js +1 -1
  494. package/es-modules/masters/themes/dark-blue.src.js +1 -1
  495. package/es-modules/masters/themes/dark-green.src.js +1 -1
  496. package/es-modules/masters/themes/dark-unica.src.js +1 -1
  497. package/es-modules/masters/themes/gray.src.js +1 -1
  498. package/es-modules/masters/themes/grid-light.src.js +1 -1
  499. package/es-modules/masters/themes/grid.src.js +1 -1
  500. package/es-modules/masters/themes/high-contrast-dark.src.js +1 -1
  501. package/es-modules/masters/themes/high-contrast-light.src.js +1 -1
  502. package/es-modules/masters/themes/sand-signika.src.js +1 -1
  503. package/es-modules/masters/themes/skies.src.js +1 -1
  504. package/es-modules/masters/themes/sunset.src.js +1 -1
  505. package/highcharts-3d.js +98 -99
  506. package/highcharts-3d.js.map +1 -1
  507. package/highcharts-3d.src.js +233 -212
  508. package/highcharts-gantt.js +809 -805
  509. package/highcharts-gantt.js.map +1 -1
  510. package/highcharts-gantt.src.js +3817 -3470
  511. package/highcharts-more.d.ts +15 -8
  512. package/highcharts-more.js +201 -195
  513. package/highcharts-more.js.map +1 -1
  514. package/highcharts-more.src.d.ts +15 -8
  515. package/highcharts-more.src.js +7994 -7461
  516. package/highcharts.d.ts +11364 -1136
  517. package/highcharts.js +593 -591
  518. package/highcharts.js.map +1 -1
  519. package/highcharts.src.d.ts +11364 -1136
  520. package/highcharts.src.js +1408 -1117
  521. package/highmaps.js +762 -758
  522. package/highmaps.js.map +1 -1
  523. package/highmaps.src.js +2237 -1721
  524. package/highstock.js +796 -792
  525. package/highstock.js.map +1 -1
  526. package/highstock.src.js +1617 -1224
  527. package/indicators/acceleration-bands.d.ts +1 -17
  528. package/indicators/acceleration-bands.js +11 -12
  529. package/indicators/acceleration-bands.js.map +1 -1
  530. package/indicators/acceleration-bands.src.d.ts +1 -17
  531. package/indicators/acceleration-bands.src.js +99 -101
  532. package/indicators/accumulation-distribution.js +1 -1
  533. package/indicators/accumulation-distribution.js.map +1 -1
  534. package/indicators/accumulation-distribution.src.js +6 -1
  535. package/indicators/ao.js +6 -6
  536. package/indicators/ao.js.map +1 -1
  537. package/indicators/ao.src.js +25 -16
  538. package/indicators/apo.js +1 -1
  539. package/indicators/apo.js.map +1 -1
  540. package/indicators/apo.src.js +6 -1
  541. package/indicators/aroon-oscillator.d.ts +1 -17
  542. package/indicators/aroon-oscillator.js +10 -10
  543. package/indicators/aroon-oscillator.js.map +1 -1
  544. package/indicators/aroon-oscillator.src.d.ts +1 -17
  545. package/indicators/aroon-oscillator.src.js +95 -101
  546. package/indicators/aroon.d.ts +1 -17
  547. package/indicators/aroon.js +11 -11
  548. package/indicators/aroon.js.map +1 -1
  549. package/indicators/aroon.src.d.ts +1 -17
  550. package/indicators/aroon.src.js +104 -101
  551. package/indicators/atr.js +1 -1
  552. package/indicators/atr.js.map +1 -1
  553. package/indicators/atr.src.js +17 -4
  554. package/indicators/bollinger-bands.d.ts +1 -17
  555. package/indicators/bollinger-bands.js +11 -12
  556. package/indicators/bollinger-bands.js.map +1 -1
  557. package/indicators/bollinger-bands.src.d.ts +1 -17
  558. package/indicators/bollinger-bands.src.js +97 -103
  559. package/indicators/cci.js +1 -1
  560. package/indicators/cci.js.map +1 -1
  561. package/indicators/cci.src.js +17 -4
  562. package/indicators/chaikin.js +8 -8
  563. package/indicators/chaikin.js.map +1 -1
  564. package/indicators/chaikin.src.js +13 -5
  565. package/indicators/cmf.js +1 -1
  566. package/indicators/cmf.js.map +1 -1
  567. package/indicators/cmf.src.js +21 -1
  568. package/indicators/cmo.js +1 -1
  569. package/indicators/cmo.js.map +1 -1
  570. package/indicators/cmo.src.js +16 -2
  571. package/indicators/dema.js +1 -1
  572. package/indicators/dema.js.map +1 -1
  573. package/indicators/dema.src.js +26 -1
  574. package/indicators/disparity-index.js +1 -1
  575. package/indicators/disparity-index.src.js +1 -1
  576. package/indicators/dmi.js +12 -12
  577. package/indicators/dmi.js.map +1 -1
  578. package/indicators/dmi.src.js +104 -105
  579. package/indicators/dpo.js +1 -1
  580. package/indicators/dpo.js.map +1 -1
  581. package/indicators/dpo.src.js +20 -9
  582. package/indicators/ichimoku-kinko-hyo.js +1 -1
  583. package/indicators/ichimoku-kinko-hyo.js.map +1 -1
  584. package/indicators/ichimoku-kinko-hyo.src.js +35 -16
  585. package/indicators/indicators-all.d.ts +1 -17
  586. package/indicators/indicators-all.js +200 -199
  587. package/indicators/indicators-all.js.map +1 -1
  588. package/indicators/indicators-all.src.d.ts +1 -17
  589. package/indicators/indicators-all.src.js +882 -284
  590. package/indicators/indicators.js +1 -1
  591. package/indicators/indicators.js.map +1 -1
  592. package/indicators/indicators.src.js +12 -2
  593. package/indicators/keltner-channels.d.ts +1 -17
  594. package/indicators/keltner-channels.js +11 -12
  595. package/indicators/keltner-channels.js.map +1 -1
  596. package/indicators/keltner-channels.src.d.ts +1 -17
  597. package/indicators/keltner-channels.src.js +114 -99
  598. package/indicators/klinger.js +14 -14
  599. package/indicators/klinger.js.map +1 -1
  600. package/indicators/klinger.src.js +101 -102
  601. package/indicators/macd.js +10 -9
  602. package/indicators/macd.js.map +1 -1
  603. package/indicators/macd.src.js +46 -25
  604. package/indicators/mfi.js +1 -1
  605. package/indicators/mfi.js.map +1 -1
  606. package/indicators/mfi.src.js +24 -11
  607. package/indicators/momentum.js +1 -1
  608. package/indicators/momentum.js.map +1 -1
  609. package/indicators/momentum.src.js +31 -3
  610. package/indicators/natr.js +1 -1
  611. package/indicators/natr.js.map +1 -1
  612. package/indicators/natr.src.js +17 -3
  613. package/indicators/obv.js +1 -1
  614. package/indicators/obv.js.map +1 -1
  615. package/indicators/obv.src.js +11 -1
  616. package/indicators/pivot-points.js +1 -1
  617. package/indicators/pivot-points.js.map +1 -1
  618. package/indicators/pivot-points.src.js +32 -19
  619. package/indicators/ppo.js +1 -1
  620. package/indicators/ppo.js.map +1 -1
  621. package/indicators/ppo.src.js +15 -5
  622. package/indicators/price-channel.d.ts +1 -17
  623. package/indicators/price-channel.js +11 -11
  624. package/indicators/price-channel.js.map +1 -1
  625. package/indicators/price-channel.src.d.ts +1 -17
  626. package/indicators/price-channel.src.js +102 -107
  627. package/indicators/price-envelopes.js +1 -1
  628. package/indicators/price-envelopes.js.map +1 -1
  629. package/indicators/price-envelopes.src.js +26 -1
  630. package/indicators/psar.js +1 -1
  631. package/indicators/psar.js.map +1 -1
  632. package/indicators/psar.src.js +17 -4
  633. package/indicators/regressions.js +12 -11
  634. package/indicators/regressions.js.map +1 -1
  635. package/indicators/regressions.src.js +50 -15
  636. package/indicators/roc.js +1 -1
  637. package/indicators/roc.js.map +1 -1
  638. package/indicators/roc.src.js +16 -3
  639. package/indicators/rsi.js +1 -1
  640. package/indicators/rsi.js.map +1 -1
  641. package/indicators/rsi.src.js +21 -3
  642. package/indicators/slow-stochastic.js +1 -1
  643. package/indicators/slow-stochastic.js.map +1 -1
  644. package/indicators/slow-stochastic.src.js +26 -1
  645. package/indicators/stochastic.d.ts +1 -17
  646. package/indicators/stochastic.js +12 -12
  647. package/indicators/stochastic.js.map +1 -1
  648. package/indicators/stochastic.src.d.ts +1 -17
  649. package/indicators/stochastic.src.js +104 -99
  650. package/indicators/supertrend.js +7 -7
  651. package/indicators/supertrend.js.map +1 -1
  652. package/indicators/supertrend.src.js +21 -9
  653. package/indicators/tema.js +1 -1
  654. package/indicators/tema.src.js +1 -1
  655. package/indicators/trendline.js +1 -1
  656. package/indicators/trendline.js.map +1 -1
  657. package/indicators/trendline.src.js +15 -5
  658. package/indicators/trix.js +1 -1
  659. package/indicators/trix.js.map +1 -1
  660. package/indicators/trix.src.js +26 -1
  661. package/indicators/volume-by-price.js +17 -17
  662. package/indicators/volume-by-price.js.map +1 -1
  663. package/indicators/volume-by-price.src.js +38 -10
  664. package/indicators/vwap.js +1 -1
  665. package/indicators/vwap.js.map +1 -1
  666. package/indicators/vwap.src.js +12 -2
  667. package/indicators/williams-r.js +1 -1
  668. package/indicators/williams-r.js.map +1 -1
  669. package/indicators/williams-r.src.js +11 -1
  670. package/indicators/wma.js +1 -1
  671. package/indicators/wma.js.map +1 -1
  672. package/indicators/wma.src.js +31 -3
  673. package/indicators/zigzag.js +1 -1
  674. package/indicators/zigzag.js.map +1 -1
  675. package/indicators/zigzag.src.js +12 -2
  676. package/modules/accessibility.js +246 -242
  677. package/modules/accessibility.js.map +1 -1
  678. package/modules/accessibility.src.js +797 -664
  679. package/modules/annotations-advanced.d.ts +1 -1
  680. package/modules/annotations-advanced.js +193 -192
  681. package/modules/annotations-advanced.js.map +1 -1
  682. package/modules/annotations-advanced.src.d.ts +1 -1
  683. package/modules/annotations-advanced.src.js +9229 -8589
  684. package/modules/annotations.d.ts +1 -1
  685. package/modules/annotations.js +128 -126
  686. package/modules/annotations.js.map +1 -1
  687. package/modules/annotations.src.d.ts +1 -1
  688. package/modules/annotations.src.js +6190 -5528
  689. package/modules/arc-diagram.js +7 -7
  690. package/modules/arc-diagram.js.map +1 -1
  691. package/modules/arc-diagram.src.js +10 -2
  692. package/modules/arrow-symbols.js +1 -1
  693. package/modules/arrow-symbols.src.js +1 -1
  694. package/modules/boost-canvas.d.ts +19 -0
  695. package/modules/boost-canvas.js +81 -15
  696. package/modules/boost-canvas.js.map +1 -1
  697. package/modules/boost-canvas.src.d.ts +19 -0
  698. package/modules/boost-canvas.src.js +3342 -52
  699. package/modules/boost.d.ts +8 -26
  700. package/modules/boost.js +88 -80
  701. package/modules/boost.js.map +1 -1
  702. package/modules/boost.src.d.ts +8 -26
  703. package/modules/boost.src.js +2435 -1889
  704. package/modules/broken-axis.js +2 -2
  705. package/modules/broken-axis.js.map +1 -1
  706. package/modules/broken-axis.src.js +2 -2
  707. package/modules/bullet.js +1 -1
  708. package/modules/bullet.js.map +1 -1
  709. package/modules/bullet.src.js +2 -5
  710. package/modules/coloraxis.js +2 -2
  711. package/modules/coloraxis.js.map +1 -1
  712. package/modules/coloraxis.src.js +9 -5
  713. package/modules/current-date-indicator.js +1 -1
  714. package/modules/current-date-indicator.src.js +2 -2
  715. package/modules/cylinder.js +9 -9
  716. package/modules/cylinder.js.map +1 -1
  717. package/modules/cylinder.src.js +2 -2
  718. package/modules/data.d.ts +12 -12
  719. package/modules/data.js +33 -34
  720. package/modules/data.js.map +1 -1
  721. package/modules/data.src.d.ts +12 -12
  722. package/modules/data.src.js +862 -829
  723. package/modules/datagrouping.d.ts +22 -0
  724. package/modules/datagrouping.js +9 -9
  725. package/modules/datagrouping.js.map +1 -1
  726. package/modules/datagrouping.src.d.ts +22 -0
  727. package/modules/datagrouping.src.js +69 -29
  728. package/modules/debugger.js +8 -6
  729. package/modules/debugger.js.map +1 -1
  730. package/modules/debugger.src.js +85 -40
  731. package/modules/dependency-wheel.js +12 -12
  732. package/modules/dependency-wheel.js.map +1 -1
  733. package/modules/dependency-wheel.src.js +41 -14
  734. package/modules/dotplot.js +1 -1
  735. package/modules/dotplot.src.js +1 -1
  736. package/modules/drag-panes.js +1 -1
  737. package/modules/drag-panes.src.js +2 -2
  738. package/modules/draggable-points.js +5 -5
  739. package/modules/draggable-points.js.map +1 -1
  740. package/modules/draggable-points.src.js +5 -4
  741. package/modules/drilldown.d.ts +0 -10
  742. package/modules/drilldown.js +37 -37
  743. package/modules/drilldown.js.map +1 -1
  744. package/modules/drilldown.src.d.ts +0 -10
  745. package/modules/drilldown.src.js +59 -25
  746. package/modules/dumbbell.d.ts +4 -0
  747. package/modules/dumbbell.js +17 -17
  748. package/modules/dumbbell.js.map +1 -1
  749. package/modules/dumbbell.src.d.ts +4 -0
  750. package/modules/dumbbell.src.js +24 -12
  751. package/modules/export-data.js +25 -22
  752. package/modules/export-data.js.map +1 -1
  753. package/modules/export-data.src.js +641 -469
  754. package/modules/exporting.d.ts +8 -8
  755. package/modules/exporting.js +39 -39
  756. package/modules/exporting.js.map +1 -1
  757. package/modules/exporting.src.d.ts +8 -8
  758. package/modules/exporting.src.js +442 -319
  759. package/modules/full-screen.js +8 -8
  760. package/modules/full-screen.js.map +1 -1
  761. package/modules/full-screen.src.js +196 -78
  762. package/modules/funnel.js +1 -1
  763. package/modules/funnel.src.js +3 -3
  764. package/modules/funnel3d.js +2 -2
  765. package/modules/funnel3d.js.map +1 -1
  766. package/modules/funnel3d.src.js +2 -2
  767. package/modules/gantt.js +219 -217
  768. package/modules/gantt.js.map +1 -1
  769. package/modules/gantt.src.js +2420 -2364
  770. package/modules/grid-axis.js +23 -23
  771. package/modules/grid-axis.js.map +1 -1
  772. package/modules/grid-axis.src.js +890 -891
  773. package/modules/heatmap.js +40 -40
  774. package/modules/heatmap.js.map +1 -1
  775. package/modules/heatmap.src.js +137 -108
  776. package/modules/heikinashi.js +1 -1
  777. package/modules/heikinashi.src.js +1 -1
  778. package/modules/histogram-bellcurve.js +1 -1
  779. package/modules/histogram-bellcurve.src.js +1 -1
  780. package/modules/hollowcandlestick.js +1 -1
  781. package/modules/hollowcandlestick.src.js +9 -9
  782. package/modules/item-series.js +1 -1
  783. package/modules/item-series.src.js +1 -1
  784. package/modules/lollipop.js +6 -6
  785. package/modules/lollipop.js.map +1 -1
  786. package/modules/lollipop.src.js +37 -22
  787. package/modules/map.d.ts +3 -3
  788. package/modules/map.js +171 -169
  789. package/modules/map.js.map +1 -1
  790. package/modules/map.src.d.ts +3 -3
  791. package/modules/map.src.js +830 -605
  792. package/modules/marker-clusters.js +1 -1
  793. package/modules/marker-clusters.js.map +1 -1
  794. package/modules/marker-clusters.src.js +4 -6
  795. package/modules/networkgraph.d.ts +1 -17
  796. package/modules/networkgraph.js +55 -50
  797. package/modules/networkgraph.js.map +1 -1
  798. package/modules/networkgraph.src.d.ts +1 -17
  799. package/modules/networkgraph.src.js +2339 -2008
  800. package/modules/no-data-to-display.js +1 -1
  801. package/modules/no-data-to-display.src.js +2 -2
  802. package/modules/offline-exporting.js +3 -3
  803. package/modules/offline-exporting.js.map +1 -1
  804. package/modules/offline-exporting.src.js +5 -5
  805. package/modules/oldie-polyfills.js +1 -1
  806. package/modules/oldie-polyfills.src.js +1 -1
  807. package/modules/oldie.js +2 -2
  808. package/modules/oldie.src.js +3 -3
  809. package/modules/organization.js +15 -15
  810. package/modules/organization.js.map +1 -1
  811. package/modules/organization.src.js +12 -4
  812. package/modules/overlapping-datalabels.js +1 -1
  813. package/modules/overlapping-datalabels.src.js +1 -1
  814. package/modules/parallel-coordinates.js +11 -11
  815. package/modules/parallel-coordinates.js.map +1 -1
  816. package/modules/parallel-coordinates.src.js +14 -9
  817. package/modules/pareto.js +1 -1
  818. package/modules/pareto.src.js +1 -1
  819. package/modules/pathfinder.js +1 -1
  820. package/modules/pathfinder.src.js +1 -1
  821. package/modules/pattern-fill.js +15 -14
  822. package/modules/pattern-fill.js.map +1 -1
  823. package/modules/pattern-fill.src.js +15 -2
  824. package/modules/price-indicator.js +1 -1
  825. package/modules/price-indicator.src.js +1 -1
  826. package/modules/pyramid3d.js +1 -1
  827. package/modules/pyramid3d.src.js +1 -1
  828. package/modules/sankey.d.ts +1 -17
  829. package/modules/sankey.js +32 -32
  830. package/modules/sankey.js.map +1 -1
  831. package/modules/sankey.src.d.ts +1 -17
  832. package/modules/sankey.src.js +102 -57
  833. package/modules/series-label.js +18 -18
  834. package/modules/series-label.js.map +1 -1
  835. package/modules/series-label.src.js +474 -387
  836. package/modules/series-on-point.js +18 -0
  837. package/modules/series-on-point.js.map +1 -0
  838. package/modules/series-on-point.src.js +468 -0
  839. package/modules/solid-gauge.js +4 -4
  840. package/modules/solid-gauge.js.map +1 -1
  841. package/modules/solid-gauge.src.js +6 -6
  842. package/modules/sonification.d.ts +2 -2
  843. package/modules/sonification.js +1 -1
  844. package/modules/sonification.js.map +1 -1
  845. package/modules/sonification.src.d.ts +2 -2
  846. package/modules/sonification.src.js +4 -8
  847. package/modules/static-scale.js +1 -1
  848. package/modules/static-scale.src.js +1 -1
  849. package/modules/stock-tools.d.ts +1 -23
  850. package/modules/stock-tools.js +109 -179
  851. package/modules/stock-tools.js.map +1 -1
  852. package/modules/stock-tools.src.d.ts +1 -23
  853. package/modules/stock-tools.src.js +2652 -6347
  854. package/modules/stock.d.ts +8 -0
  855. package/modules/stock.js +205 -204
  856. package/modules/stock.js.map +1 -1
  857. package/modules/stock.src.d.ts +8 -0
  858. package/modules/stock.src.js +208 -106
  859. package/modules/streamgraph.js +1 -1
  860. package/modules/streamgraph.src.js +1 -1
  861. package/modules/sunburst.js +73 -73
  862. package/modules/sunburst.js.map +1 -1
  863. package/modules/sunburst.src.js +251 -193
  864. package/modules/tilemap.js +1 -1
  865. package/modules/tilemap.src.js +1 -1
  866. package/modules/timeline.js +1 -1
  867. package/modules/timeline.js.map +1 -1
  868. package/modules/timeline.src.js +6 -4
  869. package/modules/treegrid.js +57 -57
  870. package/modules/treegrid.js.map +1 -1
  871. package/modules/treegrid.src.js +1908 -1901
  872. package/modules/treemap.js +54 -53
  873. package/modules/treemap.js.map +1 -1
  874. package/modules/treemap.src.js +217 -183
  875. package/modules/variable-pie.js +1 -1
  876. package/modules/variable-pie.src.js +1 -1
  877. package/modules/variwide.js +1 -1
  878. package/modules/variwide.src.js +1 -1
  879. package/modules/vector.js +2 -2
  880. package/modules/vector.js.map +1 -1
  881. package/modules/vector.src.js +3 -5
  882. package/modules/venn.js +31 -31
  883. package/modules/venn.js.map +1 -1
  884. package/modules/venn.src.js +82 -111
  885. package/modules/windbarb.js +1 -1
  886. package/modules/windbarb.src.js +1 -1
  887. package/modules/wordcloud.js +23 -23
  888. package/modules/wordcloud.js.map +1 -1
  889. package/modules/wordcloud.src.js +84 -113
  890. package/modules/xrange.js +17 -17
  891. package/modules/xrange.js.map +1 -1
  892. package/modules/xrange.src.js +411 -397
  893. package/package.json +1 -1
  894. package/themes/avocado.js +1 -1
  895. package/themes/avocado.src.js +1 -1
  896. package/themes/brand-dark.js +1 -1
  897. package/themes/brand-dark.src.js +1 -1
  898. package/themes/brand-light.js +1 -1
  899. package/themes/brand-light.src.js +1 -1
  900. package/themes/dark-blue.js +1 -1
  901. package/themes/dark-blue.src.js +1 -1
  902. package/themes/dark-green.js +1 -1
  903. package/themes/dark-green.src.js +1 -1
  904. package/themes/dark-unica.js +1 -1
  905. package/themes/dark-unica.src.js +1 -1
  906. package/themes/gray.js +1 -1
  907. package/themes/gray.src.js +1 -1
  908. package/themes/grid-light.js +1 -1
  909. package/themes/grid-light.src.js +1 -1
  910. package/themes/grid.js +1 -1
  911. package/themes/grid.src.js +1 -1
  912. package/themes/high-contrast-dark.js +2 -2
  913. package/themes/high-contrast-dark.src.js +11 -11
  914. package/themes/high-contrast-light.js +2 -2
  915. package/themes/high-contrast-light.src.js +10 -10
  916. package/themes/sand-signika.js +1 -1
  917. package/themes/sand-signika.src.js +1 -1
  918. package/themes/skies.js +1 -1
  919. package/themes/skies.src.js +1 -1
  920. package/themes/sunset.js +1 -1
  921. package/themes/sunset.src.js +1 -1
  922. package/es-modules/Core/Axis/StackingAxis.js +0 -216
  923. package/es-modules/Core/Axis/TreeGridAxis.js +0 -720
  924. package/es-modules/Core/Axis/TreeGridTick.js +0 -317
  925. package/es-modules/Extensions/Annotations/Annotations.js +0 -1449
  926. package/es-modules/Extensions/Annotations/Mixins/MarkerMixin.js +0 -179
  927. package/es-modules/Extensions/Annotations/Popup.js +0 -1123
  928. package/es-modules/Extensions/Boost/BoostAttach.js +0 -150
  929. package/es-modules/Extensions/Boost/BoostInit.js +0 -323
  930. package/es-modules/Extensions/Boost/BoostOptions.js +0 -245
  931. package/es-modules/Extensions/Boost/BoostOverrides.js +0 -386
  932. package/es-modules/Extensions/Boost/BoostUtils.js +0 -255
  933. package/es-modules/Extensions/Boost/WGLVBuffer.js +0 -153
  934. package/es-modules/Extensions/FullScreen.js +0 -240
  935. package/es-modules/Extensions/Polar.js +0 -740
  936. package/es-modules/Extensions/Stacking.js +0 -517
  937. package/es-modules/Series/ColorMapMixin.js +0 -84
  938. package/es-modules/Series/DrawPointComposition.js +0 -114
  939. package/es-modules/Series/Networkgraph/DraggableNodes.js +0 -132
  940. package/es-modules/Series/Networkgraph/Integrations.js +0 -348
  941. package/es-modules/Series/Networkgraph/Networkgraph.js +0 -1178
  942. 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;