@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,3 @@
1
+ import type { WidgetMessages } from "./types";
2
+ /** Xem giải thích tại `a11y.messages.en.ts`. */
3
+ export declare const a11yMessagesVi: WidgetMessages;
@@ -0,0 +1,7 @@
1
+ import type { WidgetMessages } from "./types";
2
+ /**
3
+ * Chuỗi cho capability gate / upsell / data-availability.
4
+ * Tách riêng (W0.4) vì `messages.en.ts` chỉ còn ~48 dòng headroom budget
5
+ * còn Track A cần ~168 key × 2 ngôn ngữ (PLAN_FRONTEND_PROPLUS_TRACKA §8.2).
6
+ */
7
+ export declare const capabilityMessagesEn: WidgetMessages;
@@ -0,0 +1,3 @@
1
+ import type { WidgetMessages } from "./types";
2
+ /** Bản dịch tiếng Việt — phải khớp 100% key với `capability.messages.en.ts`. */
3
+ export declare const capabilityMessagesVi: WidgetMessages;
@@ -0,0 +1,2 @@
1
+ import type { WidgetMessages } from "./types";
2
+ export declare const dockMessagesEn: WidgetMessages;
@@ -0,0 +1,2 @@
1
+ import type { WidgetMessages } from "./types";
2
+ export declare const dockMessagesVi: WidgetMessages;
@@ -0,0 +1,2 @@
1
+ import type { WidgetMessages } from "./types";
2
+ export declare const widgetMessagesEn: WidgetMessages;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Licensing settings strings, split out from `messages.en.ts` / `messages.vi.ts`.
3
+ *
4
+ * Why a separate file: those two sit one line from their budget (en 1552, vi 1550),
5
+ * so there is no room for new `licensing.*` keys. This is the split CS-6 of
6
+ * PLAN_CREDENTIAL_SPLIT_O1 calls for; it is pulled forward because the CS-1 refusal
7
+ * fix could not tell the user that a save was rejected without one more key.
8
+ *
9
+ * Parity with messages.en.ts is enforced by the i18n key-count check in CI.
10
+ */
11
+ export declare const licensingMessagesEn: {
12
+ readonly "licensing.notSaved": "Key not saved. A license key is still being migrated - reload and try again.";
13
+ readonly "licensing.degraded.offline": "Cannot reach the server. Showing offline features only.";
14
+ readonly "licensing.degraded.graceExpired": "Server data is stale. Reconnect to restore live features.";
15
+ readonly "licensing.degraded.planLimited": "Signed in. Live data works; some features need a higher plan.";
16
+ readonly "licensing.diag.insecureContext": "License needs HTTPS (or localhost). This page is served over insecure HTTP.";
17
+ readonly "licensing.diag.subtleUnavailable": "Web Crypto is unavailable here, so licenses cannot be verified.";
18
+ readonly "licensing.reject.unknown": "Server does not recognize this key. Check for typos or request a new one.";
19
+ readonly "licensing.reject.status": "Server reports this key is {status}.";
20
+ readonly "licensing.reject.disabled": "Server reports its service account is disabled.";
21
+ readonly "licensing.reject.network": "Server refuses this network for the key.";
22
+ readonly "licensing.licenseTitle": "Offline License Key";
23
+ readonly "licensing.licenseInputLabel": "Offline license key (vni1.)";
24
+ readonly "licensing.licensePlaceholder": "Paste vni1. here";
25
+ readonly "licensing.licenseSaved": "License key saved (offline).";
26
+ readonly "licensing.licenseCleared": "Offline license key removed.";
27
+ readonly "licensing.licenseSerial": "Serial";
28
+ readonly "licensing.patTitle": "Access Token (PAT)";
29
+ };
30
+ export declare const licensingMessagesVi: {
31
+ readonly "licensing.notSaved": "Chưa lưu được khóa. Còn một khóa license đang được di chuyển — hãy tải lại trang rồi thử lại.";
32
+ readonly "licensing.degraded.offline": "Không kết nối được server. Chỉ hiển thị tính năng offline.";
33
+ readonly "licensing.degraded.graceExpired": "Dữ liệu server đã cũ. Hãy kết nối lại để khôi phục tính năng trực tiếp.";
34
+ readonly "licensing.degraded.planLimited": "Đã đăng nhập. Dữ liệu trực tiếp hoạt động; một số tính năng cần gói cao hơn.";
35
+ readonly "licensing.diag.insecureContext": "License cần HTTPS (hoặc localhost). Trang này đang chạy qua HTTP không mã hoá.";
36
+ readonly "licensing.diag.subtleUnavailable": "Web Crypto không khả dụng ở đây, không thể xác thực license.";
37
+ readonly "licensing.reject.unknown": "Server không nhận key này. Kiểm tra lỗi gõ hoặc xin key mới.";
38
+ readonly "licensing.reject.status": "Server báo key đang ở {status}.";
39
+ readonly "licensing.reject.disabled": "Server báo service account bị tắt.";
40
+ readonly "licensing.reject.network": "Server từ chối mạng này với key.";
41
+ readonly "licensing.licenseTitle": "License Key offline";
42
+ readonly "licensing.licenseInputLabel": "License key offline (vni1.…)";
43
+ readonly "licensing.licensePlaceholder": "Dán vni1.… vào đây";
44
+ readonly "licensing.licenseSaved": "Đã lưu license key (offline).";
45
+ readonly "licensing.licenseCleared": "Đã xoá license key offline.";
46
+ readonly "licensing.licenseSerial": "Mã serial";
47
+ readonly "licensing.patTitle": "Access Token (PAT)";
48
+ };
@@ -0,0 +1,2 @@
1
+ import type { WidgetMessages } from "./types";
2
+ export declare const widgetMessagesVi: WidgetMessages;
@@ -0,0 +1,2 @@
1
+ import type { WidgetMessages } from "./types";
2
+ export declare const tradingMessagesEn: WidgetMessages;
@@ -0,0 +1,2 @@
1
+ import type { WidgetMessages } from "./types";
2
+ export declare const tradingMessagesVi: WidgetMessages;
@@ -0,0 +1,3 @@
1
+ export type WidgetLocale = "vi" | "en";
2
+ /** Flat key→value map of UI strings used by the widget layer. */
3
+ export type WidgetMessages = Record<string, string>;
@@ -0,0 +1,63 @@
1
+ /**
2
+ * WP-11: Built-in Adapter Classes for Iframe Mode
3
+ *
4
+ * These adapter classes can be instantiated from JSON-serializable config
5
+ * and are used in the iframe-hosted widget where custom callbacks
6
+ * cannot be passed via postMessage.
7
+ */
8
+ import type { StockDataAdapter, Unsubscribe, Timeframe, Trade, OrderbookSnapshot, SymbolInfo } from "../../lib/types/adapter";
9
+ import type { OHLCVBar } from "../../lib/types/ohlcv";
10
+ import type { CoverageFragment, SourceSemanticsDescriptor } from "@vninvestcharts/engine-core";
11
+ import { type WidgetAuthHandler } from "../adapters/VNInvestClient";
12
+ /**
13
+ * Base class for built-in adapters
14
+ */
15
+ export declare abstract class BuiltInAdapter implements StockDataAdapter {
16
+ abstract readonly name: string;
17
+ abstract readonly type: string;
18
+ abstract fetchBarsInRange(symbol: string, timeframe: Timeframe, from: Date, to: Date): Promise<readonly OHLCVBar[]>;
19
+ abstract fetchBarsBefore(symbol: string, timeframe: Timeframe, before: Date, limit?: number): Promise<readonly OHLCVBar[]>;
20
+ abstract subscribeToBar(symbol: string, timeframe: Timeframe, onBar: (bar: OHLCVBar) => void): Unsubscribe;
21
+ subscribeToTrades(_symbol: string, _onTrade: (trade: Trade) => void): Unsubscribe;
22
+ subscribeToOrderbook(_symbol: string, _onUpdate: (snapshot: OrderbookSnapshot) => void): Unsubscribe;
23
+ abstract searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
24
+ abstract destroy(): void;
25
+ getSourceSemantics(): SourceSemanticsDescriptor;
26
+ getLastBackfillCoverage(): readonly CoverageFragment[] | null;
27
+ getLastRangeCoverage(): readonly CoverageFragment[] | null;
28
+ }
29
+ /**
30
+ * VNInvest Built-in Adapter
31
+ */
32
+ export declare class VNInvestBuiltInAdapter extends BuiltInAdapter {
33
+ readonly name = "vninvest";
34
+ readonly type = "vninvest";
35
+ private client;
36
+ private wsClient;
37
+ private readonly barSubscribers;
38
+ private readonly snapshotIds;
39
+ private readonly lastBackfillCoverageMap;
40
+ private readonly lastRangeCoverageMap;
41
+ constructor(config: {
42
+ patToken: string;
43
+ apiBase?: string;
44
+ });
45
+ setAuthHandler(handler: WidgetAuthHandler): void;
46
+ private coverageKey;
47
+ getLastBackfillCoverage(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
48
+ getLastRangeCoverage(symbol?: string, timeframe?: Timeframe, chartId?: string): readonly CoverageFragment[] | null;
49
+ fetchBarsInRange(symbol: string, timeframe: Timeframe, from: Date, to: Date, chartId?: string): Promise<readonly OHLCVBar[]>;
50
+ fetchBarsBefore(symbol: string, timeframe: Timeframe, before: Date, limit?: number, chartId?: string): Promise<readonly OHLCVBar[]>;
51
+ subscribeToBar(symbol: string, timeframe: Timeframe, onBar: (bar: OHLCVBar) => void): Unsubscribe;
52
+ searchSymbols(query: string): Promise<readonly SymbolInfo[]>;
53
+ destroy(): void;
54
+ private handleTickerUpdate;
55
+ }
56
+ /**
57
+ * Factory function to create built-in adapter from config
58
+ */
59
+ export declare function createBuiltInAdapter(config: {
60
+ type: string;
61
+ options?: Record<string, string | number | boolean | null>;
62
+ token?: string;
63
+ }): BuiltInAdapter | null;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Host-only entry point for iframe embedding.
3
+ *
4
+ * This module intentionally excludes React and the iframe runtime bundle.
5
+ * Website hosts import the postMessage Host SDK from `vninvestcharts-widget/iframe-host`.
6
+ */
7
+ export { VNInvestChartsHostSDK, createVNInvestChartsHost, EmbedError } from "./hostSDK";
8
+ export { IframeBridge, createHostBridge, DEFAULT_ALLOWED_ORIGINS } from "./iframeBridge";
9
+ export type { HostSDKConfig, WidgetController } from "./hostSDK";
10
+ export type { AllowedOriginsConfig, BridgeConfig } from "./iframeBridge";
11
+ export type { AdapterConfig, HostToIframeCommand, IframeToHostEvent, ResponsePayload, WidgetConfig, } from "./messageProtocol";
@@ -0,0 +1,151 @@
1
+ /**
2
+ * WP-11: Host SDK - Type-safe API for embedding VNInvestCharts in an iframe
3
+ *
4
+ * Provides a clean Promise-based API for controlling the widget from the parent page.
5
+ * Handles connection lifecycle, origin validation, and automatic reconnection.
6
+ */
7
+ import { type IframeToHostEvent, type WidgetConfig } from "./iframeBridge";
8
+ /** Host SDK configuration */
9
+ export interface HostSDKConfig {
10
+ /** Iframe element or selector */
11
+ iframe: HTMLIFrameElement | string;
12
+ /** Allowed origins for postMessage security */
13
+ allowedOrigins?: string[];
14
+ /** Connection timeout in ms */
15
+ connectionTimeout?: number;
16
+ /** Request timeout in ms */
17
+ requestTimeout?: number;
18
+ /** Callback when widget is ready */
19
+ onReady?: (info: {
20
+ version: string;
21
+ capabilities: string[];
22
+ }) => void;
23
+ /** Callback on widget events */
24
+ onEvent?: (event: IframeToHostEvent) => void;
25
+ /** Callback on connection error */
26
+ onError?: (error: Error) => void;
27
+ /** Callback when connection is lost */
28
+ onDisconnect?: () => void;
29
+ }
30
+ /** Widget control API returned by HostSDK */
31
+ export interface WidgetController {
32
+ /** Initialize widget with configuration */
33
+ initialize(config: WidgetConfig): Promise<{
34
+ widgetId: string;
35
+ }>;
36
+ /** Change symbol */
37
+ setSymbol(symbol: string): Promise<void>;
38
+ /** Change timeframe */
39
+ setTimeframe(timeframe: string): Promise<void>;
40
+ /** Change visible range */
41
+ setRange(range: string): Promise<void>;
42
+ /** Change theme */
43
+ setTheme(theme: "light" | "dark"): Promise<void>;
44
+ /** Replace all drawings */
45
+ setDrawings(drawings: readonly any[]): Promise<void>;
46
+ /** Add a drawing */
47
+ addDrawing(drawing: any): Promise<void>;
48
+ /** Remove a drawing by ID */
49
+ removeDrawing(drawingId: string): Promise<void>;
50
+ /** Update a drawing */
51
+ updateDrawing(drawingId: string, updates: Partial<any>): Promise<void>;
52
+ /** Set active drawing tool */
53
+ setActiveTool(tool: string): Promise<void>;
54
+ /** E3: switch the right-dock tab */
55
+ setDockTab(tab: string): Promise<void>;
56
+ /** E3: replace the dock watchlist (static symbols) */
57
+ setWatchlist(symbols: string[]): Promise<void>;
58
+ /** Export current drawings */
59
+ exportDrawings(): Promise<readonly any[]>;
60
+ /** Get current visible range */
61
+ getVisibleRange(): Promise<{
62
+ startIndex: number;
63
+ endIndex: number;
64
+ startDate: string;
65
+ endDate: string;
66
+ barCount: number;
67
+ } | null>;
68
+ /** Get current pane snapshots */
69
+ getPaneSnapshots(): Promise<readonly any[]>;
70
+ /** Capture snapshot as image */
71
+ captureSnapshot(format?: "png" | "jpeg", quality?: number): Promise<string>;
72
+ /** Toggle fullscreen */
73
+ toggleFullscreen(): Promise<void>;
74
+ /** Set locale */
75
+ setLocale(locale: string): Promise<void>;
76
+ /** Set timezone */
77
+ setTimezone(timezone: string): Promise<void>;
78
+ /** Destroy widget and cleanup */
79
+ destroy(): Promise<void>;
80
+ /** E5: subscribe to live quote fan-out (batch ≥250ms); returns unsubscribe */
81
+ subscribeQuotes(symbols: string[], onQuotes: (updates: Array<{
82
+ symbol: string;
83
+ price?: number;
84
+ change?: number;
85
+ changePercent?: number;
86
+ }>) => void): Promise<() => Promise<void>>;
87
+ /** Check if widget is ready */
88
+ isReady(): boolean;
89
+ /** Get widget version */
90
+ getVersion(): string | null;
91
+ }
92
+ /** E4: typed embed error — `{code, recoverable, detail}` for the host matrix. */
93
+ export declare class EmbedError extends Error {
94
+ readonly code: string;
95
+ readonly recoverable: boolean;
96
+ readonly detail?: string;
97
+ constructor(code: string, message: string, recoverable?: boolean, detail?: string);
98
+ }
99
+ /**
100
+ * Host SDK for controlling VNInvestCharts widget in an iframe
101
+ */
102
+ export declare class VNInvestChartsHostSDK {
103
+ private config;
104
+ private iframe;
105
+ private bridge;
106
+ private isReady;
107
+ private version;
108
+ private capabilities;
109
+ private readyPromise;
110
+ private readyResolve;
111
+ private eventListeners;
112
+ constructor(config: HostSDKConfig);
113
+ /**
114
+ * Connect to the iframe widget
115
+ */
116
+ connect(): Promise<void>;
117
+ /**
118
+ * Wait for iframe to finish loading
119
+ */
120
+ private waitForIframeLoad;
121
+ /**
122
+ * Handle ready signal from iframe
123
+ */
124
+ private handleReady;
125
+ /**
126
+ * Handle incoming events from iframe
127
+ */
128
+ private handleEvent;
129
+ /**
130
+ * Get the widget controller API
131
+ */
132
+ getController(): WidgetController;
133
+ /**
134
+ * Subscribe to specific event types
135
+ */
136
+ on<K extends IframeToHostEvent["type"]>(eventType: K, listener: (payload: Extract<IframeToHostEvent, {
137
+ type: K;
138
+ }>["payload"]) => void): () => void;
139
+ /**
140
+ * Disconnect and cleanup
141
+ */
142
+ disconnect(): void;
143
+ /**
144
+ * Check if connected and ready
145
+ */
146
+ get connected(): boolean;
147
+ }
148
+ /**
149
+ * Convenience function to create and connect Host SDK in one call
150
+ */
151
+ export declare function createVNInvestChartsHost(config: HostSDKConfig): Promise<VNInvestChartsHostSDK>;
@@ -0,0 +1,165 @@
1
+ /**
2
+ * WP-11: Iframe Bridge - Host ↔ Iframe Communication Layer
3
+ *
4
+ * Handles postMessage communication with:
5
+ * - Origin validation against allowlist
6
+ * - Request/response correlation
7
+ * - Event emission
8
+ * - Automatic cleanup
9
+ */
10
+ import { HostToIframeCommand, IframeToHostEvent, RequestMessage, ResponsePayload } from "./messageProtocol";
11
+ export type { HostToIframeCommand, IframeToHostEvent, RequestMessage, ResponseMessage, EventMessage, WidgetConfig, AdapterConfig, ResponsePayload, } from "./messageProtocol";
12
+ export { generateCorrelationId, createRequest, createResponse, createEvent, isHostToIframeCommand, isIframeToHostEvent } from "./messageProtocol";
13
+ /** Allowed origins for postMessage security */
14
+ export interface AllowedOriginsConfig {
15
+ /** List of allowed origins (exact match or wildcard patterns) */
16
+ allowedOrigins: string[];
17
+ /** Whether to allow any origin (DANGEROUS - only for development) */
18
+ allowAnyOrigin?: boolean;
19
+ }
20
+ /**
21
+ * Default allowed origins — override per deployment.
22
+ * SECURITY: Remove `http://localhost` entries in production.
23
+ */
24
+ export declare const DEFAULT_ALLOWED_ORIGINS: string[];
25
+ /**
26
+ * SEC-01: origin allowlist matcher.
27
+ *
28
+ * Deliberately regex-free. A wildcard is only honoured as a leading subdomain
29
+ * marker (`scheme://*.<rest>`), and the remainder is compared with plain string
30
+ * equality. Compiling the pattern into a RegExp (the previous behaviour) let
31
+ * every `.` act as "any character", so an allowlist entry for
32
+ * `https:` + wildcard + `vninvestcharts.com` also accepted unrelated hosts.
33
+ */
34
+ export declare function matchOriginPattern(pattern: string, origin: string): boolean;
35
+ /** Message handler type */
36
+ export type MessageHandler = (message: IframeToHostEvent) => void;
37
+ /** Request handler type (for Iframe side) */
38
+ export type RequestHandler = (command: HostToIframeCommand) => Promise<ResponsePayload>;
39
+ /** Bridge configuration */
40
+ export interface BridgeConfig {
41
+ /** Target window (iframe.contentWindow or window.parent) */
42
+ targetWindow: Window;
43
+ /** Target origin for sending messages */
44
+ targetOrigin: string;
45
+ /** Allowed origins for receiving messages */
46
+ allowedOrigins: string[];
47
+ /** Whether we are the Host (true) or Iframe (false) */
48
+ isHost: boolean;
49
+ /** Request timeout in ms */
50
+ requestTimeout?: number;
51
+ /** Callback when connection is established */
52
+ onReady?: () => void;
53
+ /** Callback on connection error */
54
+ onError?: (error: Error) => void;
55
+ /** Whether to allow any origin (DANGEROUS - only for development) */
56
+ allowAnyOrigin?: boolean;
57
+ /**
58
+ * SEC-01: maximum serialized size of an accepted inbound message.
59
+ * Oversized payloads are rejected before parsing or state mutation.
60
+ */
61
+ maxPayloadBytes?: number;
62
+ /**
63
+ * SEC-01: inbound message budget. Once more than `maxMessages` are accepted
64
+ * within `rateWindowMs`, further traffic is dropped until the window rolls.
65
+ */
66
+ maxMessages?: number;
67
+ rateWindowMs?: number;
68
+ }
69
+ /**
70
+ * Iframe Bridge - bidirectional postMessage communication
71
+ */
72
+ export declare class IframeBridge {
73
+ private config;
74
+ private pendingRequests;
75
+ private messageHandler;
76
+ private requestHandler;
77
+ private boundHandleMessage;
78
+ private isDestroyed;
79
+ private readyPromise;
80
+ private readyResolve;
81
+ /**
82
+ * Origin pinned from the first origin-allowlisted incoming message
83
+ * (iframe side). All outbound sends use it instead of the "*" fallback,
84
+ * so widget data is never broadcast to arbitrary windows once the host
85
+ * is known. Re-pinned on every validated message (allows host moves).
86
+ */
87
+ private pinnedSendOrigin;
88
+ /** SEC-01: sliding-window counters for the inbound rate limit. */
89
+ private rateWindowStart;
90
+ private rateCount;
91
+ constructor(config: BridgeConfig);
92
+ /**
93
+ * Set handler for incoming events (Host side)
94
+ */
95
+ setMessageHandler(handler: MessageHandler): void;
96
+ /**
97
+ * Set handler for incoming requests (Iframe side)
98
+ */
99
+ setRequestHandler(handler: RequestHandler): void;
100
+ /**
101
+ * Resolve the target origin for outbound sends. Prefers the pinned
102
+ * validated origin; falls back to the configured targetOrigin ("*" only
103
+ * until the first allowlisted message arrives on the iframe side).
104
+ */
105
+ private resolveSendOrigin;
106
+ /**
107
+ * Send a command to the other side
108
+ */
109
+ sendCommand<T extends HostToIframeCommand>(command: T, timeoutMs?: number): Promise<ResponsePayload>;
110
+ /**
111
+ * Send an event (fire-and-forget)
112
+ */
113
+ sendEvent(event: IframeToHostEvent): void;
114
+ /**
115
+ * Send a response to a request
116
+ */
117
+ sendResponse(request: RequestMessage, payload: ResponsePayload, success?: boolean, error?: string): void;
118
+ /**
119
+ * Wait for the bridge to be ready (Iframe side)
120
+ */
121
+ waitForReady(): Promise<void>;
122
+ /**
123
+ * Signal that Iframe is ready (Iframe side)
124
+ */
125
+ signalReady(version: string, capabilities: string[]): void;
126
+ /**
127
+ * Validate message origin against allowlist.
128
+ *
129
+ * SEC-01: wildcard patterns are matched as PLAIN STRINGS, never compiled into
130
+ * a RegExp. The previous implementation replaced every `*` with `.*` and then
131
+ * ran `new RegExp`, which left every `.` unescaped, so a pattern like
132
+ * `https:` + wildcard-subdomain + `vninvestcharts.com` also matched origins
133
+ * such as `https://evilvninvestchartsXcom`. Only a leading subdomain
134
+ * wildcard is supported and it must sit on a scheme boundary.
135
+ */
136
+ private isOriginAllowed;
137
+ /** SEC-01: counters for rejected traffic — surfaced for tests/monitoring. */
138
+ readonly stats: {
139
+ rejectedOrigin: number;
140
+ rejectedSize: number;
141
+ rejectedRate: number;
142
+ accepted: number;
143
+ };
144
+ /**
145
+ * SEC-01: size + rate gate, applied after the origin is trusted so that
146
+ * hostile origins are not charged against the budget.
147
+ */
148
+ private passesTrafficBudget;
149
+ /**
150
+ * Handle incoming postMessage
151
+ */
152
+ private handleMessage;
153
+ /**
154
+ * Destroy the bridge and cleanup
155
+ */
156
+ destroy(): void;
157
+ }
158
+ /**
159
+ * Create Host-side bridge (parent page embedding iframe)
160
+ */
161
+ export declare function createHostBridge(iframe: HTMLIFrameElement, allowedOrigins?: string[], options?: Partial<BridgeConfig>): IframeBridge;
162
+ /**
163
+ * Create Iframe-side bridge (widget inside iframe)
164
+ */
165
+ export declare function createIframeBridge(allowedOrigins?: string[], options?: Partial<BridgeConfig>): IframeBridge;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * WP-11: Iframe Entry Point - Widget running inside iframe
3
+ *
4
+ * This is the standalone entry point for the iframe-hosted widget.
5
+ * It initializes the bridge, listens for commands from Host, and renders the widget.
6
+ */
7
+ import { type VNInvestChartsProps } from "../VNInvestCharts";
8
+ import { type RequestHandler, type WidgetConfig } from "./iframeBridge";
9
+ import type { WatchlistAdapter } from "../types/watchlist";
10
+ export declare const requestHandler: RequestHandler;
11
+ /**
12
+ * E3: static in-iframe watchlist adapter from plain symbols (JSON-safe).
13
+ * No streaming here — live quotes arrive via E5 subscribeQuotes.
14
+ */
15
+ export declare function buildStaticWatchlistAdapter(symbols: readonly string[] | undefined): WatchlistAdapter | undefined;
16
+ /**
17
+ * Build widget props from host config (exported for tests).
18
+ */
19
+ export declare function buildWidgetProps(config: WidgetConfig): VNInvestChartsProps;
20
+ /**
21
+ * Convert an engine snapshot (canvas or bitmap) to a data URL.
22
+ * Returns null when capture is unavailable. Exported for tests.
23
+ */
24
+ export declare function captureWidgetSnapshot(capture: () => Promise<ImageBitmap | HTMLCanvasElement | null | undefined> | ImageBitmap | HTMLCanvasElement | null | undefined, format?: "png" | "jpeg", quality?: number): Promise<string | null>;
25
+ /**
26
+ * Reset module state for tests only. Not part of the runtime contract.
27
+ */
28
+ export declare function __resetIframeEntryForTests(): void;
29
+ /**
30
+ * Attach a fake widget handle for tests only (the real handle attaches via
31
+ * React ref when the mocked root renders). Not part of the runtime contract.
32
+ */
33
+ export declare function __setWidgetRefForTests(handle: unknown): void;
34
+ export declare function __getIframeEntryStateForTests(): {
35
+ isInitialized: boolean;
36
+ hasRoot: boolean;
37
+ props: VNInvestChartsProps | null;
38
+ };
39
+ /**
40
+ * E0: resolve the parent-origin allowlist. Query params (set by whoever
41
+ * serves iframe.html) extend the compiled default whitelist:
42
+ * - `?parentOrigin=https://doi-tac.vn` (repeatable) or
43
+ * `?allowedOrigins=https://a.vn,https://b.vn`
44
+ * - `?allowAnyOrigin=1` works ONLY with the debug gate (`?vnsc_debug=1` or
45
+ * localStorage) — never in a plain prod load. `file://` parents (origin
46
+ * "null") must be listed explicitly to pass.
47
+ */
48
+ export declare function resolveAllowedOrigins(search?: string): {
49
+ allowedOrigins: string[];
50
+ allowAnyOrigin: boolean;
51
+ };
52
+ export declare function isIframeDebugEnabled(): boolean;
@@ -0,0 +1,15 @@
1
+ import type { IframeBridge } from "./iframeBridge";
2
+ import { type WidgetConfig } from "./messageProtocol";
3
+ /**
4
+ * E1 (split from iframeEntry): frame sizing controller.
5
+ * Fill mode (default) = 100%/100%, host owns the frame, zero resize
6
+ * messages. Card mode (numeric height) pins the height and reports guarded
7
+ * `event:resized` for bottom-panel expansion only.
8
+ */
9
+ export interface FrameResizeReporter {
10
+ onResize?: (height: number) => void;
11
+ }
12
+ export declare function createFrameController(container: HTMLElement, getBridge: () => IframeBridge | null): {
13
+ applyFrameHeight: (config: WidgetConfig) => void;
14
+ stopFrameResizeReporter: () => void;
15
+ };
@@ -0,0 +1,20 @@
1
+ import type { Timeframe } from "../../lib/types/adapter";
2
+ import type { OHLCVBar } from "../../lib/types/ohlcv";
3
+ import type { WatchlistAdapter, WatchlistQuoteUpdate } from "../types/watchlist";
4
+ import { type QuoteHub } from "./quoteHub";
5
+ /** Minimal structural surface needed for bar→quotes (avoids adapter-type coupling). */
6
+ export interface BarStreamSource {
7
+ subscribeToBar: (symbol: string, timeframe: Timeframe, onBar: (bar: OHLCVBar) => void) => () => void;
8
+ }
9
+ /**
10
+ * E5 (split from iframeEntry): quote-hub wiring.
11
+ * Source priority: explicit watchlist adapter with subscribeQuotes, else
12
+ * last-price quotes derived from the bar adapter's live WS.
13
+ */
14
+ export declare function createQuotesController(emit: (updates: WatchlistQuoteUpdate[]) => void): {
15
+ setWatchlistAdapter: (adapter: WatchlistAdapter | null) => void;
16
+ setBarAdapter: (adapter: BarStreamSource | null, timeframe: Timeframe | undefined) => void;
17
+ getHub: () => QuoteHub;
18
+ reset: () => void;
19
+ };
20
+ export type QuotesController = ReturnType<typeof createQuotesController>;