@tradecanvas/core 1.4.0 → 1.7.0

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 (422) hide show
  1. package/LICENSE +21 -21
  2. package/dist/axis/PriceAxis.d.ts +10 -1
  3. package/dist/axis/PriceAxis.d.ts.map +1 -1
  4. package/dist/axis/TimeAxis.d.ts +7 -4
  5. package/dist/axis/TimeAxis.d.ts.map +1 -1
  6. package/dist/charts/BarRenderer.d.ts.map +1 -1
  7. package/dist/charts/CandlestickRenderer.d.ts.map +1 -1
  8. package/dist/charts/CompareRenderer.d.ts +21 -4
  9. package/dist/charts/CompareRenderer.d.ts.map +1 -1
  10. package/dist/charts/HiLoRenderer.d.ts +14 -0
  11. package/dist/charts/HiLoRenderer.d.ts.map +1 -0
  12. package/dist/charts/HollowCandleRenderer.d.ts.map +1 -1
  13. package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -1
  14. package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
  15. package/dist/charts/VolumeRenderer.d.ts.map +1 -1
  16. package/dist/charts/denseBars.d.ts +28 -0
  17. package/dist/charts/denseBars.d.ts.map +1 -0
  18. package/dist/charts/index.d.ts +3 -0
  19. package/dist/charts/index.d.ts.map +1 -1
  20. package/dist/charts/transforms/kagi.d.ts +3 -2
  21. package/dist/charts/transforms/kagi.d.ts.map +1 -1
  22. package/dist/charts/transforms/renko.d.ts.map +1 -1
  23. package/dist/drawings/DrawingBase.d.ts +30 -1
  24. package/dist/drawings/DrawingBase.d.ts.map +1 -1
  25. package/dist/drawings/DrawingCreator.d.ts +51 -0
  26. package/dist/drawings/DrawingCreator.d.ts.map +1 -0
  27. package/dist/drawings/DrawingDrag.d.ts +36 -0
  28. package/dist/drawings/DrawingDrag.d.ts.map +1 -0
  29. package/dist/drawings/DrawingManager.d.ts +156 -33
  30. package/dist/drawings/DrawingManager.d.ts.map +1 -1
  31. package/dist/drawings/DrawingSelection.d.ts +28 -0
  32. package/dist/drawings/DrawingSelection.d.ts.map +1 -0
  33. package/dist/drawings/drawingHistory.d.ts +12 -0
  34. package/dist/drawings/drawingHistory.d.ts.map +1 -0
  35. package/dist/drawings/drawingShortcuts.d.ts +11 -0
  36. package/dist/drawings/drawingShortcuts.d.ts.map +1 -0
  37. package/dist/drawings/drawingState.d.ts +29 -0
  38. package/dist/drawings/drawingState.d.ts.map +1 -0
  39. package/dist/drawings/index.d.ts +2 -1
  40. package/dist/drawings/index.d.ts.map +1 -1
  41. package/dist/drawings/magnetSnap.d.ts +12 -0
  42. package/dist/drawings/magnetSnap.d.ts.map +1 -0
  43. package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
  44. package/dist/drawings/tools/Circle.d.ts +1 -0
  45. package/dist/drawings/tools/Circle.d.ts.map +1 -1
  46. package/dist/drawings/tools/ElliottWave.d.ts +128 -3
  47. package/dist/drawings/tools/ElliottWave.d.ts.map +1 -1
  48. package/dist/drawings/tools/Ellipse.d.ts +1 -0
  49. package/dist/drawings/tools/Ellipse.d.ts.map +1 -1
  50. package/dist/drawings/tools/ExtendedLine.d.ts +1 -0
  51. package/dist/drawings/tools/ExtendedLine.d.ts.map +1 -1
  52. package/dist/drawings/tools/FibChannel.d.ts +7 -0
  53. package/dist/drawings/tools/FibChannel.d.ts.map +1 -1
  54. package/dist/drawings/tools/FibExtension.d.ts +20 -0
  55. package/dist/drawings/tools/FibExtension.d.ts.map +1 -1
  56. package/dist/drawings/tools/FibRetracement.d.ts +28 -0
  57. package/dist/drawings/tools/FibRetracement.d.ts.map +1 -1
  58. package/dist/drawings/tools/FibSpeedResistanceFan.d.ts +9 -1
  59. package/dist/drawings/tools/FibSpeedResistanceFan.d.ts.map +1 -1
  60. package/dist/drawings/tools/FibTimeZones.d.ts +16 -0
  61. package/dist/drawings/tools/FibTimeZones.d.ts.map +1 -1
  62. package/dist/drawings/tools/HorizontalLine.d.ts +1 -0
  63. package/dist/drawings/tools/HorizontalLine.d.ts.map +1 -1
  64. package/dist/drawings/tools/HorizontalRay.d.ts +1 -0
  65. package/dist/drawings/tools/HorizontalRay.d.ts.map +1 -1
  66. package/dist/drawings/tools/Measure.d.ts.map +1 -1
  67. package/dist/drawings/tools/ParallelChannel.d.ts +12 -0
  68. package/dist/drawings/tools/ParallelChannel.d.ts.map +1 -1
  69. package/dist/drawings/tools/PriceLabel.d.ts +1 -0
  70. package/dist/drawings/tools/PriceLabel.d.ts.map +1 -1
  71. package/dist/drawings/tools/PriceRange.d.ts.map +1 -1
  72. package/dist/drawings/tools/Ray.d.ts +1 -0
  73. package/dist/drawings/tools/Ray.d.ts.map +1 -1
  74. package/dist/drawings/tools/Rectangle.d.ts +1 -0
  75. package/dist/drawings/tools/Rectangle.d.ts.map +1 -1
  76. package/dist/drawings/tools/RegressionChannel.d.ts +1 -0
  77. package/dist/drawings/tools/RegressionChannel.d.ts.map +1 -1
  78. package/dist/drawings/tools/RiskReward.d.ts +59 -6
  79. package/dist/drawings/tools/RiskReward.d.ts.map +1 -1
  80. package/dist/drawings/tools/TextAnnotation.d.ts +1 -0
  81. package/dist/drawings/tools/TextAnnotation.d.ts.map +1 -1
  82. package/dist/drawings/tools/TrendLine.d.ts +3 -0
  83. package/dist/drawings/tools/TrendLine.d.ts.map +1 -1
  84. package/dist/drawings/tools/Triangle.d.ts +1 -0
  85. package/dist/drawings/tools/Triangle.d.ts.map +1 -1
  86. package/dist/drawings/tools/VolumeProfileRange.d.ts +1 -0
  87. package/dist/drawings/tools/VolumeProfileRange.d.ts.map +1 -1
  88. package/dist/drawings/tools/annotations.d.ts +113 -0
  89. package/dist/drawings/tools/annotations.d.ts.map +1 -0
  90. package/dist/drawings/tools/cycles.d.ts +37 -0
  91. package/dist/drawings/tools/cycles.d.ts.map +1 -0
  92. package/dist/drawings/tools/fibGeometry.d.ts +202 -0
  93. package/dist/drawings/tools/fibGeometry.d.ts.map +1 -0
  94. package/dist/drawings/tools/forecast.d.ts +85 -0
  95. package/dist/drawings/tools/forecast.d.ts.map +1 -0
  96. package/dist/drawings/tools/freehand.d.ts +81 -0
  97. package/dist/drawings/tools/freehand.d.ts.map +1 -0
  98. package/dist/drawings/tools/index.d.ts +7 -0
  99. package/dist/drawings/tools/index.d.ts.map +1 -1
  100. package/dist/drawings/tools/labels.d.ts +6 -3
  101. package/dist/drawings/tools/labels.d.ts.map +1 -1
  102. package/dist/drawings/tools/options.d.ts +8 -0
  103. package/dist/drawings/tools/options.d.ts.map +1 -0
  104. package/dist/drawings/tools/patterns.d.ts +32 -0
  105. package/dist/drawings/tools/patterns.d.ts.map +1 -1
  106. package/dist/drawings/tools/priceLevels.d.ts +29 -0
  107. package/dist/drawings/tools/priceLevels.d.ts.map +1 -0
  108. package/dist/drawings/tools/textBox.d.ts +39 -0
  109. package/dist/drawings/tools/textBox.d.ts.map +1 -0
  110. package/dist/engine/RenderEngine.d.ts +23 -0
  111. package/dist/engine/RenderEngine.d.ts.map +1 -1
  112. package/dist/events/EventBus.d.ts +2 -0
  113. package/dist/events/EventBus.d.ts.map +1 -1
  114. package/dist/features/AlertManager.d.ts +117 -6
  115. package/dist/features/AlertManager.d.ts.map +1 -1
  116. package/dist/features/ChartState.d.ts +19 -1
  117. package/dist/features/ChartState.d.ts.map +1 -1
  118. package/dist/features/DataExporter.d.ts +7 -2
  119. package/dist/features/DataExporter.d.ts.map +1 -1
  120. package/dist/features/ReplayManager.d.ts +7 -0
  121. package/dist/features/ReplayManager.d.ts.map +1 -1
  122. package/dist/features/SignalMarkerManager.d.ts +8 -0
  123. package/dist/features/SignalMarkerManager.d.ts.map +1 -1
  124. package/dist/features/TradeZoneManager.d.ts.map +1 -1
  125. package/dist/features/UndoRedoManager.d.ts +30 -1
  126. package/dist/features/UndoRedoManager.d.ts.map +1 -1
  127. package/dist/features/index.d.ts +3 -1
  128. package/dist/features/index.d.ts.map +1 -1
  129. package/dist/index.cjs +11 -9
  130. package/dist/index.cjs.map +1 -1
  131. package/dist/index.js +10423 -5014
  132. package/dist/index.js.map +1 -1
  133. package/dist/indicators/IndicatorBase.d.ts +5 -1
  134. package/dist/indicators/IndicatorBase.d.ts.map +1 -1
  135. package/dist/indicators/IndicatorEngine.d.ts +121 -11
  136. package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
  137. package/dist/indicators/PointwiseIndicator.d.ts +25 -0
  138. package/dist/indicators/PointwiseIndicator.d.ts.map +1 -0
  139. package/dist/indicators/index.d.ts +32 -0
  140. package/dist/indicators/index.d.ts.map +1 -1
  141. package/dist/indicators/math.d.ts +47 -0
  142. package/dist/indicators/math.d.ts.map +1 -0
  143. package/dist/indicators/overlay/ALMA.d.ts +20 -0
  144. package/dist/indicators/overlay/ALMA.d.ts.map +1 -0
  145. package/dist/indicators/overlay/Alligator.d.ts +2 -14
  146. package/dist/indicators/overlay/Alligator.d.ts.map +1 -1
  147. package/dist/indicators/overlay/AnchoredVWAP.d.ts +2 -9
  148. package/dist/indicators/overlay/AnchoredVWAP.d.ts.map +1 -1
  149. package/dist/indicators/overlay/BollingerBands.d.ts +2 -10
  150. package/dist/indicators/overlay/BollingerBands.d.ts.map +1 -1
  151. package/dist/indicators/overlay/ChandeKrollStop.d.ts +16 -0
  152. package/dist/indicators/overlay/ChandeKrollStop.d.ts.map +1 -0
  153. package/dist/indicators/overlay/ChandelierExit.d.ts +2 -10
  154. package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -1
  155. package/dist/indicators/overlay/DEMA.d.ts +11 -0
  156. package/dist/indicators/overlay/DEMA.d.ts.map +1 -0
  157. package/dist/indicators/overlay/DonchianChannel.d.ts +2 -9
  158. package/dist/indicators/overlay/DonchianChannel.d.ts.map +1 -1
  159. package/dist/indicators/overlay/EMA.d.ts +2 -9
  160. package/dist/indicators/overlay/EMA.d.ts.map +1 -1
  161. package/dist/indicators/overlay/Envelope.d.ts +2 -10
  162. package/dist/indicators/overlay/Envelope.d.ts.map +1 -1
  163. package/dist/indicators/overlay/GuppyMMA.d.ts +11 -0
  164. package/dist/indicators/overlay/GuppyMMA.d.ts.map +1 -0
  165. package/dist/indicators/overlay/HullMA.d.ts +2 -9
  166. package/dist/indicators/overlay/HullMA.d.ts.map +1 -1
  167. package/dist/indicators/overlay/Ichimoku.d.ts +2 -12
  168. package/dist/indicators/overlay/Ichimoku.d.ts.map +1 -1
  169. package/dist/indicators/overlay/KAMA.d.ts +15 -0
  170. package/dist/indicators/overlay/KAMA.d.ts.map +1 -0
  171. package/dist/indicators/overlay/KeltnerChannel.d.ts +2 -11
  172. package/dist/indicators/overlay/KeltnerChannel.d.ts.map +1 -1
  173. package/dist/indicators/overlay/LSMA.d.ts +19 -0
  174. package/dist/indicators/overlay/LSMA.d.ts.map +1 -0
  175. package/dist/indicators/overlay/LinearRegressionChannel.d.ts +2 -10
  176. package/dist/indicators/overlay/LinearRegressionChannel.d.ts.map +1 -1
  177. package/dist/indicators/overlay/MACross.d.ts +9 -0
  178. package/dist/indicators/overlay/MACross.d.ts.map +1 -0
  179. package/dist/indicators/overlay/MARibbon.d.ts +8 -0
  180. package/dist/indicators/overlay/MARibbon.d.ts.map +1 -0
  181. package/dist/indicators/overlay/MTFMovingAverage.d.ts +2 -10
  182. package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -1
  183. package/dist/indicators/overlay/McGinleyDynamic.d.ts +13 -0
  184. package/dist/indicators/overlay/McGinleyDynamic.d.ts.map +1 -0
  185. package/dist/indicators/overlay/ParabolicSAR.d.ts +2 -10
  186. package/dist/indicators/overlay/ParabolicSAR.d.ts.map +1 -1
  187. package/dist/indicators/overlay/PivotPoints.d.ts +2 -9
  188. package/dist/indicators/overlay/PivotPoints.d.ts.map +1 -1
  189. package/dist/indicators/overlay/SMA.d.ts +2 -9
  190. package/dist/indicators/overlay/SMA.d.ts.map +1 -1
  191. package/dist/indicators/overlay/SMMA.d.ts +13 -0
  192. package/dist/indicators/overlay/SMMA.d.ts.map +1 -0
  193. package/dist/indicators/overlay/SessionVWAP.d.ts +2 -9
  194. package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -1
  195. package/dist/indicators/overlay/StandardErrorBands.d.ts +12 -0
  196. package/dist/indicators/overlay/StandardErrorBands.d.ts.map +1 -0
  197. package/dist/indicators/overlay/Supertrend.d.ts +2 -10
  198. package/dist/indicators/overlay/Supertrend.d.ts.map +1 -1
  199. package/dist/indicators/overlay/TEMA.d.ts +2 -9
  200. package/dist/indicators/overlay/TEMA.d.ts.map +1 -1
  201. package/dist/indicators/overlay/VWAP.d.ts +2 -7
  202. package/dist/indicators/overlay/VWAP.d.ts.map +1 -1
  203. package/dist/indicators/overlay/VWMA.d.ts +2 -9
  204. package/dist/indicators/overlay/VWMA.d.ts.map +1 -1
  205. package/dist/indicators/overlay/WMA.d.ts +2 -9
  206. package/dist/indicators/overlay/WMA.d.ts.map +1 -1
  207. package/dist/indicators/overlay/WilliamsFractals.d.ts +15 -0
  208. package/dist/indicators/overlay/WilliamsFractals.d.ts.map +1 -0
  209. package/dist/indicators/overlay/ZigZag.d.ts +2 -9
  210. package/dist/indicators/overlay/ZigZag.d.ts.map +1 -1
  211. package/dist/indicators/panel/ADX.d.ts +2 -10
  212. package/dist/indicators/panel/ADX.d.ts.map +1 -1
  213. package/dist/indicators/panel/ATR.d.ts +2 -10
  214. package/dist/indicators/panel/ATR.d.ts.map +1 -1
  215. package/dist/indicators/panel/AcceleratorOscillator.d.ts +5 -10
  216. package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -1
  217. package/dist/indicators/panel/AccumulationDistribution.d.ts +2 -8
  218. package/dist/indicators/panel/AccumulationDistribution.d.ts.map +1 -1
  219. package/dist/indicators/panel/Aroon.d.ts +2 -10
  220. package/dist/indicators/panel/Aroon.d.ts.map +1 -1
  221. package/dist/indicators/panel/AverageDayRange.d.ts +9 -0
  222. package/dist/indicators/panel/AverageDayRange.d.ts.map +1 -0
  223. package/dist/indicators/panel/AwesomeOscillator.d.ts +2 -11
  224. package/dist/indicators/panel/AwesomeOscillator.d.ts.map +1 -1
  225. package/dist/indicators/panel/BalanceOfPower.d.ts +2 -10
  226. package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -1
  227. package/dist/indicators/panel/BollingerBandWidth.d.ts +18 -0
  228. package/dist/indicators/panel/BollingerBandWidth.d.ts.map +1 -0
  229. package/dist/indicators/panel/BollingerPercentB.d.ts +21 -0
  230. package/dist/indicators/panel/BollingerPercentB.d.ts.map +1 -0
  231. package/dist/indicators/panel/CCI.d.ts +2 -10
  232. package/dist/indicators/panel/CCI.d.ts.map +1 -1
  233. package/dist/indicators/panel/CMF.d.ts +2 -10
  234. package/dist/indicators/panel/CMF.d.ts.map +1 -1
  235. package/dist/indicators/panel/ChaikinOscillator.d.ts +2 -11
  236. package/dist/indicators/panel/ChaikinOscillator.d.ts.map +1 -1
  237. package/dist/indicators/panel/ChaikinVolatility.d.ts +2 -11
  238. package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -1
  239. package/dist/indicators/panel/ChandeMomentum.d.ts +2 -10
  240. package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -1
  241. package/dist/indicators/panel/ChoppinessIndex.d.ts +2 -10
  242. package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -1
  243. package/dist/indicators/panel/ConnorsRSI.d.ts +2 -12
  244. package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -1
  245. package/dist/indicators/panel/Coppock.d.ts +2 -12
  246. package/dist/indicators/panel/Coppock.d.ts.map +1 -1
  247. package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +2 -10
  248. package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -1
  249. package/dist/indicators/panel/DisparityIndex.d.ts +2 -10
  250. package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -1
  251. package/dist/indicators/panel/EaseOfMovement.d.ts +2 -12
  252. package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -1
  253. package/dist/indicators/panel/ElderRay.d.ts +3 -9
  254. package/dist/indicators/panel/ElderRay.d.ts.map +1 -1
  255. package/dist/indicators/panel/FisherTransform.d.ts +2 -10
  256. package/dist/indicators/panel/FisherTransform.d.ts.map +1 -1
  257. package/dist/indicators/panel/ForceIndex.d.ts +2 -10
  258. package/dist/indicators/panel/ForceIndex.d.ts.map +1 -1
  259. package/dist/indicators/panel/HistoricalVolatility.d.ts +22 -0
  260. package/dist/indicators/panel/HistoricalVolatility.d.ts.map +1 -0
  261. package/dist/indicators/panel/KST.d.ts +2 -18
  262. package/dist/indicators/panel/KST.d.ts.map +1 -1
  263. package/dist/indicators/panel/Klinger.d.ts +2 -12
  264. package/dist/indicators/panel/Klinger.d.ts.map +1 -1
  265. package/dist/indicators/panel/LinearRegressionSlope.d.ts +9 -0
  266. package/dist/indicators/panel/LinearRegressionSlope.d.ts.map +1 -0
  267. package/dist/indicators/panel/MACD.d.ts +2 -12
  268. package/dist/indicators/panel/MACD.d.ts.map +1 -1
  269. package/dist/indicators/panel/MFI.d.ts +2 -10
  270. package/dist/indicators/panel/MFI.d.ts.map +1 -1
  271. package/dist/indicators/panel/MassIndex.d.ts +2 -11
  272. package/dist/indicators/panel/MassIndex.d.ts.map +1 -1
  273. package/dist/indicators/panel/Momentum.d.ts +9 -0
  274. package/dist/indicators/panel/Momentum.d.ts.map +1 -0
  275. package/dist/indicators/panel/NetVolume.d.ts +11 -0
  276. package/dist/indicators/panel/NetVolume.d.ts.map +1 -0
  277. package/dist/indicators/panel/OBV.d.ts +2 -8
  278. package/dist/indicators/panel/OBV.d.ts.map +1 -1
  279. package/dist/indicators/panel/PercentagePriceOscillator.d.ts +2 -12
  280. package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -1
  281. package/dist/indicators/panel/PrettyGoodOscillator.d.ts +2 -10
  282. package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -1
  283. package/dist/indicators/panel/PriceVolumeTrend.d.ts +2 -8
  284. package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -1
  285. package/dist/indicators/panel/Qstick.d.ts +2 -10
  286. package/dist/indicators/panel/Qstick.d.ts.map +1 -1
  287. package/dist/indicators/panel/ROC.d.ts +2 -10
  288. package/dist/indicators/panel/ROC.d.ts.map +1 -1
  289. package/dist/indicators/panel/RSI.d.ts +2 -10
  290. package/dist/indicators/panel/RSI.d.ts.map +1 -1
  291. package/dist/indicators/panel/RelativeMomentumIndex.d.ts +2 -11
  292. package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -1
  293. package/dist/indicators/panel/RelativeVigor.d.ts +2 -10
  294. package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -1
  295. package/dist/indicators/panel/RelativeVolatilityIndex.d.ts +12 -0
  296. package/dist/indicators/panel/RelativeVolatilityIndex.d.ts.map +1 -0
  297. package/dist/indicators/panel/SchaffTrendCycle.d.ts +2 -12
  298. package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -1
  299. package/dist/indicators/panel/StandardError.d.ts +9 -0
  300. package/dist/indicators/panel/StandardError.d.ts.map +1 -0
  301. package/dist/indicators/panel/StdDev.d.ts +2 -10
  302. package/dist/indicators/panel/StdDev.d.ts.map +1 -1
  303. package/dist/indicators/panel/Stochastic.d.ts +2 -12
  304. package/dist/indicators/panel/Stochastic.d.ts.map +1 -1
  305. package/dist/indicators/panel/StochasticMomentumIndex.d.ts +12 -0
  306. package/dist/indicators/panel/StochasticMomentumIndex.d.ts.map +1 -0
  307. package/dist/indicators/panel/StochasticRSI.d.ts +2 -13
  308. package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -1
  309. package/dist/indicators/panel/TRIX.d.ts +2 -11
  310. package/dist/indicators/panel/TRIX.d.ts.map +1 -1
  311. package/dist/indicators/panel/TSI.d.ts +2 -12
  312. package/dist/indicators/panel/TSI.d.ts.map +1 -1
  313. package/dist/indicators/panel/TrendStrengthIndex.d.ts +9 -0
  314. package/dist/indicators/panel/TrendStrengthIndex.d.ts.map +1 -0
  315. package/dist/indicators/panel/UlcerIndex.d.ts +15 -0
  316. package/dist/indicators/panel/UlcerIndex.d.ts.map +1 -0
  317. package/dist/indicators/panel/UltimateOscillator.d.ts +2 -12
  318. package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -1
  319. package/dist/indicators/panel/VROC.d.ts +2 -10
  320. package/dist/indicators/panel/VROC.d.ts.map +1 -1
  321. package/dist/indicators/panel/VolumeDelta.d.ts +2 -10
  322. package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -1
  323. package/dist/indicators/panel/VolumeOscillator.d.ts +11 -0
  324. package/dist/indicators/panel/VolumeOscillator.d.ts.map +1 -0
  325. package/dist/indicators/panel/VolumeProfile.d.ts +2 -9
  326. package/dist/indicators/panel/VolumeProfile.d.ts.map +1 -1
  327. package/dist/indicators/panel/Vortex.d.ts +2 -10
  328. package/dist/indicators/panel/Vortex.d.ts.map +1 -1
  329. package/dist/indicators/panel/WilliamsAD.d.ts +2 -10
  330. package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -1
  331. package/dist/indicators/panel/WilliamsR.d.ts +2 -10
  332. package/dist/indicators/panel/WilliamsR.d.ts.map +1 -1
  333. package/dist/indicators/plots.d.ts +49 -0
  334. package/dist/indicators/plots.d.ts.map +1 -0
  335. package/dist/indicators/registry.d.ts.map +1 -1
  336. package/dist/indicators/sources.d.ts +37 -0
  337. package/dist/indicators/sources.d.ts.map +1 -0
  338. package/dist/indicators/symbols/SymbolSeriesStore.d.ts +21 -0
  339. package/dist/indicators/symbols/SymbolSeriesStore.d.ts.map +1 -0
  340. package/dist/indicators/symbols/symbolIndicators.d.ts +34 -0
  341. package/dist/indicators/symbols/symbolIndicators.d.ts.map +1 -0
  342. package/dist/interaction/CrosshairHandler.d.ts +7 -4
  343. package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
  344. package/dist/interaction/CrosshairTooltip.d.ts +11 -5
  345. package/dist/interaction/CrosshairTooltip.d.ts.map +1 -1
  346. package/dist/interaction/InteractionManager.d.ts +63 -1
  347. package/dist/interaction/InteractionManager.d.ts.map +1 -1
  348. package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
  349. package/dist/interaction/PinnedTooltip.d.ts +9 -1
  350. package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
  351. package/dist/interaction/PriceAxisAddButton.d.ts +17 -0
  352. package/dist/interaction/PriceAxisAddButton.d.ts.map +1 -0
  353. package/dist/interaction/ZoomHandler.d.ts +8 -0
  354. package/dist/interaction/ZoomHandler.d.ts.map +1 -1
  355. package/dist/interaction/index.d.ts +2 -0
  356. package/dist/interaction/index.d.ts.map +1 -1
  357. package/dist/realtime/CurrentPriceLine.d.ts.map +1 -1
  358. package/dist/realtime/StreamManager.d.ts +5 -0
  359. package/dist/realtime/StreamManager.d.ts.map +1 -1
  360. package/dist/realtime/TickAggregator.d.ts.map +1 -1
  361. package/dist/realtime/TickBars.d.ts +58 -0
  362. package/dist/realtime/TickBars.d.ts.map +1 -0
  363. package/dist/realtime/adapters/BinanceAdapter.d.ts +24 -1
  364. package/dist/realtime/adapters/BinanceAdapter.d.ts.map +1 -1
  365. package/dist/realtime/adapters/BybitAdapter.d.ts +3 -1
  366. package/dist/realtime/adapters/BybitAdapter.d.ts.map +1 -1
  367. package/dist/realtime/adapters/CoinbaseAdapter.d.ts.map +1 -1
  368. package/dist/realtime/adapters/KrakenAdapter.d.ts.map +1 -1
  369. package/dist/realtime/adapters/MockAdapter.d.ts +19 -1
  370. package/dist/realtime/adapters/MockAdapter.d.ts.map +1 -1
  371. package/dist/realtime/adapters/PollingAdapter.d.ts +14 -1
  372. package/dist/realtime/adapters/PollingAdapter.d.ts.map +1 -1
  373. package/dist/realtime/adapters/ResamplingAdapter.d.ts +84 -0
  374. package/dist/realtime/adapters/ResamplingAdapter.d.ts.map +1 -0
  375. package/dist/realtime/adapters/WebSocketAdapter.d.ts +14 -1
  376. package/dist/realtime/adapters/WebSocketAdapter.d.ts.map +1 -1
  377. package/dist/realtime/adapters/binanceTypes.d.ts +10 -1
  378. package/dist/realtime/adapters/binanceTypes.d.ts.map +1 -1
  379. package/dist/realtime/adapters/index.d.ts +1 -0
  380. package/dist/realtime/adapters/index.d.ts.map +1 -1
  381. package/dist/realtime/index.d.ts +1 -0
  382. package/dist/realtime/index.d.ts.map +1 -1
  383. package/dist/trading/BracketTool.d.ts.map +1 -1
  384. package/dist/trading/OrderDraftTool.d.ts.map +1 -1
  385. package/dist/trading/OrderRenderer.d.ts +2 -1
  386. package/dist/trading/OrderRenderer.d.ts.map +1 -1
  387. package/dist/trading/PaperExecutionAdapter.d.ts +17 -3
  388. package/dist/trading/PaperExecutionAdapter.d.ts.map +1 -1
  389. package/dist/trading/PositionRenderer.d.ts +6 -1
  390. package/dist/trading/PositionRenderer.d.ts.map +1 -1
  391. package/dist/trading/TradingContextMenu.d.ts +1 -1
  392. package/dist/trading/TradingContextMenu.d.ts.map +1 -1
  393. package/dist/trading/TradingManager.d.ts +23 -2
  394. package/dist/trading/TradingManager.d.ts.map +1 -1
  395. package/dist/trading/fillMarks.d.ts +14 -0
  396. package/dist/trading/fillMarks.d.ts.map +1 -0
  397. package/dist/trading/lineButtons.d.ts +31 -0
  398. package/dist/trading/lineButtons.d.ts.map +1 -0
  399. package/dist/trading/positionFormat.d.ts +1 -1
  400. package/dist/trading/positionFormat.d.ts.map +1 -1
  401. package/dist/ui/BarCountdown.d.ts.map +1 -1
  402. package/dist/ui/PriceLines.d.ts +38 -0
  403. package/dist/ui/PriceLines.d.ts.map +1 -0
  404. package/dist/ui/SessionBreaks.d.ts +4 -1
  405. package/dist/ui/SessionBreaks.d.ts.map +1 -1
  406. package/dist/ui/SessionShading.d.ts +2 -0
  407. package/dist/ui/SessionShading.d.ts.map +1 -1
  408. package/dist/ui/axisValueLabels.d.ts +35 -0
  409. package/dist/ui/axisValueLabels.d.ts.map +1 -0
  410. package/dist/ui/index.d.ts +6 -1
  411. package/dist/ui/index.d.ts.map +1 -1
  412. package/dist/ui/sessionHours.d.ts +12 -2
  413. package/dist/ui/sessionHours.d.ts.map +1 -1
  414. package/dist/ui/shapes.d.ts +9 -0
  415. package/dist/ui/shapes.d.ts.map +1 -0
  416. package/dist/viewport/Viewport.d.ts +35 -2
  417. package/dist/viewport/Viewport.d.ts.map +1 -1
  418. package/dist/viewport/index.d.ts +1 -1
  419. package/dist/viewport/index.d.ts.map +1 -1
  420. package/dist/viewport/rangePresets.d.ts +4 -2
  421. package/dist/viewport/rangePresets.d.ts.map +1 -1
  422. package/package.json +2 -2
@@ -0,0 +1,35 @@
1
+ import { Theme } from '@tradecanvas/commons';
2
+ /** A coloured tag on a value axis: an indicator line's latest value. */
3
+ export interface AxisValueLabel {
4
+ /** Where the value sits on the axis (px). */
5
+ y: number;
6
+ text: string;
7
+ /** The line's colour: the tag's background. */
8
+ color: string;
9
+ }
10
+ /**
11
+ * Decimals for an indicator value of this size (RSI 54.32, MACD 0.0012,
12
+ * 12,345.7): two for everyday values, fewer for big ones, more for small.
13
+ */
14
+ export declare function indicatorValuePrecision(value: number): number;
15
+ /** Tag height (px); tags closer than this are pushed apart. */
16
+ export declare const AXIS_LABEL_HEIGHT = 16;
17
+ /**
18
+ * Positions for tags at `ys` (sorted ascending) so that none overlap, each as
19
+ * close to its own value as the others allow, within `[top, bottom]`. When
20
+ * they cannot all fit, the first ones keep their place and the rest run past
21
+ * `bottom` (the renderer leaves those out).
22
+ */
23
+ export declare function spreadLabels(ys: readonly number[], top: number, bottom: number, height?: number): number[];
24
+ /** Dark text on a light tag, light text on a dark one. */
25
+ export declare function labelTextColor(background: string): string;
26
+ /**
27
+ * Draw `labels` on the value axis whose left edge is `axisX`, within the
28
+ * vertical `bounds`. Tags off the axis are dropped; the rest are spread so
29
+ * they do not overlap.
30
+ */
31
+ export declare function renderAxisValueLabels(ctx: CanvasRenderingContext2D, labels: readonly AxisValueLabel[], axisX: number, axisWidth: number, bounds: {
32
+ top: number;
33
+ bottom: number;
34
+ }, theme: Theme): void;
35
+ //# sourceMappingURL=axisValueLabels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axisValueLabels.d.ts","sourceRoot":"","sources":["../../src/ui/axisValueLabels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAGlD,wEAAwE;AACxE,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAoB,GAAG,MAAM,EAAE,CAcrH;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAMzD;AAYD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,wBAAwB,EAC7B,MAAM,EAAE,SAAS,cAAc,EAAE,EACjC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACvC,KAAK,EAAE,KAAK,GACX,IAAI,CAoBN"}
@@ -6,6 +6,11 @@ export { BarCountdown } from './BarCountdown.js';
6
6
  export { SessionBreaks } from './SessionBreaks.js';
7
7
  export type { SessionBreakConfig } from './SessionBreaks.js';
8
8
  export { SessionShading, DEFAULT_SESSION_HOURS } from './SessionShading.js';
9
- export { isRegularSession, isInWindow, minuteOfDay } from './sessionHours.js';
9
+ export { isRegularSession, isInWindow, minuteOfDay, mergeSessionHours } from './sessionHours.js';
10
10
  export type { SessionHoursConfig, SessionWindow } from './sessionHours.js';
11
+ export { renderAxisValueLabels, spreadLabels, labelTextColor, indicatorValuePrecision, AXIS_LABEL_HEIGHT } from './axisValueLabels.js';
12
+ export type { AxisValueLabel } from './axisValueLabels.js';
13
+ export { PriceLines } from './PriceLines.js';
14
+ export type { PriceLineKind, PriceLineLevel, BidAsk } from './PriceLines.js';
15
+ export { fillTag } from './shapes.js';
11
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjG,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACvI,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
@@ -10,8 +10,13 @@ export interface SessionHoursConfig {
10
10
  startMinute: number;
11
11
  /** Session end, minutes from midnight (e.g. 960 = 16:00). */
12
12
  endMinute: number;
13
- /** Timezone offset applied to UTC before deriving minute-of-day (e.g. -300 for EST). */
14
- tzOffsetMinutes: number;
13
+ /** Fixed offset applied to UTC before deriving minute-of-day (e.g. -300 for EST). */
14
+ tzOffsetMinutes?: number;
15
+ /**
16
+ * The session's IANA zone (e.g. `'America/New_York'`): follows daylight
17
+ * saving time, and wins over `tzOffsetMinutes`.
18
+ */
19
+ timeZone?: string;
15
20
  /**
16
21
  * Optional split session: a list of in-session windows within the day. When
17
22
  * present and non-empty, `startMinute`/`endMinute` are ignored and a
@@ -22,6 +27,11 @@ export interface SessionHoursConfig {
22
27
  */
23
28
  windows?: SessionWindow[];
24
29
  }
30
+ /**
31
+ * `patch` over `base`. A fixed offset given without a zone replaces the zone,
32
+ * since the zone would otherwise win over it.
33
+ */
34
+ export declare function mergeSessionHours(base: SessionHoursConfig, patch: Partial<SessionHoursConfig>): SessionHoursConfig;
25
35
  /** Minute-of-day (0–1439) for a timestamp in the configured timezone. */
26
36
  export declare function minuteOfDay(timeMs: number, tzOffsetMinutes: number): number;
27
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sessionHours.d.ts","sourceRoot":"","sources":["../../src/ui/sessionHours.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,eAAe,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAID,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAMpF"}
1
+ {"version":3,"file":"sessionHours.d.ts","sourceRoot":"","sources":["../../src/ui/sessionHours.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,wFAAwF;IACxF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,yFAAyF;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAOlH;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK1F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAOpF"}
@@ -0,0 +1,9 @@
1
+ import { Theme } from '@tradecanvas/commons';
2
+ /**
3
+ * Fill a tag's box (a price tag, an axis pill, an order badge) in the
4
+ * theme's corner shape: square by default, rounded by `theme.shape.tagRadius`
5
+ * (999 or anything past half its height makes a pill). Uses the context's
6
+ * current fill.
7
+ */
8
+ export declare function fillTag(ctx: CanvasRenderingContext2D, x: number, y: number, w: number, h: number, theme: Theme): void;
9
+ //# sourceMappingURL=shapes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shapes.d.ts","sourceRoot":"","sources":["../../src/ui/shapes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAmBrH"}
@@ -1,4 +1,10 @@
1
1
  import { ViewportState, Rect, DataSeries, PriceScaleMode } from '@tradecanvas/commons';
2
+ /**
3
+ * Narrowest bar slot (bar + gap) in CSS pixels. Below the usual floor
4
+ * (`minBarWidth` + the 2px gap) the chart only zooms out as far as it takes to
5
+ * fit every loaded bar, and never past this.
6
+ */
7
+ export declare const MIN_BAR_UNIT = 0.25;
2
8
  export declare class Viewport {
3
9
  private state;
4
10
  private priceAxisWidth;
@@ -35,6 +41,8 @@ export declare class Viewport {
35
41
  /** Turn the price scale upside down (higher prices lower on screen). */
36
42
  setInvertScale(inverted: boolean): void;
37
43
  isInvertScale(): boolean;
44
+ /** How prices on the scale read (null: decimals), and the step they move in (a fraction's). */
45
+ setPriceFormat(format: ((price: number) => string) | null, unit?: number | null): void;
38
46
  /** Reference price for percentage / indexed-to-100 axis labels. */
39
47
  setScaleBaseline(price: number | undefined): void;
40
48
  setRightMargin(bars: number): void;
@@ -57,7 +65,32 @@ export declare class Viewport {
57
65
  private computeChartRect;
58
66
  resize(width: number, height: number): void;
59
67
  setChartRect(rect: Rect): void;
68
+ /** The usual narrowest slot: `minBarWidth` plus the 2px gap. */
69
+ private floorUnit;
70
+ /**
71
+ * The narrowest slot right now: the usual floor, or less when the loaded
72
+ * bars only fit below it — down to `MIN_BAR_UNIT`.
73
+ */
74
+ private minUnit;
75
+ private maxUnit;
76
+ /**
77
+ * Split a slot into bar and gap: above the floor the gap stays 2px, below it
78
+ * both shrink in the floor's proportions, so the bars never turn into gaps.
79
+ */
80
+ private applyUnit;
81
+ /**
82
+ * Keep the slot within the current limits — a dense zoom of a long series
83
+ * grows back to the floor when a shorter one replaces it. Keeps the bar at
84
+ * the left edge in place.
85
+ */
86
+ private clampUnit;
60
87
  updateData(data: DataSeries, autoScale: boolean): void;
88
+ /**
89
+ * The bars on screen moved `count` slots right (bars added in front of the
90
+ * data; negative when a reshaped series lost some): move the view with
91
+ * them, so the same bars stay on screen.
92
+ */
93
+ prependBars(count: number): void;
61
94
  setPriceRange(min: number, max: number): void;
62
95
  /**
63
96
  * Multiply the visible price range by `factor` around its midpoint.
@@ -87,8 +120,8 @@ export declare class Viewport {
87
120
  zoom(delta: number, centerX: number): void;
88
121
  /**
89
122
  * Fit bar slots `from`..`to` (inclusive, fractional allowed, may extend past
90
- * the data) across the chart width. If the bar width hits its min/max the
91
- * range is centred instead.
123
+ * the data) across the chart width. If the slot hits its min/max the range
124
+ * is centred instead.
92
125
  */
93
126
  zoomToBarRange(from: number, to: number): void;
94
127
  private clampOffset;
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI5F,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,cAAc,CAAoB;IAC1C;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,cAAc,CAAK;gBAGzB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,WAAW,SAAI,EACf,WAAW,SAAK,EAChB,eAAe,SAAI;IAgBrB;;;OAGG;IACH,QAAQ,IAAI,aAAa;IAmBzB,8EAA8E;IAC9E,OAAO,CAAC,UAAU;IAIlB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,mFAAmF;IACnF,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAMxC,YAAY,IAAI,cAAc;IAI9B,wEAAwE;IACxE,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKvC,aAAa,IAAI,OAAO;IAIxB,mEAAmE;IACnE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKjD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,cAAc,IAAI,MAAM;IAIxB;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO1E,qGAAqG;IACrG,OAAO,CAAC,SAAS;IAKjB,yEAAyE;IACzE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtC,OAAO,CAAC,gBAAgB;IASxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAM3C,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAY9B,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAsBtD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUrC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOnC;;;;;;;;;OASG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAsBxC;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAKlB,WAAW,IAAI,IAAI;IAUnB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAwB1C;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAY9C,OAAO,CAAC,WAAW;IAgDnB,OAAO,CAAC,kBAAkB;CAS3B"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { Viewport } from './Viewport.js';
1
+ export { Viewport, MIN_BAR_UNIT } from './Viewport.js';
2
2
  export { barIndexToX, priceToY, priceToYMapper, priceBucketRow, xToBarIndex, yToPrice, timestampToBarIndex, resolveBarIndex, barTimeStep, barTimeStepMs, barIndexToTime, timeToX, xToTime, } from './ScaleMapping.js';
3
3
  export { getVisibleData } from './DataWindow.js';
4
4
  export { RANGE_PRESETS, rangePresetStart } from './rangePresets.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,OAAO,EACP,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EACL,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,OAAO,EACP,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,10 +1,12 @@
1
+ import { TimeZoneSetting } from '@tradecanvas/commons';
1
2
  /** Spans that end at the last bar, as on a chart's range bar. */
2
3
  export type RangePreset = '1D' | '5D' | '1M' | '3M' | '6M' | 'YTD' | '1Y' | '5Y' | 'All';
3
4
  export declare const RANGE_PRESETS: readonly RangePreset[];
4
5
  /**
5
6
  * Where the preset's span starts when it ends at `end` (ms): days are counted
6
7
  * back from `end`, months and YTD in calendar terms in the display timezone
7
- * (`tzOffsetMinutes` east of UTC; null = the browser's). Null for 'All'.
8
+ * (an IANA zone, minutes east of UTC, or null for the browser's), keeping the
9
+ * wall-clock time across daylight-saving changes. Null for 'All'.
8
10
  */
9
- export declare function rangePresetStart(preset: RangePreset, end: number, tzOffsetMinutes?: number | null): number | null;
11
+ export declare function rangePresetStart(preset: RangePreset, end: number, tz?: TimeZoneSetting): number | null;
10
12
  //# sourceMappingURL=rangePresets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rangePresets.d.ts","sourceRoot":"","sources":["../../src/viewport/rangePresets.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA6D,CAAC;AA6B9G;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,eAAe,GAAE,MAAM,GAAG,IAAQ,GAAG,MAAM,GAAG,IAAI,CAepH"}
1
+ {"version":3,"file":"rangePresets.d.ts","sourceRoot":"","sources":["../../src/viewport/rangePresets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEjF,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA6D,CAAC;AAkB9G;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,GAAE,eAAmB,GAAG,MAAM,GAAG,IAAI,CAQzG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradecanvas/core",
3
- "version": "1.4.0",
3
+ "version": "1.7.0",
4
4
  "type": "module",
5
5
  "description": "Canvas rendering engine for @tradecanvas/chart",
6
6
  "license": "MIT",
@@ -34,7 +34,7 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@tradecanvas/commons": "1.4.0"
37
+ "@tradecanvas/commons": "1.7.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "jsdom": "^25.0.1",