@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,2 @@
1
+ import{e as q,g as V,k as H,l as N}from"./chunk-6D7DVBIK.js";import"./chunk-5T6DGB3V.js";import{e as O}from"./chunk-FHHSTO6Z.js";import"./chunk-HPL723JA.js";import{useState as s,useMemo as le,useEffect as A,useRef as F}from"react";import{createPortal as ce}from"react-dom";import{Fragment as j,jsx as t,jsxs as o}from"react/jsx-runtime";var w=["close","open","high","low"];function Y(r){return w.includes(r)}function de(r){if(r.sourceBType==="value"){let c=r.sourceBValue.trim(),p=/^[+-]?(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?$/.test(c)?Number(c):NaN;return Number.isFinite(p)?{type:"value",value:p}:{type:"value"}}return r.sourceBType==="price"?{type:"price",key:r.sourceBKey}:{type:"indicator",indicatorId:r.sourceBIndicatorId,key:r.sourceBKey}}function pe(r){let c=r.sourceAType==="price"?{type:"price",key:r.sourceAKey}:{type:"indicator",indicatorId:r.sourceAIndicatorId,key:r.sourceAKey},p=`${r.symbol} (${r.timeframe}): ${r.sourceAType==="price"?"Price":r.sourceAIndicatorId} ${r.condition} ${r.sourceBType==="value"?r.sourceBValue:"target"}`;return{id:r.id,symbol:r.symbol,timeframe:r.timeframe,sourceA:c,condition:r.condition,sourceB:de(r),frequency:r.frequency,actions:{popup:r.actionPopup,sound:r.actionSound,email:!1,webhook:r.webhookUrl||void 0},message:r.message||p,createdAt:r.createdAt,isTriggered:!1}}function Ae({open:r,onClose:c,symbol:p,timeframe:T,alertManager:d,portalAdapter:J}){let{t:n}=O(),{paneState:R}=q(),ue=V(),{portalTarget:S}=H({portalAdapter:J}),k=F(null),[C,m]=s([]),[v,M]=s("price"),[g,f]=s("close"),[b,I]=s(""),[D,G]=s("crossing_up"),[u,Q]=s("value"),[z,X]=s("100"),[y,h]=s("close"),[x,B]=s(""),[E,Z]=s("once"),[P,ee]=s(!0),[K,te]=s(!0),[_,re]=s(""),[W,$]=s("");A(()=>{r&&m(d.getAlerts())},[r,d]);let a=le(()=>{let e=[];return R.panes.forEach(l=>{l.series.forEach((i,L)=>{if(i.id&&i.type!=="Volume"&&i.type!=="Candlestick"&&i.type!=="HollowCandle"&&i.type!=="OHLC"&&i.type!=="HeikinAshi"&&i.type!=="Line"&&i.type!=="Area"&&i.type!=="Bar"){let ae=`${i.type} (${i.id.slice(-4)})`,se=N(i.type);e.push({id:i.id,type:i.type,label:ae,keys:se})}})}),e},[R.panes]),U=F(c);A(()=>{U.current=c}),A(()=>{if(!r)return;let e=k.current?.ownerDocument??(typeof document>"u"?null:document);if(!e)return;let l=i=>{i.key==="Escape"&&U.current()};return e.addEventListener("keydown",l),()=>e.removeEventListener("keydown",l)},[r,S]),A(()=>{a.length!==0&&(v==="indicator"&&!b&&(I(a[0].id),f(a[0].keys[0])),u==="indicator"&&!x&&(B(a[0].id),h(a[0].keys[0])))},[a,b,x,v,u]);let oe=()=>{if(v==="price"&&!Y(g)){console.error(`Alert not created: price source key ${JSON.stringify(g)} is not in PRICE_SOURCE_KEYS`);return}if(u==="price"&&!Y(y)){console.error(`Alert not created: price source key ${JSON.stringify(y)} is not in PRICE_SOURCE_KEYS`);return}let e=pe({id:`alert-${Date.now()}`,createdAt:Date.now(),symbol:p,timeframe:T,sourceAType:v,sourceAKey:g,sourceAIndicatorId:b,condition:D,sourceBType:u,sourceBValue:z,sourceBKey:y,sourceBIndicatorId:x,frequency:E,actionPopup:P,actionSound:K,webhookUrl:_,message:W});d.addAlert(e),m(d.getAlerts()),$("")},ne=e=>{d.removeAlert(e),m(d.getAlerts())},ie=e=>{d.toggleAlert(e),m(d.getAlerts())};return!r||!S?null:ce(t("div",{ref:k,onClick:e=>e.target===k.current&&c(),style:{position:"fixed",inset:0,background:"rgba(0, 0, 0, 0.6)",backdropFilter:"blur(4px)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:9999,color:"var(--vnsc-text-primary, #e0e0e0)",fontFamily:"Inter, sans-serif"},children:o("div",{style:{background:"var(--vnsc-bg-primary, #0c1017)",border:"1px solid var(--vnsc-border, #202b3c)",borderRadius:"8px",width:"820px",maxHeight:"95vh",display:"flex",flexDirection:"column",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.5)",overflow:"hidden"},children:[o("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"12px 20px",borderBottom:"1px solid var(--vnsc-border, #202b3c)"},children:[o("h3",{style:{margin:0,fontSize:"15px",fontWeight:"bold"},children:[n("ui.alert.create")||"Create Alert"," - ",p," (",T,")"]}),t("button",{onClick:c,style:{background:"none",border:"none",color:"var(--vnsc-text-secondary, #787b86)",fontSize:"18px",cursor:"pointer"},children:"\xD7"})]}),o("div",{style:{padding:"16px 20px",display:"flex",gap:"20px",alignItems:"stretch",background:"var(--vnsc-bg-primary, #0c1017)"},children:[o("div",{style:{flex:1.2,display:"flex",flexDirection:"column",gap:"10px",minWidth:0},children:[o("div",{style:{display:"flex",flexDirection:"column",gap:"6px"},children:[t("span",{style:{fontSize:"11px",fontWeight:"bold",color:"var(--vnsc-text-secondary, #787b86)"},children:n("ui.alert.condition")||"Condition"}),o("div",{style:{display:"flex",gap:"6px",alignItems:"center"},children:[o("select",{value:v,"data-testid":"alert-source-a-type",onChange:e=>{let l=e.target.value;if(M(l),l==="price")f("close");else if(a.length>0){let i=a.find(L=>L.id===b)||a[0];I(i.id),f(i.keys[0])}},style:{flex:1,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:[t("option",{value:"price",children:n("ui.indicator.settings.source.price")||"Price"}),a.length>0&&t("option",{value:"indicator",children:n("ui.indicator.settings.source.indicators")||"Indicator"})]}),v==="price"?t("select",{value:g,"data-testid":"alert-source-a-key",onChange:e=>f(e.target.value),style:{flex:1,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:w.map(e=>t("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))}):o(j,{children:[t("select",{value:b,"data-testid":"alert-source-a-indicator",onChange:e=>{I(e.target.value);let l=a.find(i=>i.id===e.target.value);l&&f(l.keys[0]||"")},style:{flex:1.5,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:a.map(e=>t("option",{value:e.id,children:e.label},e.id))}),t("select",{value:g,"data-testid":"alert-source-a-output",onChange:e=>f(e.target.value),style:{flex:1,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:(a.find(e=>e.id===b)?.keys??[]).map(e=>t("option",{value:e,children:e},e))})]})]}),o("select",{value:D,"data-testid":"alert-condition",onChange:e=>G(e.target.value),style:{padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:[t("option",{value:"crossing",children:n("ui.alert.crossing")||"Crossing"}),t("option",{value:"crossing_up",children:n("ui.alert.crossingUp")||"Crossing Up"}),t("option",{value:"crossing_down",children:n("ui.alert.crossingDown")||"Crossing Down"}),t("option",{value:"greater_than",children:n("ui.alert.greaterThan")||"Greater Than"}),t("option",{value:"less_than",children:n("ui.alert.lessThan")||"Less Than"})]}),o("div",{style:{display:"flex",gap:"6px",alignItems:"center"},children:[o("select",{value:u,"data-testid":"alert-source-b-type",onChange:e=>Q(e.target.value),style:{flex:1,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:[t("option",{value:"value",children:n("ui.alert.value")||"Value"}),t("option",{value:"price",children:n("ui.alert.price")||"Price"}),a.length>0&&t("option",{value:"indicator",children:n("ui.alert.indicator")||"Indicator"})]}),u==="value"?t("input",{type:"number","data-testid":"alert-threshold",value:z,onChange:e=>X(e.target.value),style:{flex:2,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"}}):u==="price"?t("select",{value:y,"data-testid":"alert-source-b-key",onChange:e=>h(e.target.value),style:{flex:2,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:w.map(e=>t("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))}):o(j,{children:[t("select",{value:x,"data-testid":"alert-source-b-indicator",onChange:e=>{B(e.target.value);let l=a.find(i=>i.id===e.target.value);l&&h(l.keys[0]||"")},style:{flex:1.5,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:a.map(e=>t("option",{value:e.id,children:e.label},e.id))}),t("select",{value:y,"data-testid":"alert-source-b-output",onChange:e=>h(e.target.value),style:{flex:1,padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:(a.find(e=>e.id===x)?.keys??[]).map(e=>t("option",{value:e,children:e},e))})]})]})]}),o("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"12px"},children:[o("label",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[t("span",{style:{fontSize:"11px",color:"var(--vnsc-text-secondary, #787b86)",fontWeight:"bold"},children:n("ui.alert.frequency")||"Frequency"}),o("select",{value:E,"data-testid":"alert-frequency",onChange:e=>Z(e.target.value),style:{padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"},children:[t("option",{value:"once",children:n("ui.alert.once")||"Only Once"}),t("option",{value:"once_per_bar",children:n("ui.alert.oncePerBar")||"Once Per Bar"}),t("option",{value:"continuous",children:n("ui.alert.continuous")||"Continuous"})]})]}),o("label",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[t("span",{style:{fontSize:"11px",color:"var(--vnsc-text-secondary, #787b86)",fontWeight:"bold"},children:n("ui.alert.actions")||"Actions"}),o("div",{style:{display:"flex",gap:"12px",height:"100%",alignItems:"center"},children:[o("label",{style:{display:"flex",gap:"4px",alignItems:"center",fontSize:"12px"},children:[t("input",{type:"checkbox",checked:P,onChange:e=>ee(e.target.checked)}),"Popup"]}),o("label",{style:{display:"flex",gap:"4px",alignItems:"center",fontSize:"12px"},children:[t("input",{type:"checkbox",checked:K,onChange:e=>te(e.target.checked)}),"Sound"]})]})]})]}),o("label",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[t("span",{style:{fontSize:"11px",color:"var(--vnsc-text-secondary, #787b86)",fontWeight:"bold"},children:n("ui.alert.webhook")||"Webhook URL"}),t("input",{type:"text",placeholder:"https://example.com/webhook",value:_,onChange:e=>re(e.target.value),style:{padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",fontSize:"12px"}})]}),o("label",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[t("span",{style:{fontSize:"11px",color:"var(--vnsc-text-secondary, #787b86)",fontWeight:"bold"},children:n("ui.alert.message")||"Alert Message"}),t("textarea",{rows:2,"data-testid":"alert-message",placeholder:"Enter alert message",value:W,onChange:e=>$(e.target.value),style:{padding:"6px 8px",background:"var(--vnsc-bg-input, #131b26)",border:"1px solid var(--vnsc-border-input, #202b3c)",borderRadius:"4px",color:"#fff",resize:"none",fontSize:"12px"}})]}),t("button",{"data-testid":"alert-create",onClick:oe,style:{padding:"8px",background:"var(--vnsc-accent, #2962ff)",border:"none",borderRadius:"4px",color:"var(--vnsc-text-on-primary, #fff)",fontWeight:"bold",cursor:"pointer",fontSize:"12px",marginTop:"4px"},children:n("ui.alert.create")||"Create Alert"})]}),o("div",{style:{flex:.8,display:"flex",flexDirection:"column",borderLeft:"1px solid var(--vnsc-border, #202b3c)",paddingLeft:"20px",minWidth:0},children:[o("h4",{style:{margin:"0 0 12px 0",fontSize:"13px",color:"var(--vnsc-text-secondary, #787b86)",fontWeight:"bold"},children:[n("ui.alert.activeAlerts")||"Active Alerts"," (",C.length,")"]}),o("div",{style:{display:"flex",flexDirection:"column",gap:"8px",flex:1,maxHeight:"310px",overflowY:"auto",paddingRight:"4px"},children:[C.map(e=>o("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"6px 10px",background:"var(--vnsc-bg-input, #131b26)",borderRadius:"4px",border:"1px solid var(--vnsc-border-input, #202b3c)",gap:"8px"},children:[o("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:"2px",minWidth:0},children:[t("span",{style:{fontSize:"11px",fontWeight:"bold",textDecoration:e.isTriggered?"line-through":"none",color:e.isTriggered?"var(--vnsc-text-secondary, #787b86)":"var(--vnsc-text-on-primary, #fff)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e.message,children:e.message}),t("span",{style:{fontSize:"9px",color:"var(--vnsc-text-secondary, #787b86)"},children:new Date(e.createdAt).toLocaleString()}),e.actions.webhook&&e.lastDeliveryError?o("span",{"data-testid":"alert-delivery-error",style:{fontSize:"9px",fontWeight:"bold",color:"var(--vnsc-color-bearish, #ef5350)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:`${e.lastDeliveryError.reason}${e.lastDeliveryError.status?` (HTTP ${e.lastDeliveryError.status})`:""} \u2014 ${new Date(e.lastDeliveryError.at).toLocaleString()}`,children:[n("ui.alert.deliveryFailed")||"Webhook delivery failed",e.lastDeliveryError.status?` \xB7 HTTP ${e.lastDeliveryError.status}`:""," \xB7"," ",new Date(e.lastDeliveryError.at).toLocaleTimeString()]}):null]}),o("div",{style:{display:"flex",gap:"4px",flexShrink:0},children:[t("button",{onClick:()=>ie(e.id),style:{padding:"3px 6px",fontSize:"10px",background:e.isTriggered?"var(--vnsc-color-bullish, #2e7d32)":"color-mix(in srgb, var(--vnsc-text-secondary, #787b86) 35%, transparent)",border:"none",borderRadius:"3px",color:"var(--vnsc-text-on-primary, #fff)",cursor:"pointer"},children:e.isTriggered?n("ui.alert.reset")||"Reset":n("ui.alert.active")||"Active"}),t("button",{onClick:()=>ne(e.id),style:{padding:"3px 6px",fontSize:"10px",background:"var(--vnsc-color-error, #c62828)",border:"none",borderRadius:"3px",color:"var(--vnsc-text-on-primary, #fff)",cursor:"pointer"},children:n("ui.alert.delete")||"Delete"})]})]},e.id)),C.length===0&&t("span",{style:{fontSize:"11px",color:"var(--vnsc-text-secondary, #787b86)",fontStyle:"italic"},children:n("ui.alert.noAlerts")||"No alerts configured."})]})]})]})]})}),S)}export{Ae as AlertsModal,w as PRICE_SOURCE_KEYS,pe as buildAlertDraft,de as buildAlertSourceB,Y as isPriceSourceKey};
2
+ //# sourceMappingURL=AlertsModal-WKEUDTUZ.js.map
@@ -0,0 +1,2 @@
1
+ .oc{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--vnsc-bg-secondary, #111820);color:var(--vnsc-text-primary, #e0e0e0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:12px}.ec{display:flex;align-items:center;padding:2px 12px 0;flex-shrink:0}.ac{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--vnsc-text-primary, #e0e0e0)}.nc{color:var(--vnsc-color-bullish, #26a69a);font-size:9px}.tc{color:var(--vnsc-text-secondary, #727f8c);font-weight:400}.Ae{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 14px;border-bottom:1px solid var(--vnsc-border, #2a2a2a);background:var(--vnsc-bg-secondary, #111820);overflow-x:auto;scrollbar-width:none;min-height:52px}.Ae::-webkit-scrollbar{display:none}.ic{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.sc{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-right:6px;border-right:1px solid var(--vnsc-border-subtle, rgba(255, 255, 255, .08))}.cc{width:8px;height:8px;border-radius:50%;background:var(--vnsc-color-bullish, #16a34a);box-shadow:0 0 6px #16a34a66;flex:none}.dc{font-weight:700;font-size:12px;color:var(--vnsc-text-primary, #f1f5f9);letter-spacing:.01em;white-space:nowrap}.pc{font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;background:var(--vnsc-bg-surface, rgba(255, 255, 255, .06));color:var(--vnsc-text-secondary, #94a3b8);border:1px solid var(--vnsc-border-subtle, rgba(255, 255, 255, .08))}.lc{display:flex;align-items:stretch;gap:10px;min-width:0}.xc{display:flex;flex-direction:column;justify-content:center;padding:4px 10px;border-radius:6px;background:var(--vnsc-bg-primary, #0d141b);border:1px solid var(--vnsc-border-subtle, rgba(255, 255, 255, .06));min-width:max-content}.bc{background:var(--vnsc-bg-primary, #0d141b);border-color:var(--vnsc-border, #2a2a2a)}.gc{display:flex;align-items:baseline;gap:8px}.vc{display:flex;align-items:center;gap:8px;min-width:0}.fc{display:flex;flex-direction:column;gap:1px;min-width:0}.Fr,.E{display:grid;column-gap:12px;row-gap:1px;align-items:center;align-content:center}.Fr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.E{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.E>.Ne{grid-column:1 / -1}.Ne{display:flex;align-items:baseline;gap:6px;min-width:0;white-space:nowrap}.Fr .Rr,.E .Rr{font-size:15px}.uc{font-size:10px;font-weight:400;color:var(--vnsc-text-secondary, #787b86);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc{font-size:11px;font-weight:400;color:var(--vnsc-text-primary, #e0e0e0);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--vnsc-text-secondary, #787b86);white-space:nowrap}.Rr{font-size:13px;font-weight:700;color:var(--vnsc-text-primary, #ffffff);font-variant-numeric:tabular-nums;white-space:nowrap}.yc{font-size:14px;font-weight:700;color:var(--vnsc-text-primary, #ffffff);font-variant-numeric:tabular-nums;white-space:nowrap}.wc{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--vnsc-text-secondary, #94a3b8);font-variant-numeric:tabular-nums;margin-top:1px;white-space:nowrap}.kc{font-size:.62em;font-weight:600;color:var(--vnsc-text-secondary, #94a3b8);letter-spacing:.03em}.zc{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700;color:var(--vnsc-color-bullish, #26a69a);background:#26a69a24;border:1px solid rgba(38,166,154,.25);font-variant-numeric:tabular-nums}.jc{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:700;color:var(--vnsc-color-bearish, #ef5350);background:#ef535024;border:1px solid rgba(239,83,80,.25);font-variant-numeric:tabular-nums}.Sc{display:inline-flex;align-items:center;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;color:var(--vnsc-text-secondary, #94a3b8);background:#ffffff0d;font-variant-numeric:tabular-nums}.Mc{font-size:10px;font-weight:600;padding:0 4px;border-radius:3px;color:var(--vnsc-color-bullish, #26a69a);background:#26a69a1f}.Ic{font-size:10px;font-weight:600;padding:0 4px;border-radius:3px;color:#f59e0b;background:#f59e0b1f}.Fc{font-size:10px;font-weight:600;padding:0 4px;border-radius:3px;color:var(--vnsc-color-bearish, #ef5350);background:#ef53501f}.Rc{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.Hr{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:5px;font-size:11px;font-weight:600;cursor:pointer;border:1px solid var(--vnsc-border, #2a2a2a);background:var(--vnsc-bg-primary, #0d141b);color:var(--vnsc-text-primary, #e0e0e0);transition:all .15s ease;white-space:nowrap}.Hr:hover{background:var(--vnsc-bg-surface, rgba(255, 255, 255, .08));border-color:var(--vnsc-border-subtle, rgba(255, 255, 255, .15))}.G{color:var(--vnsc-text-secondary, #94a3b8)}.G:hover{color:var(--vnsc-color-bearish, #ef5350);border-color:#ef53504d}.G:focus-visible,.Hr:focus-visible{outline:2px solid var(--vnsc-accent, #2f6df6);outline-offset:1px}.G:disabled{opacity:.45;cursor:not-allowed;color:var(--vnsc-text-secondary, #94a3b8);border-color:var(--vnsc-border, #2a2a2a)}.Hc{padding:0;width:28px;justify-content:center}.Yc{display:flex;align-items:center;gap:2px;padding:0 12px;border-bottom:1px solid var(--vnsc-border, #2a2a2a);background:var(--vnsc-bg-secondary, #111820);min-height:36px}.Yr,.De{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:transparent;cursor:pointer;transition:all .15s ease;white-space:nowrap;font-size:12px}.Yr{color:var(--vnsc-text-secondary, #787b86);border-bottom:2px solid transparent;font-weight:500}.Yr:hover{color:var(--vnsc-text-primary, #e0e0e0)}.De{color:var(--vnsc-text-primary, #ffffff);border-bottom:2px solid var(--vnsc-accent, #2962ff);font-weight:600}.Cc{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;font-size:10px;font-weight:700;background:#2962ff26;color:var(--vnsc-accent, #2962ff)}.qe{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--vnsc-text-secondary, #787b86);cursor:pointer;transition:all .15s ease;font-size:13px}.qe:hover{background:#ffffff14;color:var(--vnsc-text-primary, #ffffff)}.Bc{flex:1;min-height:120px;overflow:auto;padding:8px 12px}.Uc{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 16px;text-align:center;color:var(--vnsc-text-secondary, #787b86)}.Tc{font-size:28px;margin-bottom:8px;opacity:.6}.Xc{font-size:13px;font-weight:600;color:var(--vnsc-text-primary, #e0e0e0);margin-bottom:4px}.Ac{font-size:11px;color:var(--vnsc-text-secondary, #787b86);max-width:340px;line-height:1.4}.l{width:100%;border-collapse:collapse}.l th,.l td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--vnsc-border, #2a2a2a);white-space:nowrap}.l th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--vnsc-text-secondary, #787b86);background:var(--vnsc-bg-secondary, #111820);position:sticky;top:0;z-index:1}.l td{font-variant-numeric:tabular-nums;border-bottom:1px solid var(--vnsc-border-subtle, rgba(255, 255, 255, .04))}.l tr:hover td{background:#ffffff05}.l button{margin-right:4px;cursor:pointer}.Nc{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px}.Dc{display:flex;flex-direction:column;gap:2px;font-variant-numeric:tabular-nums}.qc{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px}.Ec{font-size:13px;font-weight:600;color:var(--vnsc-text-primary, #f1f5f9)}.Gc{font-size:12px;color:var(--vnsc-text-secondary, #94a3b8)}.Ee{margin-top:4px;background:var(--vnsc-accent, #38bdf8);border:1px solid var(--vnsc-accent, #38bdf8);color:#0b1220;padding:6px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:filter .15s ease;white-space:nowrap}.Ee:hover{filter:brightness(1.1)}.Jc{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#04081099;z-index:20}.Kc{display:flex;flex-direction:column;gap:8px;min-width:280px;max-width:340px;padding:14px 16px;background:var(--vnsc-bg-secondary, #131722);border:1px solid var(--vnsc-border, rgba(148, 163, 184, .16));border-radius:8px}.Lc{font-size:13px;font-weight:700;color:var(--vnsc-text-primary, #f1f5f9)}.Oc{font-size:12px;color:var(--vnsc-text-secondary, #94a3b8)}.Pc{display:flex;flex-wrap:wrap;gap:6px}.Ge{background:transparent;border:1px solid var(--vnsc-border, rgba(148, 163, 184, .25));color:var(--vnsc-text-secondary, #94a3b8);padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer}.Ge:hover{border-color:var(--vnsc-accent, #38bdf8);color:var(--vnsc-accent, #38bdf8)}.Je{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--vnsc-text-secondary, #94a3b8)}.Je input{background:var(--vnsc-bg-primary, #0b1220);border:1px solid var(--vnsc-border, rgba(148, 163, 184, .25));color:var(--vnsc-text-primary, #f1f5f9);padding:6px 10px;border-radius:4px;font-size:13px}.Qc{font-size:12px;color:var(--vnsc-color-bearish, #ef5350)}.k{display:flex;justify-content:flex-end;gap:8px}.k button{padding:6px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer}.k button[data-testid=capital-confirm]{background:var(--vnsc-accent, #38bdf8);border:1px solid var(--vnsc-accent, #38bdf8);color:#0b1220}.k button[data-testid=capital-confirm]:disabled{opacity:.4;cursor:not-allowed}.k button[data-testid=capital-cancel]{background:transparent;border:1px solid var(--vnsc-border, rgba(148, 163, 184, .25));color:var(--vnsc-text-secondary, #94a3b8)}.Vc{position:fixed;inset:0;background:#03060c99;display:grid;place-items:center;z-index:1000;padding:16px}.Wc{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--vnsc-bg-secondary, #0f1521);color:var(--vnsc-text-primary, #e6edf3);border:1px solid var(--vnsc-border, #1e2635);border-radius:12px;box-shadow:0 24px 64px #0000008c;font-size:13px}.Zc{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--vnsc-border, #1e2635);font-weight:600;font-size:15px;flex-shrink:0}.Ke{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--vnsc-text-secondary, #8a94a6);cursor:pointer}.Ke:hover{background:var(--vnsc-bg-hover, rgba(255, 255, 255, .06));color:var(--vnsc-text-primary, #e6edf3)}._c{padding:16px 18px;overflow-y:auto;overflow-x:hidden;display:grid;gap:14px;min-height:0;min-width:0}.J{overflow-x:auto;scrollbar-width:none}.J::-webkit-scrollbar{display:none}.J button{flex:none;white-space:nowrap}.J button[aria-selected=true]{color:#fff;box-shadow:inset 0 -2px 0 var(--vnsc-accent, #2f6df6)}.Cr{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:12px;min-width:0}.Cr>*{min-width:0}.Cr>span:first-child{color:var(--vnsc-text-secondary, #8a94a6)}.rd{grid-column:2;font-size:11px;color:var(--vnsc-text-secondary, #8a94a6);margin-top:-8px}.Le{display:flex;align-items:center;gap:8px;cursor:pointer}.Le input{width:16px;height:16px;accent-color:var(--vnsc-accent, #2f6df6);flex-shrink:0;margin:0}.od{grid-column:2;font-size:11px;color:var(--vnsc-color-bearish, #e5484d);margin-top:-8px}.z{display:inline-flex;background:var(--vnsc-bg-primary, #0b0f17);border:1px solid var(--vnsc-border, #1e2635);border-radius:8px;padding:2px;gap:2px}.z button{all:unset;cursor:pointer;padding:6px 14px;border-radius:6px;color:var(--vnsc-text-secondary, #8a94a6);border:1px solid transparent;transition:color .15s,background .15s,border-color .15s;font-size:12px;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center}.z button:hover{color:var(--vnsc-text-primary, #e6edf3)}.z button[aria-pressed=true]{background:var(--vnsc-accent-soft, rgba(47, 109, 246, .16));border-color:var(--vnsc-accent, #2f6df6);color:#fff}.z button:focus-visible{outline:2px solid var(--vnsc-accent, #2f6df6);outline-offset:1px}.K{display:flex;align-items:center;background:var(--vnsc-bg-primary, #0b0f17);border:1px solid var(--vnsc-border, #1e2635);border-radius:6px;min-width:0}.K:focus-within{border-color:var(--vnsc-accent, #2f6df6);box-shadow:0 0 0 3px var(--vnsc-accent-soft, rgba(47, 109, 246, .16))}.K input{all:unset;flex:1;min-width:0;padding:7px 10px;font-variant-numeric:tabular-nums;color:var(--vnsc-text-primary, #e6edf3)}.K span{padding:0 10px;color:var(--vnsc-text-secondary, #8a94a6);white-space:nowrap}.ed{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--vnsc-border, #1e2635);background:var(--vnsc-bg-secondary, #0f1521);border-radius:0 0 12px 12px;flex-shrink:0}.Oe{padding:8px 16px;border-radius:6px;border:1px solid var(--vnsc-border, #1e2635);background:transparent;color:var(--vnsc-text-primary, #e6edf3);cursor:pointer;font-size:13px}.Oe:hover{background:var(--vnsc-bg-hover, rgba(255, 255, 255, .06))}.Br{background:var(--vnsc-accent, #2f6df6);border-color:var(--vnsc-accent, #2f6df6);color:#fff;font-weight:600}.Br:hover{background:var(--vnsc-accent, #2f6df6);filter:brightness(1.1)}.Br:disabled{opacity:.45;cursor:not-allowed;filter:none}.ad{flex:1}
2
+ /*# sourceMappingURL=ConnectedTradingPanel-KWJMIKTN.css.map */
@@ -0,0 +1,2 @@
1
+ import{r as a}from"./chunk-66JBEGR3.js";import"./chunk-76E7CKUD.js";import"./chunk-FHHSTO6Z.js";import"./chunk-HPL723JA.js";export{a as ConnectedTradingPanel};
2
+ //# sourceMappingURL=ConnectedTradingPanel-XDKMOQY5.js.map
@@ -0,0 +1,2 @@
1
+ import{B as a}from"./chunk-UKJ5AKQX.js";import"./chunk-PNIB4OM3.js";import"./chunk-AKWVXRQ6.js";import"./chunk-5T6DGB3V.js";import"./chunk-FHHSTO6Z.js";import"./chunk-HPL723JA.js";export{a as PineEditorPanel};
2
+ //# sourceMappingURL=PineEditorPanel-AUXB4FD3.js.map
@@ -0,0 +1,2 @@
1
+ .al{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;font-family:Inter,sans-serif;font-size:12px;font-variant-numeric:tabular-nums;color:var(--vnsc-text-primary, #e0e0e0);background:var(--vnsc-bg-primary, #0c1017)}.ca{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--vnsc-border-divider, #202b3c);padding:8px 12px;flex-shrink:0}.nl{font-weight:700;margin-right:4px}.tl{display:flex;flex:1;min-height:0}.qr{width:220px;border-right:1px solid var(--vnsc-border-divider, #202b3c);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.il{display:flex;align-items:center;gap:4px;padding:8px 10px;font-weight:600;font-size:11px;color:var(--vnsc-text-secondary, #9aa3b8);border-bottom:1px solid var(--vnsc-border-divider, #202b3c)}.sl{flex:1;overflow-y:auto;padding:4px 0}.da{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;cursor:pointer;border-left:3px solid transparent;transition:background .15s;gap:4px}.da:hover{background:var(--vnsc-bg-hover, #1a2030)}.cl{background:var(--vnsc-bg-selected, #1a2744);border-left-color:var(--vnsc-accent, #6366f1)}.dl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.pl{flex:1;background:var(--vnsc-bg-input, #090d14);border:1px solid var(--vnsc-accent, #6366f1);border-radius:3px;color:var(--vnsc-text-primary, #e0e0e0);font-size:12px;padding:2px 6px;outline:none}.pa{display:flex;gap:2px;flex-shrink:0}.Er{padding:5px 12px;background:var(--vnsc-color-success, #089981);border:none;border-radius:4px;color:#fff;font-weight:700;cursor:pointer;margin-left:auto;transition:background-color .2s ease}.Er:hover{background:var(--vnsc-color-success-hover, #067a68)}.la{padding:4px 10px;background:var(--vnsc-bg-input, #1e2a3a);border:1px solid var(--vnsc-border-input, #2a3a4e);border-radius:4px;color:var(--vnsc-text-primary, #c0c8d8);font-size:11px;cursor:pointer;transition:background .15s;white-space:nowrap}.la:hover{background:var(--vnsc-bg-input-hover, #2a3a4e)}.xa{padding:2px 6px;background:transparent;border:1px solid var(--vnsc-border-input, #2a3a4e);border-radius:3px;color:var(--vnsc-text-secondary, #9aa3b8);font-size:10px;cursor:pointer;white-space:nowrap}.xa:hover{background:var(--vnsc-bg-input-hover, #1e2a3a);color:var(--vnsc-text-primary, #c0c8d8)}.ba{padding:2px 6px;background:transparent;border:1px solid var(--vnsc-border-error, #4a1a1a);border-radius:3px;color:var(--vnsc-color-bearish, #f23645);font-size:10px;cursor:pointer;white-space:nowrap}.ba:hover{background:var(--vnsc-bg-hover, #2a1010)}.ll{flex:1;position:relative;display:flex;flex-direction:column;min-width:0}.xl{padding:8px 12px;background:#f236451a;border-top:1px solid #f23645;color:#f23645;flex-shrink:0}.bl{padding:8px 12px;background:#0899811a;border-top:1px solid #089981;color:#089981;flex-shrink:0}@media(max-width:768px){.qr{width:160px}.pa{flex-direction:column}}@media(max-width:480px){.ca{flex-wrap:wrap}.qr{display:none}.Er{margin-left:0;width:100%}}
2
+ /*# sourceMappingURL=PineEditorPanel-V6YN2OTU.css.map */
@@ -0,0 +1,2 @@
1
+ .Ve{position:absolute;top:0;right:0;width:260px;height:100%;z-index:50;background:var(--vnsc-bg-primary);border-left:1px solid var(--vnsc-border-primary);display:flex;flex-direction:column;font-size:12px;color:var(--vnsc-text-primary);overflow:hidden}.id{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--vnsc-border-primary);background:var(--vnsc-bg-secondary)}.sd{font-weight:700;font-size:13px}.cd{display:flex;gap:6px}.Tr{background:none;border:1px solid var(--vnsc-border-secondary);color:var(--vnsc-text-secondary);border-radius:4px;cursor:pointer;padding:2px 6px;font-size:11px;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.Tr:hover:not(:disabled){background:var(--vnsc-bg-hover);color:var(--vnsc-text-primary);border-color:var(--vnsc-text-disabled)}.Tr:disabled{cursor:not-allowed;opacity:.5}.We{background:none;border:none;color:var(--vnsc-text-tertiary);cursor:pointer;font-size:14px;padding:0 4px;transition:color .15s ease}.We:hover{color:var(--vnsc-text-primary)}.dd{flex:1;overflow-y:auto;padding:12px}.pd{height:40px;background:var(--vnsc-bg-tertiary);border-radius:4px;margin-bottom:8px;animation:Ze 1.2s ease-in-out infinite}@keyframes Ze{0%,to{opacity:.5}50%{opacity:1}}.ld{display:flex;align-items:center;gap:10px;margin-bottom:12px}.xd{flex:1;padding:8px 12px;border-radius:6px;font-weight:700;font-size:14px;text-align:center;letter-spacing:.5px}.bd{background:var(--vnsc-color-success-hover);color:var(--vnsc-text-on-primary)}.gd{background:var(--vnsc-color-success);color:var(--vnsc-text-on-primary)}.vd{background:var(--vnsc-color-neutral);color:var(--vnsc-text-on-primary)}.fd{background:var(--vnsc-color-warning);color:var(--vnsc-text-on-primary)}.ud{background:var(--vnsc-color-error);color:var(--vnsc-text-on-primary)}.hd{text-align:center}.md{color:var(--vnsc-text-tertiary);font-size:10px}.yd{font-weight:700;font-size:13px}.wd{margin-bottom:8px}.kd{border-bottom:1px solid var(--vnsc-border-primary);padding-bottom:8px;margin-bottom:8px}.zd{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.jd{flex:1;font-size:12px;color:var(--vnsc-text-primary);font-weight:500}.Sd{color:var(--vnsc-text-tertiary);font-size:11px;margin-left:4px}.Md{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--vnsc-color-neutral);color:var(--vnsc-text-on-primary);letter-spacing:.5px}.Id{background:var(--vnsc-color-success)}.Fd{background:var(--vnsc-color-error)}.Rd{background:var(--vnsc-color-neutral)}.Hd{color:var(--vnsc-text-tertiary);font-size:10px}.Yd{height:4px;background:var(--vnsc-border-primary);border-radius:2px;margin-top:6px;overflow:hidden}.Cd{height:100%;border-radius:2px;transition:width .3s ease}.Bd{margin-top:8px;font-size:11px;color:var(--vnsc-text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}._e{background:none;border:none;color:var(--vnsc-text-link);cursor:pointer;font-size:11px;padding:0;text-decoration:underline;transition:color .15s ease}._e:hover{color:var(--vnsc-text-link-hover)}.Ud{margin-top:8px;font-size:11px;color:var(--vnsc-text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.Td{margin-top:10px;font-size:10px;color:var(--vnsc-text-tertiary);text-align:right}.Xd{text-align:center;color:var(--vnsc-text-placeholder);padding-top:24px;font-size:12px}.Ad{font-size:24px;margin-bottom:8px}@media(max-width:480px){.Ve{width:100%;height:auto;max-height:50%;bottom:0;top:auto;border-left:none;border-top:1px solid var(--vnsc-border-primary)}}.ra{position:absolute;top:0;right:0;bottom:0;width:240px;z-index:var(--vnsc-z-dock, 51);background:var(--vnsc-bg-primary);border-left:1px solid var(--vnsc-border-primary);display:flex;flex-direction:column;font-size:var(--vnsc-font-size-xs);color:var(--vnsc-text-primary);overflow:hidden}.Nd{display:flex;align-items:center;justify-content:space-between;padding:var(--vnsc-space-2);border-bottom:1px solid var(--vnsc-border-divider);background:var(--vnsc-bg-secondary);flex-shrink:0}.Dd{font-weight:700;font-size:var(--vnsc-font-size-sm)}.oa{background:none;border:none;color:var(--vnsc-text-secondary);cursor:pointer;font-size:var(--vnsc-font-size-md);padding:0 4px;transition:color .15s ease}.oa:hover{color:var(--vnsc-text-primary)}.qd{display:flex;align-items:center;gap:6px;padding:4px 8px;border-bottom:1px solid var(--vnsc-border-divider);flex-shrink:0}.Ed{color:var(--vnsc-text-secondary);white-space:nowrap}.Gd{flex:1;cursor:pointer}.Jd{width:38px;text-align:right;color:var(--vnsc-text-primary);flex-shrink:0}.Kd{display:grid;grid-template-columns:52px 70px 52px 44px 22px;padding:2px 4px;color:var(--vnsc-text-secondary);font-size:var(--vnsc-font-size-2xs);border-bottom:1px solid var(--vnsc-border-divider);flex-shrink:0}.Ld{flex:1;overflow-y:auto;overflow-x:hidden}.Od,.Pd{text-align:center;color:var(--vnsc-text-secondary);padding-top:20px}.Qd{display:grid;grid-template-columns:52px 70px 52px 44px 22px;height:22px;align-items:center;padding:0 4px;background:transparent;border-bottom:1px solid var(--vnsc-border-divider)}.Vd{background:color-mix(in srgb,var(--vnsc-color-warning) 15%,transparent);border-bottom:1px solid color-mix(in srgb,var(--vnsc-color-warning) 60%,transparent)}.Wd{color:var(--vnsc-text-secondary);font-size:var(--vnsc-font-size-2xs)}.Zd{text-align:right;font-weight:400}._d{color:var(--vnsc-color-bullish)}.rp{color:var(--vnsc-color-bearish)}.op{font-weight:700}.ep,.ap{text-align:right;color:var(--vnsc-text-secondary)}.np{color:var(--vnsc-color-warning)}.tp{display:flex;align-items:center;justify-content:center;height:14px;width:16px;border-radius:2px;font-size:var(--vnsc-font-size-2xs);font-weight:700}.ip{background:color-mix(in srgb,var(--vnsc-color-bullish) 35%,transparent);color:var(--vnsc-text-on-primary)}.sp{background:var(--vnsc-color-bearish);color:var(--vnsc-text-on-primary)}.cp{background:color-mix(in srgb,var(--vnsc-text-secondary) 30%,transparent);color:var(--vnsc-text-primary)}.dp{padding:4px 8px;border-top:1px solid var(--vnsc-border-divider);color:var(--vnsc-text-secondary);font-size:var(--vnsc-font-size-2xs);flex-shrink:0}@media(max-width:480px){.ra{width:100%;height:auto;max-height:40%;bottom:0;top:auto;right:0;border-left:none;border-top:1px solid var(--vnsc-border-primary)}}.Xr{display:flex;flex-direction:column;flex-shrink:0;height:100%;border-left:1px solid var(--vnsc-border, #2a2a2a);background:var(--vnsc-bg-secondary, #111820);position:relative;z-index:48;min-width:150px;overflow:hidden;transition:width .18s ease}.ea{min-width:40px}@media(max-width:767px){.Xr{transition:none}.ea{height:auto;min-height:0;border-top:none}}.aa{width:4px;cursor:col-resize;z-index:49;background:transparent;transition:background .2s;flex-shrink:0}.pp{background:var(--vnsc-accent, #2962ff)}.lp{flex-shrink:0;overflow-y:auto}.xp{display:flex;flex-direction:row;flex:1;min-height:0}.bp{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.gp{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--vnsc-border-divider, #2a2a2a);flex-shrink:0}.vp{font-size:11px;font-weight:600;color:var(--vnsc-text-secondary, #787b86);text-transform:uppercase;letter-spacing:.04em}.fp{display:flex;align-items:center;gap:8px}.Ar{background:transparent;border:none;color:var(--vnsc-text-secondary, #787b86);cursor:pointer;display:inline-flex;align-items:center;padding:2px;border-radius:4px}.Ar:hover{background:var(--vnsc-bg-hover, rgba(255, 255, 255, .04));color:var(--vnsc-text-primary, #d1d4dc)}.up{flex:1;min-height:0;overflow-y:auto}.hp{width:40px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-left:1px solid var(--vnsc-border-divider, #2a2a2a);background:var(--vnsc-bg-primary, #131722);overflow-y:auto}.j{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--vnsc-text-secondary, #787b86);cursor:pointer}.j:hover{background:var(--vnsc-bg-hover, rgba(255, 255, 255, .04));color:var(--vnsc-text-primary, #d1d4dc)}.mp{opacity:.38;cursor:not-allowed}.j:focus{outline:none}.j:focus-visible{outline:2px solid var(--vnsc-accent-strong, #2563eb);outline-offset:-2px}.yp{background:var(--vnsc-bg-selected, rgba(59, 130, 246, .15));color:var(--vnsc-accent, #2962ff)}@media(max-width:767px){.aa{display:none}.Xr{position:absolute;inset:auto 0 0;height:45%;min-height:220px;min-width:0;width:auto!important;border-left:none;border-top:1px solid var(--vnsc-border, #2a2a2a);z-index:20}.j,.Ar{min-width:44px;min-height:44px}}.wp{padding:8px 10px;font-size:12px;font-variant-numeric:tabular-nums}.kp{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.zp{font-weight:700;font-size:13px;color:var(--vnsc-text-primary, #d1d4dc)}.jp{font-size:10px;color:var(--vnsc-text-secondary, #787b86)}.na{display:flex;align-items:center;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--vnsc-border-divider, #2a2a2a)}.na:last-child{border-bottom:none}.Sp{color:var(--vnsc-text-secondary, #787b86);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.Mp{font-weight:600;color:var(--vnsc-text-primary, #d1d4dc);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.Ip{color:var(--vnsc-color-bullish, rgb(38, 166, 154))}.Fp{color:var(--vnsc-color-bearish, rgb(239, 83, 80))}.Rp{margin-top:8px;padding-top:6px;border-top:1px solid var(--vnsc-border-divider, #2a2a2a);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--vnsc-text-secondary, #787b86)}.Hp{padding:16px 12px;font-size:12px;color:var(--vnsc-text-secondary, #787b86);text-align:center}.L{display:flex;flex-direction:column;padding:4px 4px 12px;gap:1px;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--vnsc-border, #2a3550) transparent}.L::-webkit-scrollbar{width:8px}.L::-webkit-scrollbar-thumb{background:var(--vnsc-border, #2a3550);border-radius:8px}.L::-webkit-scrollbar-corner{background:transparent}.S{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;padding:3px 8px;background:transparent;border:none;border-bottom:1px solid var(--vnsc-border-divider, rgba(42, 42, 42, .6));border-radius:0;cursor:pointer;text-align:left;font-variant-numeric:tabular-nums}.S:last-child{border-bottom:none}.S:hover{background:var(--vnsc-bg-hover, rgba(255, 255, 255, .04))}.S:focus{outline:none}.S:focus-visible{outline:2px solid var(--vnsc-accent-strong, #2563eb);outline-offset:-2px;background:var(--vnsc-bg-hover, rgba(255, 255, 255, .04))}.Yp{background:var(--vnsc-bg-selected, rgba(59, 130, 246, .15))}.Cp{display:flex;flex-direction:column;min-width:0;flex:1}.Bp{font-size:12px;font-weight:700;color:var(--vnsc-text-primary, #d1d4dc);white-space:nowrap}.Up{font-size:10px;color:var(--vnsc-text-secondary, #787b86);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.Tp{flex-shrink:0;color:var(--vnsc-text-secondary, #787b86)}.Xp{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.Ap{font-size:12px;font-weight:600;color:var(--vnsc-text-primary, #d1d4dc)}.Np{font-size:10px;color:var(--vnsc-text-secondary, #787b86)}.Dp{color:var(--vnsc-color-bullish, rgb(38, 166, 154))}.qp{color:var(--vnsc-color-bearish, rgb(239, 83, 80))}.Ep{padding:16px 12px;font-size:12px;color:var(--vnsc-text-secondary, #787b86);text-align:center}
2
+ /*# sourceMappingURL=RightSidebarDockHost-6FPZ6EKV.css.map */
@@ -0,0 +1,2 @@
1
+ import{d as a,e as b,f as c,g as d,h as e}from"./chunk-UYJTX3SD.js";import"./chunk-AKWVXRQ6.js";import"./chunk-76E7CKUD.js";import"./chunk-FHHSTO6Z.js";import"./chunk-HPL723JA.js";export{b as DOCK_OPEN_KEY,c as DOCK_TAB_EVENT,a as DOCK_TAB_KEY,e as RightSidebarDockHost,d as persistDock};
2
+ //# sourceMappingURL=RightSidebarDockHost-OBFXKSIY.js.map
@@ -0,0 +1,2 @@
1
+ import{a}from"./chunk-NVGTF73S.js";import"./chunk-FHHSTO6Z.js";import"./chunk-HPL723JA.js";export{a as StrategyTesterPanel};
2
+ //# sourceMappingURL=StrategyTesterPanel-6IUTS2P4.js.map
@@ -0,0 +1,2 @@
1
+ .ta{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;padding:12px;gap:12px;font-family:Inter,sans-serif;font-size:12px;font-variant-numeric:tabular-nums;color:var(--vnsc-text-primary, #e0e0e0);background:var(--vnsc-bg-primary, #0c1017)}.ia{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--vnsc-border-divider, #202b3c);padding-bottom:10px}.Gp{font-weight:700}.Jp{padding:4px 8px;background:var(--vnsc-bg-input, #131b26);border:1px solid var(--vnsc-border-input, #202b3c);border-radius:4px;color:var(--vnsc-text-primary, #fff)}.Nr{padding:5px 12px;background:var(--vnsc-accent, #2962ff);border:none;border-radius:4px;color:#fff;font-weight:700;cursor:pointer;margin-left:auto;transition:background-color .2s ease}.Nr:hover{background:var(--vnsc-accent-hover, #1a52d6)}.sa{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.Kp{padding:10px;background:var(--vnsc-bg-secondary, #131b26);border-radius:4px;border:1px solid var(--vnsc-border-divider, #202b3c)}.Lp{color:var(--vnsc-text-secondary, #888);font-size:11px;margin-bottom:4px}.Op{font-size:16px;font-weight:700}.Pp{color:var(--vnsc-color-bullish, #089981)}.Qp{color:var(--vnsc-color-bearish, #f23645)}.Vp{flex:1;overflow-y:auto;border:1px solid var(--vnsc-border-divider, #202b3c);border-radius:4px}.Dr{width:100%;border-collapse:collapse;text-align:left}.Dr th{padding:8px;border-bottom:1px solid var(--vnsc-border-divider, #202b3c);color:var(--vnsc-text-secondary, #888);background:var(--vnsc-bg-secondary, #131b26);position:sticky;top:0}.Dr td{padding:8px;border-bottom:1px solid var(--vnsc-border-divider, #1c2430)}.Wp{text-transform:uppercase;color:var(--vnsc-accent, #2962ff);font-weight:700}.Zp{text-transform:uppercase;color:var(--vnsc-color-warning, #ff6d00);font-weight:700}._p{color:var(--vnsc-color-bullish, #089981);font-weight:700}.rl{color:var(--vnsc-color-bearish, #f23645);font-weight:700}.ol{color:var(--vnsc-text-secondary, #888)}.el{flex:1;display:flex;justify-content:center;align-items:center;color:var(--vnsc-text-muted, #555);font-style:italic}@media(max-width:480px){.ta{padding:8px;gap:8px}.sa{grid-template-columns:repeat(2,1fr)}.ia{flex-wrap:wrap}.Nr{margin-left:0;margin-top:8px;width:100%}}
2
+ /*# sourceMappingURL=StrategyTesterPanel-LEWEUMXP.css.map */
@@ -0,0 +1,189 @@
1
+ import{ba as u}from"./chunk-PNIB4OM3.js";import"./chunk-HPL723JA.js";var p=`
2
+ function synthesizeTicksFromBar(bar, tickSize) {
3
+ var ticks = [];
4
+ var high = bar.high;
5
+ var low = bar.low;
6
+ var open = bar.open !== undefined && bar.open !== null ? bar.open : bar.close;
7
+ var close = bar.close;
8
+ var volume = bar.volume;
9
+ var ts = bar.date ? (bar.date instanceof Date ? bar.date.getTime() : (typeof bar.date === "string" ? new Date(bar.date).getTime() : (typeof bar.date === "number" ? bar.date : Date.now()))) : Date.now();
10
+
11
+ var safeTickSize = tickSize > 0 ? tickSize : 0.01;
12
+ var priceRange = high - low;
13
+ var steps = Math.max(1, Math.round(priceRange / safeTickSize)) + 1;
14
+ var volumePerStep = volume / steps;
15
+
16
+ var isUp = close >= open;
17
+ var side = isUp ? "buy" : "sell";
18
+
19
+ for (var i = 0; i < steps; i++) {
20
+ var price = Math.round((low + i * safeTickSize) / safeTickSize) * safeTickSize;
21
+ ticks.push({
22
+ timestamp: ts,
23
+ price: price,
24
+ size: volumePerStep,
25
+ side: side
26
+ });
27
+ }
28
+ return ticks;
29
+ }
30
+
31
+ function computeVolumeProfile(data, priceTickSize, range) {
32
+ var safeTickSize = priceTickSize > 0 ? priceTickSize : 0.01;
33
+
34
+ var ticks = [];
35
+ if (data.length > 0) {
36
+ if ("close" in data[0]) {
37
+ for (var i = 0; i < data.length; i++) {
38
+ var barTicks = synthesizeTicksFromBar(data[i], safeTickSize);
39
+ for (var j = 0; j < barTicks.length; j++) {
40
+ ticks.push(barTicks[j]);
41
+ }
42
+ }
43
+ } else {
44
+ ticks = data;
45
+ }
46
+ }
47
+
48
+ if (range) {
49
+ ticks = ticks.filter(function(t) {
50
+ return t.price >= range.from && t.price <= range.to;
51
+ });
52
+ }
53
+
54
+ if (ticks.length === 0) {
55
+ return {
56
+ priceLevels: [],
57
+ poc: 0,
58
+ valueAreaHigh: 0,
59
+ valueAreaLow: 0,
60
+ highVolumeNodes: [],
61
+ lowVolumeNodes: []
62
+ };
63
+ }
64
+
65
+ var aggMap = new Map();
66
+ for (var i = 0; i < ticks.length; i++) {
67
+ var tick = ticks[i];
68
+ var roundedPrice = Math.round(tick.price / safeTickSize) * safeTickSize;
69
+ if (!aggMap.has(roundedPrice)) {
70
+ aggMap.set(roundedPrice, { volume: 0, buyVolume: 0, sellVolume: 0 });
71
+ }
72
+ var level = aggMap.get(roundedPrice);
73
+ level.volume += tick.size;
74
+ if (tick.side === "buy") {
75
+ level.buyVolume += tick.size;
76
+ } else {
77
+ level.sellVolume += tick.size;
78
+ }
79
+ }
80
+
81
+ var entries = Array.from(aggMap.entries());
82
+ var priceLevels = [];
83
+ for (var i = 0; i < entries.length; i++) {
84
+ var price = entries[i][0];
85
+ var val = entries[i][1];
86
+ priceLevels.push({
87
+ price: price,
88
+ volume: val.volume,
89
+ buyVolume: val.buyVolume,
90
+ sellVolume: val.sellVolume
91
+ });
92
+ }
93
+ priceLevels.sort(function(a, b) {
94
+ return a.price - b.price;
95
+ });
96
+
97
+ var poc = 0;
98
+ var maxVolume = -1;
99
+ for (var i = 0; i < priceLevels.length; i++) {
100
+ var lvl = priceLevels[i];
101
+ if (lvl.volume > maxVolume) {
102
+ maxVolume = lvl.volume;
103
+ poc = lvl.price;
104
+ }
105
+ }
106
+
107
+ var totalVolume = 0;
108
+ for (var i = 0; i < priceLevels.length; i++) {
109
+ totalVolume += priceLevels[i].volume;
110
+ }
111
+ var targetVolume = totalVolume * 0.70;
112
+
113
+ var vaHigh = poc;
114
+ var vaLow = poc;
115
+
116
+ if (priceLevels.length > 1) {
117
+ var pocIndex = -1;
118
+ for (var i = 0; i < priceLevels.length; i++) {
119
+ if (priceLevels[i].price === poc) {
120
+ pocIndex = i;
121
+ break;
122
+ }
123
+ }
124
+ if (pocIndex === -1) pocIndex = 0;
125
+ var left = pocIndex;
126
+ var right = pocIndex;
127
+ var currentVolume = priceLevels[pocIndex].volume;
128
+
129
+ while (currentVolume < targetVolume && (left > 0 || right < priceLevels.length - 1)) {
130
+ var upVol = right + 1 < priceLevels.length ? priceLevels[right + 1].volume : 0;
131
+ var downVol = left - 1 >= 0 ? priceLevels[left - 1].volume : 0;
132
+
133
+ if (upVol >= downVol && right < priceLevels.length - 1) {
134
+ right += 1;
135
+ currentVolume += priceLevels[right].volume;
136
+ } else if (left > 0) {
137
+ left -= 1;
138
+ currentVolume += priceLevels[left].volume;
139
+ } else if (right < priceLevels.length - 1) {
140
+ right += 1;
141
+ currentVolume += priceLevels[right].volume;
142
+ }
143
+ }
144
+
145
+ vaHigh = priceLevels[right].price;
146
+ vaLow = priceLevels[left].price;
147
+ }
148
+
149
+ var highVolumeNodes = [];
150
+ var lowVolumeNodes = [];
151
+ var avgVolume = totalVolume / priceLevels.length;
152
+
153
+ for (var i = 1; i < priceLevels.length - 1; i++) {
154
+ var prev = priceLevels[i - 1].volume;
155
+ var curr = priceLevels[i].volume;
156
+ var next = priceLevels[i + 1].volume;
157
+
158
+ if (curr > prev && curr > next && curr > avgVolume) {
159
+ highVolumeNodes.push(priceLevels[i].price);
160
+ }
161
+ if (curr < prev && curr < next && curr > 0 && curr < avgVolume) {
162
+ lowVolumeNodes.push(priceLevels[i].price);
163
+ }
164
+ }
165
+
166
+ return {
167
+ priceLevels: priceLevels,
168
+ poc: poc,
169
+ valueAreaHigh: vaHigh,
170
+ valueAreaLow: vaLow,
171
+ highVolumeNodes: highVolumeNodes,
172
+ lowVolumeNodes: lowVolumeNodes
173
+ };
174
+ }
175
+
176
+ self.onmessage = function(event) {
177
+ var requestId = event.data.requestId;
178
+ var data = event.data.data;
179
+ var priceTickSize = event.data.priceTickSize;
180
+ var range = event.data.range;
181
+ try {
182
+ var result = computeVolumeProfile(data, priceTickSize, range);
183
+ self.postMessage({ requestId: requestId, result: result });
184
+ } catch (error) {
185
+ self.postMessage({ requestId: requestId, error: error instanceof Error ? error.message : String(error) });
186
+ }
187
+ };
188
+ `,m=1;function f(i,o,a){return typeof Blob>"u"||typeof URL>"u"||typeof Worker>"u"?Promise.resolve(u(i,o,a)):new Promise((v,l)=>{let n=new Blob([p],{type:"application/javascript"}),t=URL.createObjectURL(n),r=new Worker(t),s=m++,c=()=>{r.terminate(),URL.revokeObjectURL(t)};r.onmessage=e=>{e.data.requestId===s&&(e.data.error?l(new Error(e.data.error)):v(e.data.result),c())},r.onerror=e=>{l(e),c()},r.postMessage({requestId:s,data:i,priceTickSize:o,range:a})})}export{f as computeVolumeProfileAsync};
189
+ //# sourceMappingURL=VolumeProfileWorker-UREKVPUE.js.map