@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.
- package/LICENSE +201 -0
- package/NOTICE.md +83 -0
- package/README.md +851 -3
- package/dist/AlertsModal-WKEUDTUZ.js +2 -0
- package/dist/ConnectedTradingPanel-KWJMIKTN.css +2 -0
- package/dist/ConnectedTradingPanel-XDKMOQY5.js +2 -0
- package/dist/PineEditorPanel-AUXB4FD3.js +2 -0
- package/dist/PineEditorPanel-V6YN2OTU.css +2 -0
- package/dist/RightSidebarDockHost-6FPZ6EKV.css +2 -0
- package/dist/RightSidebarDockHost-OBFXKSIY.js +2 -0
- package/dist/StrategyTesterPanel-6IUTS2P4.js +2 -0
- package/dist/StrategyTesterPanel-LEWEUMXP.css +2 -0
- package/dist/VolumeProfileWorker-UREKVPUE.js +189 -0
- package/dist/adapters/index.cjs +2532 -0
- package/dist/adapters/index.d.mts +673 -0
- package/dist/adapters/index.d.ts +673 -0
- package/dist/adapters/index.js +2521 -0
- package/dist/adapters/index.umd.js +2535 -0
- package/dist/chunk-5T6DGB3V.js +2 -0
- package/dist/chunk-66JBEGR3.js +4 -0
- package/dist/chunk-6D7DVBIK.js +2 -0
- package/dist/chunk-76E7CKUD.js +2 -0
- package/dist/chunk-AKWVXRQ6.js +2 -0
- package/dist/chunk-FHHSTO6Z.js +2 -0
- package/dist/chunk-HPL723JA.js +2 -0
- package/dist/chunk-NVGTF73S.js +2 -0
- package/dist/chunk-PNIB4OM3.js +2 -0
- package/dist/chunk-UKJ5AKQX.js +595 -0
- package/dist/chunk-UYJTX3SD.js +2 -0
- package/dist/combined.css +3068 -0
- package/dist/css-modules-manifest.json +297 -0
- package/dist/dist-Y6PZ2RN3.js +12 -0
- package/dist/drawing/index.cjs +53 -0
- package/dist/drawing/index.d.mts +2 -0
- package/dist/drawing/index.d.ts +2 -0
- package/dist/drawing/index.js +2 -0
- package/dist/drawing/index.umd.js +54 -0
- package/dist/dts/drawing-shim.d.ts +3 -0
- package/dist/dts/index.d.ts +31 -0
- package/dist/dts/lib/Chart.d.ts +31 -0
- package/dist/dts/lib/ChartContext.d.ts +10 -0
- package/dist/dts/lib/EventCapture.d.ts +3 -0
- package/dist/dts/lib/GenericChartComponent.d.ts +5 -0
- package/dist/dts/lib/GenericComponent.d.ts +124 -0
- package/dist/dts/lib/StockChartContext.d.ts +53 -0
- package/dist/dts/lib/adapters/BaseAdapter.d.ts +25 -0
- package/dist/dts/lib/adapters/BinanceAdapter.d.ts +51 -0
- package/dist/dts/lib/adapters/CSVAdapter.d.ts +17 -0
- package/dist/dts/lib/adapters/ContinuousContractAdapter.d.ts +63 -0
- package/dist/dts/lib/adapters/ContinuousContractTypes.d.ts +154 -0
- package/dist/dts/lib/adapters/DBAdapter.d.ts +16 -0
- package/dist/dts/lib/adapters/DataAdapter.d.ts +136 -0
- package/dist/dts/lib/adapters/DjangoVnstockAdapter.d.ts +15 -0
- package/dist/dts/lib/adapters/LocalCacheAdapter.d.ts +18 -0
- package/dist/dts/lib/adapters/MockAdapter.d.ts +22 -0
- package/dist/dts/lib/adapters/RESTAdapter.d.ts +16 -0
- package/dist/dts/lib/adapters/StockDataAdapter.d.ts +1 -0
- package/dist/dts/lib/adapters/UDFDataAdapter.d.ts +29 -0
- package/dist/dts/lib/adapters/VNStocksAdapter.d.ts +8 -0
- package/dist/dts/lib/adapters/WSAdapter.d.ts +30 -0
- package/dist/dts/lib/adapters/gapFixture.d.ts +71 -0
- package/dist/dts/lib/adapters/index.d.ts +15 -0
- package/dist/dts/lib/adapters/rollAlgorithms.d.ts +68 -0
- package/dist/dts/lib/advisory/AdvisoryPanel.d.ts +5 -0
- package/dist/dts/lib/alerts/AlertEvaluator.d.ts +5 -0
- package/dist/dts/lib/alerts/AlertManager.d.ts +123 -0
- package/dist/dts/lib/alerts/types.d.ts +58 -0
- package/dist/dts/lib/cache/cacheDebug.d.ts +3 -0
- package/dist/dts/lib/calendars/ExchangeCalendar.d.ts +23 -0
- package/dist/dts/lib/calendars/calendarRegistry.d.ts +10 -0
- package/dist/dts/lib/calendars/index.d.ts +3 -0
- package/dist/dts/lib/core/ChartPane.d.ts +8 -0
- package/dist/dts/lib/core/ChartSplitter.d.ts +70 -0
- package/dist/dts/lib/core/ChartTerminal.d.ts +12 -0
- package/dist/dts/lib/core/ErrorBoundary.d.ts +17 -0
- package/dist/dts/lib/core/IndicatorLegend.d.ts +47 -0
- package/dist/dts/lib/core/PaneHeader.d.ts +24 -0
- package/dist/dts/lib/core/PaneLabel.d.ts +8 -0
- package/dist/dts/lib/core/PaneSplitter.d.ts +9 -0
- package/dist/dts/lib/core/SeriesPicker.d.ts +10 -0
- package/dist/dts/lib/core/calculators/alignBarsByDate.d.ts +38 -0
- package/dist/dts/lib/core/calculators/buildIndicatorComputationPlan.d.ts +16 -0
- package/dist/dts/lib/core/calculators/calcCVDApprox.d.ts +6 -0
- package/dist/dts/lib/core/calculators/calcStrengthElder.d.ts +7 -0
- package/dist/dts/lib/core/calculators/calcWhaleApprox.d.ts +6 -0
- package/dist/dts/lib/core/calculators/computationHelpers.d.ts +12 -0
- package/dist/dts/lib/core/calculators/computeIndicatorComputationResult.d.ts +3 -0
- package/dist/dts/lib/core/calculators/computeMarketStructure.d.ts +8 -0
- package/dist/dts/lib/core/calculators/computeMomentum.d.ts +22 -0
- package/dist/dts/lib/core/calculators/computeMovingAverage.d.ts +15 -0
- package/dist/dts/lib/core/calculators/computeProfile.d.ts +9 -0
- package/dist/dts/lib/core/calculators/computeTrend.d.ts +10 -0
- package/dist/dts/lib/core/calculators/computeVolatility.d.ts +14 -0
- package/dist/dts/lib/core/calculators/computeVolumeFlow.d.ts +19 -0
- package/dist/dts/lib/core/calculators/enrichData.d.ts +7 -0
- package/dist/dts/lib/core/calculators/enrichDataWithCanonicalStore.d.ts +33 -0
- package/dist/dts/lib/core/calculators/exoticChartData.d.ts +140 -0
- package/dist/dts/lib/core/calculators/fixtures/mockData.d.ts +2 -0
- package/dist/dts/lib/core/calculators/indicatorComputation.d.ts +27 -0
- package/dist/dts/lib/core/calculators/indicatorComputationTypes.d.ts +249 -0
- package/dist/dts/lib/core/calculators/materializeIndicatorValues.d.ts +3 -0
- package/dist/dts/lib/core/calculators/normalizePrices.d.ts +36 -0
- package/dist/dts/lib/core/calculators/resolveCalculationOrder.d.ts +17 -0
- package/dist/dts/lib/core/calculators/types.d.ts +269 -0
- package/dist/dts/lib/core/canvas/ChartRenderContext.d.ts +14 -0
- package/dist/dts/lib/core/canvas/OverlayCanvas.d.ts +19 -0
- package/dist/dts/lib/core/context/ChartSyncContext.d.ts +21 -0
- package/dist/dts/lib/core/context/DataContext.d.ts +15 -0
- package/dist/dts/lib/core/context/PaneManagerContext.d.ts +10 -0
- package/dist/dts/lib/core/hooks/paneSizingHelpers.d.ts +13 -0
- package/dist/dts/lib/core/hooks/useCanvasResize.d.ts +8 -0
- package/dist/dts/lib/core/hooks/useChartTheme.d.ts +12 -0
- package/dist/dts/lib/core/hooks/useDynamicPanes.d.ts +155 -0
- package/dist/dts/lib/core/hooks/useIndicatorSets.d.ts +20 -0
- package/dist/dts/lib/core/hooks/usePaneManager.d.ts +39 -0
- package/dist/dts/lib/core/hooks/usePaneSizes.d.ts +52 -0
- package/dist/dts/lib/core/index.d.ts +41 -0
- package/dist/dts/lib/core/paneScaleSlotDomains.d.ts +3 -0
- package/dist/dts/lib/core/registry/SeriesRegistry.d.ts +22 -0
- package/dist/dts/lib/core/registry/filterPanesBySeriesTier.d.ts +43 -0
- package/dist/dts/lib/core/registry/marketStructure.d.ts +7 -0
- package/dist/dts/lib/core/registry/momentum.d.ts +20 -0
- package/dist/dts/lib/core/registry/movingAverage.d.ts +14 -0
- package/dist/dts/lib/core/registry/priceChartTypes.d.ts +16 -0
- package/dist/dts/lib/core/registry/profile.d.ts +8 -0
- package/dist/dts/lib/core/registry/registerAll.d.ts +1 -0
- package/dist/dts/lib/core/registry/registerPhaseOne.d.ts +3 -0
- package/dist/dts/lib/core/registry/registryCore.d.ts +77 -0
- package/dist/dts/lib/core/registry/trend.d.ts +11 -0
- package/dist/dts/lib/core/registry/volatility.d.ts +11 -0
- package/dist/dts/lib/core/registry/volumeFlow.d.ts +20 -0
- package/dist/dts/lib/core/replay/BarReplayController.d.ts +62 -0
- package/dist/dts/lib/core/replay/ReplayEventBus.d.ts +68 -0
- package/dist/dts/lib/core/replay/ReplayFillSimulator.d.ts +33 -0
- package/dist/dts/lib/core/replay/ReplayOrderBook.d.ts +24 -0
- package/dist/dts/lib/core/replay/ReplayPositionManager.d.ts +30 -0
- package/dist/dts/lib/core/replay/ReplaySessionAnalytics.d.ts +31 -0
- package/dist/dts/lib/core/replay/createReplayTradeMarkerPrimitives.d.ts +7 -0
- package/dist/dts/lib/core/replay/pnlUtils.d.ts +2 -0
- package/dist/dts/lib/core/replay/replayBrokerAdapters.d.ts +51 -0
- package/dist/dts/lib/core/replay/replayTradingTypes.d.ts +61 -0
- package/dist/dts/lib/core/scales/computeScales.d.ts +8 -0
- package/dist/dts/lib/core/seriesValueResolver.d.ts +27 -0
- package/dist/dts/lib/core/sets/builtins.d.ts +2 -0
- package/dist/dts/lib/core/sets/indicatorSetCodec.d.ts +15 -0
- package/dist/dts/lib/core/trading/AnalyticsEngine.d.ts +56 -0
- package/dist/dts/lib/core/trading/BrokerAPI.d.ts +40 -0
- package/dist/dts/lib/core/trading/ExecutionSimulator.d.ts +53 -0
- package/dist/dts/lib/core/trading/FillSettlement.d.ts +38 -0
- package/dist/dts/lib/core/trading/MarketDataPort.d.ts +41 -0
- package/dist/dts/lib/core/trading/MarketRules.d.ts +58 -0
- package/dist/dts/lib/core/trading/OrderManagementSystem.d.ts +57 -0
- package/dist/dts/lib/core/trading/PositionManager.d.ts +79 -0
- package/dist/dts/lib/core/trading/RiskEngine.d.ts +40 -0
- package/dist/dts/lib/core/trading/SettlementCalendar.d.ts +10 -0
- package/dist/dts/lib/core/trading/VirtualBrokerEngine.d.ts +92 -0
- package/dist/dts/lib/core/trading/orderMargin.d.ts +3 -0
- package/dist/dts/lib/core/trading/storage/InMemoryStorageAdapter.d.ts +10 -0
- package/dist/dts/lib/core/trading/storage/TradingStorage.d.ts +34 -0
- package/dist/dts/lib/core/trading/types.d.ts +99 -0
- package/dist/dts/lib/core/types/chart.d.ts +21 -0
- package/dist/dts/lib/core/types/indicator-catalog.d.ts +38 -0
- package/dist/dts/lib/core/types/indicator-set.d.ts +19 -0
- package/dist/dts/lib/core/types/pane-descriptor.d.ts +46 -0
- package/dist/dts/lib/core/types/seriesComponents.d.ts +15 -0
- package/dist/dts/lib/credentials/credentialStore.d.ts +93 -0
- package/dist/dts/lib/helper/SaveChartAsImage.d.ts +90 -0
- package/dist/dts/lib/indicator/defaultOptionsForAppearance.d.ts +105 -0
- package/dist/dts/lib/indicators/builtin/MTFWrapper.d.ts +3 -0
- package/dist/dts/lib/indicators/builtin/VolumeProfileWorker.d.ts +19 -0
- package/dist/dts/lib/indicators/builtin/ac.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/alligator.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/anchoredVwap.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/ao.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/bbi.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/bias.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/bollinger.d.ts +9 -0
- package/dist/dts/lib/indicators/builtin/brar.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cci.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/chaikinOscillator.d.ts +14 -0
- package/dist/dts/lib/indicators/builtin/chaikinVol.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/ci.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cmf.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cr.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/cvd.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/deltaProfile.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/dema.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/dma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/dmi.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/donchian.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/ema.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/emv.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/footprint.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/fractals.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/gator.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/hma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/hv.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/ichimoku.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/kdj.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/keltner.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/ma.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/maRibbon.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/macd.d.ts +9 -0
- package/dist/dts/lib/indicators/builtin/marketProfile.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/mfi.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/mtm.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/obv.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/pivotHighLow.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/pivotStandard.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/psy.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/pvt.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/roc.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/rsi.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/sar.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/sma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/smfi.d.ts +8 -0
- package/dist/dts/lib/indicators/builtin/stdDev.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/strengthRelative.d.ts +7 -0
- package/dist/dts/lib/indicators/builtin/supertrend.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/tema.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/trix.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/volOsc.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/volume.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/volumeProfile.d.ts +8 -0
- package/dist/dts/lib/indicators/builtin/vr.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/vwap.d.ts +5 -0
- package/dist/dts/lib/indicators/builtin/vwma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/wma.d.ts +4 -0
- package/dist/dts/lib/indicators/builtin/wr.d.ts +10 -0
- package/dist/dts/lib/indicators/builtin/wyckoffWave.d.ts +15 -0
- package/dist/dts/lib/indicators/index.d.ts +63 -0
- package/dist/dts/lib/indicators/indicatorValueShapes.d.ts +15 -0
- package/dist/dts/lib/indicators/outputKeys.d.ts +50 -0
- package/dist/dts/lib/indicators/overlays/CVDIndicator.d.ts +26 -0
- package/dist/dts/lib/indicators/overlays/DarkFlowBadge.d.ts +19 -0
- package/dist/dts/lib/indicators/overlays/ExternalCVDOverlay.d.ts +15 -0
- package/dist/dts/lib/indicators/overlays/WhaleBubbleOverlay.d.ts +14 -0
- package/dist/dts/lib/indicators/overlays/WhaleMarketBubbleOverlay.d.ts +27 -0
- package/dist/dts/lib/indicators/overlays/whaleDetector.d.ts +66 -0
- package/dist/dts/lib/indicators/registry.d.ts +6 -0
- package/dist/dts/lib/indicators/types.d.ts +5 -0
- package/dist/dts/lib/indicators/utils.d.ts +259 -0
- package/dist/dts/lib/pinescript/PineCompiler.d.ts +34 -0
- package/dist/dts/lib/pinescript/ast.d.ts +73 -0
- package/dist/dts/lib/pinescript/compile.d.ts +40 -0
- package/dist/dts/lib/pinescript/grammar.d.ts +12 -0
- package/dist/dts/lib/pinescript/pine.worker.d.ts +1 -0
- package/dist/dts/lib/pinescript/pineBlocks.d.ts +54 -0
- package/dist/dts/lib/pinescript/pineBuiltins.d.ts +47 -0
- package/dist/dts/lib/pinescript/pineEnv.d.ts +46 -0
- package/dist/dts/lib/pinescript/pineMath.d.ts +13 -0
- package/dist/dts/lib/pinescript/pineParse.d.ts +25 -0
- package/dist/dts/lib/pinescript/pineStrings.d.ts +50 -0
- package/dist/dts/lib/pinescript/runtime.d.ts +5 -0
- package/dist/dts/lib/pinescript/scriptRegistry.d.ts +40 -0
- package/dist/dts/lib/pinescript/series-value.d.ts +64 -0
- package/dist/dts/lib/pinescript/vnscript-completion.d.ts +1 -0
- package/dist/dts/lib/pinescript/vnscript-grammar.d.ts +19 -0
- package/dist/dts/lib/scale/discontinuousTimeScaleProvider.d.ts +3 -0
- package/dist/dts/lib/scale/financeDiscontinuousScale.d.ts +15 -0
- package/dist/dts/lib/scale/index.d.ts +1 -0
- package/dist/dts/lib/scale/levels.d.ts +12 -0
- package/dist/dts/lib/series/AlternatingFillAreaSeries.d.ts +13 -0
- package/dist/dts/lib/series/AreaOnlySeries.d.ts +10 -0
- package/dist/dts/lib/series/AreaSeries.d.ts +30 -0
- package/dist/dts/lib/series/BarSeries.d.ts +40 -0
- package/dist/dts/lib/series/BollingerSeries.d.ts +11 -0
- package/dist/dts/lib/series/CandlestickSeries.d.ts +56 -0
- package/dist/dts/lib/series/CircleMarker.d.ts +28 -0
- package/dist/dts/lib/series/ElderRaySeries.d.ts +14 -0
- package/dist/dts/lib/series/FootprintSeries.d.ts +21 -0
- package/dist/dts/lib/series/GroupedBarSeries.d.ts +9 -0
- package/dist/dts/lib/series/HTFOverlaySeries.d.ts +32 -0
- package/dist/dts/lib/series/HistogramSeries.d.ts +51 -0
- package/dist/dts/lib/series/KagiSeries.d.ts +9 -0
- package/dist/dts/lib/series/LineBreakSeries.d.ts +28 -0
- package/dist/dts/lib/series/LineSeries.d.ts +54 -0
- package/dist/dts/lib/series/MACDSeries.d.ts +28 -0
- package/dist/dts/lib/series/MarketProfileSeries.d.ts +18 -0
- package/dist/dts/lib/series/OHLCSeries.d.ts +9 -0
- package/dist/dts/lib/series/OverlayBarSeries.d.ts +9 -0
- package/dist/dts/lib/series/PointAndFigureSeries.d.ts +45 -0
- package/dist/dts/lib/series/RSISeries.d.ts +38 -0
- package/dist/dts/lib/series/RenkoSeries.d.ts +9 -0
- package/dist/dts/lib/series/SARSeries.d.ts +10 -0
- package/dist/dts/lib/series/SVGComponent.d.ts +5 -0
- package/dist/dts/lib/series/ScatterSeries.d.ts +9 -0
- package/dist/dts/lib/series/SquareMarker.d.ts +28 -0
- package/dist/dts/lib/series/StackedBarSeries.d.ts +19 -0
- package/dist/dts/lib/series/StochasticSeries.d.ts +9 -0
- package/dist/dts/lib/series/StraightLine.d.ts +18 -0
- package/dist/dts/lib/series/TriangleMarker.d.ts +30 -0
- package/dist/dts/lib/series/VolumeProfileSeries.d.ts +9 -0
- package/dist/dts/lib/series/index.d.ts +28 -0
- package/dist/dts/lib/strategy/BrokerSimulator.d.ts +11 -0
- package/dist/dts/lib/strategy/types.d.ts +35 -0
- package/dist/dts/lib/tape/TapePanel.d.ts +5 -0
- package/dist/dts/lib/types/adapter.d.ts +1 -0
- package/dist/dts/lib/types/index.d.ts +5 -0
- package/dist/dts/lib/types/indicator.d.ts +11 -0
- package/dist/dts/lib/types/ohlcv.d.ts +1 -0
- package/dist/dts/lib/types/pane.d.ts +23 -0
- package/dist/dts/lib/types/runtime.d.ts +11 -0
- package/dist/dts/lib/types/vninvest.d.ts +320 -0
- package/dist/dts/lib/types.d.ts +45 -0
- package/dist/dts/lib/utils/ChartDataUtil.d.ts +26 -0
- package/dist/dts/lib/utils/PureComponent.d.ts +5 -0
- package/dist/dts/lib/utils/accumulatingWindow.d.ts +1 -0
- package/dist/dts/lib/utils/axisPriceFormat.d.ts +6 -0
- package/dist/dts/lib/utils/barWidth.d.ts +14 -0
- package/dist/dts/lib/utils/identity.d.ts +1 -0
- package/dist/dts/lib/utils/index.d.ts +70 -0
- package/dist/dts/lib/utils/logger.d.ts +28 -0
- package/dist/dts/lib/utils/mappedSlidingWindow.d.ts +1 -0
- package/dist/dts/lib/utils/merge.d.ts +6 -0
- package/dist/dts/lib/utils/noop.d.ts +1 -0
- package/dist/dts/lib/utils/rebind.d.ts +1 -0
- package/dist/dts/lib/utils/shallowEqual.d.ts +1 -0
- package/dist/dts/lib/utils/slidingWindow.d.ts +1 -0
- package/dist/dts/lib/utils/storage.d.ts +32 -0
- package/dist/dts/lib/utils/strokeDasharray.d.ts +3 -0
- package/dist/dts/lib/utils/timezoneFormatter.d.ts +14 -0
- package/dist/dts/lib/utils/zipper.d.ts +4 -0
- package/dist/dts/public-api.d.ts +31 -0
- package/dist/dts/widget/BackfillWorkerFlags.d.ts +12 -0
- package/dist/dts/widget/CanaryRollbackHelper.d.ts +95 -0
- package/dist/dts/widget/CanaryRolloutConfig.d.ts +100 -0
- package/dist/dts/widget/DrawingPriceLabelsOverlay.d.ts +20 -0
- package/dist/dts/widget/ForkDrawingsOverlay.d.ts +16 -0
- package/dist/dts/widget/MeasurementOverlay.d.ts +24 -0
- package/dist/dts/widget/VNInvestCharts.d.ts +5 -0
- package/dist/dts/widget/VNInvestChartsProps.d.ts +302 -0
- package/dist/dts/widget/VNInvestMultiCharts.d.ts +8 -0
- package/dist/dts/widget/VNInvestMultiCharts.types.d.ts +130 -0
- package/dist/dts/widget/WidgetEmptyState.d.ts +11 -0
- package/dist/dts/widget/WidgetErrorBoundary.d.ts +26 -0
- package/dist/dts/widget/adapters/ContinuousFuturesStockDataAdapter.d.ts +18 -0
- package/dist/dts/widget/adapters/DataProviderAdapterWrapper.d.ts +14 -0
- package/dist/dts/widget/adapters/MultiSourceDataAdapter.d.ts +24 -0
- package/dist/dts/widget/adapters/VNInvestClient.d.ts +161 -0
- package/dist/dts/widget/adapters/VNInvestDataAdapter.d.ts +77 -0
- package/dist/dts/widget/adapters/VNInvestWebSocketClient.d.ts +79 -0
- package/dist/dts/widget/adapters/barsPagingPolicy.d.ts +18 -0
- package/dist/dts/widget/adapters/corporateEvents.d.ts +13 -0
- package/dist/dts/widget/adapters/index.d.ts +20 -0
- package/dist/dts/widget/adapters/nativeShapes.d.ts +32 -0
- package/dist/dts/widget/adapters/watchlistRealtimeSync.d.ts +16 -0
- package/dist/dts/widget/alerts/DrawingAlertsHost.d.ts +18 -0
- package/dist/dts/widget/alerts/useDrawingAlerts.d.ts +37 -0
- package/dist/dts/widget/canaryBarFiltering.d.ts +35 -0
- package/dist/dts/widget/capabilities/CapabilityResolver.d.ts +71 -0
- package/dist/dts/widget/capabilities/capabilityProbe.d.ts +28 -0
- package/dist/dts/widget/capabilities/useTierGatedFeatures.d.ts +48 -0
- package/dist/dts/widget/components/BottomPanelHost.d.ts +80 -0
- package/dist/dts/widget/components/BottomPanelSplitter.d.ts +15 -0
- package/dist/dts/widget/components/CapabilityGate.d.ts +65 -0
- package/dist/dts/widget/components/ChartDiagOverlay.d.ts +31 -0
- package/dist/dts/widget/components/ConfirmDialog.d.ts +12 -0
- package/dist/dts/widget/components/DowngradeBanner.d.ts +9 -0
- package/dist/dts/widget/components/ForkPaneSeparators.d.ts +11 -0
- package/dist/dts/widget/components/ForkPaneTooltips.d.ts +23 -0
- package/dist/dts/widget/components/ForkXAxisOverlay.d.ts +11 -0
- package/dist/dts/widget/components/ForkYAxisCrosshairLabels.d.ts +9 -0
- package/dist/dts/widget/components/LayoutDesigner.d.ts +26 -0
- package/dist/dts/widget/components/PremiumFeatureGate.d.ts +10 -0
- package/dist/dts/widget/components/ShortcutHelpModal.d.ts +44 -0
- package/dist/dts/widget/components/SystemMenu.d.ts +66 -0
- package/dist/dts/widget/components/Toast.d.ts +20 -0
- package/dist/dts/widget/components/canvas/BarCountdownBadge.d.ts +8 -0
- package/dist/dts/widget/components/canvas/ChartA11ySummary.d.ts +40 -0
- package/dist/dts/widget/components/canvas/ChartStatusLine.d.ts +39 -0
- package/dist/dts/widget/components/canvas/PricePaneHeader.d.ts +24 -0
- package/dist/dts/widget/components/canvas/PriceScaleMenu.d.ts +27 -0
- package/dist/dts/widget/components/canvas/TimeAxisScrollbar.d.ts +18 -0
- package/dist/dts/widget/components/common/Icons.d.ts +67 -0
- package/dist/dts/widget/components/dock/DataWindow.d.ts +7 -0
- package/dist/dts/widget/components/dock/DockUpgradeNudge.d.ts +10 -0
- package/dist/dts/widget/components/dock/RightSidebarDockHost.d.ts +57 -0
- package/dist/dts/widget/components/dock/WatchlistPanel.d.ts +7 -0
- package/dist/dts/widget/components/dock/WorkspaceRightDockSlot.d.ts +46 -0
- package/dist/dts/widget/components/dock/dockAccess.d.ts +20 -0
- package/dist/dts/widget/components/dock/drawingDockContentBuilders.d.ts +29 -0
- package/dist/dts/widget/components/drawing/DrawingDock.d.ts +47 -0
- package/dist/dts/widget/components/drawing/DrawingInspector.d.ts +94 -0
- package/dist/dts/widget/components/drawing/DrawingListPanel.d.ts +62 -0
- package/dist/dts/widget/components/drawing/DrawingSemanticPointLegend.d.ts +14 -0
- package/dist/dts/widget/components/drawing/FloatingDrawingInspector.d.ts +18 -0
- package/dist/dts/widget/components/drawing/IconPickerPanel.d.ts +5 -0
- package/dist/dts/widget/components/drawing/InlineTextEditor.d.ts +20 -0
- package/dist/dts/widget/components/drawing/PatternScanPanel.d.ts +27 -0
- package/dist/dts/widget/components/drawing/TemplateManagerPanel.d.ts +18 -0
- package/dist/dts/widget/components/events/CorporateEventsOverlay.d.ts +23 -0
- package/dist/dts/widget/components/events/EventMarkerIcon.d.ts +6 -0
- package/dist/dts/widget/components/footer/ChartFooter.d.ts +26 -0
- package/dist/dts/widget/components/footer/MultiChartsFooter.d.ts +37 -0
- package/dist/dts/widget/components/footer/TimeframeFooter.d.ts +25 -0
- package/dist/dts/widget/components/footer/useBarCountdown.d.ts +5 -0
- package/dist/dts/widget/components/header/OHLCHeader.d.ts +72 -0
- package/dist/dts/widget/components/layout/DrawingConflictNotice.d.ts +4 -0
- package/dist/dts/widget/components/layout/GridContainer.d.ts +70 -0
- package/dist/dts/widget/components/layout/GridSlotErrorBoundary.d.ts +17 -0
- package/dist/dts/widget/components/layout/Splitter.d.ts +23 -0
- package/dist/dts/widget/components/layout/gridSplitterMath.d.ts +40 -0
- package/dist/dts/widget/components/layout/useGridSplitterDrag.d.ts +18 -0
- package/dist/dts/widget/components/mobile/MobileChartCarousel.d.ts +11 -0
- package/dist/dts/widget/components/mobile/MobileToolbar.d.ts +29 -0
- package/dist/dts/widget/components/overlays/AdvisoryPanel.d.ts +25 -0
- package/dist/dts/widget/components/overlays/TapePanel.d.ts +25 -0
- package/dist/dts/widget/components/overlays/WhalePanel.d.ts +5 -0
- package/dist/dts/widget/components/panels/AdvisoryPanel.d.ts +25 -0
- package/dist/dts/widget/components/panels/PineEditorPanel.d.ts +18 -0
- package/dist/dts/widget/components/panels/StrategyTesterPanel.d.ts +7 -0
- package/dist/dts/widget/components/panels/TapePanel.d.ts +17 -0
- package/dist/dts/widget/components/panels/index.d.ts +8 -0
- package/dist/dts/widget/components/replay/FloatingReplayToolbar.d.ts +24 -0
- package/dist/dts/widget/components/replay/ReplayCutOverlay.d.ts +8 -0
- package/dist/dts/widget/components/search/SymbolCompareModal.d.ts +24 -0
- package/dist/dts/widget/components/search/SymbolSearchModal.d.ts +12 -0
- package/dist/dts/widget/components/search/VNSymbolSearch.d.ts +83 -0
- package/dist/dts/widget/components/settings/AlertsModal.d.ts +74 -0
- package/dist/dts/widget/components/settings/SettingsContext.d.ts +58 -0
- package/dist/dts/widget/components/settings/SettingsModal.d.ts +78 -0
- package/dist/dts/widget/components/settings/SettingsRangeSlider.d.ts +17 -0
- package/dist/dts/widget/components/settings/SnapshotPreviewModal.d.ts +16 -0
- package/dist/dts/widget/components/settings/WorkspaceSettingsContext.d.ts +27 -0
- package/dist/dts/widget/components/settings/helpers/seriesFormatters.d.ts +11 -0
- package/dist/dts/widget/components/settings/model/appearancePayload.d.ts +31 -0
- package/dist/dts/widget/components/settings/model/chartSettingsSchema.d.ts +100 -0
- package/dist/dts/widget/components/settings/model/defaultSettings.d.ts +5 -0
- package/dist/dts/widget/components/settings/model/indicatorShare.d.ts +29 -0
- package/dist/dts/widget/components/settings/storageKeys.d.ts +29 -0
- package/dist/dts/widget/components/settings/tabs/AppearanceSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/IndicatorParamsForm.d.ts +12 -0
- package/dist/dts/widget/components/settings/tabs/IndicatorsSettingsTab.d.ts +34 -0
- package/dist/dts/widget/components/settings/tabs/LicensingSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/PanesLayoutSettingsTab.d.ts +11 -0
- package/dist/dts/widget/components/settings/tabs/ResetSettingsTab.d.ts +8 -0
- package/dist/dts/widget/components/settings/tabs/ScalesSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/StatusLineSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/SymbolSettingsTab.d.ts +5 -0
- package/dist/dts/widget/components/settings/tabs/ThemePaletteSettingsTab.d.ts +9 -0
- package/dist/dts/widget/components/settings/tabs/TradingEventsSettingsTab.d.ts +8 -0
- package/dist/dts/widget/components/toolbar/DrawingToolIcon.d.ts +10 -0
- package/dist/dts/widget/components/toolbar/DrawingToolbar.d.ts +33 -0
- package/dist/dts/widget/components/toolbar/FloatingChartBar.d.ts +20 -0
- package/dist/dts/widget/components/toolbar/FloatingFavoritesBar.d.ts +18 -0
- package/dist/dts/widget/components/toolbar/MultiChartTopbar.d.ts +47 -0
- package/dist/dts/widget/components/toolbar/UnifiedDrawingToolbar.d.ts +28 -0
- package/dist/dts/widget/components/trading/PaperTradePanel.d.ts +41 -0
- package/dist/dts/widget/components/workspace/WorkspaceToolbar.d.ts +25 -0
- package/dist/dts/widget/config/toolGroups.d.ts +11 -0
- package/dist/dts/widget/config/toolShortcuts.d.ts +27 -0
- package/dist/dts/widget/constants/comparison.d.ts +1 -0
- package/dist/dts/widget/constants/symbolSearch.d.ts +14 -0
- package/dist/dts/widget/constants/vn30.d.ts +7 -0
- package/dist/dts/widget/context/DataProviderContext.d.ts +7 -0
- package/dist/dts/widget/context/HoverEmitter.d.ts +50 -0
- package/dist/dts/widget/context/SyncContextShare.d.ts +11 -0
- package/dist/dts/widget/context/VNInvestChartsConfigContext.d.ts +24 -0
- package/dist/dts/widget/context/VNInvestChartsContext.d.ts +70 -0
- package/dist/dts/widget/context/VNInvestChartsStateContext.d.ts +50 -0
- package/dist/dts/widget/context/WidgetI18nContext.d.ts +25 -0
- package/dist/dts/widget/context/WorkspaceLiveTradingContext.d.ts +30 -0
- package/dist/dts/widget/context/WorkspacePaperVisibilityContext.d.ts +23 -0
- package/dist/dts/widget/context/WorkspaceReplayTradingContext.d.ts +36 -0
- package/dist/dts/widget/contexts/SaaSFeatureContext.d.ts +23 -0
- package/dist/dts/widget/data/DataEnvelope.d.ts +100 -0
- package/dist/dts/widget/drawingPriceLabelInputs.d.ts +3 -0
- package/dist/dts/widget/export/chartCsv.d.ts +59 -0
- package/dist/dts/widget/forkAnchorReconciliation.d.ts +6 -0
- package/dist/dts/widget/forkInteractionHelpers.d.ts +69 -0
- package/dist/dts/widget/grid/DeviceProfiles.d.ts +49 -0
- package/dist/dts/widget/grid/GridChartRegistry.d.ts +9 -0
- package/dist/dts/widget/grid/MemoryBudgetManager.d.ts +63 -0
- package/dist/dts/widget/grid/PerformanceMonitor.d.ts +70 -0
- package/dist/dts/widget/grid/customPresets.d.ts +42 -0
- package/dist/dts/widget/grid/presets.d.ts +18 -0
- package/dist/dts/widget/grid/types.d.ts +39 -0
- package/dist/dts/widget/history/BackfillDedupContext.d.ts +63 -0
- package/dist/dts/widget/history/RequestCoordinator.d.ts +59 -0
- package/dist/dts/widget/history/SharedBarStoreContext.d.ts +22 -0
- package/dist/dts/widget/history/cache/IndexedDBCacheMatrix.d.ts +16 -0
- package/dist/dts/widget/history/cache/LocalCacheMatrix.d.ts +86 -0
- package/dist/dts/widget/history/cache/index.d.ts +3 -0
- package/dist/dts/widget/history/chunkStore.d.ts +77 -0
- package/dist/dts/widget/history/externalBarsNormalization.d.ts +9 -0
- package/dist/dts/widget/history/externalBarsNormalization.worker.d.ts +1 -0
- package/dist/dts/widget/history/externalBarsNormalizationAsync.d.ts +25 -0
- package/dist/dts/widget/history/historyDataUtils.d.ts +82 -0
- package/dist/dts/widget/history/historyWindowPlanner.d.ts +89 -0
- package/dist/dts/widget/history/inflightController.d.ts +15 -0
- package/dist/dts/widget/history/requestCoalescing.d.ts +10 -0
- package/dist/dts/widget/history/sessionGuards.d.ts +3 -0
- package/dist/dts/widget/history/singleWriterLane.d.ts +4 -0
- package/dist/dts/widget/history/useExternalBarsNormalization.d.ts +5 -0
- package/dist/dts/widget/hooks/ShortcutManager.d.ts +65 -0
- package/dist/dts/widget/hooks/overlays/PaneHeaderWrapper.d.ts +11 -0
- package/dist/dts/widget/hooks/overlays/overlayHelpers.d.ts +60 -0
- package/dist/dts/widget/hooks/overlays/useDrawingDockNode.d.ts +15 -0
- package/dist/dts/widget/hooks/overlays/useLegendChrome.d.ts +36 -0
- package/dist/dts/widget/hooks/overlays/useMultiSelectActions.d.ts +22 -0
- package/dist/dts/widget/hooks/overlays/useSidebarResize.d.ts +13 -0
- package/dist/dts/widget/hooks/resolveEntitlement.d.ts +73 -0
- package/dist/dts/widget/hooks/useBottomPanelBehavior.d.ts +38 -0
- package/dist/dts/widget/hooks/useBottomPanelHeight.d.ts +39 -0
- package/dist/dts/widget/hooks/useCanvasTheme.d.ts +24 -0
- package/dist/dts/widget/hooks/useChartImperativeHandle.d.ts +57 -0
- package/dist/dts/widget/hooks/useClockAdapter.d.ts +11 -0
- package/dist/dts/widget/hooks/useComparisonState.d.ts +29 -0
- package/dist/dts/widget/hooks/useDialogFocus.d.ts +25 -0
- package/dist/dts/widget/hooks/useDrawingToolShortcuts.d.ts +16 -0
- package/dist/dts/widget/hooks/useFeatureGate.d.ts +28 -0
- package/dist/dts/widget/hooks/useFloatingChartBar.d.ts +33 -0
- package/dist/dts/widget/hooks/useForkRuntime.d.ts +155 -0
- package/dist/dts/widget/hooks/useIndicatorsShareApplier.d.ts +1 -0
- package/dist/dts/widget/hooks/useIntersectionObserver.d.ts +49 -0
- package/dist/dts/widget/hooks/useKeyboardAdapter.d.ts +9 -0
- package/dist/dts/widget/hooks/useLayoutHistory.d.ts +8 -0
- package/dist/dts/widget/hooks/useLicenseDiagnostics.d.ts +15 -0
- package/dist/dts/widget/hooks/useMultiChartReplaySync.d.ts +31 -0
- package/dist/dts/widget/hooks/useMultiWorkspacePersistence.d.ts +49 -0
- package/dist/dts/widget/hooks/usePaperTradeConfig.d.ts +27 -0
- package/dist/dts/widget/hooks/usePaperTradeInteraction.d.ts +27 -0
- package/dist/dts/widget/hooks/usePatTierAuthentication.d.ts +42 -0
- package/dist/dts/widget/hooks/usePineScriptRestore.d.ts +23 -0
- package/dist/dts/widget/hooks/usePortalAdapter.d.ts +8 -0
- package/dist/dts/widget/hooks/useRecentSymbols.d.ts +3 -0
- package/dist/dts/widget/hooks/useReplayState.d.ts +28 -0
- package/dist/dts/widget/hooks/useReplayTrading.d.ts +26 -0
- package/dist/dts/widget/hooks/useResizeAdapter.d.ts +13 -0
- package/dist/dts/widget/hooks/useScaleOverlays.d.ts +62 -0
- package/dist/dts/widget/hooks/useScriptPersistence.d.ts +72 -0
- package/dist/dts/widget/hooks/useSymbolSearch.d.ts +30 -0
- package/dist/dts/widget/hooks/useViewportBreakpoint.d.ts +15 -0
- package/dist/dts/widget/hooks/useWidgetCoordinateBridge.d.ts +70 -0
- package/dist/dts/widget/hooks/useWidgetData.d.ts +138 -0
- package/dist/dts/widget/hooks/useWidgetDataBackfill.d.ts +67 -0
- package/dist/dts/widget/hooks/useWidgetDataEnrichment.d.ts +32 -0
- package/dist/dts/widget/hooks/useWidgetDrawings.d.ts +38 -0
- package/dist/dts/widget/hooks/useWidgetForkInteraction.d.ts +68 -0
- package/dist/dts/widget/hooks/useWidgetInteractionActions.d.ts +36 -0
- package/dist/dts/widget/hooks/useWidgetOverlays.d.ts +190 -0
- package/dist/dts/widget/hooks/useWidgetRuntime.d.ts +20 -0
- package/dist/dts/widget/hooks/useWidgetSettings.d.ts +244 -0
- package/dist/dts/widget/hooks/useWidgetWorkspaceIO.d.ts +24 -0
- package/dist/dts/widget/hooks/useWorkspaceDockPanels.d.ts +11 -0
- package/dist/dts/widget/hooks/useWorkspaceLiveTrading.d.ts +28 -0
- package/dist/dts/widget/hooks/useWorkspaceReplayTrading.d.ts +22 -0
- package/dist/dts/widget/i18n/a11y.messages.en.d.ts +8 -0
- package/dist/dts/widget/i18n/a11y.messages.vi.d.ts +3 -0
- package/dist/dts/widget/i18n/capability.messages.en.d.ts +7 -0
- package/dist/dts/widget/i18n/capability.messages.vi.d.ts +3 -0
- package/dist/dts/widget/i18n/dock.messages.en.d.ts +2 -0
- package/dist/dts/widget/i18n/dock.messages.vi.d.ts +2 -0
- package/dist/dts/widget/i18n/messages.en.d.ts +2 -0
- package/dist/dts/widget/i18n/messages.licensing.d.ts +48 -0
- package/dist/dts/widget/i18n/messages.vi.d.ts +2 -0
- package/dist/dts/widget/i18n/trading.messages.en.d.ts +2 -0
- package/dist/dts/widget/i18n/trading.messages.vi.d.ts +2 -0
- package/dist/dts/widget/i18n/types.d.ts +3 -0
- package/dist/dts/widget/iframe/builtInAdapters.d.ts +63 -0
- package/dist/dts/widget/iframe/host-entry.d.ts +11 -0
- package/dist/dts/widget/iframe/hostSDK.d.ts +151 -0
- package/dist/dts/widget/iframe/iframeBridge.d.ts +165 -0
- package/dist/dts/widget/iframe/iframeEntry.d.ts +52 -0
- package/dist/dts/widget/iframe/iframeFrame.d.ts +15 -0
- package/dist/dts/widget/iframe/iframeQuotes.d.ts +20 -0
- package/dist/dts/widget/iframe/messageProtocol.d.ts +545 -0
- package/dist/dts/widget/iframe/quoteHub.d.ts +20 -0
- package/dist/dts/widget/iframe/useVNInvestChartsHost.d.ts +8 -0
- package/dist/dts/widget/iife-entry.d.ts +61 -0
- package/dist/dts/widget/iifeWidgetInstance.d.ts +60 -0
- package/dist/dts/widget/index.d.ts +56 -0
- package/dist/dts/widget/multiChartDefaults.d.ts +18 -0
- package/dist/dts/widget/paneInteractionUtils.d.ts +25 -0
- package/dist/dts/widget/patterns/autoPatternScan.d.ts +77 -0
- package/dist/dts/widget/patterns/patternDrawingFactory.d.ts +87 -0
- package/dist/dts/widget/plugin/ProPluginRegistry.d.ts +40 -0
- package/dist/dts/widget/runtime/ChartScaleAdapter.d.ts +73 -0
- package/dist/dts/widget/runtime/ChartSerializer.d.ts +12 -0
- package/dist/dts/widget/runtime/ForkRuntimeAdapter.d.ts +19 -0
- package/dist/dts/widget/runtime/IRuntimeEngine.d.ts +40 -0
- package/dist/dts/widget/runtime/WorkspaceSerializer.d.ts +31 -0
- package/dist/dts/widget/runtimePolicy.d.ts +36 -0
- package/dist/dts/widget/styles/injectStyles.d.ts +9 -0
- package/dist/dts/widget/theme/ThemeConfig.d.ts +21 -0
- package/dist/dts/widget/theme/applyTheme.d.ts +3 -0
- package/dist/dts/widget/trading/chart/DraggableOrderHandles.d.ts +15 -0
- package/dist/dts/widget/trading/chart/InteractivePositionOverlay.d.ts +19 -0
- package/dist/dts/widget/trading/chart/PendingOrderOverlay.d.ts +11 -0
- package/dist/dts/widget/trading/chart/QuickTradingHeader.d.ts +20 -0
- package/dist/dts/widget/trading/chart/TradingChartSurface.d.ts +8 -0
- package/dist/dts/widget/trading/chart/TradingOverlaysHost.d.ts +28 -0
- package/dist/dts/widget/trading/chart/priceTicks.d.ts +1 -0
- package/dist/dts/widget/trading/chart/useFloatingDrag.d.ts +40 -0
- package/dist/dts/widget/trading/chart/useTradingHotkeys.d.ts +21 -0
- package/dist/dts/widget/trading/config/paperRuntimeConfig.d.ts +53 -0
- package/dist/dts/widget/trading/context/PaperPanelRegistry.d.ts +45 -0
- package/dist/dts/widget/trading/context/TradingContext.d.ts +80 -0
- package/dist/dts/widget/trading/context/WorkspaceTradingSync.d.ts +24 -0
- package/dist/dts/widget/trading/hooks/usePaperRuntimeConfig.d.ts +36 -0
- package/dist/dts/widget/trading/index.d.ts +5 -0
- package/dist/dts/widget/trading/panel/AccountSummaryTab.d.ts +7 -0
- package/dist/dts/widget/trading/panel/ActiveChartPaperPanel.d.ts +26 -0
- package/dist/dts/widget/trading/panel/ConnectedTradingPanel.d.ts +3 -0
- package/dist/dts/widget/trading/panel/HistoryTab.d.ts +5 -0
- package/dist/dts/widget/trading/panel/MarketFallbackBanner.d.ts +4 -0
- package/dist/dts/widget/trading/panel/OrdersTab.d.ts +8 -0
- package/dist/dts/widget/trading/panel/PaperCapitalDialog.d.ts +8 -0
- package/dist/dts/widget/trading/panel/PaperSettingsModal.d.ts +17 -0
- package/dist/dts/widget/trading/panel/PositionsTab.d.ts +15 -0
- package/dist/dts/widget/trading/panel/TradeHistoryTab.d.ts +5 -0
- package/dist/dts/widget/trading/panel/TradingBottomPanel.d.ts +36 -0
- package/dist/dts/widget/trading/panel/TradingLogTab.d.ts +8 -0
- package/dist/dts/widget/trading/panel/TradingPanelHeader.d.ts +17 -0
- package/dist/dts/widget/trading/panel/csvExport.d.ts +18 -0
- package/dist/dts/widget/trading/ticket/ConnectedTradingDockPanel.d.ts +5 -0
- package/dist/dts/widget/trading/ticket/OrderTicketForm.d.ts +31 -0
- package/dist/dts/widget/trading/ticket/OrderTicketModal.d.ts +29 -0
- package/dist/dts/widget/trading/ticket/RegistryTradingDockPanel.d.ts +9 -0
- package/dist/dts/widget/trading/ticket/RiskCalculatorView.d.ts +9 -0
- package/dist/dts/widget/trading/ticket/TradingDockPanel.d.ts +36 -0
- package/dist/dts/widget/trading/ticket/orderTicketModel.d.ts +49 -0
- package/dist/dts/widget/trading/visibility/paperVisibility.d.ts +38 -0
- package/dist/dts/widget/types/dataProvider.d.ts +8 -0
- package/dist/dts/widget/types/fullChartHandle.d.ts +25 -0
- package/dist/dts/widget/types/saas.d.ts +83 -0
- package/dist/dts/widget/types/symbolSearch.d.ts +9 -0
- package/dist/dts/widget/types/watchlist.d.ts +26 -0
- package/dist/dts/widget/utils/axisHit.d.ts +16 -0
- package/dist/dts/widget/utils/chartRange.d.ts +12 -0
- package/dist/dts/widget/utils/chartTypeOptions.d.ts +38 -0
- package/dist/dts/widget/utils/clickOutside.d.ts +1 -0
- package/dist/dts/widget/utils/coordinateBridge.d.ts +31 -0
- package/dist/dts/widget/utils/crosshairSync.d.ts +50 -0
- package/dist/dts/widget/utils/drawingSync.d.ts +198 -0
- package/dist/dts/widget/utils/enrichedHash.d.ts +15 -0
- package/dist/dts/widget/utils/headerSync.d.ts +12 -0
- package/dist/dts/widget/utils/numberFormat.d.ts +13 -0
- package/dist/dts/widget/utils/paperTradeAdapters.d.ts +11 -0
- package/dist/dts/widget/utils/pineSeriesData.d.ts +71 -0
- package/dist/dts/widget/utils/rangeSync.d.ts +29 -0
- package/dist/dts/widget/utils/telemetry.d.ts +19 -0
- package/dist/dts/widget/utils/widgetEquality.d.ts +57 -0
- package/dist/dts/widget/utils/widgetErrors.d.ts +29 -0
- package/dist/dts/widget/utils/widgetHelpers.d.ts +395 -0
- package/dist/dts/widget/utils/xAxisTickFormatter.d.ts +33 -0
- package/dist/dts/widget/visibleRangeBridge.d.ts +28 -0
- package/dist/dts/widget/visibleRangeDiagnostics.d.ts +10 -0
- package/dist/dts/widget/visibleRangePolicies.d.ts +6 -0
- package/dist/dts/widget/workspace/WorkspaceManager.d.ts +23 -0
- package/dist/dts/widget/workspace/WorkspaceStore.d.ts +85 -0
- package/dist/dts/widget/workspace/types.d.ts +21 -0
- package/dist/externalBarsNormalization.worker.js +108 -0
- package/dist/iframe/index.html +63 -0
- package/dist/iframe/injected.css +6456 -0
- package/dist/iframe/vninvestchart.iframe.css +2 -0
- package/dist/iframe/vninvestchart.iframe.js +945 -0
- package/dist/iframe-host/host-entry.cjs +687 -0
- package/dist/iframe-host/host-entry.d.mts +818 -0
- package/dist/iframe-host/host-entry.d.ts +818 -0
- package/dist/iframe-host/host-entry.js +680 -0
- package/dist/index.cjs +7253 -0
- package/dist/index.css +3390 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +6461 -0
- package/dist/injected.css +6456 -0
- package/dist/rollAlgorithms-2P2ZKKHO.js +2 -0
- package/dist/types/runtime.cjs +8 -0
- package/dist/types/runtime.d.mts +92 -0
- package/dist/types/runtime.d.ts +92 -0
- package/dist/types/runtime.js +5 -0
- package/dist/types/runtime.umd.js +14 -0
- package/dist/vninvestchart.iife.css +2 -0
- package/dist/vninvestchart.iife.js +945 -0
- package/package.json +225 -5
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { FinalityMode } from "../../lib/adapters";
|
|
2
|
+
import type { Timeframe } from "../../lib/types/adapter";
|
|
3
|
+
import type { OHLCVBar } from "../../lib/types/ohlcv";
|
|
4
|
+
/**
|
|
5
|
+
* Options controlling how new bars override existing bars during merge.
|
|
6
|
+
*
|
|
7
|
+
* - `immutable`: Never overwrite an existing bar (append-only for new timestamps).
|
|
8
|
+
* - `near-now-provisional`: Bars within `provisionalWindowMs` of `nowMs` may be overwritten;
|
|
9
|
+
* older bars are treated as immutable.
|
|
10
|
+
* - `historically-correctable`: Bars within `correctionLookbackMs` of `nowMs` may be overwritten;
|
|
11
|
+
* bars older than the lookback are treated as immutable.
|
|
12
|
+
*
|
|
13
|
+
* When `finalityMode` is omitted the legacy behaviour (always overwrite) is preserved.
|
|
14
|
+
*/
|
|
15
|
+
export interface FinalityMergeOptions {
|
|
16
|
+
readonly finalityMode: FinalityMode;
|
|
17
|
+
/** Wall-clock "now" in epoch milliseconds. Defaults to Date.now() when omitted. */
|
|
18
|
+
readonly nowMs?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Window (ms) around `nowMs` inside which `near-now-provisional` bars may be
|
|
21
|
+
* overwritten. Defaults to one timeframe bar width (caller should pass
|
|
22
|
+
* `resolveTimeframeMs(timeframe)` or similar).
|
|
23
|
+
*/
|
|
24
|
+
readonly provisionalWindowMs?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Lookback (ms) from `nowMs` inside which `historically-correctable` bars may be
|
|
27
|
+
* overwritten. Maps directly to `SourceSemanticsDescriptor.correctionLookbackMs`.
|
|
28
|
+
* When 0 or undefined, correction mode behaves like immutable for historical bars.
|
|
29
|
+
*/
|
|
30
|
+
readonly correctionLookbackMs?: number;
|
|
31
|
+
}
|
|
32
|
+
export interface HistoryWindow {
|
|
33
|
+
startMs: number;
|
|
34
|
+
endMs: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function resolveFetchWindow(timeframe: Timeframe): {
|
|
37
|
+
from: Date;
|
|
38
|
+
to: Date;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Screen-first window for Phase 1 initial fetch.
|
|
42
|
+
* Returns a window clipped to `screenBars` latest bars, but never
|
|
43
|
+
* exceeding the full `resolveFetchWindow`. This keeps the blocking
|
|
44
|
+
* initial load proportional to screen density per timeframe.
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveInitialFetchWindow(timeframe: Timeframe): {
|
|
47
|
+
from: Date;
|
|
48
|
+
to: Date;
|
|
49
|
+
};
|
|
50
|
+
export declare function resolveTimeframeMs(timeframe: Timeframe): number;
|
|
51
|
+
export declare function computeLoadedHistoryWindow(bars: readonly OHLCVBar[]): HistoryWindow | null;
|
|
52
|
+
export declare function resolveRetentionWindow(visibleDomain: readonly [Date, Date], timeframe: Timeframe): HistoryWindow;
|
|
53
|
+
export declare function trimBarsToRetentionWindow(bars: readonly OHLCVBar[], visibleDomain: readonly [Date, Date] | null, timeframe: Timeframe): readonly OHLCVBar[];
|
|
54
|
+
export declare function mergeBarPagesByDate(previousBars: readonly OHLCVBar[], nextBars: readonly OHLCVBar[]): readonly OHLCVBar[];
|
|
55
|
+
export declare function mergeBarsByDate(previousBars: readonly OHLCVBar[], nextBar: OHLCVBar): readonly OHLCVBar[];
|
|
56
|
+
/**
|
|
57
|
+
* Finality-aware variant of `mergeBarPagesByDate`.
|
|
58
|
+
*
|
|
59
|
+
* When `opts` is provided each incoming bar is only allowed to overwrite an
|
|
60
|
+
* existing bar when `isMutableBar` returns true for that bar's timestamp.
|
|
61
|
+
* Bars with new timestamps are always inserted regardless of finality.
|
|
62
|
+
*/
|
|
63
|
+
export declare function mergeBarPagesByDateWithFinality(previousBars: readonly OHLCVBar[], nextBars: readonly OHLCVBar[], opts: FinalityMergeOptions): readonly OHLCVBar[];
|
|
64
|
+
/**
|
|
65
|
+
* Finality-aware variant of `mergeBarsByDate`.
|
|
66
|
+
*
|
|
67
|
+
* Rules:
|
|
68
|
+
* - New timestamp → always insert.
|
|
69
|
+
* - Existing timestamp + mutable → overwrite (same as legacy behaviour).
|
|
70
|
+
* - Existing timestamp + immutable → keep existing bar, discard incoming.
|
|
71
|
+
*/
|
|
72
|
+
/**
|
|
73
|
+
* Filter `incomingBars` so that bars whose timestamps already exist in
|
|
74
|
+
* `residentBars` are kept only when they fall within the mutable window.
|
|
75
|
+
*
|
|
76
|
+
* Use this BEFORE passing bars to `HistoryChunkStore.prepend / append` when
|
|
77
|
+
* you want finality-aware merge without changing the chunkStore internals.
|
|
78
|
+
*
|
|
79
|
+
* Bars with entirely new timestamps pass through unconditionally.
|
|
80
|
+
*/
|
|
81
|
+
export declare function filterBarsForFinalityMerge(incomingBars: readonly OHLCVBar[], residentBars: readonly OHLCVBar[], opts: FinalityMergeOptions): readonly OHLCVBar[];
|
|
82
|
+
export declare function mergeBarsByDateWithFinality(previousBars: readonly OHLCVBar[], nextBar: OHLCVBar, opts: FinalityMergeOptions): readonly OHLCVBar[];
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* historyWindowPlanner.ts
|
|
3
|
+
*
|
|
4
|
+
* Resident 3x window planner for VNInvestCharts history management.
|
|
5
|
+
*
|
|
6
|
+
* Computes the resident target window (3x visible span) and plans only the
|
|
7
|
+
* missing segments that need to be fetched, preventing request storms when
|
|
8
|
+
* data is already loaded.
|
|
9
|
+
*/
|
|
10
|
+
import type { ResidentWindow } from "./chunkStore";
|
|
11
|
+
import type { GapReason, SourceSemanticsDescriptor } from "../../lib/adapters";
|
|
12
|
+
import type { ExchangeCalendar } from "../../lib/calendars";
|
|
13
|
+
export type { ResidentWindow };
|
|
14
|
+
export interface VisibleWindow {
|
|
15
|
+
/** Inclusive start of visible domain, ms since epoch */
|
|
16
|
+
startMs: number;
|
|
17
|
+
/** Inclusive end of visible domain, ms since epoch */
|
|
18
|
+
endMs: number;
|
|
19
|
+
}
|
|
20
|
+
export interface MissingSegment {
|
|
21
|
+
/** Which side of the loaded range is missing */
|
|
22
|
+
side: "left" | "right";
|
|
23
|
+
/** Start of missing range, ms since epoch (undefined = fetch from beginning) */
|
|
24
|
+
from?: number;
|
|
25
|
+
/** End of missing range, ms since epoch (undefined = fetch to now) */
|
|
26
|
+
to?: number;
|
|
27
|
+
/** Why the gap exists, so the scheduler can avoid enqueueing non-fetchable gaps. */
|
|
28
|
+
reason?: GapReason;
|
|
29
|
+
}
|
|
30
|
+
export interface PrioritizedMissingSegment extends MissingSegment {
|
|
31
|
+
/** Distance from the nearest viewport edge; lower values should be fetched first. */
|
|
32
|
+
distance: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves the base resident retention factor from visible density and the
|
|
36
|
+
* source-class matrix. Session-based sources keep a slightly wider buffer,
|
|
37
|
+
* while window-hint and finite sources trim more aggressively.
|
|
38
|
+
*/
|
|
39
|
+
export declare function resolveResidentRetentionFactor(visibleBarCount?: number, sourceSemantics?: SourceSemanticsDescriptor): number;
|
|
40
|
+
/**
|
|
41
|
+
* Computes the resident target window as 3x the visible span:
|
|
42
|
+
* [visibleStart - 1xSpan, visibleEnd + 1xSpan]
|
|
43
|
+
*
|
|
44
|
+
* Uses `minSpanMs` as the floor for the visible span (one bar width).
|
|
45
|
+
* Ensures the resident window is always at least 3× the minimum span even
|
|
46
|
+
* when the visible window is very narrow. The resident factor is resolved from
|
|
47
|
+
* visible density, source-class semantics, and an optional runtime override
|
|
48
|
+
* from backpressure logic.
|
|
49
|
+
*
|
|
50
|
+
* When `liveEdgeMs` is provided, `endMs` is clamped so the resident window
|
|
51
|
+
* never extends beyond the last known data timestamp. This prevents fetching
|
|
52
|
+
* data for future time ranges (which most APIs reject with 400 errors).
|
|
53
|
+
*
|
|
54
|
+
* CRITICAL FIX: Do NOT clamp endMs at liveEdgeMs — this prevents forward
|
|
55
|
+
* backfill from detecting gaps between last loaded bar and current date.
|
|
56
|
+
* The caller should handle Date.now() capping if needed.
|
|
57
|
+
*/
|
|
58
|
+
export declare function computeResidentTarget(visible: VisibleWindow, minSpanMs?: number, visibleBarCount?: number, sourceSemantics?: SourceSemanticsDescriptor, retentionFactorOverride?: number, liveEdgeMs?: number): ResidentWindow;
|
|
59
|
+
/**
|
|
60
|
+
* Computes which segments of the resident target are not covered by the
|
|
61
|
+
* loaded window.
|
|
62
|
+
*
|
|
63
|
+
* Rules:
|
|
64
|
+
* - If `loaded` covers the full `resident` range: returns empty array.
|
|
65
|
+
* - If `loaded` starts after `resident.startMs`: returns a left-segment.
|
|
66
|
+
* - If `loaded` ends before `resident.endMs`: returns a right-segment.
|
|
67
|
+
* - Both can be returned simultaneously (initial empty state, large pan).
|
|
68
|
+
* - When loaded is null/empty (no data yet): returns both sides.
|
|
69
|
+
*/
|
|
70
|
+
export declare function computeMissingSegments(resident: ResidentWindow, loaded: ResidentWindow | null, sourceSemantics?: SourceSemanticsDescriptor, calendar?: ExchangeCalendar): readonly MissingSegment[];
|
|
71
|
+
/**
|
|
72
|
+
* Orders fetchable missing segments so the nearest resident gap to the
|
|
73
|
+
* viewport is scheduled first. Ties prefer the left edge for deterministic
|
|
74
|
+
* execution when both sides are equally close.
|
|
75
|
+
*/
|
|
76
|
+
export declare function prioritizeMissingSegments(segments: readonly MissingSegment[], visible: VisibleWindow): PrioritizedMissingSegment[];
|
|
77
|
+
/**
|
|
78
|
+
* Computes a hysteresis-aware trim window.
|
|
79
|
+
*
|
|
80
|
+
* Returns a trim window slightly wider than the resident target to avoid
|
|
81
|
+
* thrashing: bars are only evicted when they fall outside the trim window,
|
|
82
|
+
* which is `hysteresisRatio × span` wider on each side than the resident
|
|
83
|
+
* target.
|
|
84
|
+
*
|
|
85
|
+
* Default `hysteresisRatio = 0.5` means bars within 0.5× span outside the
|
|
86
|
+
* resident target are retained. This prevents evicting bars that would be
|
|
87
|
+
* needed again if the user pans back slightly.
|
|
88
|
+
*/
|
|
89
|
+
export declare function computeTrimWindow(resident: ResidentWindow, hysteresisRatio?: number): ResidentWindow;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface AdaptiveInflightControllerState {
|
|
2
|
+
maxInflight: number;
|
|
3
|
+
debounceMs: number;
|
|
4
|
+
chunkBars: number;
|
|
5
|
+
retentionFactor: number;
|
|
6
|
+
highFrameTimeCount: number;
|
|
7
|
+
lowFrameTimeCount: number;
|
|
8
|
+
highOverfetchCount: number;
|
|
9
|
+
}
|
|
10
|
+
export interface AdaptiveInflightTelemetry {
|
|
11
|
+
frameP95Ms: number;
|
|
12
|
+
queueDepth: number;
|
|
13
|
+
overfetchRatio: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function computeAdaptiveInflightControllerState(current: AdaptiveInflightControllerState, telemetry: AdaptiveInflightTelemetry, baseRetentionFactor: number): AdaptiveInflightControllerState;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MissingSegment } from "./historyWindowPlanner";
|
|
2
|
+
export interface InflightRange {
|
|
3
|
+
side: MissingSegment["side"];
|
|
4
|
+
from: number;
|
|
5
|
+
to: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function toInflightRequestKey(segment: MissingSegment): string;
|
|
8
|
+
export declare function parseInflightRequestKey(key: string): InflightRange | null;
|
|
9
|
+
export declare function isSegmentCoalescedByInflight(segment: MissingSegment, inflightKeys: Iterable<string>): boolean;
|
|
10
|
+
export declare function coalesceAndAdjustSegment(segment: MissingSegment, inflightKeys: Iterable<string>): MissingSegment | null;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SourceSemanticsDescriptor, Timeframe } from "../../lib/adapters";
|
|
2
|
+
export declare function buildSourceRevisionKey(adapterLabel: string, sourceSemantics: SourceSemanticsDescriptor | null): string;
|
|
3
|
+
export declare function buildHistorySessionRequestKey(symbol: string, timeframe: Timeframe, sourceRevisionKey: string): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type ExternalBarsNormalizationResult } from "./externalBarsNormalization";
|
|
2
|
+
export declare function useExternalBarsNormalization(data: readonly unknown[] | undefined | null, enabled: boolean, useWorker?: boolean): {
|
|
3
|
+
result: ExternalBarsNormalizationResult;
|
|
4
|
+
pending: boolean;
|
|
5
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export interface ShortcutAction {
|
|
2
|
+
id: string;
|
|
3
|
+
keys: string[];
|
|
4
|
+
description: string;
|
|
5
|
+
handler: () => void;
|
|
6
|
+
preventDefault?: boolean;
|
|
7
|
+
global?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Register a keyboard shortcut
|
|
11
|
+
* @param action Shortcut action to register
|
|
12
|
+
* @returns Unregister function
|
|
13
|
+
*/
|
|
14
|
+
export declare function registerShortcut(action: ShortcutAction): () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Unregister a keyboard shortcut by ID
|
|
17
|
+
* @param id Shortcut ID to unregister
|
|
18
|
+
*/
|
|
19
|
+
export declare function unregisterShortcut(id: string): void;
|
|
20
|
+
/**
|
|
21
|
+
* Hook to register shortcuts for a component's lifecycle
|
|
22
|
+
* @param shortcuts Array of shortcut actions to register
|
|
23
|
+
*/
|
|
24
|
+
export declare function useShortcuts(shortcuts: ShortcutAction[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* Global keyboard event handler
|
|
27
|
+
* Should be called once at app root level
|
|
28
|
+
*/
|
|
29
|
+
export declare function useGlobalShortcutHandler(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Predefined shortcut categories for the UnifiedHeader
|
|
32
|
+
*/
|
|
33
|
+
export declare const HeaderShortcuts: {
|
|
34
|
+
symbolSearch: (onOpen: () => void) => ShortcutAction;
|
|
35
|
+
symbolSearchModal: (onOpen: () => void) => ShortcutAction;
|
|
36
|
+
timeframeNext: (onCycle: () => void) => ShortcutAction;
|
|
37
|
+
timeframePrev: (onCycle: () => void) => ShortcutAction;
|
|
38
|
+
chartTypeCycle: (onCycle: () => void) => ShortcutAction;
|
|
39
|
+
toggleSyncVisibleRange: (onToggle: () => void) => ShortcutAction;
|
|
40
|
+
toggleSyncCrosshair: (onToggle: () => void) => ShortcutAction;
|
|
41
|
+
openSystemMenu: (onOpen: () => void) => ShortcutAction;
|
|
42
|
+
toggleDrawingTools: (onToggle: () => void) => ShortcutAction;
|
|
43
|
+
dockToggle: (onToggle: () => void) => ShortcutAction;
|
|
44
|
+
};
|
|
45
|
+
export declare function initializeGlobalShortcutHandler(): void;
|
|
46
|
+
declare const _default: {
|
|
47
|
+
registerShortcut: typeof registerShortcut;
|
|
48
|
+
unregisterShortcut: typeof unregisterShortcut;
|
|
49
|
+
useShortcuts: typeof useShortcuts;
|
|
50
|
+
useGlobalShortcutHandler: typeof useGlobalShortcutHandler;
|
|
51
|
+
HeaderShortcuts: {
|
|
52
|
+
symbolSearch: (onOpen: () => void) => ShortcutAction;
|
|
53
|
+
symbolSearchModal: (onOpen: () => void) => ShortcutAction;
|
|
54
|
+
timeframeNext: (onCycle: () => void) => ShortcutAction;
|
|
55
|
+
timeframePrev: (onCycle: () => void) => ShortcutAction;
|
|
56
|
+
chartTypeCycle: (onCycle: () => void) => ShortcutAction;
|
|
57
|
+
toggleSyncVisibleRange: (onToggle: () => void) => ShortcutAction;
|
|
58
|
+
toggleSyncCrosshair: (onToggle: () => void) => ShortcutAction;
|
|
59
|
+
openSystemMenu: (onOpen: () => void) => ShortcutAction;
|
|
60
|
+
toggleDrawingTools: (onToggle: () => void) => ShortcutAction;
|
|
61
|
+
dockToggle: (onToggle: () => void) => ShortcutAction;
|
|
62
|
+
};
|
|
63
|
+
initializeGlobalShortcutHandler: typeof initializeGlobalShortcutHandler;
|
|
64
|
+
};
|
|
65
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React, { type CSSProperties } from "react";
|
|
2
|
+
import type { SeriesConfig, SeriesTypeId, PaneDescriptor } from "../../../lib/core/types/pane-descriptor";
|
|
3
|
+
export declare function PaneHeaderWithPickerWrapper({ pane, onToggleVisible, onRemove, onQuickAddSeries, onQuickRemoveSeries, style, children, }: {
|
|
4
|
+
pane: PaneDescriptor;
|
|
5
|
+
onToggleVisible: () => void;
|
|
6
|
+
onRemove: () => void;
|
|
7
|
+
onQuickAddSeries?: (series: SeriesConfig) => void;
|
|
8
|
+
onQuickRemoveSeries?: (seriesType: SeriesTypeId) => void;
|
|
9
|
+
style?: CSSProperties;
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
}): React.JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { EnrichedDatum } from "../../../lib/core/calculators/types";
|
|
2
|
+
import type { SeriesConfig } from "../../../lib/core/types/pane-descriptor";
|
|
3
|
+
import type { WidgetPaneRuntimeSnapshot } from "../../utils/widgetHelpers";
|
|
4
|
+
export interface LegendSeriesValue {
|
|
5
|
+
text: string;
|
|
6
|
+
color?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function buildLegendSeriesValue(datum: EnrichedDatum, series: SeriesConfig | undefined): LegendSeriesValue | undefined;
|
|
9
|
+
export declare function resolveLeftAxisWidth(axisBounds: WidgetPaneRuntimeSnapshot["axisBounds"] | undefined): number;
|
|
10
|
+
/**
|
|
11
|
+
* Global left-gutter offset for pane headers (VOL_FIX).
|
|
12
|
+
* Engine `PaneLayoutEngine.layout` shifts `plotBounds` globally as soon as ANY
|
|
13
|
+
* pane owns a left slot, but `axisBounds.left` stays per-pane — so a Vol pane
|
|
14
|
+
* without a left series reports width 0 while its plot area is still pushed
|
|
15
|
+
* right by the global gutter. Headers must therefore use the max left width
|
|
16
|
+
* across ALL visible pane snapshots, matching the plot shift; otherwise the
|
|
17
|
+
* Vol header sits inside the left-axis zone and slides under the docked
|
|
18
|
+
* drawing toolbar (left:0, z-60 above pane wraps z-40).
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Gap between a pane header (label/chips/actions) and the Y-axis gutters.
|
|
22
|
+
* Headers must sit just OUTSIDE the axes — hugging them with a small uniform
|
|
23
|
+
* clearance — never floating deep inside the plot area.
|
|
24
|
+
*/
|
|
25
|
+
export declare const PANE_HEADER_AXIS_GAP_PX = 4;
|
|
26
|
+
/**
|
|
27
|
+
* Horizontal room the docked (locked) drawing rail reserves inside the chart
|
|
28
|
+
* column (`VNInvestCharts` chart-column `marginLeft`). Must stay in sync with
|
|
29
|
+
* that margin — the pane-chrome overlay layer is anchored at the OUTER
|
|
30
|
+
* container origin while the engine measures the INNER (margined) box.
|
|
31
|
+
*/
|
|
32
|
+
export declare const DOCKED_TOOLBAR_OFFSET_PX = 44;
|
|
33
|
+
/**
|
|
34
|
+
* Grip-strip width of the auto-hide drawing rail
|
|
35
|
+
* (`.vnsc-drawing-toolbar-shell`, toolbar.css). The rail overlays content on
|
|
36
|
+
* hover — only this strip needs permanent clearance, not the full 44px.
|
|
37
|
+
*/
|
|
38
|
+
export declare const RAIL_GRIP_PX = 10;
|
|
39
|
+
/**
|
|
40
|
+
* True when a left Y axis is actually rendered. Live snapshots win (the
|
|
41
|
+
* engine's reconcileEmptyLeftAxis can drop an empty gutter); pane
|
|
42
|
+
* descriptors are the pre-first-paint fallback.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveHasLeftAxis(snapshots: Iterable<WidgetPaneRuntimeSnapshot | undefined> | undefined, panes: readonly {
|
|
45
|
+
series?: readonly {
|
|
46
|
+
visible?: boolean;
|
|
47
|
+
yAxis?: string;
|
|
48
|
+
}[];
|
|
49
|
+
}[] | undefined): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Single source of truth for the chart-column left reserve. Mirrors the
|
|
52
|
+
* `marginLeft` on the VNInvestCharts chart column: full 44px only while the
|
|
53
|
+
* rail is locked (docked); zero with no rail. While auto-hiding, the 10px
|
|
54
|
+
* grip strip needs clearance ONLY when no left axis exists — with a 48px
|
|
55
|
+
* left gutter (compare/RSI mode) the grip overlays the gutter itself, so the
|
|
56
|
+
* frame stays perfectly symmetric (48 left == 48 right). Both the column
|
|
57
|
+
* margin and the outer-layer `dockOffset` must use this.
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveRailReservePx(showToolbar: boolean | undefined, toolbarLocked: boolean | undefined, hasLeftAxis?: boolean): number;
|
|
60
|
+
export declare function resolveGlobalLeftAxisWidth(snapshots: Iterable<WidgetPaneRuntimeSnapshot | undefined> | undefined): number;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { DrawingWorkspaceController } from "@vninvestcharts/engine-react";
|
|
3
|
+
export interface DrawingDockNodeDeps {
|
|
4
|
+
showDrawingDock?: boolean;
|
|
5
|
+
drawingWorkspace: DrawingWorkspaceController | null | undefined;
|
|
6
|
+
renderDrawingDock?: any;
|
|
7
|
+
t: (key: string) => string;
|
|
8
|
+
dockPropertiesContent: React.ReactNode;
|
|
9
|
+
dockObjectsContent: React.ReactNode;
|
|
10
|
+
dockTemplatesContent: React.ReactNode;
|
|
11
|
+
/** S3 (P5 parity F2): workspace bridge force node (host tab owns visibility,
|
|
12
|
+
không qua cell dock open-state). Default false (single giữ nguyên). */
|
|
13
|
+
forceOpen?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function useDrawingDockNode(deps: DrawingDockNodeDeps): React.ReactNode;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { SeriesTypeId } from "../../../lib/core/types/pane-descriptor";
|
|
3
|
+
import type { PaneDescriptor } from "../../../lib/core";
|
|
4
|
+
import type { EnrichedDatum } from "../../../lib/core/calculators/types";
|
|
5
|
+
export interface LegendChrome {
|
|
6
|
+
icons: {
|
|
7
|
+
eye: React.ReactNode;
|
|
8
|
+
eyeOff: React.ReactNode;
|
|
9
|
+
edit: React.ReactNode;
|
|
10
|
+
remove: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
labels: {
|
|
13
|
+
showIndicatorTitle: string;
|
|
14
|
+
hideIndicatorTitle: string;
|
|
15
|
+
removeIndicatorTitle: string;
|
|
16
|
+
editIndicatorTitle: string;
|
|
17
|
+
showIndicatorAriaLabel: (seriesLabel: string) => string;
|
|
18
|
+
hideIndicatorAriaLabel: (seriesLabel: string) => string;
|
|
19
|
+
removeIndicatorAriaLabel: (seriesLabel: string) => string;
|
|
20
|
+
editIndicatorAriaLabel: (seriesLabel: string) => string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export declare function useLegendChrome(t: (key: string) => string): LegendChrome;
|
|
24
|
+
export interface CompareLegendNodeDeps {
|
|
25
|
+
compareLegendSlot: "embedded" | "statusline";
|
|
26
|
+
visiblePanes: readonly PaneDescriptor[];
|
|
27
|
+
legendPanes?: readonly PaneDescriptor[];
|
|
28
|
+
localizePane: (pane: PaneDescriptor) => PaneDescriptor;
|
|
29
|
+
legendSeriesSuffix?: (paneId: string, seriesIndex: number) => string | undefined;
|
|
30
|
+
handlePaneToggleSeries: (paneId: string, seriesType: SeriesTypeId, seriesIndex?: number) => void;
|
|
31
|
+
handlePaneRemoveSeries: (paneId: string, seriesType: SeriesTypeId, seriesIndex?: number) => void;
|
|
32
|
+
handlePaneEditSeries: (paneId: string) => void;
|
|
33
|
+
legendChrome: LegendChrome;
|
|
34
|
+
hoveredDatum?: EnrichedDatum | null;
|
|
35
|
+
}
|
|
36
|
+
export declare function useCompareLegendNode(deps: CompareLegendNodeDeps): (paneId: string) => React.ReactNode;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DrawingObject } from "@vninvestcharts/engine-drawing";
|
|
2
|
+
import type { DrawingWorkspaceController } from "@vninvestcharts/engine-react";
|
|
3
|
+
export interface UseMultiSelectActionsProps {
|
|
4
|
+
drawingWorkspace: DrawingWorkspaceController | null;
|
|
5
|
+
selectedIds: readonly string[];
|
|
6
|
+
drawings: readonly DrawingObject[];
|
|
7
|
+
t: (key: string) => string;
|
|
8
|
+
}
|
|
9
|
+
export interface UseMultiSelectActionsReturn {
|
|
10
|
+
selectedCount: number;
|
|
11
|
+
allLocked: boolean;
|
|
12
|
+
allHidden: boolean;
|
|
13
|
+
hasUnlocked: boolean;
|
|
14
|
+
isAllGrouped: boolean;
|
|
15
|
+
handleDeleteAll: () => void;
|
|
16
|
+
handleLockAll: () => void;
|
|
17
|
+
handleSetVisibleAll: (visible: boolean) => void;
|
|
18
|
+
handleBatchColor: (color: string) => void;
|
|
19
|
+
handleCloneAll: () => void;
|
|
20
|
+
handleGroupToggleAll: () => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function useMultiSelectActions({ drawingWorkspace, selectedIds, drawings, }: UseMultiSelectActionsProps): UseMultiSelectActionsReturn;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const SIDEBAR_WIDTH_KEY = "vnsc_dock_width";
|
|
2
|
+
export declare const DOCK_DEFAULT_WIDTH = 300;
|
|
3
|
+
/**
|
|
4
|
+
* Viewport-aware cap: the dock (flex-shrink:0) must never push its own
|
|
5
|
+
* strip off-screen on narrow windows. Falls back to MAX_WIDTH without DOM.
|
|
6
|
+
*/
|
|
7
|
+
export declare function maxAllowedWidth(): number;
|
|
8
|
+
export declare function useSidebarResize(initialWidth?: number): {
|
|
9
|
+
sidebarWidth: number;
|
|
10
|
+
isResizingSidebar: boolean;
|
|
11
|
+
handleSidebarPointerDown: (e: React.PointerEvent<HTMLDivElement>) => void;
|
|
12
|
+
setSidebarWidth: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CS-2 — the single Entitlement Decision Point.
|
|
3
|
+
*
|
|
4
|
+
* One pure function answers "what may this user do" from two independent
|
|
5
|
+
* channels: an offline signed license and a server answer. Neither channel can
|
|
6
|
+
* remove the other's grants; the output names every source so support can audit
|
|
7
|
+
* "why does this user have Pro?".
|
|
8
|
+
*
|
|
9
|
+
* SCOPE NOTE — HISTORY, READ THIS BEFORE "FIXING" IT. This module shipped first as a
|
|
10
|
+
* pure function with no callers (CS-2), then got wired (CS-3). The note that used to
|
|
11
|
+
* sit here said "deliberately NOT wired into the context yet" — that became **false**
|
|
12
|
+
* the moment CS-3 landed, and a stale "this is dead code" comment is worse than no
|
|
13
|
+
* comment: it invites deleting the single entitlement decision point.
|
|
14
|
+
*
|
|
15
|
+
* Verified live call sites (2026-10-08):
|
|
16
|
+
* src/widget/contexts/SaaSFeatureContext.tsx:601 server answered -> 'live'
|
|
17
|
+
* src/widget/contexts/SaaSFeatureContext.tsx:670 no server, no net -> 'none'
|
|
18
|
+
* src/widget/contexts/SaaSFeatureContext.tsx:682 license only -> 'none'
|
|
19
|
+
*
|
|
20
|
+
* What is still NOT wired: the `server-cache` source and `graceMs`. All three call
|
|
21
|
+
* sites pass `live` or `none`, so the freshness arithmetic below has no production
|
|
22
|
+
* caller yet. Recorded in 13.02-technical-debt-register.md rather than left as a
|
|
23
|
+
* comment here, so it can be closed by a measured change.
|
|
24
|
+
*
|
|
25
|
+
* Client-side checks are a speed bump, not a boundary. Knowing this does not
|
|
26
|
+
* weaken it; pretending otherwise is how teams burn weeks on obfuscation.
|
|
27
|
+
*/
|
|
28
|
+
import { type PatTier } from '@vninvestcharts/engine-core';
|
|
29
|
+
export type EntitlementSource = "license" | "server" | "server-cache" | "host" | "none";
|
|
30
|
+
/**
|
|
31
|
+
* Where the server object came from. A boolean cannot express "the server
|
|
32
|
+
* answered just now" versus "replaying a three-day-old answer", so a previous
|
|
33
|
+
* draft's `graceExpired` flag contradicted its own truth table twice. Provenance
|
|
34
|
+
* plus freshness, together, or the criterion is unimplementable.
|
|
35
|
+
*/
|
|
36
|
+
export type DataSourceKind = "live" | "cache" | "none";
|
|
37
|
+
export interface ResolveEntitlementInput {
|
|
38
|
+
license: {
|
|
39
|
+
tier: PatTier;
|
|
40
|
+
expiresAt: number | null;
|
|
41
|
+
serial?: string;
|
|
42
|
+
} | null;
|
|
43
|
+
server: {
|
|
44
|
+
plan: PatTier;
|
|
45
|
+
} | null;
|
|
46
|
+
dataSource: DataSourceKind;
|
|
47
|
+
/** Epoch seconds the cached answer was fetched. Required iff dataSource==="cache". */
|
|
48
|
+
cachedAt: number | null;
|
|
49
|
+
/** Cached answers older than this are ignored. Caller-owned; not in the resolver. */
|
|
50
|
+
graceMs: number;
|
|
51
|
+
now: number;
|
|
52
|
+
}
|
|
53
|
+
export interface ResolvedEntitlement {
|
|
54
|
+
/** Union with attribution: max(licenseTier, serverTier). Nobody revokes anybody. */
|
|
55
|
+
renderTier: PatTier;
|
|
56
|
+
/**
|
|
57
|
+
* Server data reachable and usable. A SINGLE boolean on purpose: an earlier
|
|
58
|
+
* draft's five-key object had no consumer and duplicated SaaSFeatureFlags.
|
|
59
|
+
* Requires only a valid token at ANY plan — gating this on pro would take
|
|
60
|
+
* chart data away from free users, which is a regression, not a gate.
|
|
61
|
+
*/
|
|
62
|
+
dataUsable: boolean;
|
|
63
|
+
/** Every grant that contributed, so "why Pro?" is answerable. Never empty. */
|
|
64
|
+
sources: EntitlementSource[];
|
|
65
|
+
/**
|
|
66
|
+
* Offline banner reason. `plan-limited` means the token is valid but the plan
|
|
67
|
+
* is low — never "rejected", which would lie about a valid token.
|
|
68
|
+
*/
|
|
69
|
+
degradedReason: "no-pat" | "plan-limited" | "offline" | "grace-expired" | null;
|
|
70
|
+
/** Epoch seconds, or null when nothing grants. */
|
|
71
|
+
expiresAt: number | null;
|
|
72
|
+
}
|
|
73
|
+
export declare function resolveEntitlement(input: ResolveEntitlementInput): ResolvedEntitlement;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** Default bottom-panel height (must match `--vnsc-bottom-panel-height` fallback in CSS). */
|
|
2
|
+
export declare const BOTTOM_PANEL_HEIGHT_PX = 260;
|
|
3
|
+
/** Approximate single-chart footer height used for chart-area estimation. */
|
|
4
|
+
export declare const SINGLE_FOOTER_HEIGHT_PX = 48;
|
|
5
|
+
/** Collapse indicator subpanes when the chart area drops below this height. */
|
|
6
|
+
export declare const COLLAPSE_CHART_AREA_PX = 300;
|
|
7
|
+
export interface SingleChartPanelCollapseInput {
|
|
8
|
+
panelOpen: boolean;
|
|
9
|
+
chartAreaHeight: number;
|
|
10
|
+
collapseBelowPx?: number;
|
|
11
|
+
visiblePaneIds: readonly string[];
|
|
12
|
+
onTogglePaneVisible: (paneId: string) => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* UI-D1: auto-collapse indicator subpanes (single chart) while the bottom
|
|
16
|
+
* panel is open and the chart area is squeezed. Restores exactly the panes
|
|
17
|
+
* this hook hid (panes the user re-shows mid-collapse are left alone).
|
|
18
|
+
*/
|
|
19
|
+
export declare function useSingleChartPanelCollapse({ panelOpen, chartAreaHeight, collapseBelowPx, visiblePaneIds, onTogglePaneVisible, }: SingleChartPanelCollapseInput): void;
|
|
20
|
+
export type MultiBottomTab = "strategy_tester" | "pine_editor" | "paper_trade" | null;
|
|
21
|
+
export interface MultiChartPanelFocusInput {
|
|
22
|
+
activeTab: MultiBottomTab;
|
|
23
|
+
activeChartId: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface MultiChartPanelFocus {
|
|
26
|
+
/** Chart id that should render maximized, or null for grid. */
|
|
27
|
+
maximizedChartId: string | null;
|
|
28
|
+
/** Manual Solo/Grid override (marks intent so auto-focus stops fighting the user). */
|
|
29
|
+
setMaximizedChartId: (id: string | null) => void;
|
|
30
|
+
/** Toggle between Solo (active chart) and grid. */
|
|
31
|
+
toggleSolo: () => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* UI-D2: focus-first behavior (multi chart). Opening Pine Editor or Strategy
|
|
35
|
+
* Tester auto-maximizes the active chart; closing the tab restores the grid.
|
|
36
|
+
* Paper Trading keeps the grid (flexible-height panel instead).
|
|
37
|
+
*/
|
|
38
|
+
export declare function useMultiChartPanelFocus({ activeTab, activeChartId, }: MultiChartPanelFocusInput): MultiChartPanelFocus;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useBottomPanelHeight — user-resizable bottom-panel height (drag splitter).
|
|
3
|
+
*
|
|
4
|
+
* Single persisted preference (localStorage) shared by the multi-chart
|
|
5
|
+
* BottomPanelHost and the single-chart forkBottomPanel. JS clamp [180, 900];
|
|
6
|
+
* the visual 60% cap stays in CSS (maxHeight). Default reuses
|
|
7
|
+
* BOTTOM_PANEL_HEIGHT_PX so hook/CSS never drift.
|
|
8
|
+
*
|
|
9
|
+
* Drag perf (grid-splitter parity): the splitter writes preview height
|
|
10
|
+
* straight to the panel container DOM during the drag (no React state, no
|
|
11
|
+
* storage I/O per move) and commits ONCE on pointer-up via `resizeTo`.
|
|
12
|
+
* Hence persistence lives in the explicit commit paths below — NOT in a
|
|
13
|
+
* per-change effect (that re-rendered the whole multi grid + localStorage
|
|
14
|
+
* write on every pointermove, which is what made the drag feel sluggish).
|
|
15
|
+
*/
|
|
16
|
+
export declare const BOTTOM_PANEL_MIN_PX = 180;
|
|
17
|
+
export declare const BOTTOM_PANEL_MAX_PX = 900;
|
|
18
|
+
export declare const BOTTOM_PANEL_NUDGE_PX = 20;
|
|
19
|
+
/**
|
|
20
|
+
* Per-tab sensible heights (measured content needs): empty paper panels fit
|
|
21
|
+
* ~200px, strategy needs room for stats + ~5 table rows, pine needs editor
|
|
22
|
+
* space. Used ONLY while untouched (no persisted manual height) — user drag
|
|
23
|
+
* always wins (persisted). Null/unknown tabs fall back to global default.
|
|
24
|
+
*/
|
|
25
|
+
export declare const BOTTOM_PANEL_TAB_DEFAULTS: Record<string, number>;
|
|
26
|
+
export declare function defaultBottomPanelHeightForTab(tab: string | null | undefined): number;
|
|
27
|
+
export declare function clampBottomPanelHeight(px: number): number;
|
|
28
|
+
export interface BottomPanelHeightApi {
|
|
29
|
+
heightPx: number;
|
|
30
|
+
/** Grow when deltaUpPx > 0 (drag up / ArrowUp). Clamped + persisted. */
|
|
31
|
+
resizeBy: (deltaUpPx: number) => void;
|
|
32
|
+
/** Absolute commit (drag release). Clamped + persisted. Single render. */
|
|
33
|
+
resizeTo: (px: number) => void;
|
|
34
|
+
/** Keyboard step: dir +1 taller, -1 shorter. */
|
|
35
|
+
nudge: (dir: 1 | -1) => void;
|
|
36
|
+
/** Double-click reset to default. */
|
|
37
|
+
reset: () => void;
|
|
38
|
+
}
|
|
39
|
+
export declare function useBottomPanelHeight(defaultHeightPx?: number): BottomPanelHeightApi;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface CanvasThemeConfig {
|
|
2
|
+
mode: "dark" | "light";
|
|
3
|
+
colors: {
|
|
4
|
+
bullish: string;
|
|
5
|
+
bearish: string;
|
|
6
|
+
volume: string;
|
|
7
|
+
grid: string;
|
|
8
|
+
gridSubtle: string;
|
|
9
|
+
gridDash: string;
|
|
10
|
+
gridWidth: string;
|
|
11
|
+
crosshair: string;
|
|
12
|
+
selection: string;
|
|
13
|
+
background: string;
|
|
14
|
+
text: string;
|
|
15
|
+
textSecondary: string;
|
|
16
|
+
tooltipBg: string;
|
|
17
|
+
tooltipText: string;
|
|
18
|
+
};
|
|
19
|
+
isHighContrast: boolean;
|
|
20
|
+
presetName: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function useCanvasTheme(rootRef: {
|
|
23
|
+
current: HTMLElement | null;
|
|
24
|
+
}): CanvasThemeConfig;
|