@vninvestcharts/widget 0.0.0-stage → 0.2.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 (676) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE.md +83 -0
  3. package/README.md +851 -3
  4. package/dist/AlertsModal-WKEUDTUZ.js +2 -0
  5. package/dist/ConnectedTradingPanel-KWJMIKTN.css +2 -0
  6. package/dist/ConnectedTradingPanel-XDKMOQY5.js +2 -0
  7. package/dist/PineEditorPanel-AUXB4FD3.js +2 -0
  8. package/dist/PineEditorPanel-V6YN2OTU.css +2 -0
  9. package/dist/RightSidebarDockHost-6FPZ6EKV.css +2 -0
  10. package/dist/RightSidebarDockHost-OBFXKSIY.js +2 -0
  11. package/dist/StrategyTesterPanel-6IUTS2P4.js +2 -0
  12. package/dist/StrategyTesterPanel-LEWEUMXP.css +2 -0
  13. package/dist/VolumeProfileWorker-UREKVPUE.js +189 -0
  14. package/dist/adapters/index.cjs +2532 -0
  15. package/dist/adapters/index.d.mts +673 -0
  16. package/dist/adapters/index.d.ts +673 -0
  17. package/dist/adapters/index.js +2521 -0
  18. package/dist/adapters/index.umd.js +2535 -0
  19. package/dist/chunk-5T6DGB3V.js +2 -0
  20. package/dist/chunk-66JBEGR3.js +4 -0
  21. package/dist/chunk-6D7DVBIK.js +2 -0
  22. package/dist/chunk-76E7CKUD.js +2 -0
  23. package/dist/chunk-AKWVXRQ6.js +2 -0
  24. package/dist/chunk-FHHSTO6Z.js +2 -0
  25. package/dist/chunk-HPL723JA.js +2 -0
  26. package/dist/chunk-NVGTF73S.js +2 -0
  27. package/dist/chunk-PNIB4OM3.js +2 -0
  28. package/dist/chunk-UKJ5AKQX.js +595 -0
  29. package/dist/chunk-UYJTX3SD.js +2 -0
  30. package/dist/combined.css +3068 -0
  31. package/dist/css-modules-manifest.json +297 -0
  32. package/dist/dist-Y6PZ2RN3.js +12 -0
  33. package/dist/drawing/index.cjs +53 -0
  34. package/dist/drawing/index.d.mts +2 -0
  35. package/dist/drawing/index.d.ts +2 -0
  36. package/dist/drawing/index.js +2 -0
  37. package/dist/drawing/index.umd.js +54 -0
  38. package/dist/dts/drawing-shim.d.ts +3 -0
  39. package/dist/dts/index.d.ts +31 -0
  40. package/dist/dts/lib/Chart.d.ts +31 -0
  41. package/dist/dts/lib/ChartContext.d.ts +10 -0
  42. package/dist/dts/lib/EventCapture.d.ts +3 -0
  43. package/dist/dts/lib/GenericChartComponent.d.ts +5 -0
  44. package/dist/dts/lib/GenericComponent.d.ts +124 -0
  45. package/dist/dts/lib/StockChartContext.d.ts +53 -0
  46. package/dist/dts/lib/adapters/BaseAdapter.d.ts +25 -0
  47. package/dist/dts/lib/adapters/BinanceAdapter.d.ts +51 -0
  48. package/dist/dts/lib/adapters/CSVAdapter.d.ts +17 -0
  49. package/dist/dts/lib/adapters/ContinuousContractAdapter.d.ts +63 -0
  50. package/dist/dts/lib/adapters/ContinuousContractTypes.d.ts +154 -0
  51. package/dist/dts/lib/adapters/DBAdapter.d.ts +16 -0
  52. package/dist/dts/lib/adapters/DataAdapter.d.ts +136 -0
  53. package/dist/dts/lib/adapters/DjangoVnstockAdapter.d.ts +15 -0
  54. package/dist/dts/lib/adapters/LocalCacheAdapter.d.ts +18 -0
  55. package/dist/dts/lib/adapters/MockAdapter.d.ts +22 -0
  56. package/dist/dts/lib/adapters/RESTAdapter.d.ts +16 -0
  57. package/dist/dts/lib/adapters/StockDataAdapter.d.ts +1 -0
  58. package/dist/dts/lib/adapters/UDFDataAdapter.d.ts +29 -0
  59. package/dist/dts/lib/adapters/VNStocksAdapter.d.ts +8 -0
  60. package/dist/dts/lib/adapters/WSAdapter.d.ts +30 -0
  61. package/dist/dts/lib/adapters/gapFixture.d.ts +71 -0
  62. package/dist/dts/lib/adapters/index.d.ts +15 -0
  63. package/dist/dts/lib/adapters/rollAlgorithms.d.ts +68 -0
  64. package/dist/dts/lib/advisory/AdvisoryPanel.d.ts +5 -0
  65. package/dist/dts/lib/alerts/AlertEvaluator.d.ts +5 -0
  66. package/dist/dts/lib/alerts/AlertManager.d.ts +123 -0
  67. package/dist/dts/lib/alerts/types.d.ts +58 -0
  68. package/dist/dts/lib/cache/cacheDebug.d.ts +3 -0
  69. package/dist/dts/lib/calendars/ExchangeCalendar.d.ts +23 -0
  70. package/dist/dts/lib/calendars/calendarRegistry.d.ts +10 -0
  71. package/dist/dts/lib/calendars/index.d.ts +3 -0
  72. package/dist/dts/lib/core/ChartPane.d.ts +8 -0
  73. package/dist/dts/lib/core/ChartSplitter.d.ts +70 -0
  74. package/dist/dts/lib/core/ChartTerminal.d.ts +12 -0
  75. package/dist/dts/lib/core/ErrorBoundary.d.ts +17 -0
  76. package/dist/dts/lib/core/IndicatorLegend.d.ts +47 -0
  77. package/dist/dts/lib/core/PaneHeader.d.ts +24 -0
  78. package/dist/dts/lib/core/PaneLabel.d.ts +8 -0
  79. package/dist/dts/lib/core/PaneSplitter.d.ts +9 -0
  80. package/dist/dts/lib/core/SeriesPicker.d.ts +10 -0
  81. package/dist/dts/lib/core/calculators/alignBarsByDate.d.ts +38 -0
  82. package/dist/dts/lib/core/calculators/buildIndicatorComputationPlan.d.ts +16 -0
  83. package/dist/dts/lib/core/calculators/calcCVDApprox.d.ts +6 -0
  84. package/dist/dts/lib/core/calculators/calcStrengthElder.d.ts +7 -0
  85. package/dist/dts/lib/core/calculators/calcWhaleApprox.d.ts +6 -0
  86. package/dist/dts/lib/core/calculators/computationHelpers.d.ts +12 -0
  87. package/dist/dts/lib/core/calculators/computeIndicatorComputationResult.d.ts +3 -0
  88. package/dist/dts/lib/core/calculators/computeMarketStructure.d.ts +8 -0
  89. package/dist/dts/lib/core/calculators/computeMomentum.d.ts +22 -0
  90. package/dist/dts/lib/core/calculators/computeMovingAverage.d.ts +15 -0
  91. package/dist/dts/lib/core/calculators/computeProfile.d.ts +9 -0
  92. package/dist/dts/lib/core/calculators/computeTrend.d.ts +10 -0
  93. package/dist/dts/lib/core/calculators/computeVolatility.d.ts +14 -0
  94. package/dist/dts/lib/core/calculators/computeVolumeFlow.d.ts +19 -0
  95. package/dist/dts/lib/core/calculators/enrichData.d.ts +7 -0
  96. package/dist/dts/lib/core/calculators/enrichDataWithCanonicalStore.d.ts +33 -0
  97. package/dist/dts/lib/core/calculators/exoticChartData.d.ts +140 -0
  98. package/dist/dts/lib/core/calculators/fixtures/mockData.d.ts +2 -0
  99. package/dist/dts/lib/core/calculators/indicatorComputation.d.ts +27 -0
  100. package/dist/dts/lib/core/calculators/indicatorComputationTypes.d.ts +249 -0
  101. package/dist/dts/lib/core/calculators/materializeIndicatorValues.d.ts +3 -0
  102. package/dist/dts/lib/core/calculators/normalizePrices.d.ts +36 -0
  103. package/dist/dts/lib/core/calculators/resolveCalculationOrder.d.ts +17 -0
  104. package/dist/dts/lib/core/calculators/types.d.ts +269 -0
  105. package/dist/dts/lib/core/canvas/ChartRenderContext.d.ts +14 -0
  106. package/dist/dts/lib/core/canvas/OverlayCanvas.d.ts +19 -0
  107. package/dist/dts/lib/core/context/ChartSyncContext.d.ts +21 -0
  108. package/dist/dts/lib/core/context/DataContext.d.ts +15 -0
  109. package/dist/dts/lib/core/context/PaneManagerContext.d.ts +10 -0
  110. package/dist/dts/lib/core/hooks/paneSizingHelpers.d.ts +13 -0
  111. package/dist/dts/lib/core/hooks/useCanvasResize.d.ts +8 -0
  112. package/dist/dts/lib/core/hooks/useChartTheme.d.ts +12 -0
  113. package/dist/dts/lib/core/hooks/useDynamicPanes.d.ts +155 -0
  114. package/dist/dts/lib/core/hooks/useIndicatorSets.d.ts +20 -0
  115. package/dist/dts/lib/core/hooks/usePaneManager.d.ts +39 -0
  116. package/dist/dts/lib/core/hooks/usePaneSizes.d.ts +52 -0
  117. package/dist/dts/lib/core/index.d.ts +41 -0
  118. package/dist/dts/lib/core/paneScaleSlotDomains.d.ts +3 -0
  119. package/dist/dts/lib/core/registry/SeriesRegistry.d.ts +22 -0
  120. package/dist/dts/lib/core/registry/filterPanesBySeriesTier.d.ts +43 -0
  121. package/dist/dts/lib/core/registry/marketStructure.d.ts +7 -0
  122. package/dist/dts/lib/core/registry/momentum.d.ts +20 -0
  123. package/dist/dts/lib/core/registry/movingAverage.d.ts +14 -0
  124. package/dist/dts/lib/core/registry/priceChartTypes.d.ts +16 -0
  125. package/dist/dts/lib/core/registry/profile.d.ts +8 -0
  126. package/dist/dts/lib/core/registry/registerAll.d.ts +1 -0
  127. package/dist/dts/lib/core/registry/registerPhaseOne.d.ts +3 -0
  128. package/dist/dts/lib/core/registry/registryCore.d.ts +77 -0
  129. package/dist/dts/lib/core/registry/trend.d.ts +11 -0
  130. package/dist/dts/lib/core/registry/volatility.d.ts +11 -0
  131. package/dist/dts/lib/core/registry/volumeFlow.d.ts +20 -0
  132. package/dist/dts/lib/core/replay/BarReplayController.d.ts +62 -0
  133. package/dist/dts/lib/core/replay/ReplayEventBus.d.ts +68 -0
  134. package/dist/dts/lib/core/replay/ReplayFillSimulator.d.ts +33 -0
  135. package/dist/dts/lib/core/replay/ReplayOrderBook.d.ts +24 -0
  136. package/dist/dts/lib/core/replay/ReplayPositionManager.d.ts +30 -0
  137. package/dist/dts/lib/core/replay/ReplaySessionAnalytics.d.ts +31 -0
  138. package/dist/dts/lib/core/replay/createReplayTradeMarkerPrimitives.d.ts +7 -0
  139. package/dist/dts/lib/core/replay/pnlUtils.d.ts +2 -0
  140. package/dist/dts/lib/core/replay/replayBrokerAdapters.d.ts +51 -0
  141. package/dist/dts/lib/core/replay/replayTradingTypes.d.ts +61 -0
  142. package/dist/dts/lib/core/scales/computeScales.d.ts +8 -0
  143. package/dist/dts/lib/core/seriesValueResolver.d.ts +27 -0
  144. package/dist/dts/lib/core/sets/builtins.d.ts +2 -0
  145. package/dist/dts/lib/core/sets/indicatorSetCodec.d.ts +15 -0
  146. package/dist/dts/lib/core/trading/AnalyticsEngine.d.ts +56 -0
  147. package/dist/dts/lib/core/trading/BrokerAPI.d.ts +40 -0
  148. package/dist/dts/lib/core/trading/ExecutionSimulator.d.ts +53 -0
  149. package/dist/dts/lib/core/trading/FillSettlement.d.ts +38 -0
  150. package/dist/dts/lib/core/trading/MarketDataPort.d.ts +41 -0
  151. package/dist/dts/lib/core/trading/MarketRules.d.ts +58 -0
  152. package/dist/dts/lib/core/trading/OrderManagementSystem.d.ts +57 -0
  153. package/dist/dts/lib/core/trading/PositionManager.d.ts +79 -0
  154. package/dist/dts/lib/core/trading/RiskEngine.d.ts +40 -0
  155. package/dist/dts/lib/core/trading/SettlementCalendar.d.ts +10 -0
  156. package/dist/dts/lib/core/trading/VirtualBrokerEngine.d.ts +92 -0
  157. package/dist/dts/lib/core/trading/orderMargin.d.ts +3 -0
  158. package/dist/dts/lib/core/trading/storage/InMemoryStorageAdapter.d.ts +10 -0
  159. package/dist/dts/lib/core/trading/storage/TradingStorage.d.ts +34 -0
  160. package/dist/dts/lib/core/trading/types.d.ts +99 -0
  161. package/dist/dts/lib/core/types/chart.d.ts +21 -0
  162. package/dist/dts/lib/core/types/indicator-catalog.d.ts +38 -0
  163. package/dist/dts/lib/core/types/indicator-set.d.ts +19 -0
  164. package/dist/dts/lib/core/types/pane-descriptor.d.ts +46 -0
  165. package/dist/dts/lib/core/types/seriesComponents.d.ts +15 -0
  166. package/dist/dts/lib/credentials/credentialStore.d.ts +93 -0
  167. package/dist/dts/lib/helper/SaveChartAsImage.d.ts +90 -0
  168. package/dist/dts/lib/indicator/defaultOptionsForAppearance.d.ts +105 -0
  169. package/dist/dts/lib/indicators/builtin/MTFWrapper.d.ts +3 -0
  170. package/dist/dts/lib/indicators/builtin/VolumeProfileWorker.d.ts +19 -0
  171. package/dist/dts/lib/indicators/builtin/ac.d.ts +4 -0
  172. package/dist/dts/lib/indicators/builtin/alligator.d.ts +5 -0
  173. package/dist/dts/lib/indicators/builtin/anchoredVwap.d.ts +5 -0
  174. package/dist/dts/lib/indicators/builtin/ao.d.ts +4 -0
  175. package/dist/dts/lib/indicators/builtin/bbi.d.ts +10 -0
  176. package/dist/dts/lib/indicators/builtin/bias.d.ts +4 -0
  177. package/dist/dts/lib/indicators/builtin/bollinger.d.ts +9 -0
  178. package/dist/dts/lib/indicators/builtin/brar.d.ts +4 -0
  179. package/dist/dts/lib/indicators/builtin/cci.d.ts +4 -0
  180. package/dist/dts/lib/indicators/builtin/chaikinOscillator.d.ts +14 -0
  181. package/dist/dts/lib/indicators/builtin/chaikinVol.d.ts +4 -0
  182. package/dist/dts/lib/indicators/builtin/ci.d.ts +4 -0
  183. package/dist/dts/lib/indicators/builtin/cmf.d.ts +4 -0
  184. package/dist/dts/lib/indicators/builtin/cr.d.ts +4 -0
  185. package/dist/dts/lib/indicators/builtin/cvd.d.ts +4 -0
  186. package/dist/dts/lib/indicators/builtin/deltaProfile.d.ts +5 -0
  187. package/dist/dts/lib/indicators/builtin/dema.d.ts +4 -0
  188. package/dist/dts/lib/indicators/builtin/dma.d.ts +4 -0
  189. package/dist/dts/lib/indicators/builtin/dmi.d.ts +4 -0
  190. package/dist/dts/lib/indicators/builtin/donchian.d.ts +5 -0
  191. package/dist/dts/lib/indicators/builtin/ema.d.ts +4 -0
  192. package/dist/dts/lib/indicators/builtin/emv.d.ts +4 -0
  193. package/dist/dts/lib/indicators/builtin/footprint.d.ts +5 -0
  194. package/dist/dts/lib/indicators/builtin/fractals.d.ts +5 -0
  195. package/dist/dts/lib/indicators/builtin/gator.d.ts +5 -0
  196. package/dist/dts/lib/indicators/builtin/hma.d.ts +4 -0
  197. package/dist/dts/lib/indicators/builtin/hv.d.ts +4 -0
  198. package/dist/dts/lib/indicators/builtin/ichimoku.d.ts +5 -0
  199. package/dist/dts/lib/indicators/builtin/kdj.d.ts +4 -0
  200. package/dist/dts/lib/indicators/builtin/keltner.d.ts +5 -0
  201. package/dist/dts/lib/indicators/builtin/ma.d.ts +10 -0
  202. package/dist/dts/lib/indicators/builtin/maRibbon.d.ts +5 -0
  203. package/dist/dts/lib/indicators/builtin/macd.d.ts +9 -0
  204. package/dist/dts/lib/indicators/builtin/marketProfile.d.ts +5 -0
  205. package/dist/dts/lib/indicators/builtin/mfi.d.ts +4 -0
  206. package/dist/dts/lib/indicators/builtin/mtm.d.ts +4 -0
  207. package/dist/dts/lib/indicators/builtin/obv.d.ts +10 -0
  208. package/dist/dts/lib/indicators/builtin/pivotHighLow.d.ts +5 -0
  209. package/dist/dts/lib/indicators/builtin/pivotStandard.d.ts +5 -0
  210. package/dist/dts/lib/indicators/builtin/psy.d.ts +4 -0
  211. package/dist/dts/lib/indicators/builtin/pvt.d.ts +4 -0
  212. package/dist/dts/lib/indicators/builtin/roc.d.ts +4 -0
  213. package/dist/dts/lib/indicators/builtin/rsi.d.ts +4 -0
  214. package/dist/dts/lib/indicators/builtin/sar.d.ts +10 -0
  215. package/dist/dts/lib/indicators/builtin/sma.d.ts +4 -0
  216. package/dist/dts/lib/indicators/builtin/smfi.d.ts +8 -0
  217. package/dist/dts/lib/indicators/builtin/stdDev.d.ts +4 -0
  218. package/dist/dts/lib/indicators/builtin/strengthRelative.d.ts +7 -0
  219. package/dist/dts/lib/indicators/builtin/supertrend.d.ts +5 -0
  220. package/dist/dts/lib/indicators/builtin/tema.d.ts +4 -0
  221. package/dist/dts/lib/indicators/builtin/trix.d.ts +4 -0
  222. package/dist/dts/lib/indicators/builtin/volOsc.d.ts +4 -0
  223. package/dist/dts/lib/indicators/builtin/volume.d.ts +4 -0
  224. package/dist/dts/lib/indicators/builtin/volumeProfile.d.ts +8 -0
  225. package/dist/dts/lib/indicators/builtin/vr.d.ts +10 -0
  226. package/dist/dts/lib/indicators/builtin/vwap.d.ts +5 -0
  227. package/dist/dts/lib/indicators/builtin/vwma.d.ts +4 -0
  228. package/dist/dts/lib/indicators/builtin/wma.d.ts +4 -0
  229. package/dist/dts/lib/indicators/builtin/wr.d.ts +10 -0
  230. package/dist/dts/lib/indicators/builtin/wyckoffWave.d.ts +15 -0
  231. package/dist/dts/lib/indicators/index.d.ts +63 -0
  232. package/dist/dts/lib/indicators/indicatorValueShapes.d.ts +15 -0
  233. package/dist/dts/lib/indicators/outputKeys.d.ts +50 -0
  234. package/dist/dts/lib/indicators/overlays/CVDIndicator.d.ts +26 -0
  235. package/dist/dts/lib/indicators/overlays/DarkFlowBadge.d.ts +19 -0
  236. package/dist/dts/lib/indicators/overlays/ExternalCVDOverlay.d.ts +15 -0
  237. package/dist/dts/lib/indicators/overlays/WhaleBubbleOverlay.d.ts +14 -0
  238. package/dist/dts/lib/indicators/overlays/WhaleMarketBubbleOverlay.d.ts +27 -0
  239. package/dist/dts/lib/indicators/overlays/whaleDetector.d.ts +66 -0
  240. package/dist/dts/lib/indicators/registry.d.ts +6 -0
  241. package/dist/dts/lib/indicators/types.d.ts +5 -0
  242. package/dist/dts/lib/indicators/utils.d.ts +259 -0
  243. package/dist/dts/lib/pinescript/PineCompiler.d.ts +34 -0
  244. package/dist/dts/lib/pinescript/ast.d.ts +73 -0
  245. package/dist/dts/lib/pinescript/compile.d.ts +40 -0
  246. package/dist/dts/lib/pinescript/grammar.d.ts +12 -0
  247. package/dist/dts/lib/pinescript/pine.worker.d.ts +1 -0
  248. package/dist/dts/lib/pinescript/pineBlocks.d.ts +54 -0
  249. package/dist/dts/lib/pinescript/pineBuiltins.d.ts +47 -0
  250. package/dist/dts/lib/pinescript/pineEnv.d.ts +46 -0
  251. package/dist/dts/lib/pinescript/pineMath.d.ts +13 -0
  252. package/dist/dts/lib/pinescript/pineParse.d.ts +25 -0
  253. package/dist/dts/lib/pinescript/pineStrings.d.ts +50 -0
  254. package/dist/dts/lib/pinescript/runtime.d.ts +5 -0
  255. package/dist/dts/lib/pinescript/scriptRegistry.d.ts +40 -0
  256. package/dist/dts/lib/pinescript/series-value.d.ts +64 -0
  257. package/dist/dts/lib/pinescript/vnscript-completion.d.ts +1 -0
  258. package/dist/dts/lib/pinescript/vnscript-grammar.d.ts +19 -0
  259. package/dist/dts/lib/scale/discontinuousTimeScaleProvider.d.ts +3 -0
  260. package/dist/dts/lib/scale/financeDiscontinuousScale.d.ts +15 -0
  261. package/dist/dts/lib/scale/index.d.ts +1 -0
  262. package/dist/dts/lib/scale/levels.d.ts +12 -0
  263. package/dist/dts/lib/series/AlternatingFillAreaSeries.d.ts +13 -0
  264. package/dist/dts/lib/series/AreaOnlySeries.d.ts +10 -0
  265. package/dist/dts/lib/series/AreaSeries.d.ts +30 -0
  266. package/dist/dts/lib/series/BarSeries.d.ts +40 -0
  267. package/dist/dts/lib/series/BollingerSeries.d.ts +11 -0
  268. package/dist/dts/lib/series/CandlestickSeries.d.ts +56 -0
  269. package/dist/dts/lib/series/CircleMarker.d.ts +28 -0
  270. package/dist/dts/lib/series/ElderRaySeries.d.ts +14 -0
  271. package/dist/dts/lib/series/FootprintSeries.d.ts +21 -0
  272. package/dist/dts/lib/series/GroupedBarSeries.d.ts +9 -0
  273. package/dist/dts/lib/series/HTFOverlaySeries.d.ts +32 -0
  274. package/dist/dts/lib/series/HistogramSeries.d.ts +51 -0
  275. package/dist/dts/lib/series/KagiSeries.d.ts +9 -0
  276. package/dist/dts/lib/series/LineBreakSeries.d.ts +28 -0
  277. package/dist/dts/lib/series/LineSeries.d.ts +54 -0
  278. package/dist/dts/lib/series/MACDSeries.d.ts +28 -0
  279. package/dist/dts/lib/series/MarketProfileSeries.d.ts +18 -0
  280. package/dist/dts/lib/series/OHLCSeries.d.ts +9 -0
  281. package/dist/dts/lib/series/OverlayBarSeries.d.ts +9 -0
  282. package/dist/dts/lib/series/PointAndFigureSeries.d.ts +45 -0
  283. package/dist/dts/lib/series/RSISeries.d.ts +38 -0
  284. package/dist/dts/lib/series/RenkoSeries.d.ts +9 -0
  285. package/dist/dts/lib/series/SARSeries.d.ts +10 -0
  286. package/dist/dts/lib/series/SVGComponent.d.ts +5 -0
  287. package/dist/dts/lib/series/ScatterSeries.d.ts +9 -0
  288. package/dist/dts/lib/series/SquareMarker.d.ts +28 -0
  289. package/dist/dts/lib/series/StackedBarSeries.d.ts +19 -0
  290. package/dist/dts/lib/series/StochasticSeries.d.ts +9 -0
  291. package/dist/dts/lib/series/StraightLine.d.ts +18 -0
  292. package/dist/dts/lib/series/TriangleMarker.d.ts +30 -0
  293. package/dist/dts/lib/series/VolumeProfileSeries.d.ts +9 -0
  294. package/dist/dts/lib/series/index.d.ts +28 -0
  295. package/dist/dts/lib/strategy/BrokerSimulator.d.ts +11 -0
  296. package/dist/dts/lib/strategy/types.d.ts +35 -0
  297. package/dist/dts/lib/tape/TapePanel.d.ts +5 -0
  298. package/dist/dts/lib/types/adapter.d.ts +1 -0
  299. package/dist/dts/lib/types/index.d.ts +5 -0
  300. package/dist/dts/lib/types/indicator.d.ts +11 -0
  301. package/dist/dts/lib/types/ohlcv.d.ts +1 -0
  302. package/dist/dts/lib/types/pane.d.ts +23 -0
  303. package/dist/dts/lib/types/runtime.d.ts +11 -0
  304. package/dist/dts/lib/types/vninvest.d.ts +320 -0
  305. package/dist/dts/lib/types.d.ts +45 -0
  306. package/dist/dts/lib/utils/ChartDataUtil.d.ts +26 -0
  307. package/dist/dts/lib/utils/PureComponent.d.ts +5 -0
  308. package/dist/dts/lib/utils/accumulatingWindow.d.ts +1 -0
  309. package/dist/dts/lib/utils/axisPriceFormat.d.ts +6 -0
  310. package/dist/dts/lib/utils/barWidth.d.ts +14 -0
  311. package/dist/dts/lib/utils/identity.d.ts +1 -0
  312. package/dist/dts/lib/utils/index.d.ts +70 -0
  313. package/dist/dts/lib/utils/logger.d.ts +28 -0
  314. package/dist/dts/lib/utils/mappedSlidingWindow.d.ts +1 -0
  315. package/dist/dts/lib/utils/merge.d.ts +6 -0
  316. package/dist/dts/lib/utils/noop.d.ts +1 -0
  317. package/dist/dts/lib/utils/rebind.d.ts +1 -0
  318. package/dist/dts/lib/utils/shallowEqual.d.ts +1 -0
  319. package/dist/dts/lib/utils/slidingWindow.d.ts +1 -0
  320. package/dist/dts/lib/utils/storage.d.ts +32 -0
  321. package/dist/dts/lib/utils/strokeDasharray.d.ts +3 -0
  322. package/dist/dts/lib/utils/timezoneFormatter.d.ts +14 -0
  323. package/dist/dts/lib/utils/zipper.d.ts +4 -0
  324. package/dist/dts/public-api.d.ts +31 -0
  325. package/dist/dts/widget/BackfillWorkerFlags.d.ts +12 -0
  326. package/dist/dts/widget/CanaryRollbackHelper.d.ts +95 -0
  327. package/dist/dts/widget/CanaryRolloutConfig.d.ts +100 -0
  328. package/dist/dts/widget/DrawingPriceLabelsOverlay.d.ts +20 -0
  329. package/dist/dts/widget/ForkDrawingsOverlay.d.ts +16 -0
  330. package/dist/dts/widget/MeasurementOverlay.d.ts +24 -0
  331. package/dist/dts/widget/VNInvestCharts.d.ts +5 -0
  332. package/dist/dts/widget/VNInvestChartsProps.d.ts +302 -0
  333. package/dist/dts/widget/VNInvestMultiCharts.d.ts +8 -0
  334. package/dist/dts/widget/VNInvestMultiCharts.types.d.ts +130 -0
  335. package/dist/dts/widget/WidgetEmptyState.d.ts +11 -0
  336. package/dist/dts/widget/WidgetErrorBoundary.d.ts +26 -0
  337. package/dist/dts/widget/adapters/ContinuousFuturesStockDataAdapter.d.ts +18 -0
  338. package/dist/dts/widget/adapters/DataProviderAdapterWrapper.d.ts +14 -0
  339. package/dist/dts/widget/adapters/MultiSourceDataAdapter.d.ts +24 -0
  340. package/dist/dts/widget/adapters/VNInvestClient.d.ts +161 -0
  341. package/dist/dts/widget/adapters/VNInvestDataAdapter.d.ts +77 -0
  342. package/dist/dts/widget/adapters/VNInvestWebSocketClient.d.ts +79 -0
  343. package/dist/dts/widget/adapters/barsPagingPolicy.d.ts +18 -0
  344. package/dist/dts/widget/adapters/corporateEvents.d.ts +13 -0
  345. package/dist/dts/widget/adapters/index.d.ts +20 -0
  346. package/dist/dts/widget/adapters/nativeShapes.d.ts +32 -0
  347. package/dist/dts/widget/adapters/watchlistRealtimeSync.d.ts +16 -0
  348. package/dist/dts/widget/alerts/DrawingAlertsHost.d.ts +18 -0
  349. package/dist/dts/widget/alerts/useDrawingAlerts.d.ts +37 -0
  350. package/dist/dts/widget/canaryBarFiltering.d.ts +35 -0
  351. package/dist/dts/widget/capabilities/CapabilityResolver.d.ts +71 -0
  352. package/dist/dts/widget/capabilities/capabilityProbe.d.ts +28 -0
  353. package/dist/dts/widget/capabilities/useTierGatedFeatures.d.ts +48 -0
  354. package/dist/dts/widget/components/BottomPanelHost.d.ts +80 -0
  355. package/dist/dts/widget/components/BottomPanelSplitter.d.ts +15 -0
  356. package/dist/dts/widget/components/CapabilityGate.d.ts +65 -0
  357. package/dist/dts/widget/components/ChartDiagOverlay.d.ts +31 -0
  358. package/dist/dts/widget/components/ConfirmDialog.d.ts +12 -0
  359. package/dist/dts/widget/components/DowngradeBanner.d.ts +9 -0
  360. package/dist/dts/widget/components/ForkPaneSeparators.d.ts +11 -0
  361. package/dist/dts/widget/components/ForkPaneTooltips.d.ts +23 -0
  362. package/dist/dts/widget/components/ForkXAxisOverlay.d.ts +11 -0
  363. package/dist/dts/widget/components/ForkYAxisCrosshairLabels.d.ts +9 -0
  364. package/dist/dts/widget/components/LayoutDesigner.d.ts +26 -0
  365. package/dist/dts/widget/components/PremiumFeatureGate.d.ts +10 -0
  366. package/dist/dts/widget/components/ShortcutHelpModal.d.ts +44 -0
  367. package/dist/dts/widget/components/SystemMenu.d.ts +66 -0
  368. package/dist/dts/widget/components/Toast.d.ts +20 -0
  369. package/dist/dts/widget/components/canvas/BarCountdownBadge.d.ts +8 -0
  370. package/dist/dts/widget/components/canvas/ChartA11ySummary.d.ts +40 -0
  371. package/dist/dts/widget/components/canvas/ChartStatusLine.d.ts +39 -0
  372. package/dist/dts/widget/components/canvas/PricePaneHeader.d.ts +24 -0
  373. package/dist/dts/widget/components/canvas/PriceScaleMenu.d.ts +27 -0
  374. package/dist/dts/widget/components/canvas/TimeAxisScrollbar.d.ts +18 -0
  375. package/dist/dts/widget/components/common/Icons.d.ts +67 -0
  376. package/dist/dts/widget/components/dock/DataWindow.d.ts +7 -0
  377. package/dist/dts/widget/components/dock/DockUpgradeNudge.d.ts +10 -0
  378. package/dist/dts/widget/components/dock/RightSidebarDockHost.d.ts +57 -0
  379. package/dist/dts/widget/components/dock/WatchlistPanel.d.ts +7 -0
  380. package/dist/dts/widget/components/dock/WorkspaceRightDockSlot.d.ts +46 -0
  381. package/dist/dts/widget/components/dock/dockAccess.d.ts +20 -0
  382. package/dist/dts/widget/components/dock/drawingDockContentBuilders.d.ts +29 -0
  383. package/dist/dts/widget/components/drawing/DrawingDock.d.ts +47 -0
  384. package/dist/dts/widget/components/drawing/DrawingInspector.d.ts +94 -0
  385. package/dist/dts/widget/components/drawing/DrawingListPanel.d.ts +62 -0
  386. package/dist/dts/widget/components/drawing/DrawingSemanticPointLegend.d.ts +14 -0
  387. package/dist/dts/widget/components/drawing/FloatingDrawingInspector.d.ts +18 -0
  388. package/dist/dts/widget/components/drawing/IconPickerPanel.d.ts +5 -0
  389. package/dist/dts/widget/components/drawing/InlineTextEditor.d.ts +20 -0
  390. package/dist/dts/widget/components/drawing/PatternScanPanel.d.ts +27 -0
  391. package/dist/dts/widget/components/drawing/TemplateManagerPanel.d.ts +18 -0
  392. package/dist/dts/widget/components/events/CorporateEventsOverlay.d.ts +23 -0
  393. package/dist/dts/widget/components/events/EventMarkerIcon.d.ts +6 -0
  394. package/dist/dts/widget/components/footer/ChartFooter.d.ts +26 -0
  395. package/dist/dts/widget/components/footer/MultiChartsFooter.d.ts +37 -0
  396. package/dist/dts/widget/components/footer/TimeframeFooter.d.ts +25 -0
  397. package/dist/dts/widget/components/footer/useBarCountdown.d.ts +5 -0
  398. package/dist/dts/widget/components/header/OHLCHeader.d.ts +72 -0
  399. package/dist/dts/widget/components/layout/DrawingConflictNotice.d.ts +4 -0
  400. package/dist/dts/widget/components/layout/GridContainer.d.ts +70 -0
  401. package/dist/dts/widget/components/layout/GridSlotErrorBoundary.d.ts +17 -0
  402. package/dist/dts/widget/components/layout/Splitter.d.ts +23 -0
  403. package/dist/dts/widget/components/layout/gridSplitterMath.d.ts +40 -0
  404. package/dist/dts/widget/components/layout/useGridSplitterDrag.d.ts +18 -0
  405. package/dist/dts/widget/components/mobile/MobileChartCarousel.d.ts +11 -0
  406. package/dist/dts/widget/components/mobile/MobileToolbar.d.ts +29 -0
  407. package/dist/dts/widget/components/overlays/AdvisoryPanel.d.ts +25 -0
  408. package/dist/dts/widget/components/overlays/TapePanel.d.ts +25 -0
  409. package/dist/dts/widget/components/overlays/WhalePanel.d.ts +5 -0
  410. package/dist/dts/widget/components/panels/AdvisoryPanel.d.ts +25 -0
  411. package/dist/dts/widget/components/panels/PineEditorPanel.d.ts +18 -0
  412. package/dist/dts/widget/components/panels/StrategyTesterPanel.d.ts +7 -0
  413. package/dist/dts/widget/components/panels/TapePanel.d.ts +17 -0
  414. package/dist/dts/widget/components/panels/index.d.ts +8 -0
  415. package/dist/dts/widget/components/replay/FloatingReplayToolbar.d.ts +24 -0
  416. package/dist/dts/widget/components/replay/ReplayCutOverlay.d.ts +8 -0
  417. package/dist/dts/widget/components/search/SymbolCompareModal.d.ts +24 -0
  418. package/dist/dts/widget/components/search/SymbolSearchModal.d.ts +12 -0
  419. package/dist/dts/widget/components/search/VNSymbolSearch.d.ts +83 -0
  420. package/dist/dts/widget/components/settings/AlertsModal.d.ts +74 -0
  421. package/dist/dts/widget/components/settings/SettingsContext.d.ts +58 -0
  422. package/dist/dts/widget/components/settings/SettingsModal.d.ts +78 -0
  423. package/dist/dts/widget/components/settings/SettingsRangeSlider.d.ts +17 -0
  424. package/dist/dts/widget/components/settings/SnapshotPreviewModal.d.ts +16 -0
  425. package/dist/dts/widget/components/settings/WorkspaceSettingsContext.d.ts +27 -0
  426. package/dist/dts/widget/components/settings/helpers/seriesFormatters.d.ts +11 -0
  427. package/dist/dts/widget/components/settings/model/appearancePayload.d.ts +31 -0
  428. package/dist/dts/widget/components/settings/model/chartSettingsSchema.d.ts +100 -0
  429. package/dist/dts/widget/components/settings/model/defaultSettings.d.ts +5 -0
  430. package/dist/dts/widget/components/settings/model/indicatorShare.d.ts +29 -0
  431. package/dist/dts/widget/components/settings/storageKeys.d.ts +29 -0
  432. package/dist/dts/widget/components/settings/tabs/AppearanceSettingsTab.d.ts +5 -0
  433. package/dist/dts/widget/components/settings/tabs/IndicatorParamsForm.d.ts +12 -0
  434. package/dist/dts/widget/components/settings/tabs/IndicatorsSettingsTab.d.ts +34 -0
  435. package/dist/dts/widget/components/settings/tabs/LicensingSettingsTab.d.ts +5 -0
  436. package/dist/dts/widget/components/settings/tabs/PanesLayoutSettingsTab.d.ts +11 -0
  437. package/dist/dts/widget/components/settings/tabs/ResetSettingsTab.d.ts +8 -0
  438. package/dist/dts/widget/components/settings/tabs/ScalesSettingsTab.d.ts +5 -0
  439. package/dist/dts/widget/components/settings/tabs/StatusLineSettingsTab.d.ts +5 -0
  440. package/dist/dts/widget/components/settings/tabs/SymbolSettingsTab.d.ts +5 -0
  441. package/dist/dts/widget/components/settings/tabs/ThemePaletteSettingsTab.d.ts +9 -0
  442. package/dist/dts/widget/components/settings/tabs/TradingEventsSettingsTab.d.ts +8 -0
  443. package/dist/dts/widget/components/toolbar/DrawingToolIcon.d.ts +10 -0
  444. package/dist/dts/widget/components/toolbar/DrawingToolbar.d.ts +33 -0
  445. package/dist/dts/widget/components/toolbar/FloatingChartBar.d.ts +20 -0
  446. package/dist/dts/widget/components/toolbar/FloatingFavoritesBar.d.ts +18 -0
  447. package/dist/dts/widget/components/toolbar/MultiChartTopbar.d.ts +47 -0
  448. package/dist/dts/widget/components/toolbar/UnifiedDrawingToolbar.d.ts +28 -0
  449. package/dist/dts/widget/components/trading/PaperTradePanel.d.ts +41 -0
  450. package/dist/dts/widget/components/workspace/WorkspaceToolbar.d.ts +25 -0
  451. package/dist/dts/widget/config/toolGroups.d.ts +11 -0
  452. package/dist/dts/widget/config/toolShortcuts.d.ts +27 -0
  453. package/dist/dts/widget/constants/comparison.d.ts +1 -0
  454. package/dist/dts/widget/constants/symbolSearch.d.ts +14 -0
  455. package/dist/dts/widget/constants/vn30.d.ts +7 -0
  456. package/dist/dts/widget/context/DataProviderContext.d.ts +7 -0
  457. package/dist/dts/widget/context/HoverEmitter.d.ts +50 -0
  458. package/dist/dts/widget/context/SyncContextShare.d.ts +11 -0
  459. package/dist/dts/widget/context/VNInvestChartsConfigContext.d.ts +24 -0
  460. package/dist/dts/widget/context/VNInvestChartsContext.d.ts +70 -0
  461. package/dist/dts/widget/context/VNInvestChartsStateContext.d.ts +50 -0
  462. package/dist/dts/widget/context/WidgetI18nContext.d.ts +25 -0
  463. package/dist/dts/widget/context/WorkspaceLiveTradingContext.d.ts +30 -0
  464. package/dist/dts/widget/context/WorkspacePaperVisibilityContext.d.ts +23 -0
  465. package/dist/dts/widget/context/WorkspaceReplayTradingContext.d.ts +36 -0
  466. package/dist/dts/widget/contexts/SaaSFeatureContext.d.ts +23 -0
  467. package/dist/dts/widget/data/DataEnvelope.d.ts +100 -0
  468. package/dist/dts/widget/drawingPriceLabelInputs.d.ts +3 -0
  469. package/dist/dts/widget/export/chartCsv.d.ts +59 -0
  470. package/dist/dts/widget/forkAnchorReconciliation.d.ts +6 -0
  471. package/dist/dts/widget/forkInteractionHelpers.d.ts +69 -0
  472. package/dist/dts/widget/grid/DeviceProfiles.d.ts +49 -0
  473. package/dist/dts/widget/grid/GridChartRegistry.d.ts +9 -0
  474. package/dist/dts/widget/grid/MemoryBudgetManager.d.ts +63 -0
  475. package/dist/dts/widget/grid/PerformanceMonitor.d.ts +70 -0
  476. package/dist/dts/widget/grid/customPresets.d.ts +42 -0
  477. package/dist/dts/widget/grid/presets.d.ts +18 -0
  478. package/dist/dts/widget/grid/types.d.ts +39 -0
  479. package/dist/dts/widget/history/BackfillDedupContext.d.ts +63 -0
  480. package/dist/dts/widget/history/RequestCoordinator.d.ts +59 -0
  481. package/dist/dts/widget/history/SharedBarStoreContext.d.ts +22 -0
  482. package/dist/dts/widget/history/cache/IndexedDBCacheMatrix.d.ts +16 -0
  483. package/dist/dts/widget/history/cache/LocalCacheMatrix.d.ts +86 -0
  484. package/dist/dts/widget/history/cache/index.d.ts +3 -0
  485. package/dist/dts/widget/history/chunkStore.d.ts +77 -0
  486. package/dist/dts/widget/history/externalBarsNormalization.d.ts +9 -0
  487. package/dist/dts/widget/history/externalBarsNormalization.worker.d.ts +1 -0
  488. package/dist/dts/widget/history/externalBarsNormalizationAsync.d.ts +25 -0
  489. package/dist/dts/widget/history/historyDataUtils.d.ts +82 -0
  490. package/dist/dts/widget/history/historyWindowPlanner.d.ts +89 -0
  491. package/dist/dts/widget/history/inflightController.d.ts +15 -0
  492. package/dist/dts/widget/history/requestCoalescing.d.ts +10 -0
  493. package/dist/dts/widget/history/sessionGuards.d.ts +3 -0
  494. package/dist/dts/widget/history/singleWriterLane.d.ts +4 -0
  495. package/dist/dts/widget/history/useExternalBarsNormalization.d.ts +5 -0
  496. package/dist/dts/widget/hooks/ShortcutManager.d.ts +65 -0
  497. package/dist/dts/widget/hooks/overlays/PaneHeaderWrapper.d.ts +11 -0
  498. package/dist/dts/widget/hooks/overlays/overlayHelpers.d.ts +60 -0
  499. package/dist/dts/widget/hooks/overlays/useDrawingDockNode.d.ts +15 -0
  500. package/dist/dts/widget/hooks/overlays/useLegendChrome.d.ts +36 -0
  501. package/dist/dts/widget/hooks/overlays/useMultiSelectActions.d.ts +22 -0
  502. package/dist/dts/widget/hooks/overlays/useSidebarResize.d.ts +13 -0
  503. package/dist/dts/widget/hooks/resolveEntitlement.d.ts +73 -0
  504. package/dist/dts/widget/hooks/useBottomPanelBehavior.d.ts +38 -0
  505. package/dist/dts/widget/hooks/useBottomPanelHeight.d.ts +39 -0
  506. package/dist/dts/widget/hooks/useCanvasTheme.d.ts +24 -0
  507. package/dist/dts/widget/hooks/useChartImperativeHandle.d.ts +57 -0
  508. package/dist/dts/widget/hooks/useClockAdapter.d.ts +11 -0
  509. package/dist/dts/widget/hooks/useComparisonState.d.ts +29 -0
  510. package/dist/dts/widget/hooks/useDialogFocus.d.ts +25 -0
  511. package/dist/dts/widget/hooks/useDrawingToolShortcuts.d.ts +16 -0
  512. package/dist/dts/widget/hooks/useFeatureGate.d.ts +28 -0
  513. package/dist/dts/widget/hooks/useFloatingChartBar.d.ts +33 -0
  514. package/dist/dts/widget/hooks/useForkRuntime.d.ts +155 -0
  515. package/dist/dts/widget/hooks/useIndicatorsShareApplier.d.ts +1 -0
  516. package/dist/dts/widget/hooks/useIntersectionObserver.d.ts +49 -0
  517. package/dist/dts/widget/hooks/useKeyboardAdapter.d.ts +9 -0
  518. package/dist/dts/widget/hooks/useLayoutHistory.d.ts +8 -0
  519. package/dist/dts/widget/hooks/useLicenseDiagnostics.d.ts +15 -0
  520. package/dist/dts/widget/hooks/useMultiChartReplaySync.d.ts +31 -0
  521. package/dist/dts/widget/hooks/useMultiWorkspacePersistence.d.ts +49 -0
  522. package/dist/dts/widget/hooks/usePaperTradeConfig.d.ts +27 -0
  523. package/dist/dts/widget/hooks/usePaperTradeInteraction.d.ts +27 -0
  524. package/dist/dts/widget/hooks/usePatTierAuthentication.d.ts +42 -0
  525. package/dist/dts/widget/hooks/usePineScriptRestore.d.ts +23 -0
  526. package/dist/dts/widget/hooks/usePortalAdapter.d.ts +8 -0
  527. package/dist/dts/widget/hooks/useRecentSymbols.d.ts +3 -0
  528. package/dist/dts/widget/hooks/useReplayState.d.ts +28 -0
  529. package/dist/dts/widget/hooks/useReplayTrading.d.ts +26 -0
  530. package/dist/dts/widget/hooks/useResizeAdapter.d.ts +13 -0
  531. package/dist/dts/widget/hooks/useScaleOverlays.d.ts +62 -0
  532. package/dist/dts/widget/hooks/useScriptPersistence.d.ts +72 -0
  533. package/dist/dts/widget/hooks/useSymbolSearch.d.ts +30 -0
  534. package/dist/dts/widget/hooks/useViewportBreakpoint.d.ts +15 -0
  535. package/dist/dts/widget/hooks/useWidgetCoordinateBridge.d.ts +70 -0
  536. package/dist/dts/widget/hooks/useWidgetData.d.ts +138 -0
  537. package/dist/dts/widget/hooks/useWidgetDataBackfill.d.ts +67 -0
  538. package/dist/dts/widget/hooks/useWidgetDataEnrichment.d.ts +32 -0
  539. package/dist/dts/widget/hooks/useWidgetDrawings.d.ts +38 -0
  540. package/dist/dts/widget/hooks/useWidgetForkInteraction.d.ts +68 -0
  541. package/dist/dts/widget/hooks/useWidgetInteractionActions.d.ts +36 -0
  542. package/dist/dts/widget/hooks/useWidgetOverlays.d.ts +190 -0
  543. package/dist/dts/widget/hooks/useWidgetRuntime.d.ts +20 -0
  544. package/dist/dts/widget/hooks/useWidgetSettings.d.ts +244 -0
  545. package/dist/dts/widget/hooks/useWidgetWorkspaceIO.d.ts +24 -0
  546. package/dist/dts/widget/hooks/useWorkspaceDockPanels.d.ts +11 -0
  547. package/dist/dts/widget/hooks/useWorkspaceLiveTrading.d.ts +28 -0
  548. package/dist/dts/widget/hooks/useWorkspaceReplayTrading.d.ts +22 -0
  549. package/dist/dts/widget/i18n/a11y.messages.en.d.ts +8 -0
  550. package/dist/dts/widget/i18n/a11y.messages.vi.d.ts +3 -0
  551. package/dist/dts/widget/i18n/capability.messages.en.d.ts +7 -0
  552. package/dist/dts/widget/i18n/capability.messages.vi.d.ts +3 -0
  553. package/dist/dts/widget/i18n/dock.messages.en.d.ts +2 -0
  554. package/dist/dts/widget/i18n/dock.messages.vi.d.ts +2 -0
  555. package/dist/dts/widget/i18n/messages.en.d.ts +2 -0
  556. package/dist/dts/widget/i18n/messages.licensing.d.ts +48 -0
  557. package/dist/dts/widget/i18n/messages.vi.d.ts +2 -0
  558. package/dist/dts/widget/i18n/trading.messages.en.d.ts +2 -0
  559. package/dist/dts/widget/i18n/trading.messages.vi.d.ts +2 -0
  560. package/dist/dts/widget/i18n/types.d.ts +3 -0
  561. package/dist/dts/widget/iframe/builtInAdapters.d.ts +63 -0
  562. package/dist/dts/widget/iframe/host-entry.d.ts +11 -0
  563. package/dist/dts/widget/iframe/hostSDK.d.ts +151 -0
  564. package/dist/dts/widget/iframe/iframeBridge.d.ts +165 -0
  565. package/dist/dts/widget/iframe/iframeEntry.d.ts +52 -0
  566. package/dist/dts/widget/iframe/iframeFrame.d.ts +15 -0
  567. package/dist/dts/widget/iframe/iframeQuotes.d.ts +20 -0
  568. package/dist/dts/widget/iframe/messageProtocol.d.ts +545 -0
  569. package/dist/dts/widget/iframe/quoteHub.d.ts +20 -0
  570. package/dist/dts/widget/iframe/useVNInvestChartsHost.d.ts +8 -0
  571. package/dist/dts/widget/iife-entry.d.ts +61 -0
  572. package/dist/dts/widget/iifeWidgetInstance.d.ts +60 -0
  573. package/dist/dts/widget/index.d.ts +56 -0
  574. package/dist/dts/widget/multiChartDefaults.d.ts +18 -0
  575. package/dist/dts/widget/paneInteractionUtils.d.ts +25 -0
  576. package/dist/dts/widget/patterns/autoPatternScan.d.ts +77 -0
  577. package/dist/dts/widget/patterns/patternDrawingFactory.d.ts +87 -0
  578. package/dist/dts/widget/plugin/ProPluginRegistry.d.ts +40 -0
  579. package/dist/dts/widget/runtime/ChartScaleAdapter.d.ts +73 -0
  580. package/dist/dts/widget/runtime/ChartSerializer.d.ts +12 -0
  581. package/dist/dts/widget/runtime/ForkRuntimeAdapter.d.ts +19 -0
  582. package/dist/dts/widget/runtime/IRuntimeEngine.d.ts +40 -0
  583. package/dist/dts/widget/runtime/WorkspaceSerializer.d.ts +31 -0
  584. package/dist/dts/widget/runtimePolicy.d.ts +36 -0
  585. package/dist/dts/widget/styles/injectStyles.d.ts +9 -0
  586. package/dist/dts/widget/theme/ThemeConfig.d.ts +21 -0
  587. package/dist/dts/widget/theme/applyTheme.d.ts +3 -0
  588. package/dist/dts/widget/trading/chart/DraggableOrderHandles.d.ts +15 -0
  589. package/dist/dts/widget/trading/chart/InteractivePositionOverlay.d.ts +19 -0
  590. package/dist/dts/widget/trading/chart/PendingOrderOverlay.d.ts +11 -0
  591. package/dist/dts/widget/trading/chart/QuickTradingHeader.d.ts +20 -0
  592. package/dist/dts/widget/trading/chart/TradingChartSurface.d.ts +8 -0
  593. package/dist/dts/widget/trading/chart/TradingOverlaysHost.d.ts +28 -0
  594. package/dist/dts/widget/trading/chart/priceTicks.d.ts +1 -0
  595. package/dist/dts/widget/trading/chart/useFloatingDrag.d.ts +40 -0
  596. package/dist/dts/widget/trading/chart/useTradingHotkeys.d.ts +21 -0
  597. package/dist/dts/widget/trading/config/paperRuntimeConfig.d.ts +53 -0
  598. package/dist/dts/widget/trading/context/PaperPanelRegistry.d.ts +45 -0
  599. package/dist/dts/widget/trading/context/TradingContext.d.ts +80 -0
  600. package/dist/dts/widget/trading/context/WorkspaceTradingSync.d.ts +24 -0
  601. package/dist/dts/widget/trading/hooks/usePaperRuntimeConfig.d.ts +36 -0
  602. package/dist/dts/widget/trading/index.d.ts +5 -0
  603. package/dist/dts/widget/trading/panel/AccountSummaryTab.d.ts +7 -0
  604. package/dist/dts/widget/trading/panel/ActiveChartPaperPanel.d.ts +26 -0
  605. package/dist/dts/widget/trading/panel/ConnectedTradingPanel.d.ts +3 -0
  606. package/dist/dts/widget/trading/panel/HistoryTab.d.ts +5 -0
  607. package/dist/dts/widget/trading/panel/MarketFallbackBanner.d.ts +4 -0
  608. package/dist/dts/widget/trading/panel/OrdersTab.d.ts +8 -0
  609. package/dist/dts/widget/trading/panel/PaperCapitalDialog.d.ts +8 -0
  610. package/dist/dts/widget/trading/panel/PaperSettingsModal.d.ts +17 -0
  611. package/dist/dts/widget/trading/panel/PositionsTab.d.ts +15 -0
  612. package/dist/dts/widget/trading/panel/TradeHistoryTab.d.ts +5 -0
  613. package/dist/dts/widget/trading/panel/TradingBottomPanel.d.ts +36 -0
  614. package/dist/dts/widget/trading/panel/TradingLogTab.d.ts +8 -0
  615. package/dist/dts/widget/trading/panel/TradingPanelHeader.d.ts +17 -0
  616. package/dist/dts/widget/trading/panel/csvExport.d.ts +18 -0
  617. package/dist/dts/widget/trading/ticket/ConnectedTradingDockPanel.d.ts +5 -0
  618. package/dist/dts/widget/trading/ticket/OrderTicketForm.d.ts +31 -0
  619. package/dist/dts/widget/trading/ticket/OrderTicketModal.d.ts +29 -0
  620. package/dist/dts/widget/trading/ticket/RegistryTradingDockPanel.d.ts +9 -0
  621. package/dist/dts/widget/trading/ticket/RiskCalculatorView.d.ts +9 -0
  622. package/dist/dts/widget/trading/ticket/TradingDockPanel.d.ts +36 -0
  623. package/dist/dts/widget/trading/ticket/orderTicketModel.d.ts +49 -0
  624. package/dist/dts/widget/trading/visibility/paperVisibility.d.ts +38 -0
  625. package/dist/dts/widget/types/dataProvider.d.ts +8 -0
  626. package/dist/dts/widget/types/fullChartHandle.d.ts +25 -0
  627. package/dist/dts/widget/types/saas.d.ts +83 -0
  628. package/dist/dts/widget/types/symbolSearch.d.ts +9 -0
  629. package/dist/dts/widget/types/watchlist.d.ts +26 -0
  630. package/dist/dts/widget/utils/axisHit.d.ts +16 -0
  631. package/dist/dts/widget/utils/chartRange.d.ts +12 -0
  632. package/dist/dts/widget/utils/chartTypeOptions.d.ts +38 -0
  633. package/dist/dts/widget/utils/clickOutside.d.ts +1 -0
  634. package/dist/dts/widget/utils/coordinateBridge.d.ts +31 -0
  635. package/dist/dts/widget/utils/crosshairSync.d.ts +50 -0
  636. package/dist/dts/widget/utils/drawingSync.d.ts +198 -0
  637. package/dist/dts/widget/utils/enrichedHash.d.ts +15 -0
  638. package/dist/dts/widget/utils/headerSync.d.ts +12 -0
  639. package/dist/dts/widget/utils/numberFormat.d.ts +13 -0
  640. package/dist/dts/widget/utils/paperTradeAdapters.d.ts +11 -0
  641. package/dist/dts/widget/utils/pineSeriesData.d.ts +71 -0
  642. package/dist/dts/widget/utils/rangeSync.d.ts +29 -0
  643. package/dist/dts/widget/utils/telemetry.d.ts +19 -0
  644. package/dist/dts/widget/utils/widgetEquality.d.ts +57 -0
  645. package/dist/dts/widget/utils/widgetErrors.d.ts +29 -0
  646. package/dist/dts/widget/utils/widgetHelpers.d.ts +395 -0
  647. package/dist/dts/widget/utils/xAxisTickFormatter.d.ts +33 -0
  648. package/dist/dts/widget/visibleRangeBridge.d.ts +28 -0
  649. package/dist/dts/widget/visibleRangeDiagnostics.d.ts +10 -0
  650. package/dist/dts/widget/visibleRangePolicies.d.ts +6 -0
  651. package/dist/dts/widget/workspace/WorkspaceManager.d.ts +23 -0
  652. package/dist/dts/widget/workspace/WorkspaceStore.d.ts +85 -0
  653. package/dist/dts/widget/workspace/types.d.ts +21 -0
  654. package/dist/externalBarsNormalization.worker.js +108 -0
  655. package/dist/iframe/index.html +63 -0
  656. package/dist/iframe/injected.css +6456 -0
  657. package/dist/iframe/vninvestchart.iframe.css +2 -0
  658. package/dist/iframe/vninvestchart.iframe.js +945 -0
  659. package/dist/iframe-host/host-entry.cjs +687 -0
  660. package/dist/iframe-host/host-entry.d.mts +818 -0
  661. package/dist/iframe-host/host-entry.d.ts +818 -0
  662. package/dist/iframe-host/host-entry.js +680 -0
  663. package/dist/index.cjs +7253 -0
  664. package/dist/index.css +3390 -0
  665. package/dist/index.d.ts +31 -0
  666. package/dist/index.js +6461 -0
  667. package/dist/injected.css +6456 -0
  668. package/dist/rollAlgorithms-2P2ZKKHO.js +2 -0
  669. package/dist/types/runtime.cjs +8 -0
  670. package/dist/types/runtime.d.mts +92 -0
  671. package/dist/types/runtime.d.ts +92 -0
  672. package/dist/types/runtime.js +5 -0
  673. package/dist/types/runtime.umd.js +14 -0
  674. package/dist/vninvestchart.iife.css +2 -0
  675. package/dist/vninvestchart.iife.js +945 -0
  676. package/package.json +225 -5
@@ -0,0 +1,36 @@
1
+ import { type MarketRules } from "../../../lib/core/trading/MarketRules";
2
+ import type { OrderSide, OrderValidationInput, TradingPosition } from "../../../lib/core/trading/types";
3
+ import type { OrderTicketAccount } from "./OrderTicketForm";
4
+ export type ExitUnit = "price" | "ticks" | "percent";
5
+ export interface TradingDockPanelProps {
6
+ side?: OrderSide;
7
+ symbol: string;
8
+ lastPrice: number;
9
+ rules: MarketRules;
10
+ account: OrderTicketAccount;
11
+ currentPosition?: TradingPosition | null;
12
+ onSubmit: (order: OrderValidationInput) => void;
13
+ onClose?: () => void;
14
+ /**
15
+ * Unified paper-trading gate: when false the submit button is disabled
16
+ * (same TradingContext.tradingEnabled source as the quick-trade header).
17
+ */
18
+ disabled?: boolean;
19
+ /**
20
+ * S5b/S1: quyền đặt lệnh nâng cao (trailing_stop cần `paper_advanced`).
21
+ * `undefined` = legacy (không gate). Truyền `tierGated.allows("paper_advanced")`
22
+ * để license `caps` cũng được tôn trọng — suy ra từ `toSeriesTier(tier)` sẽ bỏ
23
+ * qua narrowing, đó chính là bug hai-nguồn-sự-thật của S1.
24
+ */
25
+ canUseAdvancedOrders?: boolean;
26
+ /**
27
+ * O6/replay_trading (13.03 §4): sub-gate ô đặt lệnh khi chạy trong replay.
28
+ * Chỉ khóa đúng một chiều (replay === true && grant === false); live không
29
+ * ảnh hưởng, `undefined` = legacy (không gate) — cùng quy ước với
30
+ * `canUseAdvancedOrders`. Truyền `tierGated.allows("replay_trading")`.
31
+ */
32
+ canUseReplayTrading?: boolean;
33
+ /** Chế độ replay của chart chứa ticket (host truyền, xem VNInvestCharts). */
34
+ isReplayMode?: boolean;
35
+ }
36
+ export declare function TradingDockPanel({ side: initialSide, symbol, lastPrice, rules, account, currentPosition, onSubmit, onClose, disabled, canUseAdvancedOrders, canUseReplayTrading, isReplayMode, }: TradingDockPanelProps): import("react").JSX.Element;
@@ -0,0 +1,49 @@
1
+ import type { MarketRules } from "../../../lib/core/trading/MarketRules";
2
+ import type { OrderSide, OrderType, OrderValidationInput, TimeInForce, TradingPosition } from "../../../lib/core/trading/types";
3
+ export interface TicketAccountPreview {
4
+ equity: number;
5
+ freeMargin: number;
6
+ buyingPower: number;
7
+ baseCurrency: string;
8
+ }
9
+ export interface TicketValidation {
10
+ ruleOk: boolean;
11
+ ruleReason?: string;
12
+ riskOk: boolean;
13
+ riskReason?: string;
14
+ requiredMargin?: number;
15
+ }
16
+ /** Validate dùng chung Modal + Dock (Dock tự render text lỗi theo ngôn ngữ của nó). */
17
+ export declare function validateCandidate(candidate: OrderValidationInput, rules: MarketRules, account: TicketAccountPreview, markPrice: number, currentPosition?: TradingPosition | null): TicketValidation;
18
+ export declare function parseNumber(text: string): number | undefined;
19
+ export interface TicketDraft {
20
+ symbol: string;
21
+ side: OrderSide;
22
+ type: OrderType;
23
+ quantity: number;
24
+ limitPrice?: number;
25
+ stopPrice?: number;
26
+ takeProfitPrice?: number;
27
+ stopLossPrice?: number;
28
+ trailingStopDeltaTicks?: number;
29
+ /** P1.2b: TIF do user chọn (default GTC giữ nguyên mọi callsite cũ). */
30
+ timeInForce?: TimeInForce;
31
+ }
32
+ export interface BuiltCandidate {
33
+ candidate: OrderValidationInput;
34
+ entryPrice?: number;
35
+ }
36
+ export declare function buildCandidate(draft: TicketDraft): BuiltCandidate;
37
+ /** Quy offset ticks về giá tuyệt đối theo hướng lệnh (mua: ask + n; bán: bid - n). */
38
+ export declare function offsetTicksToPrice(markPrice: number, side: OrderSide, offsetTicks: number, tickSize: number): number;
39
+ /** Đổi % equity rủi ro ra khoảng giá SL: pct% * equity / (qty * multiplier). */
40
+ export declare function riskPercentToDistance(equityPercent: number, accountEquity: number, quantity: number, contractMultiplier: number): number | undefined;
41
+ /** Dòng tóm tắt nút submit kiểu TV: "MUA 100 FPT @ 128.500 GIỚI HẠN". */
42
+ export declare function formatSubmitSummary(input: {
43
+ side: OrderSide;
44
+ quantity: number;
45
+ symbol: string;
46
+ price?: number;
47
+ type: OrderType;
48
+ locale?: "vi" | "en";
49
+ }): string;
@@ -0,0 +1,38 @@
1
+ import { type PatTier } from "@vninvestcharts/engine-core";
2
+ export interface PaperVisibilityInput {
3
+ /** Toggle runtime trong session (mắt/CTA) — thắng cả prop (hợp đồng TVP-A0). */
4
+ localOverride?: boolean;
5
+ defaultEnabled?: boolean;
6
+ chartId?: string;
7
+ perChart?: Record<string, boolean>;
8
+ master?: boolean;
9
+ legacyEnabled?: boolean;
10
+ }
11
+ /**
12
+ * Thứ tự ưu tiên: toggle runtime > prop tường minh > override riêng chart
13
+ * > master workspace > localStorage cũ > mặc định bật.
14
+ */
15
+ export declare function resolvePaperEnabled(input: PaperVisibilityInput): boolean;
16
+ /** Đọc legacy key `vnsc.paper.enabled` ("1"/"0") — single-chart + fallback. */
17
+ export declare function readLegacyPaperEnabled(): boolean | undefined;
18
+ /**
19
+ * Paper trading có 2 mức (AGENTS.md Rule 15 + quy tắc phân gói):
20
+ * - `paper_market_limit` (Community): market + limit. **Luôn mở**, kể cả `none`.
21
+ * - `paper_advanced` (pro): stop, stop-limit, trailing, PLO + panel quản trị rủi ro.
22
+ *
23
+ * Gọi ở UI khi render, KHÔNG gọi trong `resolvePaperEnabled` (hàm đó thuần và
24
+ * đã có test ma trận cũ — giữ nguyên hợp đồng).
25
+ *
26
+ * S1: `capabilityGated` là kết quả `tierGated.allows(...)` (đã tính cả tier VÀ
27
+ * allowlist `caps` của license). `hasCapability(tier, cap)` chỉ biết tier, **không biết**
28
+ * license caps — nên nếu gate lệnh nâng cao chỉ suy ra từ tier thì license thu hẹp gói
29
+ * bị bỏ qua đúng ở tầng UI. Truyền `undefined` giữ hành vi cũ (chỉ theo tier).
30
+ */
31
+ export declare function canUsePaperTrading(tier: PatTier | null | undefined, advanced: boolean, capabilityGated?: boolean): boolean;
32
+ /** Lọc danh sách loại lệnh theo capability. Community chỉ thấy market/limit. */
33
+ export declare function filterOrderTypesByTier<T extends {
34
+ type: string;
35
+ }>(types: readonly T[], tier: PatTier | null | undefined, capabilityGated?: {
36
+ paperAdvanced: boolean;
37
+ paperMarketLimit: boolean;
38
+ }): T[];
@@ -0,0 +1,8 @@
1
+ import { type OHLCVBar, type SymbolInfo } from "../../lib/types/adapter";
2
+ export interface IChartDataProvider {
3
+ fetchBars(symbol: string, timeframe: string, from: number, to: number): Promise<readonly OHLCVBar[]>;
4
+ subscribeBars(symbol: string, timeframe: string, onBar: (bar: OHLCVBar) => void): () => void;
5
+ searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
6
+ getServerTime?(): Promise<number>;
7
+ fetchCorporateEvents?(symbol: string, from: number, to: number): Promise<any[]>;
8
+ }
@@ -0,0 +1,25 @@
1
+ import type { DrawingWorkspaceController } from "@vninvestcharts/engine-react";
2
+ import type { DrawingObject } from "@vninvestcharts/engine-drawing";
3
+ import type { VNInvestChartsRef, WidgetChartHandle } from "../utils/widgetHelpers";
4
+ declare module "../utils/widgetHelpers" {
5
+ interface WidgetChartHandle {
6
+ _frozenSnapshot?: ImageBitmap | HTMLCanvasElement | null;
7
+ openSettings?(): void;
8
+ saveAsImage?(): void;
9
+ saveTemplate?(): void;
10
+ loadTemplate?(): void;
11
+ cycleMagnet?(): void;
12
+ getMagnetSensitivity?(): number;
13
+ getDrawingWorkspace?(): DrawingWorkspaceController | null;
14
+ getDrawingObjects?(): DrawingObject[];
15
+ importDrawingObjects?(drawings: DrawingObject[]): void;
16
+ freeze?(): Promise<void> | void;
17
+ thaw?(): Promise<void> | void;
18
+ captureSnapshot?(): Promise<ImageBitmap | HTMLCanvasElement | null>;
19
+ restoreFromSnapshot?(snapshot: ImageBitmap | HTMLCanvasElement): Promise<void>;
20
+ openAlerts?(): void;
21
+ setTimeframe(timeframe: string, sourceChartId?: string): void;
22
+ setChartType(chartType: string, sourceChartId?: string): void;
23
+ }
24
+ }
25
+ export type FullChartHandle = VNInvestChartsRef & WidgetChartHandle;
@@ -0,0 +1,83 @@
1
+ export interface SaaSFeatureFlags {
2
+ isWhalePanelEnabled: boolean;
3
+ isReplayEnabled: boolean;
4
+ isAdvisoryEnabled: boolean;
5
+ hideTrademark: boolean;
6
+ showWidgetAds: boolean;
7
+ }
8
+ export interface TenantMetadata {
9
+ tenantCode: string;
10
+ tenantName: string;
11
+ plan: 'free' | 'starter' | 'pro' | 'enterprise' | 'custom' | 'internal';
12
+ status: 'active' | 'suspended' | 'expired';
13
+ features: SaaSFeatureFlags;
14
+ domainWhitelist: string[];
15
+ }
16
+ export interface AdImageSource {
17
+ default: string;
18
+ retina?: string;
19
+ svg?: string;
20
+ }
21
+ export interface AdCampaign {
22
+ campaign_id: string;
23
+ image_source: AdImageSource;
24
+ video_url?: string;
25
+ click_url: string;
26
+ click_tracking_url: string;
27
+ impression_tracking_url: string;
28
+ width: number;
29
+ height: number;
30
+ }
31
+ export interface AdServerResponse {
32
+ show_ads: boolean;
33
+ hide_trademark: boolean;
34
+ ad?: AdCampaign;
35
+ }
36
+ export interface SaaSFeatureContextValue {
37
+ isLoading: boolean;
38
+ isValid: boolean;
39
+ tenantMetadata: TenantMetadata | null;
40
+ flags: SaaSFeatureFlags;
41
+ error: string | null;
42
+ invalidateCache: () => void;
43
+ adCampaign: AdCampaign | null;
44
+ isAdLoading: boolean;
45
+ adError: string | null;
46
+ refetchAd: () => Promise<void>;
47
+ /** Whether SaaS config was successfully fetched from server. */
48
+ isSaaSConfigAvailable: boolean;
49
+ userPat: string;
50
+ /** Returns false when the credential was REFUSED and nothing was persisted. Callers
51
+ * must not report a save in that case. */
52
+ setUserPat: (pat: string) => boolean;
53
+ effectivePat: string;
54
+ /**
55
+ * The offline license channel (host-pinned key, local slot, or host PAT that
56
+ * parses as a license). Never shadowed by tenantPat. Empty when no license.
57
+ * The toolbar auth hook reads this alongside effectivePat so a license-only
58
+ * customer is not reported free.
59
+ */
60
+ effectiveLicense: string;
61
+ /**
62
+ * Last server rejection detail (verbatim from /auth/me error body), or null.
63
+ * Optional because it lives in dedicated state outside the main setState
64
+ * objects; the provider memo always supplies the live value.
65
+ */
66
+ serverRejectReason?: string | null;
67
+ /**
68
+ * CS-3 — which grants produced the current tier. Used by support ("why Pro?")
69
+ * and by the CS-6 degraded banner. Never empty; ["none"] when free.
70
+ */
71
+ sources: ("license" | "server" | "server-cache" | "host" | "none")[];
72
+ /**
73
+ * CS-3 — why data features are degraded, or null when fully usable.
74
+ * Never reports a valid token as rejected; low plan is "plan-limited".
75
+ */
76
+ degradedReason: "no-pat" | "plan-limited" | "offline" | "grace-expired" | null;
77
+ }
78
+ /** CS-6: payload for the host licensing observer. */
79
+ export interface LicenseDiagnosticInfo {
80
+ sources: ("license" | "server" | "server-cache" | "host" | "none")[];
81
+ degradedReason: "no-pat" | "plan-limited" | "offline" | "grace-expired" | null;
82
+ diagnosticReason: "insecure-context" | "subtle-unavailable" | null;
83
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Symbol search SSOT types (SYMBOL_SEARCH P1).
3
+ * Single shared item shape for VNSymbolSearch + compare picker.
4
+ */
5
+ export interface SymbolSearchItem {
6
+ symbol: string;
7
+ company_name: string;
8
+ exchange: string;
9
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * P4b: WatchlistAdapter contract (F1 approved).
3
+ *
4
+ * Host apps provide an adapter for live quotes; without one the widget
5
+ * falls back to the static VN30 basket (symbols only, no prices).
6
+ * Mirrors the StockDataAdapter pattern used by VNSymbolSearch.
7
+ */
8
+ export interface WatchlistItem {
9
+ symbol: string;
10
+ name?: string;
11
+ price?: number;
12
+ change?: number;
13
+ changePercent?: number;
14
+ sparkline?: number[];
15
+ }
16
+ export interface WatchlistQuoteUpdate {
17
+ symbol: string;
18
+ price?: number;
19
+ change?: number;
20
+ changePercent?: number;
21
+ sparkline?: number[];
22
+ }
23
+ export interface WatchlistAdapter {
24
+ getWatchlist: () => Promise<WatchlistItem[]> | WatchlistItem[];
25
+ subscribeQuotes?: (symbols: string[], onUpdate: (update: WatchlistQuoteUpdate) => void) => (() => void) | void;
26
+ }
@@ -0,0 +1,16 @@
1
+ import type { WidgetPaneRuntimeSnapshot } from "./widgetHelpers";
2
+ export interface AxisSlotHit {
3
+ paneId: string;
4
+ scaleSlotId: string;
5
+ side: "left" | "right";
6
+ /** Current slot domain (for the log-availability guard). */
7
+ domain?: readonly [number, number];
8
+ }
9
+ /**
10
+ * P2 (W1): mirror of the engine `findScaleSlotAt` — map a chart-local point
11
+ * to the Y-axis scale slot under it (for the price-scale context menu).
12
+ * Returns null for plot/time-axis/empty regions. Total function.
13
+ */
14
+ export declare function findAxisSlotAt(snapshots: readonly WidgetPaneRuntimeSnapshot[] | null | undefined, localX: number, localY: number): AxisSlotHit | null;
15
+ /** Log scale needs a strictly positive domain (engine falls back + warns otherwise). */
16
+ export declare function isLogScaleAvailable(domain: readonly [number, number] | undefined): boolean;
@@ -0,0 +1,12 @@
1
+ export declare const CHART_RANGES: readonly ["1D", "5D", "1M", "3M", "6M", "YTD", "1Y", "All"];
2
+ export type ChartRange = typeof CHART_RANGES[number];
3
+ export declare const DEFAULT_CHART_RANGE: ChartRange;
4
+ export declare const CHART_RANGE_LABEL_KEYS: Record<ChartRange, string>;
5
+ type RangeDatum = {
6
+ date: Date | number;
7
+ };
8
+ export declare function resolveChartRangeStart(endDate: Date, range: ChartRange): Date;
9
+ export declare function resolveChartRangeFetchStart(endDate: Date, range: ChartRange): Date;
10
+ export declare function resolveChartRangeExtents(data: readonly RangeDatum[], range: ChartRange): [Date, Date] | null;
11
+ export declare function isChartRangeSatisfied(data: readonly RangeDatum[], range: ChartRange): boolean;
12
+ export {};
@@ -0,0 +1,38 @@
1
+ import { type Capability } from "@vninvestcharts/engine-core";
2
+ /**
3
+ * Bảng chart type dùng chung cho MỌI picker (status line `OHLCHeader` và
4
+ * `MultiChartTopbar`).
5
+ *
6
+ * Trước đây mỗi picker có một bản riêng và chúng đã trôi lệch: `OHLCHeader`
7
+ * có `bar`, `MultiChartTopbar` có `renko`/`kagi` đánh dấu `comingSoon`. Một
8
+ * chart type mà chỉ xuất hiện ở một nửa UI là chart type mà user không tìm thấy.
9
+ * Một bảng, hai nơi import ⇒ không còn chỗ để trôi.
10
+ *
11
+ * `capability` là cổng TẦN 1 (UI): dùng `hasCapability` — cùng hàm và cùng cách
12
+ * fail-closed như `components/dock/dockAccess.ts:29`. `tier` chưa biết (`null`)
13
+ * nghĩa là khoá, không phải mở.
14
+ *
15
+ * Tần 2 là CỔNG RENDER: `RegistryEntry.tier = "pro"` trong
16
+ * `core/registry/priceChartTypes.ts`, đọc bởi `filterAvailableSeries` trước khi
17
+ * series tới engine. UI cho user thấy nút Pro; engine không bao giờ nhận series
18
+ * đó ở tier thấp. `chartTypeCapability.test.tsx` khoá việc hai tầng phải cùng
19
+ * một capability.
20
+ */
21
+ export interface ChartTypeOption {
22
+ /** Khóa của `CHART_TYPE_MAP` trong `VNInvestCharts.tsx`. */
23
+ value: string;
24
+ labelKey: string;
25
+ /** Capability phải có mới chọn được. Vắng ⇒ ai cũng chọn được. */
26
+ capability?: Capability;
27
+ /**
28
+ * CHƯA build xong. Hiện tên + badge nhưng không chọn được, và tuyệt đối
29
+ * không được có trong `CHART_TYPE_MAP`: map tới một `SeriesTypeId` chưa có
30
+ * producer thì chart vẽ y hệt Line dưới nhãn khác.
31
+ */
32
+ comingSoon?: boolean;
33
+ }
34
+ export declare const CHART_TYPE_OPTIONS: readonly ChartTypeOption[];
35
+ /** Tier chưa xác minh được (`null`/`undefined`) ⇒ khoá, không phải mở. */
36
+ export declare function isChartTypeLocked(option: ChartTypeOption, patTier: string | null | undefined): boolean;
37
+ /** Đã khai báo trong `CHART_TYPE_OPTIONS` nhưng chưa build (khác với "bị khoá theo tier"). */
38
+ export declare function isChartTypeComingSoon(option: ChartTypeOption): boolean;
@@ -0,0 +1 @@
1
+ export declare function isClickOutside(element: HTMLElement | null, event: MouseEvent | PointerEvent): boolean;
@@ -0,0 +1,31 @@
1
+ import { type VisibleRange as EngineVisibleRange } from "@vninvestcharts/engine-core";
2
+ import { type WidgetCoordinateBridge, type WidgetPaneRuntimeSnapshot } from "./widgetHelpers";
3
+ import { type VisibleRange } from "../../lib/core";
4
+ import { type EnrichedDatum } from "../../lib/core/calculators/types";
5
+ import { type ChartRenderContextValue } from "../../lib/core/canvas/ChartRenderContext";
6
+ import { type StockChartContextValue } from "../../lib/StockChartContext";
7
+ import type { ResolvedWidgetRuntime } from "../runtimePolicy";
8
+ export declare function createWidgetCoordinateBridge(paneSnapshotsOrOptions: readonly WidgetPaneRuntimeSnapshot[] | {
9
+ paneSnapshots: readonly WidgetPaneRuntimeSnapshot[];
10
+ visibleRange: EngineVisibleRange | VisibleRange | null;
11
+ plotData: readonly EnrichedDatum[];
12
+ engineRuntime?: ResolvedWidgetRuntime;
13
+ pixelRatio?: number;
14
+ }, visibleRangeArg?: EngineVisibleRange | VisibleRange | null, plotDataArg?: readonly EnrichedDatum[], engineRuntimeArg?: ResolvedWidgetRuntime, pixelRatioArg?: number): WidgetCoordinateBridge | null;
15
+ export declare function createForkChartRenderContextValue({ paneSnapshots, visibleRange, plotData, width, height, pixelRatio, }: {
16
+ paneSnapshots: readonly WidgetPaneRuntimeSnapshot[];
17
+ visibleRange: EngineVisibleRange | null;
18
+ plotData: readonly EnrichedDatum[];
19
+ width: number;
20
+ height: number;
21
+ pixelRatio?: number;
22
+ }): ChartRenderContextValue | null;
23
+ export declare function createForkStockChartContextValue(paneSnapshotsOrOptions: readonly WidgetPaneRuntimeSnapshot[] | {
24
+ paneSnapshots: readonly WidgetPaneRuntimeSnapshot[];
25
+ plotData: readonly EnrichedDatum[];
26
+ chartRenderContextValue: ChartRenderContextValue | null;
27
+ width: number;
28
+ height: number;
29
+ generateSubscriptionId: () => number;
30
+ pixelRatio?: number;
31
+ }, plotDataArg?: readonly EnrichedDatum[], chartRenderContextValueArg?: ChartRenderContextValue | null, widthArg?: number, heightArg?: number, generateSubscriptionIdArg?: () => number, pixelRatioArg?: number): StockChartContextValue;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * crosshairSync.ts — Shared helper for resolving crosshair position from timestamp.
3
+ *
4
+ * When two charts have different data (different symbol/timeframe/bar-count),
5
+ * the source chart's xIndexFloat is NOT valid as a local index on the target chart.
6
+ * This helper resolves the correct local index by binary-searching for the timestamp
7
+ * in the target chart's plotData, then interpolating a fractional position within the bar.
8
+ */
9
+ interface PlotDatum {
10
+ date: Date;
11
+ }
12
+ /**
13
+ * Resolve a FRACTIONAL local x-index on the TARGET chart from a remote timestamp.
14
+ *
15
+ * The crosshair on the source chart sits at a concrete point in time T (the
16
+ * mouse position on the source time axis, not necessarily a bar boundary). To
17
+ * mirror it exactly, the target chart needs `index + fraction` where `index` is
18
+ * the target bar covering T and `fraction ∈ [0,1)` is where inside that bar T
19
+ * falls — this reproduces the precise pixel position of the cursor, not just the
20
+ * bar's left edge.
21
+ *
22
+ * Two data sources may stamp the same logical bar at different clock offsets
23
+ * (e.g. a VN-exchange chart stamps a 1D bar at 00:00 Asia/Ho_Chi_Minh = 17:00
24
+ * UTC of the previous day, while a crypto chart stamps 00:00 UTC). We therefore
25
+ * align T onto the target chart's OWN bar grid (phase = the target bars' offset
26
+ * within a bar-duration) before computing the bucket + fraction. This keeps the
27
+ * cursor position accurate while absorbing the timezone offset.
28
+ *
29
+ * Returns `null` when T falls in a real gap the target chart does not cover
30
+ * (weekend/holiday for an exchange-calendar chart) so the caller hides the
31
+ * crosshair; it reappears when T lands within a real target bar. A continuous
32
+ * target (crypto) has a bar in every bucket, so it always resolves.
33
+ *
34
+ * @param plotData - target chart's plotData array (sorted by date ascending)
35
+ * @param timestamp - source chart's crosshair timestamp (ms since epoch)
36
+ * @param sourceFraction - cursor's fractional position INSIDE the source bar
37
+ * (0 = bar start, ~0.5 = center), taken from the source `xIndexFloat`.
38
+ * This carries the true cursor position independent of any timezone
39
+ * offset between the two data sources. When omitted, the fraction is
40
+ * derived from where T sits inside the nearest target bar (less accurate
41
+ * across a tz offset, kept for callers that have no source index).
42
+ * @returns fractional local x-index (index + fraction), or null if no target bar covers T
43
+ */
44
+ export declare function resolveLocalXIndexFromTimestamp(plotData: readonly PlotDatum[], timestamp: number, sourceFraction?: number): number | null;
45
+ export interface CrosshairPriceRemote {
46
+ price?: number | null;
47
+ symbol?: string | null;
48
+ }
49
+ export declare function resolveCrosshairPrice(remote: CrosshairPriceRemote, localSymbol: unknown, localClose: number | null): number | null;
50
+ export {};
@@ -0,0 +1,198 @@
1
+ /** Stamp the origin symbol on an outgoing op (emit side). */
2
+ export declare function withDrawingSourceSymbol<T extends object>(op: T, symbol: string | undefined): T;
3
+ /**
4
+ * Receive-side gate: apply only same-symbol ops.
5
+ * Legacy ops without a symbol pass through (backward compatible).
6
+ */
7
+ export declare function shouldApplyRemoteDrawing(opSymbol: unknown, localSymbol: unknown): boolean;
8
+ export interface SyncPointInput {
9
+ timeMsHint?: unknown;
10
+ xIndexFloat?: unknown;
11
+ }
12
+ /**
13
+ * P2/D-SYNC-23: resolve a sync timestamp without `Date.now()` garbage. Anchor
14
+ * hints win; indexed plotData second; deterministic 0 when unanchorable
15
+ * (renders off-chart) instead of a fake "now" that collides with live bars.
16
+ */
17
+ export declare function drawingPointToSyncTimestamp(point: SyncPointInput, plotData?: ReadonlyArray<{
18
+ date?: unknown;
19
+ }>): number;
20
+ export interface DrawingConflictInfo {
21
+ drawingId: string;
22
+ winner: unknown;
23
+ localOp?: {
24
+ symbol?: unknown;
25
+ } | null;
26
+ remoteOp?: {
27
+ symbol?: unknown;
28
+ } | null;
29
+ }
30
+ export declare function shouldNotifyDrawingConflict(info: DrawingConflictInfo | null | undefined, slotSymbol: unknown, isActiveSlot: boolean): boolean;
31
+ export declare function nextDrawingOpTimestamp(lastTimestamp: number, now?: number): number;
32
+ export interface SyncDrawingPointInput {
33
+ x?: unknown;
34
+ y?: unknown;
35
+ timeMsHint?: unknown;
36
+ xIndexFloat?: unknown;
37
+ yPrice?: unknown;
38
+ }
39
+ /**
40
+ * Emit-side point normalization (eraser/brush/ABCD stretch fix).
41
+ * Freehand and multi-step drafts carry bare `{x, y}` points (unix ms + price)
42
+ * until render-path enrichment runs — but sync emit reads the raw workspace
43
+ * points, so `drawingPointToSyncTimestamp(p, ...)` saw no `timeMsHint` and
44
+ * emitted `timestamp: 0` for real points. Receivers then built
45
+ * `{x: 0, timeMsHint: 0}` → `chartPointToPixel` NaN → the clip helper replaced
46
+ * the NaN endpoint with the viewport edge: a full-width stretched line.
47
+ * Normalizing through `resolvePointAnchor` first (which falls back to
48
+ * `p.x > 10000` as the time hint, mirroring the local render path) keeps the
49
+ * wire timestamp real. Genuinely unanchorable points still emit `0`
50
+ * (off-chart by design, P2/D-SYNC-23).
51
+ */
52
+ export declare function drawingPointToSyncFields(point: SyncDrawingPointInput, plotData?: ReadonlyArray<{
53
+ date?: unknown;
54
+ }>): {
55
+ timestamp: number;
56
+ price: number;
57
+ xIndexFloat?: number;
58
+ yPrice?: number;
59
+ };
60
+ /**
61
+ * Receive-side point mapping (defense for the same stretch bug).
62
+ * A `timestamp: 0` (or missing/non-finite) timestamp must stay absent —
63
+ * fabricating `timeMsHint: 0` creates a NaN projection that the clip helper
64
+ * stretches to the viewport edge. `xIndexFloat` passes through untouched
65
+ * (receiver resolves it in its own index space).
66
+ */
67
+ export declare function syncPointToDrawingPoint(p: {
68
+ timestamp?: unknown;
69
+ price?: unknown;
70
+ xIndexFloat?: unknown;
71
+ }): {
72
+ x?: number;
73
+ y?: unknown;
74
+ timeMsHint?: number;
75
+ yPrice?: unknown;
76
+ xIndexFloat?: unknown;
77
+ };
78
+ /** Minimal shape of a synced point source, so this file stays free of chart types. */
79
+ export type SyncPlotData = ReadonlyArray<{
80
+ date?: unknown;
81
+ }>;
82
+ /** Minimal shape of `DrawingObject` used here; keeps the engine type out of the import graph. */
83
+ interface SyncableDrawing {
84
+ id: string;
85
+ type: string;
86
+ symbol?: string;
87
+ timeframe?: string;
88
+ points: ReadonlyArray<SyncDrawingPointInput>;
89
+ style?: SyncableStyle;
90
+ label?: string;
91
+ locked?: boolean;
92
+ zIndex?: number;
93
+ }
94
+ interface SyncableStyle {
95
+ stroke?: string;
96
+ strokeWidth?: number;
97
+ strokeDasharray?: SyncableDash;
98
+ fill?: string;
99
+ opacity?: number;
100
+ fontSize?: number;
101
+ fontFamily?: string;
102
+ }
103
+ type SyncableDash = string | number[] | undefined;
104
+ export interface SyncStyleOut {
105
+ color?: string;
106
+ lineWidth?: number;
107
+ lineStyle?: string;
108
+ fillColor?: string;
109
+ opacity?: number;
110
+ fontSize?: number;
111
+ fontFamily?: string;
112
+ }
113
+ /**
114
+ * `DrawingObject.style` -> `DrawingStyle`. THE single mapping.
115
+ *
116
+ * `opacity` is included, which two of the three original literals omitted — see the
117
+ * table above. Fixing it here rather than at the three call sites is deliberate: a
118
+ * fix applied to two of three literals is the bug, restated.
119
+ *
120
+ * `zIndex` is deliberately NOT copied into the style. `DrawingData` and `DrawingStyle`
121
+ * both declare it, but the drawings path already carries it as a top-level field, and
122
+ * populating both would create a second source of truth for one value.
123
+ */
124
+ export declare function toSyncStyle(style: SyncableStyle | undefined): SyncStyleOut | undefined;
125
+ /** `TrendLine` -> `trend-line`. Used by `onDrawingChange` only; ops keep the raw type. */
126
+ export declare function toDrawingDataType(type: string): string;
127
+ /** Anchor-normalised points -> `{timestamp, price}`, using the rule above. */
128
+ export declare function toSyncPoints(points: ReadonlyArray<SyncDrawingPointInput>, plotData: SyncPlotData | undefined): Array<{
129
+ timestamp: number;
130
+ price: number;
131
+ }>;
132
+ export interface ConvertScope {
133
+ fallbackSymbol: string | undefined;
134
+ fallbackTimeframe: string | undefined;
135
+ plotData: SyncPlotData | undefined;
136
+ }
137
+ export interface SyncDrawingDataOut {
138
+ id: string;
139
+ type: string;
140
+ symbol: string;
141
+ timeframe: string;
142
+ points: Array<{
143
+ timestamp: number;
144
+ price: number;
145
+ }>;
146
+ style: SyncStyleOut | undefined;
147
+ label: string | undefined;
148
+ locked: boolean | undefined;
149
+ zIndex: number | undefined;
150
+ }
151
+ /**
152
+ * `DrawingObject[]` -> `DrawingData[]` for `onDrawingChange` (workspace persistence).
153
+ *
154
+ * Fallbacks are explicit arguments rather than closure reads. The original read
155
+ * `localSymbol`, `props.timeframe` and `dataResult.plotData` out of the component
156
+ * scope, which is exactly why the literal could not be tested without mounting a
157
+ * 2 900-line component.
158
+ */
159
+ export declare function convertToDrawingData(drawings: readonly SyncableDrawing[], scope: ConvertScope): SyncDrawingDataOut[];
160
+ export interface DrawingOpOut {
161
+ id: string;
162
+ drawingId: string;
163
+ type: "create" | "update" | "delete" | "move-point";
164
+ version: Record<string, number>;
165
+ timestamp: number;
166
+ authorId: string;
167
+ symbol: string;
168
+ data?: SyncDrawingDataOut & {
169
+ type: string;
170
+ };
171
+ }
172
+ export interface BuildOpsInput {
173
+ prev: readonly SyncableDrawing[];
174
+ next: readonly SyncableDrawing[];
175
+ /** Chart id; also the writer key for the per-writer monotonic clock. */
176
+ writerKey: string;
177
+ symbol: string;
178
+ timeframe: string;
179
+ plotData: SyncPlotData | undefined;
180
+ /** From `nextDrawingOpTimestamp(lastTs)`. Passed in so the clock stays in the component. */
181
+ now: number;
182
+ /** Raw type for ops — deliberately NOT kebab-cased. See the header note. */
183
+ opType: (drawing: SyncableDrawing) => string;
184
+ }
185
+ /**
186
+ * Diff two drawing sets into CRDT operations. Pure: same two arrays in, same
187
+ * operations out.
188
+ *
189
+ * Ordering create -> delete -> update is load-bearing: a delete must never win over a
190
+ * create for the same id, and an update must not be emitted for a drawing that only
191
+ * just appeared in `next` (it has no `prev` to diff against).
192
+ *
193
+ * The per-writer clock is NOT applied here — it lives in the component, which owns the
194
+ * ref, and this function is handed the timestamp to use. A pure diff is testable; a
195
+ * closure that mutates a ref is not, and this rule set is where a real CRDT bug lived.
196
+ */
197
+ export declare function buildDrawingOperations(input: BuildOpsInput): DrawingOpOut[];
198
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { EnrichedDatum } from "../../lib/core/calculators/types";
2
+ export interface EnrichedHashOptions {
3
+ /**
4
+ * Include per-bar comparison overlay closes (`symbolData`) in the hash so
5
+ * `setEnrichedData` fires when a comparison symbol is added/removed.
6
+ * VNInvestCharts passes true; useWidgetData passes false (its items carry
7
+ * no symbolData) — preserving each call-site's exact legacy semantics.
8
+ */
9
+ includeComparison?: boolean;
10
+ }
11
+ /**
12
+ * Shared change-detection hash for enriched bars (BL-07 dedup).
13
+ * Previously duplicated in VNInvestCharts.tsx and useWidgetData.ts.
14
+ */
15
+ export declare function hashEnrichedData(data: readonly EnrichedDatum[], options?: EnrichedHashOptions): string;