@forgecharts/sdk 1.2.1 → 1.2.5
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/dist/Omne-YBWT34SS.png +0 -0
- package/dist/Rithmic-CDB4YQEZ.png +0 -0
- package/dist/api/DrawingManager.d.ts +1 -1
- package/dist/api/DrawingManager.d.ts.map +1 -1
- package/dist/api/IndicatorDAG.d.ts +22 -0
- package/dist/api/IndicatorDAG.d.ts.map +1 -1
- package/dist/api/IndicatorRegistry.d.ts +6 -0
- package/dist/api/IndicatorRegistry.d.ts.map +1 -1
- package/dist/api/LayoutManager.d.ts +3 -1
- package/dist/api/LayoutManager.d.ts.map +1 -1
- package/dist/api/ReferenceAPI.d.ts +5 -0
- package/dist/api/ReferenceAPI.d.ts.map +1 -1
- package/dist/api/TChart.d.ts +69 -0
- package/dist/api/TChart.d.ts.map +1 -1
- package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibChannel.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibCircles.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibRetracement.d.ts.map +1 -1
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceArcs.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibSpeedResistanceFan.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibSpiral.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibTimeZone.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/fibWedge.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannBox.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannBox.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannFan.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannFan.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannSquare.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/gannSquareFixed.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/pitchfan.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibExtension.d.ts.map +1 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts +4 -0
- package/dist/api/drawing tools/fib gann menu/trendBasedFibTime.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/anchoredText.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/anchoredText.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arc.d.ts +8 -0
- package/dist/api/drawing tools/shapes menu/arc.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arrow.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/arrow.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arrowDown.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/arrowDown.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/arrowUp.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/arrowUp.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/callout.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/callout.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/dateRange.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/dateRange.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/ellipse.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/ellipse.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/longPosition.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/longPosition.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/priceLabel.d.ts +7 -0
- package/dist/api/drawing tools/shapes menu/priceLabel.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/priceRange.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/priceRange.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/shortPosition.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/shortPosition.d.ts.map +1 -0
- package/dist/api/drawing tools/shapes menu/triangle.d.ts +4 -0
- package/dist/api/drawing tools/shapes menu/triangle.d.ts.map +1 -0
- package/dist/core/Chart.d.ts +29 -2
- package/dist/core/Chart.d.ts.map +1 -1
- package/dist/core/CoordTransform.d.ts.map +1 -1
- package/dist/core/Crosshair.d.ts +2 -0
- package/dist/core/Crosshair.d.ts.map +1 -1
- package/dist/core/IndicatorEngine.d.ts +15 -0
- package/dist/core/IndicatorEngine.d.ts.map +1 -1
- package/dist/core/InteractionManager.d.ts +55 -2
- package/dist/core/InteractionManager.d.ts.map +1 -1
- package/dist/core/PriceScale.d.ts +2 -0
- package/dist/core/PriceScale.d.ts.map +1 -1
- package/dist/core/Series.d.ts.map +1 -1
- package/dist/core/TimeScale.d.ts +52 -1
- package/dist/core/TimeScale.d.ts.map +1 -1
- package/dist/core/indicatorStyles.d.ts +37 -0
- package/dist/core/indicatorStyles.d.ts.map +1 -0
- package/dist/datafeed/DatafeedConnector.d.ts +27 -0
- package/dist/datafeed/DatafeedConnector.d.ts.map +1 -1
- package/dist/engine/CandleEngine.d.ts +2 -0
- package/dist/engine/CandleEngine.d.ts.map +1 -1
- package/dist/forgecharts.css +2029 -132
- package/dist/forgescript/ast.d.ts +71 -4
- package/dist/forgescript/ast.d.ts.map +1 -1
- package/dist/forgescript/builtins/collections.d.ts +56 -0
- package/dist/forgescript/builtins/collections.d.ts.map +1 -0
- package/dist/forgescript/builtins/drawing.d.ts +57 -0
- package/dist/forgescript/builtins/drawing.d.ts.map +1 -0
- package/dist/forgescript/builtins/udt.d.ts +30 -0
- package/dist/forgescript/builtins/udt.d.ts.map +1 -0
- package/dist/forgescript/conversion/index.d.ts +16 -9
- package/dist/forgescript/conversion/index.d.ts.map +1 -1
- package/dist/forgescript/conversion/types.d.ts +10 -54
- package/dist/forgescript/conversion/types.d.ts.map +1 -1
- package/dist/forgescript/conversion/validation.d.ts.map +1 -1
- package/dist/forgescript/datasets/DatasetStore.d.ts +65 -0
- package/dist/forgescript/datasets/DatasetStore.d.ts.map +1 -0
- package/dist/forgescript/datasets/parseDataset.d.ts +32 -0
- package/dist/forgescript/datasets/parseDataset.d.ts.map +1 -0
- package/dist/forgescript/parser.d.ts +19 -1
- package/dist/forgescript/parser.d.ts.map +1 -1
- package/dist/forgescript/runtime.d.ts +125 -104
- package/dist/forgescript/runtime.d.ts.map +1 -1
- package/dist/index.d.ts +14 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21487 -8016
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +2 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +19599 -6869
- package/dist/internal.js.map +1 -1
- package/dist/licensing/ChartRuntimeResolver.d.ts +134 -124
- package/dist/licensing/ChartRuntimeResolver.d.ts.map +1 -1
- package/dist/licensing/LicenseManager.d.ts.map +1 -1
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts +2 -0
- package/dist/licensing/__tests__/ChartRuntimeResolver.test.d.ts.map +1 -1
- package/dist/licensing/licenseTypes.d.ts +56 -15
- package/dist/licensing/licenseTypes.d.ts.map +1 -1
- package/dist/node.d.ts +57 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/pixi/PixiBenchmark.d.ts +56 -0
- package/dist/pixi/PixiBenchmark.d.ts.map +1 -0
- package/dist/pixi/PixiCandlestickRenderer.d.ts +19 -6
- package/dist/pixi/PixiCandlestickRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiChart.d.ts +108 -2
- package/dist/pixi/PixiChart.d.ts.map +1 -1
- package/dist/pixi/PixiCrosshairRenderer.d.ts +10 -0
- package/dist/pixi/PixiCrosshairRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiDrawingRenderer.d.ts +17 -5
- package/dist/pixi/PixiDrawingRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiGridRenderer.d.ts +18 -2
- package/dist/pixi/PixiGridRenderer.d.ts.map +1 -1
- package/dist/pixi/PixiHistogramRenderer.d.ts +17 -0
- package/dist/pixi/PixiHistogramRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiIndicatorRenderer.d.ts +35 -0
- package/dist/pixi/PixiIndicatorRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiLastPriceRenderer.d.ts +33 -0
- package/dist/pixi/PixiLastPriceRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiLayerManager.d.ts.map +1 -1
- package/dist/pixi/PixiLineRenderer.d.ts +19 -0
- package/dist/pixi/PixiLineRenderer.d.ts.map +1 -0
- package/dist/pixi/PixiTradingRenderer.d.ts +100 -0
- package/dist/pixi/PixiTradingRenderer.d.ts.map +1 -0
- package/dist/pixi/snap.d.ts +38 -0
- package/dist/pixi/snap.d.ts.map +1 -0
- package/dist/react/agent/AgentFAB.d.ts +21 -0
- package/dist/react/agent/AgentFAB.d.ts.map +1 -0
- package/dist/react/agent/AgentProvider.d.ts +15 -0
- package/dist/react/agent/AgentProvider.d.ts.map +1 -0
- package/dist/react/agent/AgentUIBus.d.ts +118 -0
- package/dist/react/agent/AgentUIBus.d.ts.map +1 -0
- package/dist/react/agent/AssistantPanel.d.ts +13 -0
- package/dist/react/agent/AssistantPanel.d.ts.map +1 -0
- package/dist/react/agent/CommandDispatcher.d.ts +81 -0
- package/dist/react/agent/CommandDispatcher.d.ts.map +1 -0
- package/dist/react/agent/VoiceInput.d.ts +36 -0
- package/dist/react/agent/VoiceInput.d.ts.map +1 -0
- package/dist/react/agent/contractUtils.d.ts +31 -0
- package/dist/react/agent/contractUtils.d.ts.map +1 -0
- package/dist/react/agent/index.d.ts +18 -0
- package/dist/react/agent/index.d.ts.map +1 -0
- package/dist/react/agent/useAgent.d.ts +81 -0
- package/dist/react/agent/useAgent.d.ts.map +1 -0
- package/dist/react/canvas/ChartCanvas.d.ts +55 -0
- package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
- package/dist/react/canvas/ChartContextMenu.d.ts +1 -1
- package/dist/react/canvas/ChartContextMenu.d.ts.map +1 -1
- package/dist/react/canvas/ChartSettingsDialog.d.ts +80 -2
- package/dist/react/canvas/ChartSettingsDialog.d.ts.map +1 -1
- package/dist/react/canvas/ContractSwitchDialog.d.ts +22 -0
- package/dist/react/canvas/ContractSwitchDialog.d.ts.map +1 -0
- package/dist/react/canvas/DrawingPropertiesDialog.d.ts +23 -0
- package/dist/react/canvas/DrawingPropertiesDialog.d.ts.map +1 -0
- package/dist/react/canvas/IndicatorLabel.d.ts +11 -3
- package/dist/react/canvas/IndicatorLabel.d.ts.map +1 -1
- package/dist/react/canvas/IndicatorPane.d.ts +1 -1
- package/dist/react/canvas/IndicatorPane.d.ts.map +1 -1
- package/dist/react/canvas/PointerOverlay.d.ts +6 -3
- package/dist/react/canvas/PointerOverlay.d.ts.map +1 -1
- package/dist/react/canvas/PositionPropertiesDialog.d.ts +22 -0
- package/dist/react/canvas/PositionPropertiesDialog.d.ts.map +1 -0
- package/dist/react/canvas/TableOverlay.d.ts +1 -1
- package/dist/react/canvas/TableOverlay.d.ts.map +1 -1
- package/dist/react/canvas/toolbars/LeftToolbar.d.ts +9 -2
- package/dist/react/canvas/toolbars/LeftToolbar.d.ts.map +1 -1
- package/dist/react/hooks/useBrokerEvents.d.ts +9 -0
- package/dist/react/hooks/useBrokerEvents.d.ts.map +1 -1
- package/dist/react/hooks/useChartCapabilities.d.ts.map +1 -1
- package/dist/react/hooks/usePanelDrag.d.ts +2 -0
- package/dist/react/hooks/usePanelDrag.d.ts.map +1 -0
- package/dist/react/index.d.ts +3 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +25769 -10541
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +32838 -15641
- package/dist/react/internal.js.map +1 -1
- package/dist/react/shell/DatasetImportPanel.d.ts +14 -0
- package/dist/react/shell/DatasetImportPanel.d.ts.map +1 -0
- package/dist/react/shell/DatasetManagerDrawer.d.ts +20 -0
- package/dist/react/shell/DatasetManagerDrawer.d.ts.map +1 -0
- package/dist/react/shell/DepthOfMarketPanel.d.ts +18 -0
- package/dist/react/shell/DepthOfMarketPanel.d.ts.map +1 -0
- package/dist/react/shell/DocsEditor.d.ts +17 -0
- package/dist/react/shell/DocsEditor.d.ts.map +1 -0
- package/dist/react/shell/ManagedAppShell.d.ts +27 -0
- package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
- package/dist/react/shell/OrderEntryPanel.d.ts +21 -1
- package/dist/react/shell/OrderEntryPanel.d.ts.map +1 -1
- package/dist/react/shell/ScriptDrawer.d.ts +7 -1
- package/dist/react/shell/ScriptDrawer.d.ts.map +1 -1
- package/dist/react/shell/ScriptSettings.d.ts +26 -0
- package/dist/react/shell/ScriptSettings.d.ts.map +1 -0
- package/dist/react/shell/TradeDrawer.d.ts +8 -1
- package/dist/react/shell/TradeDrawer.d.ts.map +1 -1
- package/dist/react/shell/WatchlistDrawer.d.ts +2 -1
- package/dist/react/shell/WatchlistDrawer.d.ts.map +1 -1
- package/dist/react/shell/useDepthSubscription.d.ts +12 -0
- package/dist/react/shell/useDepthSubscription.d.ts.map +1 -0
- package/dist/react/shell/useWatchlistQuotes.d.ts +6 -0
- package/dist/react/shell/useWatchlistQuotes.d.ts.map +1 -1
- package/dist/react/workspace/BottomTradingPanel.d.ts +78 -0
- package/dist/react/workspace/BottomTradingPanel.d.ts.map +1 -0
- package/dist/react/workspace/ChartWorkspace.d.ts +64 -1
- package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
- package/dist/react/workspace/FloatingPanel.d.ts +1 -1
- package/dist/react/workspace/FloatingPanel.d.ts.map +1 -1
- package/dist/react/workspace/GridChartContainer.d.ts +40 -0
- package/dist/react/workspace/GridChartContainer.d.ts.map +1 -0
- package/dist/react/workspace/GridSyncContext.d.ts +32 -0
- package/dist/react/workspace/GridSyncContext.d.ts.map +1 -0
- package/dist/react/workspace/GridTemplates.d.ts +16 -0
- package/dist/react/workspace/GridTemplates.d.ts.map +1 -0
- package/dist/react/workspace/IndicatorsDialog.d.ts +5 -1
- package/dist/react/workspace/IndicatorsDialog.d.ts.map +1 -1
- package/dist/react/workspace/LayoutMenu.d.ts +1 -1
- package/dist/react/workspace/LayoutMenu.d.ts.map +1 -1
- package/dist/react/workspace/LayoutTemplateSelector.d.ts +16 -0
- package/dist/react/workspace/LayoutTemplateSelector.d.ts.map +1 -0
- package/dist/react/workspace/SymbolSearchDialog.d.ts +1 -1
- package/dist/react/workspace/SymbolSearchDialog.d.ts.map +1 -1
- package/dist/react/workspace/TabBar.d.ts +4 -1
- package/dist/react/workspace/TabBar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/BottomToolbar.d.ts +7 -1
- package/dist/react/workspace/toolbars/BottomToolbar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/RightToolbar.d.ts +10 -1
- package/dist/react/workspace/toolbars/RightToolbar.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/TopToolbar.d.ts +36 -2
- package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
- package/dist/renderers/CandlestickRenderer.d.ts.map +1 -1
- package/dist/services/BarPrefetchCache.d.ts +39 -0
- package/dist/services/BarPrefetchCache.d.ts.map +1 -0
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/trading/UnmanagedIngestion.d.ts +39 -12
- package/dist/trading/UnmanagedIngestion.d.ts.map +1 -1
- package/dist/trading/tradingTypes.d.ts +11 -2
- package/dist/trading/tradingTypes.d.ts.map +1 -1
- package/dist/types/ChartBackend.d.ts +67 -0
- package/dist/types/ChartBackend.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/forgescript/__tests__/ai-response-parser.test.d.ts +0 -2
- package/dist/forgescript/__tests__/ai-response-parser.test.d.ts.map +0 -1
- package/dist/forgescript/__tests__/orchestrator.test.d.ts +0 -2
- package/dist/forgescript/__tests__/orchestrator.test.d.ts.map +0 -1
- package/dist/forgescript/__tests__/pine-transpiler.test.d.ts +0 -2
- package/dist/forgescript/__tests__/pine-transpiler.test.d.ts.map +0 -1
- package/dist/forgescript/conversion/ai-conversion-agent.d.ts +0 -41
- package/dist/forgescript/conversion/ai-conversion-agent.d.ts.map +0 -1
- package/dist/forgescript/conversion/conversion-orchestrator.d.ts +0 -44
- package/dist/forgescript/conversion/conversion-orchestrator.d.ts.map +0 -1
- package/dist/forgescript/conversion/prompts/index.d.ts +0 -17
- package/dist/forgescript/conversion/prompts/index.d.ts.map +0 -1
- package/dist/forgescript/pine/PineCompiler.d.ts +0 -38
- package/dist/forgescript/pine/PineCompiler.d.ts.map +0 -1
- package/dist/forgescript/pine/diagnostics.d.ts +0 -20
- package/dist/forgescript/pine/diagnostics.d.ts.map +0 -1
- package/dist/forgescript/pine/index.d.ts +0 -8
- package/dist/forgescript/pine/index.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-ast.d.ts +0 -190
- package/dist/forgescript/pine/pine-ast.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-lexer.d.ts +0 -41
- package/dist/forgescript/pine/pine-lexer.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-parser.d.ts +0 -108
- package/dist/forgescript/pine/pine-parser.d.ts.map +0 -1
- package/dist/forgescript/pine/pine-transpiler.d.ts +0 -40
- package/dist/forgescript/pine/pine-transpiler.d.ts.map +0 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GridSyncContext — cross-pane synchronisation for multi-chart layouts.
|
|
3
|
+
*
|
|
4
|
+
* A lightweight event bus that lets any chart pane broadcast state changes
|
|
5
|
+
* (symbol, interval, crosshair, scroll, date range) to sibling panes.
|
|
6
|
+
* Only broadcasts for sync options that are currently enabled.
|
|
7
|
+
*/
|
|
8
|
+
import type { GridSyncOptions } from '@forgecharts/types';
|
|
9
|
+
export type SyncEvent = {
|
|
10
|
+
/** Pane ID that originated the event. */
|
|
11
|
+
source: string;
|
|
12
|
+
type: 'symbol' | 'interval' | 'crosshair' | 'time' | 'dateRange';
|
|
13
|
+
/** Payload varies by type. */
|
|
14
|
+
value: unknown;
|
|
15
|
+
};
|
|
16
|
+
type SyncListener = (event: SyncEvent) => void;
|
|
17
|
+
export type GridSyncBus = {
|
|
18
|
+
/** Send a sync event to all listeners (except the source pane). */
|
|
19
|
+
broadcast: (event: SyncEvent) => void;
|
|
20
|
+
/** Register a listener. Returns unsubscribe function. */
|
|
21
|
+
subscribe: (paneId: string, listener: SyncListener) => () => void;
|
|
22
|
+
/** Current sync options (read-only snapshot). */
|
|
23
|
+
syncOptions: GridSyncOptions;
|
|
24
|
+
};
|
|
25
|
+
export declare function GridSyncProvider({ syncOptions, children, }: {
|
|
26
|
+
syncOptions: GridSyncOptions;
|
|
27
|
+
children: React.ReactNode;
|
|
28
|
+
}): import("react").JSX.Element;
|
|
29
|
+
/** Access the sync bus from inside a grid pane. Returns null when not in a grid. */
|
|
30
|
+
export declare function useGridSync(): GridSyncBus | null;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=GridSyncContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridSyncContext.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/GridSyncContext.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D,MAAM,MAAM,SAAS,GAAG;IACtB,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;IACjE,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;AAI/C,MAAM,MAAM,WAAW,GAAG;IACxB,mEAAmE;IACnE,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,yDAAyD;IACzD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,KAAK,MAAM,IAAI,CAAC;IAClE,iDAAiD;IACjD,WAAW,EAAE,eAAe,CAAC;CAC9B,CAAC;AAMF,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,QAAQ,GACT,EAAE;IACD,WAAW,EAAE,eAAe,CAAC;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,+BA6BA;AAID,oFAAoF;AACpF,wBAAgB,WAAW,IAAI,WAAW,GAAG,IAAI,CAEhD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GridTemplates — registry of all supported multi-chart grid layouts.
|
|
3
|
+
*
|
|
4
|
+
* Each template defines row/column counts and per-cell CSS-grid positions.
|
|
5
|
+
* Used by LayoutTemplateSelector (thumbnails) and GridChartContainer (rendering).
|
|
6
|
+
*/
|
|
7
|
+
import type { GridTemplate, GridTemplateDescriptor } from '@forgecharts/types';
|
|
8
|
+
export type { GridTemplateDescriptor };
|
|
9
|
+
export declare const GRID_TEMPLATES: readonly GridTemplateDescriptor[];
|
|
10
|
+
/** Look up a template descriptor by its key. */
|
|
11
|
+
export declare function getGridTemplate(template: GridTemplate): GridTemplateDescriptor;
|
|
12
|
+
/** Group templates by pane count for the selector UI. */
|
|
13
|
+
export declare function getGroupedTemplates(): Map<number, GridTemplateDescriptor[]>;
|
|
14
|
+
/** Default sync options: symbol + crosshair ON, rest OFF. */
|
|
15
|
+
export declare const DEFAULT_SYNC_OPTIONS: import('@forgecharts/types').GridSyncOptions;
|
|
16
|
+
//# sourceMappingURL=GridTemplates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridTemplates.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/GridTemplates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAsB,MAAM,oBAAoB,CAAC;AACnG,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAsBvC,eAAO,MAAM,cAAc,EAAE,SAAS,sBAAsB,EAyJlD,CAAC;AAEX,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,sBAAsB,CAE9E;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAS3E;AAED,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,EAAE,OAAO,oBAAoB,EAAE,eAM/D,CAAC"}
|
|
@@ -2,7 +2,11 @@ import type { IndicatorConfig } from '@forgecharts/types';
|
|
|
2
2
|
type Props = {
|
|
3
3
|
onAdd: (config: IndicatorConfig) => void;
|
|
4
4
|
onClose: () => void;
|
|
5
|
+
/** Max indicators allowed by the user's subscription package. null = unlimited. */
|
|
6
|
+
maxIndicators?: number | null | undefined;
|
|
7
|
+
/** Resolver for a Bearer token to authenticate /api/scripts requests. */
|
|
8
|
+
getAuthToken?: () => string | Promise<string>;
|
|
5
9
|
};
|
|
6
|
-
export declare function IndicatorsDialog({ onAdd, onClose }: Props): import("react
|
|
10
|
+
export declare function IndicatorsDialog({ onAdd, onClose, maxIndicators, getAuthToken }: Props): import("react").JSX.Element;
|
|
7
11
|
export {};
|
|
8
12
|
//# sourceMappingURL=IndicatorsDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndicatorsDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/IndicatorsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"IndicatorsDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/IndicatorsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAmI1D,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,KAAK,+BA8XtF"}
|
|
@@ -28,6 +28,6 @@ type Props = {
|
|
|
28
28
|
onDelete: (id: string) => Promise<void>;
|
|
29
29
|
onOpenInNewTab: (id: string) => Promise<void>;
|
|
30
30
|
};
|
|
31
|
-
export declare function LayoutMenu({ currentName, currentLayoutId, autoSave, onFetchLayouts, onSave, onLoad, onRename, onCopy, onToggleAutoSave, onDelete, onOpenInNewTab, }: Props): import("react
|
|
31
|
+
export declare function LayoutMenu({ currentName, currentLayoutId, autoSave, onFetchLayouts, onSave, onLoad, onRename, onCopy, onToggleAutoSave, onDelete, onOpenInNewTab, }: Props): import("react").JSX.Element;
|
|
32
32
|
export {};
|
|
33
33
|
//# sourceMappingURL=LayoutMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutMenu.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/LayoutMenu.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,QAAQ,EACR,cAAc,GACf,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"LayoutMenu.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/LayoutMenu.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,cAAc,EACd,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,gBAAgB,EAChB,QAAQ,EACR,cAAc,GACf,EAAE,KAAK,+BAwSP"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LayoutTemplateSelector — dropdown for choosing multi-chart grid layouts.
|
|
3
|
+
*
|
|
4
|
+
* Shows a popover grouped by pane count (1, 2, 3 … 16) with small visual
|
|
5
|
+
* grid thumbnails. At the bottom: sync toggles for Symbol, Interval,
|
|
6
|
+
* Crosshair, Time, and Date Range.
|
|
7
|
+
*/
|
|
8
|
+
import type { GridTemplate, GridSyncOptions } from '@forgecharts/types';
|
|
9
|
+
export type LayoutTemplateSelectorProps = {
|
|
10
|
+
currentTemplate: GridTemplate;
|
|
11
|
+
syncOptions: GridSyncOptions;
|
|
12
|
+
onSelectTemplate: (template: GridTemplate) => void;
|
|
13
|
+
onSyncChange: (sync: GridSyncOptions) => void;
|
|
14
|
+
};
|
|
15
|
+
export declare function LayoutTemplateSelector({ currentTemplate, syncOptions, onSelectTemplate, onSyncChange, }: LayoutTemplateSelectorProps): import("react").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=LayoutTemplateSelector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LayoutTemplateSelector.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/LayoutTemplateSelector.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKxE,MAAM,MAAM,2BAA2B,GAAG;IACxC,eAAe,EAAE,YAAY,CAAC;IAC9B,WAAW,EAAE,eAAe,CAAC;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,YAAY,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;CAC/C,CAAC;AAqHF,wBAAgB,sBAAsB,CAAC,EACrC,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,EAAE,2BAA2B,+BAoJ7B"}
|
|
@@ -5,6 +5,6 @@ type Props = {
|
|
|
5
5
|
onClose: () => void;
|
|
6
6
|
symbolResolver: ISymbolResolver;
|
|
7
7
|
};
|
|
8
|
-
export declare function SymbolSearchDialog({ current, onSelect, onClose, symbolResolver }: Props): import("react
|
|
8
|
+
export declare function SymbolSearchDialog({ current, onSelect, onClose, symbolResolver }: Props): import("react").JSX.Element;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=SymbolSearchDialog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SymbolSearchDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/SymbolSearchDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAAsB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"SymbolSearchDialog.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/SymbolSearchDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAa,eAAe,EAAsB,MAAM,oBAAoB,CAAC;AA6KzF,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,KAAK,+BAiZvF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
export type TabItem = {
|
|
2
3
|
id: string;
|
|
3
4
|
label: string;
|
|
@@ -11,7 +12,9 @@ type Props = {
|
|
|
11
12
|
onAdd: () => void;
|
|
12
13
|
onClose: (id: string) => void;
|
|
13
14
|
onRename: (id: string, label: string) => void;
|
|
15
|
+
/** Hide the "New tab" button when platform license disables multiple workspaces. */
|
|
16
|
+
showAddTab?: boolean | undefined;
|
|
14
17
|
};
|
|
15
|
-
export declare function TabBar({ tabs, activeId, onSelect, onAdd, onClose, onRename }: Props):
|
|
18
|
+
export declare function TabBar({ tabs, activeId, onSelect, onAdd, onClose, onRename, showAddTab }: Props): React.JSX.Element;
|
|
16
19
|
export {};
|
|
17
20
|
//# sourceMappingURL=TabBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/TabBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/TabBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,qBAyI/F"}
|
|
@@ -13,7 +13,13 @@ type Props = {
|
|
|
13
13
|
onSessionChange: (s: TradingSession) => void;
|
|
14
14
|
onToggleScriptDrawer: () => void;
|
|
15
15
|
scriptDrawerOpen: boolean;
|
|
16
|
+
/** Hide the Script button when platform license disables ForgeScript. */
|
|
17
|
+
showScriptButton?: boolean;
|
|
18
|
+
tradingPanelOpen?: boolean;
|
|
19
|
+
onToggleTradingPanel?: () => void;
|
|
20
|
+
/** Show Rithmic/OMNE powered-by logos when connected to Rithmic broker or market data. */
|
|
21
|
+
rithmicConnected?: boolean;
|
|
16
22
|
};
|
|
17
|
-
export declare function BottomToolbar({ symbol, timezone, onTimezoneChange, session, onSessionChange, onToggleScriptDrawer, scriptDrawerOpen }: Props): import("react
|
|
23
|
+
export declare function BottomToolbar({ symbol, timezone, onTimezoneChange, session, onSessionChange, onToggleScriptDrawer, scriptDrawerOpen, showScriptButton, tradingPanelOpen, onToggleTradingPanel, rithmicConnected }: Props): import("react").JSX.Element;
|
|
18
24
|
export {};
|
|
19
25
|
//# sourceMappingURL=BottomToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/BottomToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BottomToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/BottomToolbar.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAqH5C,CAAC;AAoCF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,CAAC;AAwBpD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED,KAAK,KAAK,GAAG;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAC7C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AA8CF,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,EAAE,KAAK,+BAuKxN"}
|
|
@@ -5,7 +5,16 @@ type Props = {
|
|
|
5
5
|
orderEntryOpen: boolean;
|
|
6
6
|
onToggleOrderEntry: () => void;
|
|
7
7
|
showOrderEntry?: boolean | undefined;
|
|
8
|
+
/** Hide watchlist button when platform license disables watchlists. */
|
|
9
|
+
showWatchlist?: boolean | undefined;
|
|
10
|
+
/** Show the AI agent button (only when agent feature is enabled). */
|
|
11
|
+
showAgent?: boolean | undefined;
|
|
12
|
+
agentOpen?: boolean | undefined;
|
|
13
|
+
onToggleAgent?: (() => void) | undefined;
|
|
14
|
+
/** DOM (Depth of Market) ladder toggle. */
|
|
15
|
+
domOpen?: boolean | undefined;
|
|
16
|
+
onToggleDOM?: (() => void) | undefined;
|
|
8
17
|
};
|
|
9
|
-
export declare function RightToolbar({ watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry }: Props): React.ReactElement;
|
|
18
|
+
export declare function RightToolbar({ watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry, showWatchlist, showAgent, agentOpen, onToggleAgent, domOpen, onToggleDOM, }: Props): React.ReactElement;
|
|
10
19
|
export {};
|
|
11
20
|
//# sourceMappingURL=RightToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RightToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/RightToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RightToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/RightToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkD1B,KAAK,KAAK,GAAG;IACX,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACzC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACxC,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAC3B,aAAa,EAAE,iBAAiB,EAChC,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAClD,aAAa,EACb,SAAS,EAAE,SAAS,EAAE,aAAa,EACnC,OAAO,EAAE,WAAW,GACrB,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAuD5B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { ChartTheme, IndicatorConfig } from '@forgecharts/types';
|
|
1
|
+
import type { ChartTheme, IndicatorConfig, GridTemplate, GridSyncOptions } from '@forgecharts/types';
|
|
2
2
|
import type { ISymbolResolver } from '@forgecharts/types';
|
|
3
3
|
export declare const DEFAULT_FAVORITES: string[];
|
|
4
|
+
export type RollRule = 'v' | 'c' | 'n';
|
|
4
5
|
type Props = {
|
|
5
6
|
symbol: string;
|
|
6
7
|
timeframe: string;
|
|
@@ -13,11 +14,17 @@ type Props = {
|
|
|
13
14
|
onRemoveCustomTimeframe: (tf: string) => void;
|
|
14
15
|
onFavoritesChange: (favs: string[]) => void;
|
|
15
16
|
onAddIndicator: (config: IndicatorConfig) => void;
|
|
17
|
+
maxIndicators?: number | null | undefined;
|
|
18
|
+
indicatorsOpen?: boolean;
|
|
19
|
+
onToggleIndicators?: () => void;
|
|
16
20
|
onToggleTheme: () => void;
|
|
17
21
|
onCopyScreenshot: () => void;
|
|
18
22
|
onDownloadScreenshot: () => void;
|
|
19
23
|
onFullscreen: () => void;
|
|
20
24
|
isFullscreen: boolean;
|
|
25
|
+
/** Continuous contract roll rule. */
|
|
26
|
+
rollRule?: RollRule | undefined;
|
|
27
|
+
onRollRuleChange?: ((r: RollRule) => void) | undefined;
|
|
21
28
|
currentLayoutName?: string | undefined;
|
|
22
29
|
currentLayoutId?: string | undefined;
|
|
23
30
|
autoSave: boolean;
|
|
@@ -36,7 +43,34 @@ type Props = {
|
|
|
36
43
|
showTradeButton?: boolean;
|
|
37
44
|
tradeDrawerOpen?: boolean;
|
|
38
45
|
onToggleTradeDrawer?: () => void;
|
|
46
|
+
/**
|
|
47
|
+
* Provider-specific timeframe groups appended after the standard groups
|
|
48
|
+
* in the timeframe dropdown. Use this to surface Rithmic tick/volume/range
|
|
49
|
+
* bar types (or any other provider-specific intervals) only when that
|
|
50
|
+
* provider is active.
|
|
51
|
+
*/
|
|
52
|
+
extraTfGroups?: {
|
|
53
|
+
label: string;
|
|
54
|
+
items: string[];
|
|
55
|
+
}[];
|
|
56
|
+
/** Resolver for a Bearer token — forwarded to IndicatorsDialog for Store/Community fetches. */
|
|
57
|
+
getAuthToken?: () => string | Promise<string>;
|
|
58
|
+
gridTemplate?: GridTemplate;
|
|
59
|
+
gridSyncOptions?: GridSyncOptions;
|
|
60
|
+
onGridTemplateChange?: (template: GridTemplate) => void;
|
|
61
|
+
onGridSyncChange?: (sync: GridSyncOptions) => void;
|
|
62
|
+
onExitGridMode?: () => void;
|
|
63
|
+
/** Hide indicators button when platform license disables indicators. */
|
|
64
|
+
showIndicators?: boolean;
|
|
65
|
+
/** Hide layout save/load when platform license disables saved layouts. */
|
|
66
|
+
showSavedLayouts?: boolean;
|
|
67
|
+
/** Hide custom timeframe input when platform license disables it. */
|
|
68
|
+
showCustomTimeframes?: boolean;
|
|
69
|
+
/** Hide screenshot/export buttons when platform license disables data export. */
|
|
70
|
+
showDataExport?: boolean;
|
|
71
|
+
/** Hide multi-chart grid layout when platform license disables it. */
|
|
72
|
+
showMultiChartLayout?: boolean;
|
|
39
73
|
};
|
|
40
|
-
export declare function TopToolbar({ symbol, timeframe, theme, customTimeframes, favorites, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoritesChange, onAddIndicator, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, currentLayoutName, currentLayoutId, autoSave, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, onFetchLayouts, symbolResolver, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, }: Props): import("react
|
|
74
|
+
export declare function TopToolbar({ symbol, timeframe, theme, customTimeframes, favorites, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoritesChange, onAddIndicator, maxIndicators, indicatorsOpen, onToggleIndicators, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, rollRule, onRollRuleChange, currentLayoutName, currentLayoutId, autoSave, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, onFetchLayouts, symbolResolver, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, extraTfGroups, getAuthToken, gridTemplate, gridSyncOptions, onGridTemplateChange, onGridSyncChange, onExitGridMode, showIndicators, showSavedLayouts, showCustomTimeframes, showDataExport, showMultiChartLayout, }: Props): import("react").JSX.Element;
|
|
41
75
|
export {};
|
|
42
76
|
//# sourceMappingURL=TopToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TopToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/TopToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TopToolbar.d.ts","sourceRoot":"","sources":["../../../../src/react/workspace/toolbars/TopToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CandlestickRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/CandlestickRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,MAAM,EAAE,WAAW;IAI/B,IAAI,CACF,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,SAAS,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,GACrB,IAAI;
|
|
1
|
+
{"version":3,"file":"CandlestickRenderer.d.ts","sourceRoot":"","sources":["../../src/renderers/CandlestickRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;gBAE1B,MAAM,EAAE,WAAW;IAI/B,IAAI,CACF,GAAG,EAAE,wBAAwB,EAC7B,IAAI,EAAE,SAAS,KAAK,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,aAAa,GACrB,IAAI;IAuGP,OAAO,CAAC,aAAa;CAatB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BarPrefetchCache — SDK-side LRU store for bars pre-fetched beyond the
|
|
3
|
+
* current viewport.
|
|
4
|
+
*
|
|
5
|
+
* DatafeedConnector fires a background `getHistoricalBars` call for the page
|
|
6
|
+
* immediately to the left of the initial viewport after every `connect()`.
|
|
7
|
+
* The result is stored here. When the user pans left and `loadMoreHistory`
|
|
8
|
+
* fires, it checks this cache first; on a hit the bars are returned
|
|
9
|
+
* synchronously (no REST round-trip).
|
|
10
|
+
*
|
|
11
|
+
* Cache semantics:
|
|
12
|
+
* - Keyed by `${symbol}:${timeframe}`.
|
|
13
|
+
* - Bars are stored as a sorted (ascending time) array.
|
|
14
|
+
* - New bars are merged with any already-stored bars for the same key
|
|
15
|
+
* (deduplication by `bar.time`).
|
|
16
|
+
* - Entries expire after TTL_MS (60 s); stale entries are evicted lazily.
|
|
17
|
+
* - Maximum ENTRY_CAP entries; oldest-accessed entry is evicted on overflow.
|
|
18
|
+
*/
|
|
19
|
+
import type { OHLCV } from '@forgecharts/types';
|
|
20
|
+
export declare class BarPrefetchCache {
|
|
21
|
+
private readonly _store;
|
|
22
|
+
private _key;
|
|
23
|
+
/**
|
|
24
|
+
* Merge bars into the cache for the given symbol+timeframe.
|
|
25
|
+
* Existing bars with the same `time` value are overwritten.
|
|
26
|
+
*/
|
|
27
|
+
store(symbol: string, timeframe: string, bars: OHLCV[]): void;
|
|
28
|
+
/**
|
|
29
|
+
* Retrieve cached bars that overlap the requested [from, to] range.
|
|
30
|
+
* Returns null on a cache miss (entry absent or expired).
|
|
31
|
+
* Returns the filtered subset on a hit — may be an empty array for a range
|
|
32
|
+
* that falls entirely in a market-closed window.
|
|
33
|
+
*/
|
|
34
|
+
get(symbol: string, timeframe: string, from: number, to: number): OHLCV[] | null;
|
|
35
|
+
/** Remove the entry for a symbol/timeframe (e.g. on reconnect). */
|
|
36
|
+
invalidate(symbol: string, timeframe: string): void;
|
|
37
|
+
private _evictIfNeeded;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=BarPrefetchCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BarPrefetchCache.d.ts","sourceRoot":"","sources":["../../src/services/BarPrefetchCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAWhD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,OAAO,CAAC,IAAI;IAIZ;;;OAGG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI;IAqB7D;;;;;OAKG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,IAAI;IAehF,mEAAmE;IACnE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAInD,OAAO,CAAC,cAAc;CAUvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../src/theme/colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,WAAW,EAAE,WAUzB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAU1B,CAAC"}
|
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* **Stable public API — semver-guaranteed from 1.1.0.**
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* `UnmanagedIngestion` is the low-level entry point for **unmanaged embedding**:
|
|
5
|
+
* a mode where the host application owns the data pipeline entirely and pushes
|
|
6
|
+
* normalised OHLCV candles directly to the chart engine rather than using
|
|
7
|
+
* ForgeCharts' built-in runtime service.
|
|
5
8
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* notifies callers via callbacks mirroring the CandleEngine contract.
|
|
9
|
+
* Use this class when you have your own WebSocket feed, broker SDK, or any
|
|
10
|
+
* other data source and want ForgeCharts to handle only the rendering and
|
|
11
|
+
* indicator layers.
|
|
10
12
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
+
* ### Typical lifecycle
|
|
14
|
+
* ```
|
|
15
|
+
* 1. new UnmanagedIngestion(timeframe, opts)
|
|
16
|
+
* 2. setHistory(historicalBars) ← load snapshot on symbol/TF change
|
|
17
|
+
* 3. pushCandle(bar) ← called repeatedly from your live feed
|
|
18
|
+
* 4. reset() / setTimeframe() ← when the user switches symbol or interval
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* ### Candle merging rules
|
|
22
|
+
* The underlying `CandleEngine` merges ticks by bucket time:
|
|
23
|
+
* - **same bucket** — updates open/high/low/close/volume of the current bar
|
|
24
|
+
* - **new bucket** — finalises the previous bar and opens a new one
|
|
25
|
+
* - **older bucket** — silently ignored (logged when `debug: true`)
|
|
13
26
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
27
|
+
* `time` may be supplied in either Unix seconds or milliseconds — the engine
|
|
28
|
+
* auto-detects based on magnitude.
|
|
29
|
+
*
|
|
30
|
+
* ### Backwards-compatibility guarantees
|
|
31
|
+
* Constructor signature, all public methods, and `UnmanagedIngestionOptions`
|
|
32
|
+
* are frozen until the next major version. New **optional** callbacks may be
|
|
33
|
+
* added to `UnmanagedIngestionOptions` in minor releases.
|
|
18
34
|
*
|
|
19
35
|
* @example
|
|
20
36
|
* ```ts
|
|
@@ -29,10 +45,21 @@
|
|
|
29
45
|
* // Then stream live ticks
|
|
30
46
|
* ingestion.pushCandle(latestBar);
|
|
31
47
|
* ```
|
|
48
|
+
*
|
|
49
|
+
* @public
|
|
50
|
+
* @since 1.1.0
|
|
32
51
|
*/
|
|
33
52
|
import type { CandleBar, UpdateResult, GapInfo } from '../engine/CandleEngine';
|
|
34
53
|
import type { CandleInput } from './tradingTypes';
|
|
35
54
|
import type { Timeframe } from '@forgecharts/types';
|
|
55
|
+
/**
|
|
56
|
+
* Callbacks and options for {@link UnmanagedIngestion}.
|
|
57
|
+
*
|
|
58
|
+
* All callbacks are optional — omit any you don't need.
|
|
59
|
+
*
|
|
60
|
+
* @public
|
|
61
|
+
* @since 1.1.0
|
|
62
|
+
*/
|
|
36
63
|
export interface UnmanagedIngestionOptions {
|
|
37
64
|
/** Enable debug logging on the underlying CandleEngine. */
|
|
38
65
|
debug?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnmanagedIngestion.d.ts","sourceRoot":"","sources":["../../src/trading/UnmanagedIngestion.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"UnmanagedIngestion.d.ts","sourceRoot":"","sources":["../../src/trading/UnmanagedIngestion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAE/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;IAEhD,yCAAyC;IACzC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IAEvC,wEAAwE;IACxE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;IAClD,OAAO,CAAC,UAAU,CAAY;gBAElB,SAAS,EAAE,SAAS,EAAE,IAAI,GAAE,yBAA8B;IAgBtE,OAAO,CAAC,gBAAgB;IAWxB;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI;IAYrC;;;;;;;;;OASG;IACH,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY;IAO1C,gEAAgE;IAChE,OAAO,IAAI,SAAS,SAAS,EAAE;IAI/B,qEAAqE;IACrE,YAAY,IAAI,SAAS,GAAG,IAAI;IAKhC,4DAA4D;IAC5D,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMxC,+EAA+E;IAC/E,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -5,8 +5,17 @@
|
|
|
5
5
|
* and future managed trading service all operate on.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
* Normalised candle data accepted by
|
|
9
|
-
*
|
|
8
|
+
* Normalised candle data accepted by {@link UnmanagedIngestion.pushCandle}
|
|
9
|
+
* and {@link UnmanagedIngestion.setHistory}.
|
|
10
|
+
*
|
|
11
|
+
* `time` may be supplied as Unix **seconds** or **milliseconds** — the engine
|
|
12
|
+
* auto-detects based on magnitude (values > 1e10 are treated as ms).
|
|
13
|
+
*
|
|
14
|
+
* `volume` and `isClosed` are optional; omit them if your feed doesn't
|
|
15
|
+
* provide them and the engine will fill sensible defaults.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
18
|
+
* @since 1.1.0
|
|
10
19
|
*/
|
|
11
20
|
export interface CandleInput {
|
|
12
21
|
time: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tradingTypes.d.ts","sourceRoot":"","sources":["../../src/trading/tradingTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH
|
|
1
|
+
{"version":3,"file":"tradingTypes.d.ts","sourceRoot":"","sources":["../../src/trading/tradingTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAK,MAAM,CAAC;IAChB,IAAI,EAAK,MAAM,CAAC;IAChB,IAAI,EAAK,MAAM,CAAC;IAChB,GAAG,EAAM,MAAM,CAAC;IAChB,KAAK,EAAI,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,kDAAkD;AAClD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3F,kBAAkB;AAClB,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,qCAAqC;AACrC,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,MAAM,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IAEX,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAC;IAEhB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,WAAW,CAAC;IAEpB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IAEd,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;IAEvB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IAEnB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAC;IAEZ,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAID,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IAEX,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,IAAI,EAAE,QAAQ,CAAC;IAEf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Drawing, DrawingType, Timeframe, Viewport, IndicatorInstance, PaneDescriptor, OHLCV, ContractSwitch } from '@forgecharts/types';
|
|
2
|
+
import type { IChart } from './IChart';
|
|
3
|
+
import type { DrawingManager } from '../api/DrawingManager';
|
|
4
|
+
import type { ChartOrder, ChartPosition } from '../trading/tradingTypes';
|
|
5
|
+
import type { DAGResult } from '../api/IndicatorDAG';
|
|
6
|
+
/**
|
|
7
|
+
* ChartBackend — the full contract that TChart expects from a chart engine.
|
|
8
|
+
*
|
|
9
|
+
* Extends `IChart` (the minimal series + plugin surface) with all the
|
|
10
|
+
* extra methods TChart calls: drawing tools, trading overlay, viewport
|
|
11
|
+
* management, crosshair control, etc.
|
|
12
|
+
*
|
|
13
|
+
* Both the Canvas 2D `Chart` and the PixiJS `PixiChart` must implement
|
|
14
|
+
* this interface so TChart can switch backends at construction time via
|
|
15
|
+
* the `renderBackend` config flag.
|
|
16
|
+
*/
|
|
17
|
+
export interface ChartBackend extends IChart {
|
|
18
|
+
scrollToEnd(): void;
|
|
19
|
+
fitDefaultView(): void;
|
|
20
|
+
resetPriceScale(): void;
|
|
21
|
+
getViewport(): Viewport;
|
|
22
|
+
restoreViewport(v: Viewport): void;
|
|
23
|
+
setInterval(tf: Timeframe): void;
|
|
24
|
+
drawingManager(): DrawingManager;
|
|
25
|
+
startDrawingTool(type: DrawingType): void;
|
|
26
|
+
cancelDrawingTool(): void;
|
|
27
|
+
deleteSelectedDrawing(): void;
|
|
28
|
+
setAllDrawingsVisible(v: boolean): void;
|
|
29
|
+
setDrawings(drawings: readonly Drawing[]): void;
|
|
30
|
+
markDirty(): void;
|
|
31
|
+
setDataBoundaryTime(time: number | null): void;
|
|
32
|
+
setCrosshairEnabled(enabled: boolean): void;
|
|
33
|
+
setNativeCursorHidden(hidden: boolean): void;
|
|
34
|
+
setMagnetMode(mode: import('@forgecharts/types').MagnetMode): void;
|
|
35
|
+
snapXToBar(x: number): {
|
|
36
|
+
x: number;
|
|
37
|
+
time: number;
|
|
38
|
+
closeY?: number;
|
|
39
|
+
};
|
|
40
|
+
setIndicatorsVisible(v: boolean): void;
|
|
41
|
+
setIndicatorLines(lines: readonly {
|
|
42
|
+
id: string;
|
|
43
|
+
points: readonly {
|
|
44
|
+
time: number;
|
|
45
|
+
value: number;
|
|
46
|
+
}[];
|
|
47
|
+
}[]): void;
|
|
48
|
+
setTradingOrders(orders: ChartOrder[]): void;
|
|
49
|
+
setTradingPositions(positions: ChartPosition[]): void;
|
|
50
|
+
setContractSwitches(switches: ContractSwitch[]): void;
|
|
51
|
+
setPaneLayout(panes: readonly PaneDescriptor[], priceFraction: number): void;
|
|
52
|
+
setIndicatorResults(results: ReadonlyMap<string, DAGResult>, indicators: readonly IndicatorInstance[], bars: readonly OHLCV[]): void;
|
|
53
|
+
onViewportChanged: (() => void) | undefined;
|
|
54
|
+
onDrawingCommitted: ((drawing: Drawing) => void) | undefined;
|
|
55
|
+
/** Fired when an EXISTING drawing is modified via drag (handle or body move). */
|
|
56
|
+
onDrawingEdited: ((drawing: Drawing) => void) | undefined;
|
|
57
|
+
onDrawingDeleted: ((id: string) => void) | undefined;
|
|
58
|
+
/** Ctrl+Z / Ctrl+Y requests (drawing history lives in TChart). */
|
|
59
|
+
onUndoRequest: (() => void) | undefined;
|
|
60
|
+
onRedoRequest: (() => void) | undefined;
|
|
61
|
+
onDrawingContextMenu: ((id: string, x: number, y: number) => void) | undefined;
|
|
62
|
+
onDrawingDoubleClick: ((id: string, x: number, y: number) => void) | undefined;
|
|
63
|
+
onPositionClick: ((positionId: string) => void) | undefined;
|
|
64
|
+
onOrderDragEnd: ((orderId: string, newPrice: number) => void) | undefined;
|
|
65
|
+
onTpSlCreate: ((entryOrderId: string, kind: 'tp' | 'sl', price: number) => void) | undefined;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=ChartBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartBackend.d.ts","sourceRoot":"","sources":["../../src/types/ChartBackend.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgecharts/sdk",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.5",
|
|
4
4
|
"description": "ForgeCharts SDK — canvas-based charting engine, no third-party chart libraries",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"scripts": {
|
|
45
45
|
"build": "tsup --no-dts && tsc --build --force tsconfig.json",
|
|
46
46
|
"dev": "tsup --watch",
|
|
47
|
-
"typecheck": "tsc --noEmit",
|
|
47
|
+
"typecheck": "tsc --noEmit --emitDeclarationOnly false",
|
|
48
48
|
"lint": "eslint src --ext .ts",
|
|
49
49
|
"test": "vitest run",
|
|
50
50
|
"test:watch": "vitest",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ai-response-parser.test.d.ts","sourceRoot":"","sources":["../../../src/forgescript/__tests__/ai-response-parser.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.test.d.ts","sourceRoot":"","sources":["../../../src/forgescript/__tests__/orchestrator.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pine-transpiler.test.d.ts","sourceRoot":"","sources":["../../../src/forgescript/__tests__/pine-transpiler.test.ts"],"names":[],"mappings":""}
|