scichart 2.0.2139 → 2.0.2185

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 (379) hide show
  1. package/Builder/buildAnnotations.js +11 -10
  2. package/Builder/buildAxis.js +7 -6
  3. package/Builder/buildDataSeries.js +3 -6
  4. package/Builder/buildModifiers.js +17 -16
  5. package/Builder/buildSeries.d.ts +1 -1
  6. package/Builder/buildSeries.js +21 -20
  7. package/Builder/buildSurface.js +29 -27
  8. package/Builder/chartBuilder.d.ts +10 -162
  9. package/Builder/chartBuilder.js +9 -6
  10. package/Builder/classFactory.js +12 -6
  11. package/Charting/ChartModifiers/ChartModifierBase.js +1 -1
  12. package/Charting/ChartModifiers/ChartModifierBase2D.d.ts +1 -1
  13. package/Charting/ChartModifiers/ChartModifierBase2D.js +11 -6
  14. package/Charting/ChartModifiers/CursorModifier.d.ts +23 -3
  15. package/Charting/ChartModifiers/CursorModifier.js +72 -40
  16. package/Charting/ChartModifiers/DataPointSelectionModifier.d.ts +1 -1
  17. package/Charting/ChartModifiers/DataPointSelectionModifier.js +18 -16
  18. package/Charting/ChartModifiers/LegendModifier.d.ts +1 -1
  19. package/Charting/ChartModifiers/LegendModifier.js +4 -1
  20. package/Charting/ChartModifiers/ModifierMouseArgs.js +4 -3
  21. package/Charting/ChartModifiers/MouseWheelZoomModifier.d.ts +52 -2
  22. package/Charting/ChartModifiers/MouseWheelZoomModifier.js +105 -10
  23. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.d.ts +2 -2
  24. package/Charting/ChartModifiers/OverviewRangeSelectionModifier.js +13 -10
  25. package/Charting/ChartModifiers/PinchZoomModifier.d.ts +1 -1
  26. package/Charting/ChartModifiers/PinchZoomModifier.js +4 -2
  27. package/Charting/ChartModifiers/RolloverModifier.d.ts +1 -1
  28. package/Charting/ChartModifiers/RolloverModifier.js +27 -20
  29. package/Charting/ChartModifiers/RubberBandXyZoomModifier.d.ts +1 -1
  30. package/Charting/ChartModifiers/RubberBandXyZoomModifier.js +11 -9
  31. package/Charting/ChartModifiers/SeriesSelectionModifier.d.ts +1 -1
  32. package/Charting/ChartModifiers/SeriesSelectionModifier.js +9 -7
  33. package/Charting/ChartModifiers/XAxisDragModifier.d.ts +1 -1
  34. package/Charting/ChartModifiers/XAxisDragModifier.js +12 -10
  35. package/Charting/ChartModifiers/YAxisDragModifier.d.ts +1 -1
  36. package/Charting/ChartModifiers/YAxisDragModifier.js +12 -10
  37. package/Charting/ChartModifiers/ZoomExtentsModifier.d.ts +17 -1
  38. package/Charting/ChartModifiers/ZoomExtentsModifier.js +65 -10
  39. package/Charting/ChartModifiers/ZoomPanModifier.d.ts +4 -2
  40. package/Charting/ChartModifiers/ZoomPanModifier.js +25 -21
  41. package/Charting/Drawing/BaseCache.js +2 -2
  42. package/Charting/Drawing/BrushCache.js +12 -7
  43. package/Charting/Drawing/PaletteCache.js +4 -2
  44. package/Charting/Drawing/Pen2DCache.js +14 -9
  45. package/Charting/Drawing/SolidBrushCache.js +2 -2
  46. package/Charting/Drawing/TextureCache.js +4 -2
  47. package/Charting/Drawing/WebGlBrush.js +1 -1
  48. package/Charting/Drawing/WebGlPen.js +2 -2
  49. package/Charting/Drawing/WebGlRenderContext2D.js +5 -5
  50. package/Charting/LayoutManager/AxisLayoutHelpers.js +6 -4
  51. package/Charting/LayoutManager/BaseAxisLayoutStrategy.js +4 -4
  52. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.d.ts +1 -1
  53. package/Charting/LayoutManager/BaseCenteredAxisLayoutStrategy.js +3 -1
  54. package/Charting/LayoutManager/BottomAlignedInnerAxisLayoutStrategy.js +6 -4
  55. package/Charting/LayoutManager/BottomAlignedOuterAxisLayoutStrategy.js +6 -4
  56. package/Charting/LayoutManager/BottomAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  57. package/Charting/LayoutManager/CentralAxesLayoutManager.js +7 -3
  58. package/Charting/LayoutManager/LayoutManager.js +2 -2
  59. package/Charting/LayoutManager/LeftAlignedInnerAxisLayoutStrategy.js +6 -4
  60. package/Charting/LayoutManager/LeftAlignedOuterAxisLayoutStrategy.js +6 -4
  61. package/Charting/LayoutManager/LeftAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  62. package/Charting/LayoutManager/RightAlignedInnerAxisLayoutStrategy.js +6 -4
  63. package/Charting/LayoutManager/RightAlignedOuterAxisLayoutStrategy.js +6 -4
  64. package/Charting/LayoutManager/RightAlignedOuterVerticallyStackedAxisLayoutStrategy.js +7 -5
  65. package/Charting/LayoutManager/SynchronizedLayoutManager.js +4 -2
  66. package/Charting/LayoutManager/TopAlignedInnerAxisLayoutStrategy.js +6 -4
  67. package/Charting/LayoutManager/TopAlignedOuterAxisLayoutStrategy.js +6 -4
  68. package/Charting/LayoutManager/TopAlignedOuterHorizontallyStackedAxisLayoutStrategy.js +7 -5
  69. package/Charting/Model/BaseDataSeries.d.ts +2 -2
  70. package/Charting/Model/BaseDataSeries.js +23 -20
  71. package/Charting/Model/BaseHeatmapDataSeries.js +5 -5
  72. package/Charting/Model/ChartData/HeatmapSeriesInfo.js +4 -2
  73. package/Charting/Model/ChartData/OhlcSeriesInfo.js +3 -1
  74. package/Charting/Model/ChartData/SeriesInfo.d.ts +1 -0
  75. package/Charting/Model/ChartData/SeriesInfo.js +15 -0
  76. package/Charting/Model/ChartData/StackedXySeriesInfo.js +3 -1
  77. package/Charting/Model/ChartData/XySeriesInfo.js +3 -1
  78. package/Charting/Model/ChartData/XyySeriesInfo.js +3 -1
  79. package/Charting/Model/DataPointSelectionPaletteProvider.js +2 -2
  80. package/Charting/Model/Filters/OhlcCustomFilter.js +7 -2
  81. package/Charting/Model/Filters/OhlcFilterBase.js +3 -1
  82. package/Charting/Model/Filters/OhlcScaleOffsetFilter.js +3 -1
  83. package/Charting/Model/Filters/XyCustomFilter.js +3 -1
  84. package/Charting/Model/Filters/XyFilterBase.js +9 -6
  85. package/Charting/Model/Filters/XyLinearTrendFilter.js +3 -1
  86. package/Charting/Model/Filters/XyMovingAverageFilter.js +3 -1
  87. package/Charting/Model/Filters/XyRatioFilter.js +6 -4
  88. package/Charting/Model/Filters/XyScaleOffsetFilter.js +3 -1
  89. package/Charting/Model/Filters/XyyCustomFilter.js +3 -1
  90. package/Charting/Model/Filters/XyyFilterBase.js +7 -5
  91. package/Charting/Model/Filters/XyyScaleOffsetFilter.js +3 -1
  92. package/Charting/Model/Filters/XyzCustomFilter.js +3 -1
  93. package/Charting/Model/Filters/XyzFilterBase.js +7 -5
  94. package/Charting/Model/Filters/XyzScaleOffsetFilter.js +3 -1
  95. package/Charting/Model/OhlcDataSeries.d.ts +2 -2
  96. package/Charting/Model/OhlcDataSeries.js +27 -25
  97. package/Charting/Model/PaletteFactory.js +3 -3
  98. package/Charting/Model/UniformHeatmapDataSeries.js +3 -1
  99. package/Charting/Model/XyDataSeries.js +9 -7
  100. package/Charting/Model/XyyDataSeries.d.ts +2 -2
  101. package/Charting/Model/XyyDataSeries.js +15 -13
  102. package/Charting/Model/XyzDataSeries.d.ts +2 -2
  103. package/Charting/Model/XyzDataSeries.js +15 -13
  104. package/Charting/Numerics/CoordinateCalculators/CategoryCoordinateCalculator.js +3 -1
  105. package/Charting/Numerics/CoordinateCalculators/FlippedCategoryCoordinateCalculator.js +3 -1
  106. package/Charting/Numerics/CoordinateCalculators/FlippedNumericCoordinateCalculator.js +3 -1
  107. package/Charting/Numerics/CoordinateCalculators/LogarithmicCoordinateCalculator.js +3 -1
  108. package/Charting/Numerics/CoordinateCalculators/NumericCoordinateCalculator.js +3 -1
  109. package/Charting/Numerics/TickCoordinateProviders/DefaultTickCoordinatesProvider.js +3 -1
  110. package/Charting/Numerics/TickProviders/LogarithmicTickProvider.js +7 -5
  111. package/Charting/Numerics/TickProviders/NumericTickProvider.js +4 -2
  112. package/Charting/Services/SciChartRenderer.d.ts +1 -0
  113. package/Charting/Services/SciChartRenderer.js +41 -22
  114. package/Charting/Services/Workers/TextureWorker.d.ts +16 -0
  115. package/Charting/Services/Workers/TextureWorker.js +138 -0
  116. package/Charting/Services/Workers/TextureWorkerSource.d.ts +1 -0
  117. package/Charting/Services/Workers/TextureWorkerSource.js +133 -0
  118. package/Charting/Themes/SciChartJSDarkTheme.js +3 -1
  119. package/Charting/Themes/SciChartJSDarkv2Theme.js +3 -1
  120. package/Charting/Themes/SciChartJSLightTheme.js +3 -1
  121. package/Charting/Visuals/Annotations/AnnotationBase.d.ts +1 -1
  122. package/Charting/Visuals/Annotations/AnnotationBase.js +71 -41
  123. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.d.ts +28 -1
  124. package/Charting/Visuals/Annotations/AxisMarkerAnnotation.js +11 -9
  125. package/Charting/Visuals/Annotations/BoxAnnotation.d.ts +1 -1
  126. package/Charting/Visuals/Annotations/BoxAnnotation.js +18 -16
  127. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.d.ts +1 -1
  128. package/Charting/Visuals/Annotations/CursorTooltipSvgAnnotation.js +36 -14
  129. package/Charting/Visuals/Annotations/CustomAnnotation.d.ts +1 -1
  130. package/Charting/Visuals/Annotations/CustomAnnotation.js +3 -1
  131. package/Charting/Visuals/Annotations/HorizontalLineAnnotation.js +8 -6
  132. package/Charting/Visuals/Annotations/LineAnnotation.d.ts +1 -1
  133. package/Charting/Visuals/Annotations/LineAnnotation.js +21 -17
  134. package/Charting/Visuals/Annotations/OverviewCustomResizableAnnotation.js +20 -17
  135. package/Charting/Visuals/Annotations/RenderContextAnnotationBase.js +3 -1
  136. package/Charting/Visuals/Annotations/RolloverLegendSvgAnnotation.js +3 -1
  137. package/Charting/Visuals/Annotations/RolloverMarkerSvgAnnotation.js +4 -2
  138. package/Charting/Visuals/Annotations/RolloverTooltipSvgAnnotation.js +17 -15
  139. package/Charting/Visuals/Annotations/SvgAnnotationBase.d.ts +1 -1
  140. package/Charting/Visuals/Annotations/SvgAnnotationBase.js +23 -13
  141. package/Charting/Visuals/Annotations/TextAnnotation.d.ts +1 -1
  142. package/Charting/Visuals/Annotations/TextAnnotation.js +4 -2
  143. package/Charting/Visuals/Annotations/VerticalLineAnnotation.js +8 -6
  144. package/Charting/Visuals/Axis/AxisBase2D.d.ts +89 -58
  145. package/Charting/Visuals/Axis/AxisBase2D.js +118 -66
  146. package/Charting/Visuals/Axis/AxisCore.d.ts +7 -4
  147. package/Charting/Visuals/Axis/AxisCore.js +18 -32
  148. package/Charting/Visuals/Axis/AxisRenderer.d.ts +63 -0
  149. package/Charting/Visuals/Axis/AxisRenderer.js +92 -16
  150. package/Charting/Visuals/Axis/AxisTitleRenderer.js +7 -3
  151. package/Charting/Visuals/Axis/CategoryAxis.js +5 -2
  152. package/Charting/Visuals/Axis/CategoryAxisBase.js +10 -8
  153. package/Charting/Visuals/Axis/DeltaCalculator/CategoryDeltaCalculator.js +3 -1
  154. package/Charting/Visuals/Axis/DeltaCalculator/LogarithmicDeltaCalculator.js +3 -1
  155. package/Charting/Visuals/Axis/DeltaCalculator/NumericDeltaCalculator.js +3 -1
  156. package/Charting/Visuals/Axis/LabelProvider/DateLabelProvider.js +5 -3
  157. package/Charting/Visuals/Axis/LabelProvider/LabelCache.d.ts +41 -0
  158. package/Charting/Visuals/Axis/LabelProvider/LabelCache.js +164 -0
  159. package/Charting/Visuals/Axis/LabelProvider/LabelProvider.d.ts +1 -1
  160. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.d.ts +57 -7
  161. package/Charting/Visuals/Axis/LabelProvider/LabelProviderBase2D.js +171 -74
  162. package/Charting/Visuals/Axis/LabelProvider/LogarithmicLabelProvider.js +5 -3
  163. package/Charting/Visuals/Axis/LabelProvider/NumericLabelProvider.js +5 -3
  164. package/Charting/Visuals/Axis/LabelProvider/SmartDateLabelProvider.js +30 -37
  165. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.d.ts +5 -2
  166. package/Charting/Visuals/Axis/LabelProvider/TextLabelProvider.js +86 -5
  167. package/Charting/Visuals/Axis/LogarithmicAxis.d.ts +1 -3
  168. package/Charting/Visuals/Axis/LogarithmicAxis.js +14 -14
  169. package/Charting/Visuals/Axis/NumericAxis.js +5 -2
  170. package/Charting/Visuals/Axis/getAxisById.js +1 -1
  171. package/Charting/Visuals/Helpers/createNativeRect.js +2 -1
  172. package/Charting/Visuals/Helpers/createPen.js +4 -3
  173. package/Charting/Visuals/Helpers/createSolidBrush.js +5 -4
  174. package/Charting/Visuals/Helpers/drawBorder.js +6 -5
  175. package/Charting/Visuals/Helpers/drawLabel.js +10 -6
  176. package/Charting/Visuals/Legend/SciChartLegend.js +4 -2
  177. package/Charting/Visuals/Legend/SciChartLegendBase.js +16 -14
  178. package/Charting/Visuals/Legend/SciChartPieLegend.js +6 -4
  179. package/Charting/Visuals/PointMarkers/BasePointMarker.js +3 -3
  180. package/Charting/Visuals/PointMarkers/CrossPointMarker.js +3 -1
  181. package/Charting/Visuals/PointMarkers/EllipsePointMarker.js +3 -1
  182. package/Charting/Visuals/PointMarkers/SpritePointMarker.js +3 -1
  183. package/Charting/Visuals/PointMarkers/SquarePointMarker.js +3 -1
  184. package/Charting/Visuals/PointMarkers/TrianglePointMarker.js +3 -1
  185. package/Charting/Visuals/PointMarkers/XPointMarker.js +3 -1
  186. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.d.ts +2 -2
  187. package/Charting/Visuals/RenderableSeries/Animations/BandAnimation.js +8 -6
  188. package/Charting/Visuals/RenderableSeries/Animations/BandAnimationStyle.js +6 -4
  189. package/Charting/Visuals/RenderableSeries/Animations/BaseAnimationStyle.js +1 -1
  190. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.d.ts +2 -2
  191. package/Charting/Visuals/RenderableSeries/Animations/BubbleAnimation.js +5 -3
  192. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.d.ts +1 -1
  193. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimation.js +5 -3
  194. package/Charting/Visuals/RenderableSeries/Animations/CandlestickAnimationStyle.js +5 -3
  195. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.d.ts +2 -2
  196. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimation.js +6 -4
  197. package/Charting/Visuals/RenderableSeries/Animations/ColumnAnimationStyle.js +4 -2
  198. package/Charting/Visuals/RenderableSeries/Animations/CustomPointMarkerStyle.js +3 -1
  199. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.d.ts +2 -2
  200. package/Charting/Visuals/RenderableSeries/Animations/FadeAnimation.js +5 -3
  201. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.d.ts +2 -2
  202. package/Charting/Visuals/RenderableSeries/Animations/LineAnimation.js +5 -3
  203. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.d.ts +2 -2
  204. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimation.js +6 -4
  205. package/Charting/Visuals/RenderableSeries/Animations/MountainAnimationStyle.js +4 -2
  206. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.d.ts +2 -2
  207. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimation.js +7 -5
  208. package/Charting/Visuals/RenderableSeries/Animations/OhlcAnimationStyle.js +5 -3
  209. package/Charting/Visuals/RenderableSeries/Animations/PointMarkerStyle.js +5 -3
  210. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.d.ts +3 -3
  211. package/Charting/Visuals/RenderableSeries/Animations/ScaleAnimation.js +5 -3
  212. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.d.ts +2 -2
  213. package/Charting/Visuals/RenderableSeries/Animations/ScatterAnimation.js +5 -3
  214. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.d.ts → SeriesAnimation.d.ts} +4 -3
  215. package/Charting/Visuals/RenderableSeries/Animations/{BaseAnimation.js → SeriesAnimation.js} +16 -16
  216. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.d.ts +2 -2
  217. package/Charting/Visuals/RenderableSeries/Animations/SweepAnimation.js +5 -3
  218. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.d.ts +3 -3
  219. package/Charting/Visuals/RenderableSeries/Animations/WaveAnimation.js +5 -3
  220. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.d.ts +8 -8
  221. package/Charting/Visuals/RenderableSeries/Animations/animationHelpers.js +2 -2
  222. package/Charting/Visuals/RenderableSeries/BaseBandRenderableSeries.js +3 -1
  223. package/Charting/Visuals/RenderableSeries/BaseLineRenderableSeries.js +3 -1
  224. package/Charting/Visuals/RenderableSeries/BaseMountainRenderableSeries.js +3 -1
  225. package/Charting/Visuals/RenderableSeries/BaseOhlcRenderableSeries.js +3 -1
  226. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.d.ts +9 -9
  227. package/Charting/Visuals/RenderableSeries/BaseRenderableSeries.js +18 -17
  228. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.d.ts +7 -7
  229. package/Charting/Visuals/RenderableSeries/BaseStackedCollection.js +8 -6
  230. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.d.ts +7 -7
  231. package/Charting/Visuals/RenderableSeries/BaseStackedRenderableSeries.js +4 -4
  232. package/Charting/Visuals/RenderableSeries/DrawingProviders/BandSeriesDrawingProvider.js +20 -18
  233. package/Charting/Visuals/RenderableSeries/DrawingProviders/BaseSeriesDrawingProvider.js +12 -12
  234. package/Charting/Visuals/RenderableSeries/DrawingProviders/BubbleSeriesDrawingProvider.js +4 -2
  235. package/Charting/Visuals/RenderableSeries/DrawingProviders/ColumnSeriesDrawingProvider.js +12 -10
  236. package/Charting/Visuals/RenderableSeries/DrawingProviders/LineSeriesDrawingProvider.js +9 -7
  237. package/Charting/Visuals/RenderableSeries/DrawingProviders/MountainSeriesDrawingProvider.js +10 -8
  238. package/Charting/Visuals/RenderableSeries/DrawingProviders/OhlcSeriesDrawingProvider.js +20 -18
  239. package/Charting/Visuals/RenderableSeries/DrawingProviders/PointMarkerDrawingProvider.js +6 -4
  240. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformContoursDrawingProvider.js +9 -7
  241. package/Charting/Visuals/RenderableSeries/DrawingProviders/UniformHeatmapDrawingProvider.js +6 -4
  242. package/Charting/Visuals/RenderableSeries/FastBandRenderableSeries.js +3 -1
  243. package/Charting/Visuals/RenderableSeries/FastBubbleRenderableSeries.js +3 -1
  244. package/Charting/Visuals/RenderableSeries/FastCandlestickRenderableSeries.js +3 -1
  245. package/Charting/Visuals/RenderableSeries/FastColumnRenderableSeries.js +6 -3
  246. package/Charting/Visuals/RenderableSeries/FastLineRenderableSeries.js +3 -1
  247. package/Charting/Visuals/RenderableSeries/FastMountainRenderableSeries.js +3 -1
  248. package/Charting/Visuals/RenderableSeries/FastOhlcRenderableSeries.js +3 -1
  249. package/Charting/Visuals/RenderableSeries/GlowEffect.js +3 -1
  250. package/Charting/Visuals/RenderableSeries/HitTest/BandSeriesHitTestProvider.js +3 -1
  251. package/Charting/Visuals/RenderableSeries/HitTest/BaseHitTestProvider.js +1 -1
  252. package/Charting/Visuals/RenderableSeries/HitTest/BubbleSeriesHitTestProvider.js +4 -2
  253. package/Charting/Visuals/RenderableSeries/HitTest/ColumnSeriesHitTestProvider.js +4 -2
  254. package/Charting/Visuals/RenderableSeries/HitTest/LineSeriesHitTestProvider.js +8 -6
  255. package/Charting/Visuals/RenderableSeries/HitTest/MountainSeriesHitTestProvider.js +3 -1
  256. package/Charting/Visuals/RenderableSeries/HitTest/OhlcSeriesHitTestProvider.js +4 -2
  257. package/Charting/Visuals/RenderableSeries/HitTest/ScatterSeriesHitTestProvider.js +6 -4
  258. package/Charting/Visuals/RenderableSeries/HitTest/StackedColumnSeriesHitTestProvider.js +7 -5
  259. package/Charting/Visuals/RenderableSeries/HitTest/StackedMountainSeriesHitTestProvider.js +3 -1
  260. package/Charting/Visuals/RenderableSeries/HitTest/UniformHeatmapHitTestProvider.js +3 -1
  261. package/Charting/Visuals/RenderableSeries/HitTest/hitTestHelpers.js +12 -12
  262. package/Charting/Visuals/RenderableSeries/IBaseRenderableSeriesOptions.d.ts +2 -2
  263. package/Charting/Visuals/RenderableSeries/IRenderableSeries.d.ts +3 -3
  264. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.d.ts +5 -0
  265. package/Charting/Visuals/RenderableSeries/RolloverModifier/RolloverModifierRenderableSeriesProps.js +31 -7
  266. package/Charting/Visuals/RenderableSeries/ShaderEffect.js +4 -4
  267. package/Charting/Visuals/RenderableSeries/ShadowEffect.js +4 -2
  268. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.d.ts +4 -4
  269. package/Charting/Visuals/RenderableSeries/SplineBandRenderableSeries.js +6 -4
  270. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.d.ts +4 -4
  271. package/Charting/Visuals/RenderableSeries/SplineLineRenderableSeries.js +5 -3
  272. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.d.ts +4 -4
  273. package/Charting/Visuals/RenderableSeries/SplineMountainRenderableSeries.js +5 -3
  274. package/Charting/Visuals/RenderableSeries/StackedColumnCollection.js +6 -4
  275. package/Charting/Visuals/RenderableSeries/StackedColumnRenderableSeries.js +11 -9
  276. package/Charting/Visuals/RenderableSeries/StackedMountainCollection.js +7 -5
  277. package/Charting/Visuals/RenderableSeries/StackedMountainRenderableSeries.js +11 -9
  278. package/Charting/Visuals/RenderableSeries/UniformContoursRenderableSeries.js +6 -4
  279. package/Charting/Visuals/RenderableSeries/UniformHeatmapRenderableSeries.js +5 -2
  280. package/Charting/Visuals/RenderableSeries/XyScatterRenderableSeries.js +3 -1
  281. package/Charting/Visuals/RubberBandSvgRect/RubberBandSvgRect.js +3 -3
  282. package/Charting/Visuals/SciChartDefaults.d.ts +11 -0
  283. package/Charting/Visuals/SciChartDefaults.js +18 -0
  284. package/Charting/Visuals/SciChartOverview.js +13 -7
  285. package/Charting/Visuals/SciChartPieSurface/PieSegment/PieSegment.js +1 -1
  286. package/Charting/Visuals/SciChartPieSurface/SciChartPieSurface.js +27 -24
  287. package/Charting/Visuals/SciChartSurface.d.ts +13 -0
  288. package/Charting/Visuals/SciChartSurface.js +52 -14
  289. package/Charting/Visuals/SciChartSurfaceBase.js +15 -11
  290. package/Charting/Visuals/TextureManager/CanvasTexture.js +5 -5
  291. package/Charting/Visuals/TextureManager/DpiHelper.js +3 -3
  292. package/Charting/Visuals/TextureManager/TextureManager.d.ts +1 -0
  293. package/Charting/Visuals/TextureManager/TextureManager.js +16 -12
  294. package/Charting/Visuals/createMaster.js +6 -5
  295. package/Charting/Visuals/createSingle.js +6 -4
  296. package/Charting/Visuals/licenseManager2D.js +65 -48
  297. package/Charting/Visuals/loader.js +1 -1
  298. package/Charting/Visuals/sciChartInitCommon.js +12 -12
  299. package/Charting3D/CameraController.js +6 -6
  300. package/Charting3D/ChartModifiers/ChartModifierBase3D.js +3 -1
  301. package/Charting3D/ChartModifiers/MouseWheelZoomModifier3D.js +3 -1
  302. package/Charting3D/ChartModifiers/OrbitModifier3D.js +3 -1
  303. package/Charting3D/ChartModifiers/ResetCamera3DModifier.d.ts +79 -0
  304. package/Charting3D/ChartModifiers/ResetCamera3DModifier.js +143 -0
  305. package/Charting3D/Model/DataSeries/BaseGridDataSeries3D.js +4 -2
  306. package/Charting3D/Model/DataSeries/UniformGridDataSeries3D.js +3 -1
  307. package/Charting3D/Model/DataSeries/XyzDataSeries3D.js +6 -4
  308. package/Charting3D/Vector3.js +1 -1
  309. package/Charting3D/Visuals/Axis/AxisBase3D.js +9 -7
  310. package/Charting3D/Visuals/Axis/AxisCubeEntity.js +20 -15
  311. package/Charting3D/Visuals/Axis/NumericAxis3D.d.ts +5 -0
  312. package/Charting3D/Visuals/Axis/NumericAxis3D.js +29 -1
  313. package/Charting3D/Visuals/DefaultViewportManager3D.js +3 -1
  314. package/Charting3D/Visuals/GizmoEntity.js +3 -1
  315. package/Charting3D/Visuals/PointMarkers/BaseMeshPointMarker3D.js +3 -1
  316. package/Charting3D/Visuals/PointMarkers/BaseTexturePointMarker3D.js +3 -1
  317. package/Charting3D/Visuals/PointMarkers/DefaultPointMarkers.js +3 -1
  318. package/Charting3D/Visuals/Primitives/BaseSceneEntity3D.js +2 -2
  319. package/Charting3D/Visuals/Primitives/RenderableSeriesSceneEntity.js +3 -1
  320. package/Charting3D/Visuals/Primitives/ScatterPointsSceneEntity.js +7 -5
  321. package/Charting3D/Visuals/Primitives/SurfaceMeshSceneEntity.js +22 -20
  322. package/Charting3D/Visuals/RenderableSeries/BaseRenderableSeries3D.js +3 -3
  323. package/Charting3D/Visuals/RenderableSeries/ScatterRenderableSeries3D.js +3 -1
  324. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/GradientColorPalette.js +3 -1
  325. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SolidColorBrushPalette.js +5 -3
  326. package/Charting3D/Visuals/RenderableSeries/SurfaceMesh/SurfaceMeshRenderableSeries3D.js +3 -1
  327. package/Charting3D/Visuals/RootSceneEntity.js +3 -1
  328. package/Charting3D/Visuals/SciChart3DRenderer.d.ts +1 -0
  329. package/Charting3D/Visuals/SciChart3DRenderer.js +11 -2
  330. package/Charting3D/Visuals/SciChart3DSurface.d.ts +22 -0
  331. package/Charting3D/Visuals/SciChart3DSurface.js +64 -11
  332. package/Charting3D/Visuals/createMaster3d.js +8 -7
  333. package/Charting3D/Visuals/createSingle3d.js +5 -4
  334. package/Charting3D/Visuals/licenseManager3D.js +7 -6
  335. package/Core/Animations/AnimationFiniteStateMachine.d.ts +27 -14
  336. package/Core/Animations/AnimationFiniteStateMachine.js +51 -16
  337. package/Core/Animations/Animator.d.ts +1 -9
  338. package/Core/Animations/Animator.js +1 -9
  339. package/Core/Animations/DoubleAnimator.d.ts +2 -8
  340. package/Core/Animations/DoubleAnimator.js +2 -8
  341. package/Core/Animations/GenericAnimation.d.ts +74 -0
  342. package/Core/Animations/GenericAnimation.js +74 -0
  343. package/Core/Animations/NumberRangeAnimator.d.ts +4 -3
  344. package/Core/Animations/NumberRangeAnimator.js +23 -3
  345. package/Core/Guard.js +4 -4
  346. package/Core/Mouse/MouseManager.js +1 -1
  347. package/Core/NumberRange.js +8 -9
  348. package/Core/Point.js +1 -1
  349. package/_wasm/scichart.browser.js +1 -1
  350. package/_wasm/scichart2d.js +1 -1
  351. package/_wasm/scichart2d.wasm +0 -0
  352. package/_wasm/scichart3d.js +95 -95
  353. package/_wasm/scichart3d.wasm +0 -0
  354. package/index.js +1 -0
  355. package/package.json +2 -2
  356. package/types/AxisAlignment.js +6 -4
  357. package/types/ChartModifierType.d.ts +2 -1
  358. package/types/ChartModifierType.js +1 -0
  359. package/utils/array.js +2 -1
  360. package/utils/calcAverage.js +4 -2
  361. package/utils/colorUtil.js +4 -4
  362. package/utils/convertColor.js +6 -4
  363. package/utils/convertToPixel.js +2 -1
  364. package/utils/date.js +26 -17
  365. package/utils/font.js +4 -3
  366. package/utils/guid.js +2 -1
  367. package/utils/hasAllProperties.js +2 -1
  368. package/utils/includedAxis.d.ts +3 -0
  369. package/utils/includedAxis.js +23 -0
  370. package/utils/math.js +6 -3
  371. package/utils/number.js +18 -13
  372. package/utils/parseColor.js +7 -5
  373. package/utils/pointUtil.js +24 -15
  374. package/utils/random.js +2 -1
  375. package/utils/randomPricesDataSource.js +7 -5
  376. package/utils/svgString.js +2 -1
  377. package/utils/translate.js +10 -5
  378. package/utils/tsrExtensions.js +4 -2
  379. package/utils/zeroArray2D.js +3 -2
@@ -12,19 +12,17 @@ var __assign = (this && this.__assign) || function () {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.AxisCore = void 0;
15
- var EasingFunctions_1 = require("../../../Core/Animations/EasingFunctions");
16
- var NumberRangeAnimator_1 = require("../../../Core/Animations/NumberRangeAnimator");
17
15
  var Deleter_1 = require("../../../Core/Deleter");
18
16
  var EventHandler_1 = require("../../../Core/EventHandler");
19
17
  var Guard_1 = require("../../../Core/Guard");
20
18
  var NumberRange_1 = require("../../../Core/NumberRange");
21
19
  var Thickness_1 = require("../../../Core/Thickness");
22
20
  var AutoRange_1 = require("../../../types/AutoRange");
21
+ var LabelAlignment_1 = require("../../../types/LabelAlignment");
23
22
  var isRealNumber_1 = require("../../../utils/isRealNumber");
24
23
  var SciChartSurfaceBase_1 = require("../SciChartSurfaceBase");
25
24
  var DpiHelper_1 = require("../TextureManager/DpiHelper");
26
25
  var constants_1 = require("./constants");
27
- var LabelAlignment_1 = require("../../../types/LabelAlignment");
28
26
  var VisibleRangeChangedArgs_1 = require("./VisibleRangeChangedArgs");
29
27
  /** @ignore */
30
28
  var ZeroRangeGrowBy = 0.01;
@@ -52,6 +50,8 @@ var AxisCore = /** @class */ (function () {
52
50
  * @desc
53
51
  */
54
52
  this.visibleRangeChanged = new EventHandler_1.EventHandler();
53
+ /** A flag to indicate if measure has been called this frame. Properties updated after measure must trigger a redraw */
54
+ this.isMeasured = false;
55
55
  /**
56
56
  * Internal backing property for {@link AxisCore.id}. To fire {@link AxisCore.invalidateParentCallback}, set the public property
57
57
  */
@@ -219,7 +219,7 @@ var AxisCore = /** @class */ (function () {
219
219
  return false;
220
220
  }
221
221
  var rangeIsZero = this.visibleRange.diff === 0;
222
- return !rangeIsZero && isRealNumber_1.isRealNumber(this.visibleRange.max) && isRealNumber_1.isRealNumber(this.visibleRange.min);
222
+ return !rangeIsZero && (0, isRealNumber_1.isRealNumber)(this.visibleRange.max) && (0, isRealNumber_1.isRealNumber)(this.visibleRange.min);
223
223
  };
224
224
  /**
225
225
  * When true, the axis has the default {@link AxisCore.visibleRange}.
@@ -364,31 +364,17 @@ var AxisCore = /** @class */ (function () {
364
364
  enumerable: false,
365
365
  configurable: true
366
366
  });
367
- /**
368
- * Sets and animates the visibleRange of the axis from the current value to the provided value over the duration and with
369
- * {@link TEasingFn | Easing Function} provided
370
- * @param visibleRange the {@link NumberRange} which we wish to animate {@link AxisCore.visibleRange} to
371
- * @param durationMs the duration of the animation in milliseconds
372
- * @param easingFunction the {@link TEasingFn | Easing Function to use}. Default value is outCubic
373
- * @param onCompleted the callback function
374
- */
375
- AxisCore.prototype.animateVisibleRange = function (visibleRange, durationMs, easingFunction, onCompleted) {
376
- var _this = this;
377
- var _a;
378
- if (easingFunction === void 0) { easingFunction = EasingFunctions_1.easing.outCubic; }
379
- if (onCompleted === void 0) { onCompleted = function () { }; }
380
- if (durationMs <= 0) {
381
- // Don't allow setting visibleRange to undefined if there is no data
382
- this.visibleRange = visibleRange || this.visibleRange;
383
- onCompleted();
384
- return undefined;
385
- }
386
- (_a = this.visibleRangeAnimationToken) === null || _a === void 0 ? void 0 : _a.cancelAnimation();
387
- this.visibleRangeAnimationToken = NumberRangeAnimator_1.NumberRangeAnimator.animate(this.visibleRange, visibleRange, durationMs, function (range) {
388
- _this.visibleRange = range;
389
- }, onCompleted, easingFunction);
390
- return this.visibleRangeAnimationToken;
391
- };
367
+ Object.defineProperty(AxisCore.prototype, "animatedVisibleRange", {
368
+ get: function () {
369
+ if (!this.visibleRangeAnimationToken) {
370
+ return this.visibleRange;
371
+ }
372
+ var animation = this.visibleRangeAnimationToken;
373
+ return animation.to;
374
+ },
375
+ enumerable: false,
376
+ configurable: true
377
+ });
392
378
  Object.defineProperty(AxisCore.prototype, "majorDelta", {
393
379
  /**
394
380
  * The MajorDelta is the spacing between major gridlines and axis labels.
@@ -956,7 +942,7 @@ var AxisCore = /** @class */ (function () {
956
942
  AxisCore.prototype.getCurrentCoordinateCalculator = function (forceRecreate) {
957
943
  if (forceRecreate === void 0) { forceRecreate = false; }
958
944
  if (forceRecreate && this.coordCalcCache) {
959
- this.coordCalcCache = Deleter_1.deleteSafe(this.coordCalcCache);
945
+ this.coordCalcCache = (0, Deleter_1.deleteSafe)(this.coordCalcCache);
960
946
  }
961
947
  if (!this.coordCalcCache) {
962
948
  this.coordCalcCache = this.getCurrentCoordinateCalculatorInternal();
@@ -967,7 +953,7 @@ var AxisCore = /** @class */ (function () {
967
953
  * @inheritDoc
968
954
  */
969
955
  AxisCore.prototype.delete = function () {
970
- this.coordCalcCache = Deleter_1.deleteSafe(this.coordCalcCache);
956
+ this.coordCalcCache = (0, Deleter_1.deleteSafe)(this.coordCalcCache);
971
957
  };
972
958
  /**
973
959
  * Tests whether the range passed in is valid
@@ -1012,7 +998,7 @@ var AxisCore = /** @class */ (function () {
1012
998
  if (propertyName === constants_1.PROPERTY.TICK_COORDINATES_CALCULATOR) {
1013
999
  (_d = this.tickCoordinatesProvider) === null || _d === void 0 ? void 0 : _d.attachedToAxis(this);
1014
1000
  }
1015
- if (this.invalidateParentCallback) {
1001
+ if (this.isMeasured && this.invalidateParentCallback) {
1016
1002
  this.invalidateParentCallback();
1017
1003
  }
1018
1004
  };
@@ -21,37 +21,100 @@ export declare class AxisRenderer implements IDeletable {
21
21
  private desiredTicksSize;
22
22
  private desiredHeightProperty;
23
23
  private desiredWidthProperty;
24
+ private axisThicknessProperty;
24
25
  private measureTextCanvas;
25
26
  private keepLabelsWithinAxisProperty;
26
27
  private hideOverlappingLabelsProperty;
28
+ /**
29
+ * Creates an instance of a {@link AxisRenderer}
30
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
31
+ * access to our WebGL2 Engine and WebAssembly numerical methods
32
+ */
27
33
  constructor(webAssemblyContext: TSciChart);
34
+ /** @inheritDoc */
28
35
  delete(): void;
29
36
  /**
30
37
  * Called when the {@link AxisRenderer} is attached to an {@link AxisBase2D | Axis}
31
38
  * @param axis The Axis we are attached to.
32
39
  */
33
40
  attachedToAxis(axis: AxisBase2D): void;
41
+ /**
42
+ * Called internally - measures the axis label area as part of the layout phase
43
+ */
34
44
  measure(isHorizontalAxis: boolean, labelStyle: TTextStyle, majorTickLabels: string[], ticksSize: number, labelProvider: LabelProviderBase2D, drawLabels: boolean, drawTicks: boolean): void;
45
+ /**
46
+ * Called internally - calculates desired labels size
47
+ */
35
48
  calcDesiredLabelsSize(isHorizontalAxis: boolean, labelProvider: LabelProviderBase2D, labelStyle: TTextStyle, majorTickLabels: string[]): number;
49
+ /**
50
+ * Called internally - Gets or sets desired height during the layout process
51
+ */
36
52
  get desiredHeight(): number;
37
53
  set desiredHeight(height: number);
54
+ /**
55
+ * Called internally - Gets or sets desired width during the layout process
56
+ */
38
57
  get desiredWidth(): number;
39
58
  set desiredWidth(width: number);
59
+ /**
60
+ * Gets or sets keepLabelsWithinAxis property.
61
+ * When true (default), first and last labels will be shifted to stay within axis bounds.
62
+ * If set to false, these labels will stay aligned to their ticks
63
+ */
40
64
  get keepLabelsWithinAxis(): boolean;
41
65
  set keepLabelsWithinAxis(value: boolean);
66
+ /**
67
+ * Gets or sets hideOverlappingLabels property.
68
+ * Default (true) is to not show labels that would overlap. When using rotation you may want to set this false,
69
+ * as the bounding box of rotated text may overlap even if the text itself does not.
70
+ */
42
71
  get hideOverlappingLabels(): boolean;
43
72
  set hideOverlappingLabels(value: boolean);
73
+ /**
74
+ * Gets or sets axis label area thickness, by default the size is calculated to have enough space for labels.
75
+ * However, this property allows to set minimal width/height for vertical/horizontal axes.
76
+ * Useful to align seriesViewRects for different charts
77
+ */
78
+ get axisThickness(): number;
79
+ set axisThickness(value: number);
80
+ /**
81
+ * Called internally as a part of the layout process
82
+ */
44
83
  layout(rect: Rect): void;
84
+ /**
85
+ * Called internally - draws labels
86
+ */
45
87
  drawLabels(renderContext: WebGlRenderContext2D, axisAlignment: EAxisAlignment, isInnerAxis: boolean, tickLabels: string[], tickCoords: number[], axisOffset: number, labelStyle: TTextStyle, isVerticalChart: boolean, isFlippedCoordinates: boolean, labelProvider: LabelProviderBase2D): void;
88
+ /**
89
+ * Called internally - adjusts labels for label alignment
90
+ */
46
91
  adjustForLabelAlignment(xCoord: number, labelWidth: number, labelAlignment: ELabelAlignment, axisAlignment: EAxisAlignment, isInnerAxis: boolean, axisWidth: number, tickSize: number): number;
92
+ /**
93
+ * Called internally
94
+ */
47
95
  layoutLabels(size: number, tickCoords: number[], labelSizes: number[], isFlippedCoordinates: boolean, padBefore?: number, padAfter?: number): {
48
96
  labelCoords: number[];
49
97
  labelIndexes: number[];
50
98
  };
99
+ /**
100
+ * Called internally
101
+ */
51
102
  drawTicks(renderContext: WebGlRenderContext2D, axisAlignment: EAxisAlignment, isInnerAxis: boolean, tickCoords: number[], axisOffset: number, pen: SCRTPen, tickStyle: TTickLineStyle): void;
103
+ /**
104
+ * Called internally - draws axis labels when needed, for example for line annotations
105
+ */
52
106
  drawModifiersAxisLabel(renderContext: WebGlRenderContext2D, displayValue: string, coord: number, axisAlignment: EAxisAlignment, textStyle: TTextStyle, fill: string): Rect;
107
+ /**
108
+ * Called internally - used for {@link AxisMarkerAnnotation}
109
+ */
53
110
  createAxisMarker(axisAlignment: EAxisAlignment, text: string, textStyle: TTextStyle, backgroundColor?: string, opacity?: number): import("../TextureManager/TextureManager").TTextureObject;
111
+ /**
112
+ * Called internally - used for custom {@link AxisMarkerAnnotation}
113
+ */
54
114
  createAxisMarkerFromImage(image: HTMLImageElement, imageWidth: number, imageHeight: number): import("../TextureManager/TextureManager").TTextureObject;
115
+ /**
116
+ * Called internally
117
+ */
55
118
  createAnnotationLabelTexture(text: string, textStyle: TTextStyle, backgroundColor?: string, displayVertically?: boolean, displayMirrored?: boolean, opacity?: number): import("../TextureManager/TextureManager").TTextureObject;
56
119
  protected invalidateParent(): void;
57
120
  private drawLabelViewRects;
@@ -28,6 +28,11 @@ var TextureManager_1 = require("../TextureManager/TextureManager");
28
28
  * Draws an axis using our WebGL Rendering engine
29
29
  */
30
30
  var AxisRenderer = /** @class */ (function () {
31
+ /**
32
+ * Creates an instance of a {@link AxisRenderer}
33
+ * @param webAssemblyContext The {@link TSciChart | SciChart 2D WebAssembly Context} containing native methods and
34
+ * access to our WebGL2 Engine and WebAssembly numerical methods
35
+ */
31
36
  function AxisRenderer(webAssemblyContext) {
32
37
  this.viewRect = Rect_1.Rect.createZero();
33
38
  this.drawDebug = false;
@@ -35,6 +40,7 @@ var AxisRenderer = /** @class */ (function () {
35
40
  this.desiredTicksSize = 0;
36
41
  this.desiredHeightProperty = 0;
37
42
  this.desiredWidthProperty = 0;
43
+ this.axisThicknessProperty = 0;
38
44
  this.keepLabelsWithinAxisProperty = true;
39
45
  this.hideOverlappingLabelsProperty = true;
40
46
  this.webAssemblyContext = webAssemblyContext;
@@ -45,9 +51,10 @@ var AxisRenderer = /** @class */ (function () {
45
51
  this.measureTextCanvas.height = 1;
46
52
  }
47
53
  }
54
+ /** @inheritDoc */
48
55
  AxisRenderer.prototype.delete = function () {
49
56
  this.measureTextCanvas = undefined;
50
- this.textureManager = Deleter_1.deleteSafe(this.textureManager);
57
+ this.textureManager = (0, Deleter_1.deleteSafe)(this.textureManager);
51
58
  };
52
59
  /**
53
60
  * Called when the {@link AxisRenderer} is attached to an {@link AxisBase2D | Axis}
@@ -56,15 +63,19 @@ var AxisRenderer = /** @class */ (function () {
56
63
  AxisRenderer.prototype.attachedToAxis = function (axis) {
57
64
  this.parentAxis = axis;
58
65
  };
66
+ /**
67
+ * Called internally - measures the axis label area as part of the layout phase
68
+ */
59
69
  AxisRenderer.prototype.measure = function (isHorizontalAxis, labelStyle, majorTickLabels, ticksSize, labelProvider, drawLabels, drawTicks) {
60
70
  if (SciChartSurfaceBase_1.DebugForDpi) {
61
- console.log("AxisRenderer.measure. fontSize: " + labelStyle.fontSize);
71
+ console.log("AxisRenderer.measure. fontSize: ".concat(labelStyle.fontSize));
62
72
  }
63
73
  this.desiredLabelsSize = drawLabels
64
74
  ? this.calcDesiredLabelsSize(isHorizontalAxis, labelProvider, labelStyle, majorTickLabels)
65
75
  : 0;
66
76
  this.desiredTicksSize = drawTicks ? ticksSize : 0;
67
- var desiredSize = this.desiredLabelsSize + this.desiredTicksSize;
77
+ var desiredLabelsSize = Math.max(this.desiredLabelsSize, this.axisThicknessProperty * DpiHelper_1.DpiHelper.PIXEL_RATIO);
78
+ var desiredSize = desiredLabelsSize + this.desiredTicksSize;
68
79
  if (isHorizontalAxis) {
69
80
  this.desiredHeightProperty = desiredSize;
70
81
  }
@@ -72,6 +83,9 @@ var AxisRenderer = /** @class */ (function () {
72
83
  this.desiredWidthProperty = desiredSize;
73
84
  }
74
85
  };
86
+ /**
87
+ * Called internally - calculates desired labels size
88
+ */
75
89
  AxisRenderer.prototype.calcDesiredLabelsSize = function (isHorizontalAxis, labelProvider, labelStyle, majorTickLabels) {
76
90
  if (app_1.IS_TEST_ENV)
77
91
  return 0;
@@ -88,6 +102,9 @@ var AxisRenderer = /** @class */ (function () {
88
102
  return desiredLabelsSize;
89
103
  };
90
104
  Object.defineProperty(AxisRenderer.prototype, "desiredHeight", {
105
+ /**
106
+ * Called internally - Gets or sets desired height during the layout process
107
+ */
91
108
  get: function () {
92
109
  return this.desiredHeightProperty;
93
110
  },
@@ -98,6 +115,9 @@ var AxisRenderer = /** @class */ (function () {
98
115
  configurable: true
99
116
  });
100
117
  Object.defineProperty(AxisRenderer.prototype, "desiredWidth", {
118
+ /**
119
+ * Called internally - Gets or sets desired width during the layout process
120
+ */
101
121
  get: function () {
102
122
  return this.desiredWidthProperty;
103
123
  },
@@ -108,6 +128,11 @@ var AxisRenderer = /** @class */ (function () {
108
128
  configurable: true
109
129
  });
110
130
  Object.defineProperty(AxisRenderer.prototype, "keepLabelsWithinAxis", {
131
+ /**
132
+ * Gets or sets keepLabelsWithinAxis property.
133
+ * When true (default), first and last labels will be shifted to stay within axis bounds.
134
+ * If set to false, these labels will stay aligned to their ticks
135
+ */
111
136
  get: function () {
112
137
  return this.keepLabelsWithinAxisProperty;
113
138
  },
@@ -119,6 +144,11 @@ var AxisRenderer = /** @class */ (function () {
119
144
  configurable: true
120
145
  });
121
146
  Object.defineProperty(AxisRenderer.prototype, "hideOverlappingLabels", {
147
+ /**
148
+ * Gets or sets hideOverlappingLabels property.
149
+ * Default (true) is to not show labels that would overlap. When using rotation you may want to set this false,
150
+ * as the bounding box of rotated text may overlap even if the text itself does not.
151
+ */
122
152
  get: function () {
123
153
  return this.hideOverlappingLabelsProperty;
124
154
  },
@@ -129,17 +159,39 @@ var AxisRenderer = /** @class */ (function () {
129
159
  enumerable: false,
130
160
  configurable: true
131
161
  });
162
+ Object.defineProperty(AxisRenderer.prototype, "axisThickness", {
163
+ /**
164
+ * Gets or sets axis label area thickness, by default the size is calculated to have enough space for labels.
165
+ * However, this property allows to set minimal width/height for vertical/horizontal axes.
166
+ * Useful to align seriesViewRects for different charts
167
+ */
168
+ get: function () {
169
+ return this.axisThicknessProperty;
170
+ },
171
+ set: function (value) {
172
+ this.axisThicknessProperty = value;
173
+ this.invalidateParent();
174
+ },
175
+ enumerable: false,
176
+ configurable: true
177
+ });
178
+ /**
179
+ * Called internally as a part of the layout process
180
+ */
132
181
  AxisRenderer.prototype.layout = function (rect) {
133
182
  this.viewRect = rect;
134
183
  // Not much we can do here as we don't have access to tick coordinates yet
135
184
  };
185
+ /**
186
+ * Called internally - draws labels
187
+ */
136
188
  AxisRenderer.prototype.drawLabels = function (renderContext, axisAlignment, isInnerAxis, tickLabels, tickCoords, axisOffset, labelStyle, isVerticalChart, isFlippedCoordinates, labelProvider) {
137
189
  if (SciChartSurfaceBase_1.DebugForDpi) {
138
- console.log("AxisRenderer.drawLabels. fontSize: " + labelStyle.fontSize);
190
+ console.log("AxisRenderer.drawLabels. fontSize: ".concat(labelStyle.fontSize));
139
191
  }
140
192
  var _a = this, viewRect = _a.viewRect, textureManager = _a.textureManager;
141
193
  var nativeContext = renderContext.getNativeContext();
142
- var isAxisFlipped = isVerticalChart ? AxisAlignment_1.getIsHorizontal(axisAlignment) : AxisAlignment_1.getIsVertical(axisAlignment);
194
+ var isAxisFlipped = isVerticalChart ? (0, AxisAlignment_1.getIsHorizontal)(axisAlignment) : (0, AxisAlignment_1.getIsVertical)(axisAlignment);
143
195
  var width = Math.floor(viewRect.width);
144
196
  var height = Math.floor(viewRect.height);
145
197
  var tickSize = this.desiredTicksSize;
@@ -152,7 +204,7 @@ var AxisRenderer = /** @class */ (function () {
152
204
  // for debug
153
205
  var labelRects = [];
154
206
  tickCoords = tickCoords.map(function (t) { return t - axisOffset; });
155
- if (AxisAlignment_1.getIsHorizontal(axisAlignment)) {
207
+ if ((0, AxisAlignment_1.getIsHorizontal)(axisAlignment)) {
156
208
  var tickSizes = tickLabels.map(function (label) { return labelProvider.getLabelWidth(ctx, label, labelStyle); });
157
209
  var _b = this.layoutLabels(width, tickCoords, tickSizes, isFlippedCoordinates, padding === null || padding === void 0 ? void 0 : padding.top, padding === null || padding === void 0 ? void 0 : padding.bottom), labelCoords = _b.labelCoords, labelIndexes = _b.labelIndexes;
158
210
  for (var index = 0; index < labelIndexes.length; index++) {
@@ -172,7 +224,7 @@ var AxisRenderer = /** @class */ (function () {
172
224
  labelRects.push(Rect_1.Rect.create(xCoord, yCoord, tickSizes[labelIndexes[index]], labelHeight));
173
225
  }
174
226
  try {
175
- var _c = labelProvider.getLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _c.bitmapTexture, textureHeight = _c.textureHeight, textureWidth = _c.textureWidth;
227
+ var _c = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _c.bitmapTexture, textureHeight = _c.textureHeight, textureWidth = _c.textureWidth;
176
228
  if (bitmapTexture) {
177
229
  nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
178
230
  if (!labelProvider.useCache) {
@@ -199,10 +251,12 @@ var AxisRenderer = /** @class */ (function () {
199
251
  labelRects.push(Rect_1.Rect.create(xCoord, yCoord, labelWidth, tickSizes[labelIndexes[index]]));
200
252
  }
201
253
  try {
202
- var _e = labelProvider.getLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _e.bitmapTexture, textureHeight = _e.textureHeight, textureWidth = _e.textureWidth;
203
- nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
204
- if (!labelProvider.useCache) {
205
- bitmapTexture.delete();
254
+ var _e = labelProvider.getCachedLabelTexture(labelText, textureManager, labelStyle), bitmapTexture = _e.bitmapTexture, textureHeight = _e.textureHeight, textureWidth = _e.textureWidth;
255
+ if (bitmapTexture) {
256
+ nativeContext.DrawTexture(bitmapTexture, Math.round(xCoord + viewRect.left), Math.round(yCoord + viewRect.top), textureWidth, textureHeight);
257
+ if (!labelProvider.useCache) {
258
+ bitmapTexture.delete();
259
+ }
206
260
  }
207
261
  }
208
262
  catch (err) {
@@ -215,6 +269,9 @@ var AxisRenderer = /** @class */ (function () {
215
269
  this.drawLabelViewRects(renderContext, viewRect, labelRects);
216
270
  }
217
271
  };
272
+ /**
273
+ * Called internally - adjusts labels for label alignment
274
+ */
218
275
  AxisRenderer.prototype.adjustForLabelAlignment = function (xCoord, labelWidth, labelAlignment, axisAlignment, isInnerAxis, axisWidth, tickSize) {
219
276
  var adj = axisWidth - tickSize - labelWidth;
220
277
  if ((axisAlignment === AxisAlignment_1.EAxisAlignment.Left && !isInnerAxis) ||
@@ -239,9 +296,15 @@ var AxisRenderer = /** @class */ (function () {
239
296
  }
240
297
  return xCoord;
241
298
  };
299
+ /**
300
+ * Called internally
301
+ */
242
302
  AxisRenderer.prototype.layoutLabels = function (size, tickCoords, labelSizes, isFlippedCoordinates, padBefore, padAfter) {
243
- return exports.layoutLabelsHelper(this.keepLabelsWithinAxis, this.hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates);
303
+ return (0, exports.layoutLabelsHelper)(this.keepLabelsWithinAxis, this.hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates);
244
304
  };
305
+ /**
306
+ * Called internally
307
+ */
245
308
  AxisRenderer.prototype.drawTicks = function (renderContext, axisAlignment, isInnerAxis, tickCoords, axisOffset, pen, tickStyle) {
246
309
  var _this = this;
247
310
  if (!tickCoords || tickCoords.length === 0)
@@ -249,7 +312,7 @@ var AxisRenderer = /** @class */ (function () {
249
312
  var viewRect = this.viewRect;
250
313
  var tickSize = tickStyle.tickSize;
251
314
  var vertices = new this.webAssemblyContext.VectorColorVertex();
252
- var isHorizontal = AxisAlignment_1.getIsHorizontal(axisAlignment);
315
+ var isHorizontal = (0, AxisAlignment_1.getIsHorizontal)(axisAlignment);
253
316
  if (isHorizontal === undefined) {
254
317
  return;
255
318
  }
@@ -296,6 +359,9 @@ var AxisRenderer = /** @class */ (function () {
296
359
  vertices.clear();
297
360
  vertices.delete();
298
361
  };
362
+ /**
363
+ * Called internally - draws axis labels when needed, for example for line annotations
364
+ */
299
365
  AxisRenderer.prototype.drawModifiersAxisLabel = function (renderContext, displayValue, coord, axisAlignment, textStyle, fill) {
300
366
  if (!displayValue)
301
367
  return undefined;
@@ -322,13 +388,22 @@ var AxisRenderer = /** @class */ (function () {
322
388
  bitmapTexture.delete();
323
389
  return new Rect_1.Rect(xPosition, yPosition, textureWidth, textureHeight);
324
390
  };
391
+ /**
392
+ * Called internally - used for {@link AxisMarkerAnnotation}
393
+ */
325
394
  AxisRenderer.prototype.createAxisMarker = function (axisAlignment, text, textStyle, backgroundColor, opacity) {
326
395
  var fontStyle = textStyle.fontStyle, fontWeight = textStyle.fontWeight, fontSize = textStyle.fontSize, fontFamily = textStyle.fontFamily, color = textStyle.color;
327
396
  return this.textureManager.createAxisMarkerTexture(axisAlignment, text, fontStyle, fontWeight, fontSize, fontFamily, color, 2 * DpiHelper_1.DpiHelper.PIXEL_RATIO, backgroundColor, opacity);
328
397
  };
398
+ /**
399
+ * Called internally - used for custom {@link AxisMarkerAnnotation}
400
+ */
329
401
  AxisRenderer.prototype.createAxisMarkerFromImage = function (image, imageWidth, imageHeight) {
330
402
  return this.textureManager.createTextureFromImage(image, imageWidth, imageHeight);
331
403
  };
404
+ /**
405
+ * Called internally
406
+ */
332
407
  AxisRenderer.prototype.createAnnotationLabelTexture = function (text, textStyle, backgroundColor, displayVertically, displayMirrored, opacity) {
333
408
  return this.textureManager.createSimpleTextTexture(text, __assign(__assign({}, textStyle), { padding: new Thickness_1.Thickness(2, 2, 2, 2) }), backgroundColor, displayVertically, displayMirrored, opacity);
334
409
  };
@@ -339,10 +414,10 @@ var AxisRenderer = /** @class */ (function () {
339
414
  };
340
415
  AxisRenderer.prototype.drawLabelViewRects = function (renderContext, axisRect, rects) {
341
416
  var vecRects = new this.webAssemblyContext.VectorRectVertex();
342
- var brush = new this.webAssemblyContext.SCRTSolidBrush(parseColor_1.parseColorToUIntArgb("rgba(30,30,255,0.3)"), false);
417
+ var brush = new this.webAssemblyContext.SCRTSolidBrush((0, parseColor_1.parseColorToUIntArgb)("rgba(30,30,255,0.3)"), false);
343
418
  for (var _i = 0, rects_1 = rects; _i < rects_1.length; _i++) {
344
419
  var rect = rects_1[_i];
345
- var nativeRect = createNativeRect_1.createNativeRect(this.webAssemblyContext, rect.left, rect.top, rect.right, rect.bottom);
420
+ var nativeRect = (0, createNativeRect_1.createNativeRect)(this.webAssemblyContext, rect.left, rect.top, rect.right, rect.bottom);
346
421
  vecRects.push_back(nativeRect);
347
422
  nativeRect.delete();
348
423
  }
@@ -354,7 +429,7 @@ var AxisRenderer = /** @class */ (function () {
354
429
  }());
355
430
  exports.AxisRenderer = AxisRenderer;
356
431
  /** @ignore */
357
- exports.layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates) {
432
+ var layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabels, size, tickCoords, labelSizes, isFlippedCoordinates) {
358
433
  var labelSpacing = 0;
359
434
  var labelCoords = [];
360
435
  var labelIndexes = [];
@@ -409,3 +484,4 @@ exports.layoutLabelsHelper = function (keepLabelsWithinAxis, hideOverlappingLabe
409
484
  }
410
485
  return { labelCoords: labelCoords, labelIndexes: labelIndexes };
411
486
  };
487
+ exports.layoutLabelsHelper = layoutLabelsHelper;
@@ -43,12 +43,16 @@ var AxisTitleRenderer = /** @class */ (function () {
43
43
  var lineWithSpacing = lines > 1 ? 1 + this.lineSpacing * (lines - 1) : lines;
44
44
  if (isHorizontal) {
45
45
  this.desiredHeightProperty = this.text
46
- ? lineWithSpacing * TextureManager_1.measureTextHeight(textStyle.fontSize) + ((_a = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _a === void 0 ? void 0 : _a.bottom) + ((_b = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _b === void 0 ? void 0 : _b.top)
46
+ ? lineWithSpacing * (0, TextureManager_1.measureTextHeight)(textStyle.fontSize) +
47
+ ((_a = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _a === void 0 ? void 0 : _a.bottom) +
48
+ ((_b = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _b === void 0 ? void 0 : _b.top)
47
49
  : PADDING.NO_TITLE;
48
50
  }
49
51
  else {
50
52
  this.desiredWidthProperty = this.text
51
- ? lineWithSpacing * TextureManager_1.measureTextHeight(textStyle.fontSize) + ((_c = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _c === void 0 ? void 0 : _c.left) + ((_d = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _d === void 0 ? void 0 : _d.right)
53
+ ? lineWithSpacing * (0, TextureManager_1.measureTextHeight)(textStyle.fontSize) +
54
+ ((_c = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _c === void 0 ? void 0 : _c.left) +
55
+ ((_d = textStyle === null || textStyle === void 0 ? void 0 : textStyle.padding) === null || _d === void 0 ? void 0 : _d.right)
52
56
  : PADDING.NO_TITLE;
53
57
  }
54
58
  };
@@ -93,7 +97,7 @@ var AxisTitleRenderer = /** @class */ (function () {
93
97
  nativeContext.DrawTexture(bitmapTexture, Math.round(xPositionCenter), Math.round(yPosition), textureWidth, textureHeight);
94
98
  // for debugging width and height measure
95
99
  if (debugRendering) {
96
- var pen = new WebGlPen_1.WebGlPen(new this.webAssemblyContext.SCRTPen(parseColor_1.parseColorToUIntArgb("Red"), 1, true));
100
+ var pen = new WebGlPen_1.WebGlPen(new this.webAssemblyContext.SCRTPen((0, parseColor_1.parseColorToUIntArgb)("Red"), 1, true));
97
101
  renderContext.drawRect(new Rect_1.Rect(xPositionCenter, yPosition, textureWidth, textureHeight), Rect_1.Rect.create(0, 0, 999, 999), pen);
98
102
  pen.delete();
99
103
  }
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -37,7 +39,8 @@ var CategoryAxis = /** @class */ (function (_super) {
37
39
  var _a;
38
40
  var _this = _super.call(this, webAssemblyContext, options) || this;
39
41
  _this.type = AxisType_1.EAxisType.CategoryAxis;
40
- _this.labelProvider = (_a = options === null || options === void 0 ? void 0 : options.labelProvider) !== null && _a !== void 0 ? _a : new DateLabelProvider_1.DateLabelProvider(options);
42
+ _this.labelProvider =
43
+ (_a = options === null || options === void 0 ? void 0 : options.labelProvider) !== null && _a !== void 0 ? _a : new DateLabelProvider_1.DateLabelProvider(options);
41
44
  return _this;
42
45
  }
43
46
  return CategoryAxis;
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -54,19 +56,19 @@ var CategoryAxisBase = /** @class */ (function (_super) {
54
56
  */
55
57
  CategoryAxisBase.prototype.prepareRenderData = function () {
56
58
  var _this = this;
57
- Deleter_1.deleteSafe(this.coordCalcCache);
59
+ (0, Deleter_1.deleteSafe)(this.coordCalcCache);
58
60
  var coordCalc = this.getCurrentCoordinateCalculatorInternal();
59
61
  var scs = this.parentSurface;
60
62
  var renderableSeries = scs.renderableSeries.asArray().find(function (rs) { return rs.xAxisId === _this.id; });
61
63
  if (!renderableSeries) {
62
- throw new Error("category x axis with id=" + this.id + " should have renderable series");
64
+ throw new Error("category x axis with id=".concat(this.id, " should have renderable series"));
63
65
  }
64
66
  if (!renderableSeries.hasDataSeries()) {
65
- throw new Error("category x axis with id=" + this.id + " should have data series");
67
+ throw new Error("category x axis with id=".concat(this.id, " should have data series"));
66
68
  }
67
69
  var dataSeriesLength = renderableSeries.getDataSeriesValuesCount();
68
70
  if (dataSeriesLength === 0) {
69
- throw new Error("category x axis with id=" + this.id + " should have data series count > 0");
71
+ throw new Error("category x axis with id=".concat(this.id, " should have data series count > 0"));
70
72
  }
71
73
  this.setBaseXValues(coordCalc, renderableSeries);
72
74
  this.coordCalcCache = coordCalc;
@@ -83,14 +85,14 @@ var CategoryAxisBase = /** @class */ (function (_super) {
83
85
  var scs = this.parentSurface;
84
86
  var renderableSeries = scs.renderableSeries.asArray().find(function (rs) { return rs.xAxisId === _this.id; });
85
87
  if (!renderableSeries) {
86
- throw new Error("category x axis with id=" + this.id + " should have renderable series");
88
+ throw new Error("category x axis with id=".concat(this.id, " should have renderable series"));
87
89
  }
88
90
  if (!renderableSeries.hasDataSeries()) {
89
- throw new Error("category x axis with id=" + this.id + " should have data series");
91
+ throw new Error("category x axis with id=".concat(this.id, " should have data series"));
90
92
  }
91
93
  var dataSeriesLength = renderableSeries.getDataSeriesValuesCount();
92
94
  if (dataSeriesLength === 0) {
93
- throw new Error("category x axis with id=" + this.id + " should have data series count > 0");
95
+ throw new Error("category x axis with id=".concat(this.id, " should have data series count > 0"));
94
96
  }
95
97
  var coordCalc = shouldFlip
96
98
  ? new FlippedCategoryCoordinateCalculator_1.FlippedCategoryCoordinateCalculator(this.webAssemblyContext2D, size, 0, 0, min, max, this.offset)
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -3,10 +3,12 @@ var __extends = (this && this.__extends) || (function () {
3
3
  var extendStatics = function (d, b) {
4
4
  extendStatics = Object.setPrototypeOf ||
5
5
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
7
  return extendStatics(d, b);
8
8
  };
9
9
  return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
10
12
  extendStatics(d, b);
11
13
  function __() { this.constructor = d; }
12
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());