@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,37 @@
1
+ import { DrawingState, Point, ViewportState } from '@tradecanvas/commons';
2
+ import { DrawingBase } from '../DrawingBase.js';
3
+ /**
4
+ * Time cycles: half circles of one cycle's length, repeated along the time
5
+ * axis from the first: click where a cycle starts, then where it ends.
6
+ */
7
+ export declare class TimeCyclesTool extends DrawingBase {
8
+ descriptor: {
9
+ type: "timeCycles";
10
+ name: string;
11
+ requiredAnchors: number;
12
+ fill: boolean;
13
+ };
14
+ /**
15
+ * The cycles on screen, each as its centre: half circles of radius `r`
16
+ * above the first point's price, repeating from it (the way it was drawn).
17
+ */
18
+ private visibleCycles;
19
+ private cycles;
20
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
21
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
22
+ }
23
+ /**
24
+ * A sine wave across the chart: click a peak (or a trough), then the trough
25
+ * (or peak) after it; that is half a period and the swing.
26
+ */
27
+ export declare class SineLineTool extends DrawingBase {
28
+ descriptor: {
29
+ type: "sineLine";
30
+ name: string;
31
+ requiredAnchors: number;
32
+ };
33
+ private points;
34
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
35
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
36
+ }
37
+ //# sourceMappingURL=cycles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/cycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAQ9D;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;;MAAwF;IAElG;;;OAGG;IACH,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,MAAM;IAYd,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAe5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAOhG;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,UAAU;;;;MAAwE;IAElF,OAAO,CAAC,MAAM;IAed,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAIhG"}
@@ -0,0 +1,202 @@
1
+ import { DrawingLevel, DrawingState, Point, ViewportState } from '@tradecanvas/commons';
2
+ import { DrawingBase } from '../DrawingBase.js';
3
+ /**
4
+ * Tools drawn as one shape per level (circles, arcs, rays): each level in
5
+ * its colour, labelled with its ratio when asked.
6
+ */
7
+ declare abstract class LevelShapesTool extends DrawingBase {
8
+ /** One shape per visible level, as points, with where its label goes. */
9
+ protected abstract shapes(pts: Point[], levels: DrawingLevel[], viewport: ViewportState, state: DrawingState): {
10
+ level: DrawingLevel;
11
+ points: Point[];
12
+ label: Point;
13
+ }[];
14
+ /** Lines drawn besides the levels (the trend line the levels measure). */
15
+ protected guides(pts: Point[]): [Point, Point][];
16
+ protected pixels(state: DrawingState, viewport: ViewportState): Point[];
17
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
18
+ /**
19
+ * The levels' ratios. Labels of levels close together (small circles) would
20
+ * pile up: going from the outermost in, one that would cover a label
21
+ * already drawn is left out.
22
+ */
23
+ private renderLabels;
24
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
25
+ }
26
+ /** Circles around a centre at Fibonacci multiples of a radius: click the centre, then the 1.0 circle. */
27
+ export declare class FibCirclesTool extends LevelShapesTool {
28
+ descriptor: {
29
+ type: "fibCircles";
30
+ name: string;
31
+ requiredAnchors: number;
32
+ options: {
33
+ levels: {
34
+ kind: "levels";
35
+ label: string;
36
+ default: DrawingLevel[];
37
+ };
38
+ showLevels: {
39
+ kind: "boolean";
40
+ label: string;
41
+ default: boolean;
42
+ };
43
+ };
44
+ };
45
+ protected shapes(pts: Point[], levels: DrawingLevel[]): {
46
+ level: DrawingLevel;
47
+ points: Point[];
48
+ label: {
49
+ x: number;
50
+ y: number;
51
+ };
52
+ }[];
53
+ }
54
+ /**
55
+ * Arcs around the start of a move at Fibonacci shares of its length, opening
56
+ * towards where it went: click the start, then the end.
57
+ */
58
+ export declare class FibArcsTool extends LevelShapesTool {
59
+ descriptor: {
60
+ type: "fibArcs";
61
+ name: string;
62
+ requiredAnchors: number;
63
+ options: {
64
+ fullCircles: {
65
+ kind: "boolean";
66
+ label: string;
67
+ default: boolean;
68
+ };
69
+ levels: {
70
+ kind: "levels";
71
+ label: string;
72
+ default: DrawingLevel[];
73
+ };
74
+ showLevels: {
75
+ kind: "boolean";
76
+ label: string;
77
+ default: boolean;
78
+ };
79
+ };
80
+ };
81
+ protected shapes(pts: Point[], levels: DrawingLevel[], _viewport: ViewportState, state: DrawingState): {
82
+ level: DrawingLevel;
83
+ points: Point[];
84
+ label: {
85
+ x: number;
86
+ y: number;
87
+ };
88
+ }[];
89
+ }
90
+ /** Arcs at Fibonacci shares of a move, between two lines from its start: click the apex, then the two ends. */
91
+ export declare class FibWedgeTool extends LevelShapesTool {
92
+ descriptor: {
93
+ type: "fibWedge";
94
+ name: string;
95
+ requiredAnchors: number;
96
+ options: {
97
+ levels: {
98
+ kind: "levels";
99
+ label: string;
100
+ default: DrawingLevel[];
101
+ };
102
+ showLevels: {
103
+ kind: "boolean";
104
+ label: string;
105
+ default: boolean;
106
+ };
107
+ };
108
+ };
109
+ protected guides(pts: Point[]): [Point, Point][];
110
+ protected shapes(pts: Point[], levels: DrawingLevel[]): {
111
+ level: DrawingLevel;
112
+ points: Point[];
113
+ label: {
114
+ x: number;
115
+ y: number;
116
+ };
117
+ }[];
118
+ }
119
+ /**
120
+ * Rays from a pivot through points between two others, at Fibonacci shares
121
+ * of the way from one to the other: click the pivot, then the two points.
122
+ */
123
+ export declare class PitchfanTool extends LevelShapesTool {
124
+ descriptor: {
125
+ type: "pitchfan";
126
+ name: string;
127
+ requiredAnchors: number;
128
+ options: {
129
+ levels: {
130
+ kind: "levels";
131
+ label: string;
132
+ default: DrawingLevel[];
133
+ };
134
+ showLevels: {
135
+ kind: "boolean";
136
+ label: string;
137
+ default: boolean;
138
+ };
139
+ };
140
+ };
141
+ protected guides(pts: Point[]): [Point, Point][];
142
+ protected shapes(pts: Point[], levels: DrawingLevel[], viewport: ViewportState): {
143
+ level: DrawingLevel;
144
+ points: Point[];
145
+ label: {
146
+ x: number;
147
+ y: number;
148
+ };
149
+ }[];
150
+ }
151
+ /** A golden spiral: click its centre, then where it starts; it turns out from there in quarter turns of φ. */
152
+ export declare class FibSpiralTool extends DrawingBase {
153
+ descriptor: {
154
+ type: "fibSpiral";
155
+ name: string;
156
+ requiredAnchors: number;
157
+ options: {
158
+ clockwise: {
159
+ kind: "boolean";
160
+ label: string;
161
+ default: boolean;
162
+ };
163
+ };
164
+ };
165
+ /** The spiral's points, out to past the chart's corners and in to a few pixels. */
166
+ private points;
167
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
168
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
169
+ }
170
+ /**
171
+ * A Gann square: a box between two corners with its grid at the levels, both
172
+ * diagonals, and arcs from the first corner.
173
+ */
174
+ export declare class GannSquareTool extends DrawingBase {
175
+ descriptor: {
176
+ type: "gannSquare";
177
+ name: string;
178
+ requiredAnchors: number;
179
+ options: {
180
+ arcs: {
181
+ kind: "boolean";
182
+ label: string;
183
+ default: boolean;
184
+ };
185
+ levels: {
186
+ kind: "levels";
187
+ label: string;
188
+ default: DrawingLevel[];
189
+ };
190
+ showLevels: {
191
+ kind: "boolean";
192
+ label: string;
193
+ default: boolean;
194
+ };
195
+ };
196
+ };
197
+ private lines;
198
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
199
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
200
+ }
201
+ export {};
202
+ //# sourceMappingURL=fibGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fibGeometry.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/fibGeometry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import { DrawingState, OHLCBar, Point, ViewportState } from '@tradecanvas/commons';
2
+ import { DrawingBase } from '../DrawingBase.js';
3
+ /** Whether the target was reached by its time, missed (its time passed first), or neither yet. */
4
+ export type ForecastOutcome = 'reached' | 'missed' | 'pending';
5
+ /** How a forecast from `from` to `to` turned out on `bars`. */
6
+ export declare function forecastOutcome(bars: readonly OHLCBar[], from: {
7
+ time: number;
8
+ price: number;
9
+ }, to: {
10
+ time: number;
11
+ price: number;
12
+ }): ForecastOutcome;
13
+ /**
14
+ * A forecast: from a bar's price to a target, with the change, how long it
15
+ * should take, and whether the price got there (green) or the time ran out
16
+ * first (red).
17
+ */
18
+ export declare class ForecastTool extends DrawingBase {
19
+ descriptor: {
20
+ type: "forecast";
21
+ name: string;
22
+ requiredAnchors: number;
23
+ };
24
+ private bars;
25
+ setDataGetter(getter: () => readonly OHLCBar[]): void;
26
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
27
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
28
+ }
29
+ /**
30
+ * A projection: a move (A to B) carried over from a third point (C), with
31
+ * the target's price and change: click A, B, then where the projection starts.
32
+ */
33
+ export declare class ProjectionTool extends DrawingBase {
34
+ descriptor: {
35
+ type: "projection";
36
+ name: string;
37
+ requiredAnchors: number;
38
+ fill: boolean;
39
+ };
40
+ /** The projected end: C moved by A→B, in bars and in price. */
41
+ private target;
42
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
43
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
44
+ }
45
+ /**
46
+ * A copy of some bars placed elsewhere, to compare a past move with now:
47
+ * click the first and last bar to copy, then where the copy starts.
48
+ */
49
+ export declare class BarsPatternTool extends DrawingBase {
50
+ descriptor: {
51
+ type: "barsPattern";
52
+ name: string;
53
+ requiredAnchors: number;
54
+ options: {
55
+ mode: {
56
+ kind: "choice";
57
+ label: string;
58
+ default: string;
59
+ choices: {
60
+ value: string;
61
+ label: string;
62
+ }[];
63
+ };
64
+ mirrored: {
65
+ kind: "boolean";
66
+ label: string;
67
+ default: boolean;
68
+ };
69
+ flipped: {
70
+ kind: "boolean";
71
+ label: string;
72
+ default: boolean;
73
+ };
74
+ };
75
+ };
76
+ private bars;
77
+ setDataGetter(getter: () => readonly OHLCBar[]): void;
78
+ /** The copied bars, moved so the first one opens at the third point. */
79
+ private copied;
80
+ private box;
81
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
82
+ private renderCopy;
83
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
84
+ }
85
+ //# sourceMappingURL=forecast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/forecast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAWnE,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAYrJ;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,UAAU;;;;MAAuE;IAEjF,OAAO,CAAC,IAAI,CAAsC;IAElD,aAAa,CAAC,MAAM,EAAE,MAAM,SAAS,OAAO,EAAE,GAAG,IAAI;IAIrD,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA6B5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAMhG;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;;MAAuF;IAEjG,+DAA+D;IAC/D,OAAO,CAAC,MAAM;IAMd,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA4B5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAMhG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;MAkBR;IAEF,OAAO,CAAC,IAAI,CAAsC;IAElD,aAAa,CAAC,MAAM,EAAE,MAAM,SAAS,OAAO,EAAE,GAAG,IAAI;IAIrD,wEAAwE;IACxE,OAAO,CAAC,MAAM;IAuBd,OAAO,CAAC,GAAG;IAgBX,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAgB5G,OAAO,CAAC,UAAU;IAqClB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQhG"}
@@ -0,0 +1,81 @@
1
+ import { DrawingDescriptor, DrawingState, Point, ViewportState } from '@tradecanvas/commons';
2
+ import { DrawingBase } from '../DrawingBase.js';
3
+ /** An open arrow head at `to`, coming from `from`. */
4
+ export declare function drawArrowHead(ctx: CanvasRenderingContext2D, from: Point, to: Point, size?: number): void;
5
+ /** Whether `point` is inside the polygon `pts` (even-odd rule). */
6
+ export declare function insidePolygon(point: Point, pts: readonly Point[]): boolean;
7
+ /** A freehand stroke: press and drag. It moves as a whole; its points have no handles. */
8
+ export declare class BrushTool extends DrawingBase {
9
+ descriptor: DrawingDescriptor;
10
+ /** How thick the stroke is drawn and how see-through. */
11
+ protected stroke(state: DrawingState): {
12
+ width: number;
13
+ alpha: number;
14
+ };
15
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
16
+ /** A selected stroke shows the box around it instead of hundreds of handles. */
17
+ private renderBounds;
18
+ /** The stroke's box on screen, from its time and price span. */
19
+ private screenBox;
20
+ hitTestAnchor(): number;
21
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
22
+ }
23
+ /** A broad see-through marker stroke, for highlighting bars. */
24
+ export declare class HighlighterTool extends BrushTool {
25
+ descriptor: DrawingDescriptor;
26
+ protected stroke(state: DrawingState): {
27
+ width: number;
28
+ alpha: number;
29
+ };
30
+ }
31
+ /** A line through points clicked one by one, with an arrow at the end; a double-click or Enter ends it. */
32
+ export declare class PathTool extends DrawingBase {
33
+ descriptor: {
34
+ type: "path";
35
+ name: string;
36
+ requiredAnchors: number;
37
+ creation: "path";
38
+ options: {
39
+ arrowEnd: {
40
+ kind: "boolean";
41
+ label: string;
42
+ default: boolean;
43
+ };
44
+ };
45
+ };
46
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
47
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
48
+ }
49
+ /** A closed shape through points clicked one by one, filled; a double-click or Enter ends it. */
50
+ export declare class PolylineTool extends DrawingBase {
51
+ descriptor: {
52
+ type: "polyline";
53
+ name: string;
54
+ requiredAnchors: number;
55
+ creation: "path";
56
+ fill: boolean;
57
+ };
58
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
59
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
60
+ }
61
+ /** Points along the curve from `s` to `e` that passes through `m` halfway. */
62
+ export declare function curvePoints(s: Point, m: Point, e: Point, steps?: number): Point[];
63
+ /**
64
+ * Points along the circle arc from `s` to `e` through `m`; the straight
65
+ * line when the three are in a row.
66
+ */
67
+ export declare function arcPoints(s: Point, m: Point, e: Point, steps?: number): Point[];
68
+ /** A line bent through a third point: click the start, the end, then where it passes halfway. */
69
+ export declare class CurveTool extends DrawingBase {
70
+ descriptor: DrawingDescriptor;
71
+ protected shape(s: Point, m: Point, e: Point): Point[];
72
+ private points;
73
+ render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
74
+ hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
75
+ }
76
+ /** A circle arc: click the start, the end, then a point it passes through. */
77
+ export declare class ArcTool extends CurveTool {
78
+ descriptor: DrawingDescriptor;
79
+ protected shape(s: Point, m: Point, e: Point): Point[];
80
+ }
81
+ //# sourceMappingURL=freehand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freehand.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/freehand.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,12 @@ export { CircleTool } from './Circle.js';
36
36
  export { DateAndPriceRangeTool } from './DateAndPriceRange.js';
37
37
  export { CyclicLinesTool } from './CyclicLines.js';
38
38
  export { PriceLabelTool } from './PriceLabel.js';
39
+ export { NoteTool, CalloutTool, FlagTool, ArrowMarkTool, IconTool, ICON_GLYPHS, type IconGlyph } from './annotations.js';
40
+ export { BrushTool, HighlighterTool, PathTool, PolylineTool, CurveTool, ArcTool, curvePoints, arcPoints } from './freehand.js';
41
+ export { FibCirclesTool, FibArcsTool, FibWedgeTool, FibSpiralTool, PitchfanTool, GannSquareTool } from './fibGeometry.js';
42
+ export { ElliottImpulseTool, ElliottCorrectionTool, ElliottTriangleTool, ElliottDoubleComboTool, ElliottTripleComboTool, waveLabel, type WaveDegree, } from './ElliottWave.js';
43
+ export { ThreeDrivesTool, CypherPatternTool } from './patterns.js';
44
+ export { TimeCyclesTool, SineLineTool } from './cycles.js';
45
+ export { ForecastTool, ProjectionTool, BarsPatternTool, forecastOutcome, type ForecastOutcome } from './forecast.js';
39
46
  export declare function registerBuiltInDrawingTools(manager: DrawingManager): void;
40
47
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsC3D,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAyCzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { DrawingState, ViewportState } from '@tradecanvas/commons';
2
- /** Price text at the precision of `ref` (defaults to the price itself). */
3
- export declare function formatDrawingPrice(price: number, ref?: number): string;
2
+ /**
3
+ * Price text in the chart's price format when it has one (`viewport`), else
4
+ * at the precision of `ref` (defaults to the price itself).
5
+ */
6
+ export declare function formatDrawingPrice(price: number, ref?: number, viewport?: ViewportState): string;
4
7
  /** Signed price change with its percentage of `from`, e.g. "+12.50 (+1.25%)". */
5
- export declare function formatPriceChange(from: number, to: number): string;
8
+ export declare function formatPriceChange(from: number, to: number, viewport?: ViewportState): string;
6
9
  /** Compact duration, e.g. "3d 4h", "45m", "2w 1d". */
7
10
  export declare function formatDuration(ms: number): string;
8
11
  /** Whether anchors carry real timestamps (vs. legacy bar indices). */
@@ -1 +1 @@
1
- {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA2BxE,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAQ,GAAG,MAAM,CAErE;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAMlE;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgBjD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE9D;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAItG;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAG7G;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,MAAM,EAAE,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,GAAE,MAAM,GAAG,QAAQ,GAAG,OAAkB,EAC7C,KAAK,UAAO,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBzD;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlG"}
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA2BxE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAQ,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAE/F;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,MAAM,CAM5F;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgBjD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE9D;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAItG;AAED,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAG7G;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,MAAM,EAAE,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,GAAE,MAAM,GAAG,QAAQ,GAAG,OAAkB,EAC7C,KAAK,UAAO,GACX;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBzD;AAED,oEAAoE;AACpE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIlG"}
@@ -0,0 +1,8 @@
1
+ import { DrawingLevel, DrawingOptionDefs } from '@tradecanvas/commons';
2
+ /** Levels from ratios: `shown` visible, `hidden` listed but off until the user turns them on. */
3
+ export declare function levelList(shown: readonly number[], hidden?: readonly number[]): DrawingLevel[];
4
+ /** Extend a line past its anchors, to the edge of the chart. */
5
+ export declare function extendOptions(left?: boolean, right?: boolean): DrawingOptionDefs;
6
+ /** What the labels of horizontal Fibonacci levels show, and on which side. */
7
+ export declare const LEVEL_LABEL_OPTIONS: DrawingOptionDefs;
8
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,EAAE,CAKlG;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,UAAQ,EAAE,KAAK,UAAQ,GAAG,iBAAiB,CAK5E;AAED,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,iBASjC,CAAC"}
@@ -31,6 +31,7 @@ export declare class XABCDPatternTool extends PatternTool {
31
31
  type: "xabcdPattern";
32
32
  name: string;
33
33
  requiredAnchors: number;
34
+ fill: boolean;
34
35
  };
35
36
  protected readonly pointLabels: string[];
36
37
  protected readonly ratioLinks: RatioLink[];
@@ -42,6 +43,7 @@ export declare class ABCDPatternTool extends PatternTool {
42
43
  type: "abcdPattern";
43
44
  name: string;
44
45
  requiredAnchors: number;
46
+ fill: boolean;
45
47
  };
46
48
  protected readonly pointLabels: string[];
47
49
  protected readonly ratioLinks: RatioLink[];
@@ -55,10 +57,40 @@ export declare class HeadAndShouldersTool extends PatternTool {
55
57
  type: "headAndShoulders";
56
58
  name: string;
57
59
  requiredAnchors: number;
60
+ fill: boolean;
58
61
  };
59
62
  protected readonly pointLabels: string[];
60
63
  protected readonly triangles: [number, number, number][];
61
64
  protected renderExtras(ctx: CanvasRenderingContext2D, state: DrawingState, pts: Point[]): void;
62
65
  }
66
+ /**
67
+ * Three Drives: three pushes in one direction, each a Fibonacci extension of
68
+ * the pullback before it (six points: start, drive 1, pullback A, drive 2,
69
+ * pullback B, drive 3).
70
+ */
71
+ export declare class ThreeDrivesTool extends PatternTool {
72
+ descriptor: {
73
+ type: "threeDrives";
74
+ name: string;
75
+ requiredAnchors: number;
76
+ };
77
+ protected readonly pointLabels: string[];
78
+ protected readonly ratioLinks: RatioLink[];
79
+ }
80
+ /**
81
+ * Cypher: a harmonic pattern (X, A, B, C, D) whose C overshoots A, and whose
82
+ * D retraces X to C.
83
+ */
84
+ export declare class CypherPatternTool extends PatternTool {
85
+ descriptor: {
86
+ type: "cypherPattern";
87
+ name: string;
88
+ requiredAnchors: number;
89
+ fill: boolean;
90
+ };
91
+ protected readonly pointLabels: string[];
92
+ protected readonly ratioLinks: RatioLink[];
93
+ protected readonly triangles: [number, number, number][];
94
+ }
63
95
  export {};
64
96
  //# sourceMappingURL=patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,+EAA+E;AAC/E,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,uBAAe,WAAY,SAAQ,WAAW;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IAChD,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAE9D,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAqB5G,8DAA8D;IAC9D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAE3H,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQhG;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU;;;;MAAgF;IAC1F,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA6B;IAC3D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAKjD;IACF,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAA0B;CAC5F;AAED,0FAA0F;AAC1F,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;MAA8E;IACxF,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAwB;IACtD,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAGjD;CACH;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,UAAU;;;;MAAyF;IACnG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA+D;IAC7F,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAqC;cAEnF,YAAY,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;CAiBxG"}
1
+ {"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/patterns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,+EAA+E;AAC/E,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvB;AAED;;;;GAIG;AACH,uBAAe,WAAY,SAAQ,WAAW;IAC5C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAClD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IAChD,wEAAwE;IACxE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAE9D,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAqB5G,8DAA8D;IAC9D,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI;IAE3H,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQhG;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU;;;;;MAA4F;IACtG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA6B;IAC3D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAKjD;IACF,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAA0B;CAC5F;AAED,0FAA0F;AAC1F,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;;MAA0F;IACpG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAwB;IACtD,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAGjD;CACH;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,UAAU;;;;;MAAqG;IAC/G,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA+D;IAC7F,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAqC;cAEnF,YAAY,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;CAiBxG;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;MAAsF;IAChG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAAiC;IAC/D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAGjD;CACH;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,UAAU;;;;;MAA8F;IACxG,SAAS,CAAC,QAAQ,CAAC,WAAW,WAA6B;IAC3D,mBAA4B,UAAU,EAAE,SAAS,EAAE,CAIjD;IACF,mBAA4B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAA0B;CAC5F"}
@@ -0,0 +1,29 @@
1
+ import { DrawingLevel, DrawingState, ViewportState } from '@tradecanvas/commons';
2
+ /** A Fibonacci level at its price. */
3
+ export interface PriceLevel {
4
+ level: DrawingLevel;
5
+ price: number;
6
+ }
7
+ export interface PriceLevelLook {
8
+ /** Left and right ends of the lines, in pixels. */
9
+ x0: number;
10
+ x1: number;
11
+ showLevels: boolean;
12
+ showPrices: boolean;
13
+ labelPosition: 'left' | 'right';
14
+ /** Shade the band between each level and the next. */
15
+ background: boolean;
16
+ }
17
+ export declare function levelLabel(level: number, price: number, showLevels: boolean, showPrices: boolean, format?: (price: number) => string): string;
18
+ /**
19
+ * Horizontal Fibonacci levels: one line per level in its colour (the
20
+ * drawing's when it has none), optional bands between them, and labels.
21
+ * Levels 0 and 1 are drawn solid, the others a little lighter.
22
+ */
23
+ export declare function renderPriceLevels(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, levels: readonly PriceLevel[], look: PriceLevelLook, applyLineStyle: (color: string) => void): void;
24
+ /** Whether `point` is on one of the level lines. */
25
+ export declare function hitPriceLevels(point: {
26
+ x: number;
27
+ y: number;
28
+ }, viewport: ViewportState, levels: readonly PriceLevel[], x0: number, x1: number, tolerance: number): boolean;
29
+ //# sourceMappingURL=priceLevels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"priceLevels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/priceLevels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAItF,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,sDAAsD;IACtD,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,EACnB,UAAU,EAAE,OAAO,EACnB,MAAM,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAA4B,GACtD,MAAM,CAKR;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACtC,IAAI,CAqCN;AAED,oDAAoD;AACpD,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,GAChB,OAAO,CAGT"}
@@ -0,0 +1,39 @@
1
+ /** A box of wrapped text on the chart (a note, a callout), and its size. */
2
+ export interface Rect {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ }
8
+ export interface TextBoxLook {
9
+ fontSize: number;
10
+ /** Text colour. */
11
+ color: string;
12
+ /** Box fill; none when left out. */
13
+ fill?: string;
14
+ /** Box border; none when left out. */
15
+ stroke?: string;
16
+ /** Widest a line gets before it wraps (px). */
17
+ maxWidth: number;
18
+ }
19
+ export declare function boxFont(fontSize: number): string;
20
+ /**
21
+ * `text` in lines no wider than `maxWidth`: its own line breaks kept, words
22
+ * wrapped, a word longer than a line cut. At most `MAX_LINES` lines.
23
+ */
24
+ export declare function wrapText(measure: (text: string) => number, text: string, maxWidth: number): string[];
25
+ /** The box `lines` take at `look.fontSize`, its top-left at (x, y). */
26
+ export declare function textBoxRect(measure: (text: string) => number, lines: readonly string[], x: number, y: number, fontSize: number): Rect;
27
+ /** Draw wrapped text in a box with its top-left at (x, y). Returns the box. */
28
+ export declare function drawTextBox(ctx: CanvasRenderingContext2D, text: string, x: number, y: number, look: TextBoxLook): Rect;
29
+ export declare function inRect(point: {
30
+ x: number;
31
+ y: number;
32
+ }, rect: Rect, tolerance?: number): boolean;
33
+ /** Where each drawing's box was last drawn, for hit-testing without a canvas. */
34
+ export declare class BoxCache {
35
+ private boxes;
36
+ set(id: string, rect: Rect): void;
37
+ get(id: string): Rect | undefined;
38
+ }
39
+ //# sourceMappingURL=textBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textBox.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/textBox.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,MAAM,WAAW,IAAI;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAQD,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBpG;AA8BD,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIrI;AAED,+EAA+E;AAC/E,wBAAgB,WAAW,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAmBtH;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,SAAI,GAAG,OAAO,CAG1F;AAKD,iFAAiF;AACjF,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAA2B;IAExC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAKjC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;CAGlC"}