@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,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DatasetImportPanel — UI for importing external datasets into ForgeScript.
|
|
3
|
+
*
|
|
4
|
+
* Renders as a collapsible panel inside the ScriptDrawer. Users can:
|
|
5
|
+
* 1. Upload a CSV or JSON file (or paste raw text).
|
|
6
|
+
* 2. Give the dataset a name.
|
|
7
|
+
* 3. Preview the parsed columns and row count.
|
|
8
|
+
* 4. Register it into the DatasetStore so `request.data("name", "column")`
|
|
9
|
+
* works in their indicator script.
|
|
10
|
+
* 5. See and remove all currently registered datasets.
|
|
11
|
+
*/
|
|
12
|
+
import React from 'react';
|
|
13
|
+
export declare function DatasetImportPanel(): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=DatasetImportPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatasetImportPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DatasetImportPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAc7D,wBAAgB,kBAAkB,sBA6NjC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DatasetManagerDrawer — full dataset management UI for the Script Editor.
|
|
3
|
+
*
|
|
4
|
+
* Four internal views:
|
|
5
|
+
* list — all datasets attached to the current script
|
|
6
|
+
* design — create / edit a dataset schema (step 1 for new datasets)
|
|
7
|
+
* import — upload data into an existing dataset (step 2 for new, also for re-upload)
|
|
8
|
+
* usage — auto-generated ForgeScript usage snippets
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
type Props = {
|
|
12
|
+
scriptId: string | null;
|
|
13
|
+
isOwner: boolean;
|
|
14
|
+
apiBase: string;
|
|
15
|
+
authToken?: string;
|
|
16
|
+
getAuthToken?: () => string | Promise<string>;
|
|
17
|
+
};
|
|
18
|
+
export declare function DatasetManagerDrawer({ scriptId, isOwner, apiBase, authToken: staticToken, getAuthToken }: Props): React.JSX.Element;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=DatasetManagerDrawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatasetManagerDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DatasetManagerDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAmCxE,KAAK,KAAK,GAAG;IACX,QAAQ,EAAO,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,OAAO,CAAC;IACvB,OAAO,EAAQ,MAAM,CAAC;IACtB,SAAS,CAAC,EAAK,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,qBA+I/G"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DepthOfMarketPanel — L2 price ladder (DOM) showing bid/ask quantities
|
|
3
|
+
* at each price level. Subscribes to mbp-10 depth updates via the runtime WS.
|
|
4
|
+
*
|
|
5
|
+
* Layout:
|
|
6
|
+
* [bid size bar] [bid qty] [price] [ask qty] [ask size bar]
|
|
7
|
+
* Rows above mid-price are asks (red), below are bids (green).
|
|
8
|
+
* The spread row is highlighted. Auto-scrolls to keep mid-price visible.
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
interface Props {
|
|
12
|
+
symbol: string;
|
|
13
|
+
onClose: () => void;
|
|
14
|
+
tickSize?: number;
|
|
15
|
+
}
|
|
16
|
+
export declare function DepthOfMarketPanel({ symbol, onClose, tickSize }: Props): React.ReactElement;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=DepthOfMarketPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DepthOfMarketPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DepthOfMarketPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAcD,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAe,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA6KlG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DocsEditor — split-pane Markdown documentation editor for indicator authors.
|
|
3
|
+
*
|
|
4
|
+
* - Owner view: editable left pane + live rendered preview on the right
|
|
5
|
+
* - Viewer view: rendered preview only (read-only)
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
type Props = {
|
|
9
|
+
scriptId: string | null;
|
|
10
|
+
isOwner: boolean;
|
|
11
|
+
apiBase: string;
|
|
12
|
+
authToken?: string;
|
|
13
|
+
getAuthToken?: () => string | Promise<string>;
|
|
14
|
+
};
|
|
15
|
+
export declare function DocsEditor({ scriptId, isOwner, apiBase, authToken: staticToken, getAuthToken }: Props): React.JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=DocsEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocsEditor.d.ts","sourceRoot":"","sources":["../../../src/react/shell/DocsEditor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,KAAK,KAAK,GAAG;IACX,QAAQ,EAAO,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,OAAO,CAAC;IACvB,OAAO,EAAQ,MAAM,CAAC;IACtB,SAAS,CAAC,EAAK,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AA+BF,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,KAAK,qBAmIrG"}
|
|
@@ -111,6 +111,33 @@ export type ManagedAppShellProps = {
|
|
|
111
111
|
* If omitted, custom timeframes are stored only in workspace preferences.
|
|
112
112
|
*/
|
|
113
113
|
timeframesApi?: TimeframesAPI;
|
|
114
|
+
/**
|
|
115
|
+
* Provider-specific timeframe groups appended after the standard groups
|
|
116
|
+
* in the timeframe dropdown. Pass Rithmic tick/volume/range groups here
|
|
117
|
+
* when Rithmic is the active data provider:
|
|
118
|
+
* ```ts
|
|
119
|
+
* extraTfGroups={[
|
|
120
|
+
* { label: 'Seconds', items: ['1s', '5s', '10s', '30s'] },
|
|
121
|
+
* { label: 'Tick', items: ['100t', '250t', '500t', '1000t'] },
|
|
122
|
+
* { label: 'Volume', items: ['500v', '1000v', '5000v'] },
|
|
123
|
+
* { label: 'Range', items: ['1r', '2r', '4r'] },
|
|
124
|
+
* ]}
|
|
125
|
+
* ```
|
|
126
|
+
*/
|
|
127
|
+
extraTfGroups?: {
|
|
128
|
+
label: string;
|
|
129
|
+
items: string[];
|
|
130
|
+
}[];
|
|
131
|
+
/**
|
|
132
|
+
* Called when the active market-data provider changes due to a broker session
|
|
133
|
+
* connecting or disconnecting. Receives the provider code (e.g. `'rithmic'`,
|
|
134
|
+
* `'databento'`) when a session activates, or `null` when the session ends and
|
|
135
|
+
* the runtime reverts to its default provider.
|
|
136
|
+
*
|
|
137
|
+
* Use this to conditionally set `extraTfGroups` — e.g. pass Rithmic
|
|
138
|
+
* tick/volume/range groups only when `code === 'rithmic'`.
|
|
139
|
+
*/
|
|
140
|
+
onDataProviderChange?: (code: string | null) => void;
|
|
114
141
|
};
|
|
115
142
|
export type ManagedAppShellHandle = {
|
|
116
143
|
getActiveChartHandle: () => ChartCanvasHandle | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedAppShell.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ManagedAppShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"ManagedAppShell.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ManagedAppShell.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OrderEntryPanel — broker-agnostic order entry form.
|
|
3
|
+
*
|
|
4
|
+
* Displayed as a fixed-width right-side panel inside the chart workspace when
|
|
5
|
+
* the user has an active broker session. All types are canonical
|
|
6
|
+
* (broker-core); no broker-specific code lives here.
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - All 5 order types: Market, Limit, Stop Market, Stop Limit, Trailing Stop
|
|
10
|
+
* - Bracket (OCO) toggle with a sliding drawer for TP/SL tick settings
|
|
11
|
+
* - Per-order-type contextual hint text
|
|
12
|
+
* - Trailing stop as integer ticks with a slider
|
|
13
|
+
* - Tick-size awareness for bracket "N ticks = X.XX points" readout
|
|
14
|
+
*/
|
|
15
|
+
import React from 'react';
|
|
1
16
|
import type { ISymbolResolver } from '@forgecharts/types';
|
|
2
17
|
type OrderSide = 'buy' | 'sell';
|
|
3
18
|
type OrderType = 'market' | 'limit' | 'stop_market' | 'stop_limit' | 'trailing_stop';
|
|
@@ -37,6 +52,9 @@ export type OrderEntryPanelProps = {
|
|
|
37
52
|
onReverse?: (opts: {
|
|
38
53
|
symbol: string;
|
|
39
54
|
accountId: string;
|
|
55
|
+
bracketOn?: boolean;
|
|
56
|
+
tpTicks?: number;
|
|
57
|
+
slTicks?: number;
|
|
40
58
|
}) => void | Promise<void>;
|
|
41
59
|
onFlattenAll?: (opts: {
|
|
42
60
|
accountId: string;
|
|
@@ -65,6 +83,8 @@ export type OrderEntryPanelProps = {
|
|
|
65
83
|
takeProfitTicks: number;
|
|
66
84
|
stopLossTicks: number;
|
|
67
85
|
}) => Promise<void>;
|
|
86
|
+
onToggleTradingPanel?: () => void;
|
|
87
|
+
tradingPanelOpen?: boolean;
|
|
68
88
|
onDisconnect?: () => void; /** Called when the user clicks "Connect" after a previous disconnect. */
|
|
69
89
|
onConnect?: () => void;
|
|
70
90
|
/** When true the panel shows a disconnected state with a Connect button. */
|
|
@@ -91,6 +111,6 @@ export type OrderPreset = {
|
|
|
91
111
|
tpTicks?: string;
|
|
92
112
|
slTicks?: string;
|
|
93
113
|
};
|
|
94
|
-
export declare function OrderEntryPanel({ sessionId, brokerSlug, accounts, selectedAccountId, defaultSymbol, apiUrl, getAuthToken, connecting, connectionError, onRetryConnect, onChangeAccount, onClose, presets, onSavePreset, onLoadPreset, onClosePosition, onCancelOrders, onReverse, onFlattenAll, onPlaceOrder, onPlaceBracketOrder, onDisconnect, onConnect, disconnected, symbolResolver, onSymbolChange, }: OrderEntryPanelProps):
|
|
114
|
+
export declare function OrderEntryPanel({ sessionId, brokerSlug, accounts, selectedAccountId, defaultSymbol, apiUrl, getAuthToken, connecting, connectionError, onRetryConnect, onChangeAccount, onClose, presets, onSavePreset, onLoadPreset, onClosePosition, onCancelOrders, onReverse, onFlattenAll, onPlaceOrder, onPlaceBracketOrder, onDisconnect, onConnect, disconnected, symbolResolver, onSymbolChange, }: OrderEntryPanelProps): React.JSX.Element;
|
|
95
115
|
export {};
|
|
96
116
|
//# sourceMappingURL=OrderEntryPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderEntryPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/OrderEntryPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OrderEntryPanel.d.ts","sourceRoot":"","sources":["../../../src/react/shell/OrderEntryPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScriptDrawer — slide-in panel for ForgeScript / Script Converter indicator authoring.
|
|
3
|
+
* Moved from apps/frontend/src/components/ScriptDrawer.tsx into the SDK so
|
|
4
|
+
* all chart-related GUI lives in packages/sdk/src/react/.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
1
7
|
import type { IndicatorConfig } from '@forgecharts/types';
|
|
2
8
|
export type ScriptDrawerProps = {
|
|
3
9
|
onClose: () => void;
|
|
@@ -7,5 +13,5 @@ export type ScriptDrawerProps = {
|
|
|
7
13
|
/** Async callback to obtain a Bearer token for authenticated API calls. */
|
|
8
14
|
getAuthToken?: () => string | Promise<string>;
|
|
9
15
|
};
|
|
10
|
-
export declare function ScriptDrawer({ onClose, onAddIndicator, apiUrl, getAuthToken }: ScriptDrawerProps):
|
|
16
|
+
export declare function ScriptDrawer({ onClose, onAddIndicator, apiUrl, getAuthToken }: ScriptDrawerProps): React.JSX.Element;
|
|
11
17
|
//# sourceMappingURL=ScriptDrawer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ScriptDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScriptDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ScriptDrawer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoL1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAClD,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/C,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,iBAAiB,qBAglBhG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ScriptSettings — visibility, pricing, and script name settings panel.
|
|
3
|
+
*
|
|
4
|
+
* Mounted in the Settings tab of the ScriptDrawer.
|
|
5
|
+
*/
|
|
6
|
+
import React from 'react';
|
|
7
|
+
type Visibility = 'private' | 'public' | 'for_sale';
|
|
8
|
+
type ScriptMeta = {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
visibility: Visibility;
|
|
12
|
+
sale_price: string | null;
|
|
13
|
+
sale_currency: string;
|
|
14
|
+
preview_pct: number;
|
|
15
|
+
};
|
|
16
|
+
type Props = {
|
|
17
|
+
scriptId: string | null;
|
|
18
|
+
isOwner: boolean;
|
|
19
|
+
apiBase: string;
|
|
20
|
+
authToken?: string;
|
|
21
|
+
getAuthToken?: () => string | Promise<string>;
|
|
22
|
+
onUpdated?: (meta: ScriptMeta) => void;
|
|
23
|
+
};
|
|
24
|
+
export declare function ScriptSettings({ scriptId, isOwner, apiBase, authToken: staticToken, getAuthToken, onUpdated }: Props): React.JSX.Element;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=ScriptSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScriptSettings.d.ts","sourceRoot":"","sources":["../../../src/react/shell/ScriptSettings.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,KAAK,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEpD,KAAK,UAAU,GAAG;IAChB,EAAE,EAAa,MAAM,CAAC;IACtB,IAAI,EAAW,MAAM,CAAC;IACtB,UAAU,EAAK,UAAU,CAAC;IAC1B,UAAU,EAAK,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAI,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,QAAQ,EAAO,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAQ,OAAO,CAAC;IACvB,OAAO,EAAQ,MAAM,CAAC;IACtB,SAAS,CAAC,EAAK,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,EAAK,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CAC3C,CAAC;AAoBF,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,qBAiMpH"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TradeDrawer — slide-in broker connection panel.
|
|
3
|
+
* Renders as a right-side overlay drawer covering ~50% of the chart area.
|
|
4
|
+
* Selecting "Connect" on an available broker slides a second drawer over
|
|
5
|
+
* the first with the broker-specific credential form.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
1
8
|
export type TradeDrawerProps = {
|
|
2
9
|
onClose: () => void;
|
|
3
10
|
/** Saved broker connections loaded from the DB — used to pre-fill the connected state. */
|
|
@@ -25,5 +32,5 @@ export type SavedConnection = {
|
|
|
25
32
|
expiresAt?: string | null;
|
|
26
33
|
isExpired?: boolean;
|
|
27
34
|
};
|
|
28
|
-
export declare function TradeDrawer({ onClose, savedConnections, onBrokerConnected, onDisconnect, getAuthToken, activeConnectionId }: TradeDrawerProps):
|
|
35
|
+
export declare function TradeDrawer({ onClose, savedConnections, onBrokerConnected, onDisconnect, getAuthToken, activeConnectionId }: TradeDrawerProps): React.JSX.Element;
|
|
29
36
|
//# sourceMappingURL=TradeDrawer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/TradeDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TradeDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/TradeDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,8FAA8F;IAC9F,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,yEAAyE;IACzE,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAW,MAAM,CAAC;IACpB,MAAM,EAAO,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,QAAQ,EAAK,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAI,MAAM,CAAC;IACpB,SAAS,CAAC,EAAG,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAI,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAI,OAAO,CAAC;CACvB,CAAC;AAkkBF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,gBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,qBA2ElJ"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import type { ISymbolResolver } from '@forgecharts/types';
|
|
2
3
|
export type WatchlistDrawerProps = {
|
|
3
4
|
onClose: () => void;
|
|
4
5
|
onSelectSymbol: (symbol: string) => void;
|
|
5
6
|
symbolResolver: ISymbolResolver;
|
|
6
7
|
};
|
|
7
|
-
export declare function WatchlistDrawer({ onClose, onSelectSymbol, symbolResolver }: WatchlistDrawerProps):
|
|
8
|
+
export declare function WatchlistDrawer({ onClose, onSelectSymbol, symbolResolver }: WatchlistDrawerProps): React.JSX.Element;
|
|
8
9
|
//# sourceMappingURL=WatchlistDrawer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchlistDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/WatchlistDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WatchlistDrawer.d.ts","sourceRoot":"","sources":["../../../src/react/shell/WatchlistDrawer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAc1D,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,eAAe,CAAC;CACjC,CAAC;AAyIF,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,oBAAoB,qBA+gBhG"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface DepthLevel {
|
|
2
|
+
price: number;
|
|
3
|
+
size: number;
|
|
4
|
+
}
|
|
5
|
+
export interface DepthSnapshot {
|
|
6
|
+
bids: DepthLevel[];
|
|
7
|
+
asks: DepthLevel[];
|
|
8
|
+
timestamp: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function setDepthWsAuthToken(token: string | null): void;
|
|
11
|
+
export declare function useDepthSubscription(symbol: string | null): DepthSnapshot | null;
|
|
12
|
+
//# sourceMappingURL=useDepthSubscription.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDepthSubscription.d.ts","sourceRoot":"","sources":["../../../src/react/shell/useDepthSubscription.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAC5D,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,IAAI,EAAE,UAAU,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;CAAE;AAU7F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;AAkED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAYhF"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
export type PriceDir = 'up' | 'down';
|
|
2
|
+
/**
|
|
3
|
+
* Set the JWT to include as `?token=` on the next WebSocket connection.
|
|
4
|
+
* Call this after the user logs in. If the connection is already open
|
|
5
|
+
* it will be cycled on the next reconnect.
|
|
6
|
+
*/
|
|
7
|
+
export declare function setWsAuthToken(token: string | null): void;
|
|
2
8
|
export declare function useWatchlistQuotes(symbols: string[]): {
|
|
3
9
|
prices: Map<string, number>;
|
|
4
10
|
dirs: Map<string, PriceDir>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWatchlistQuotes.d.ts","sourceRoot":"","sources":["../../../src/react/shell/useWatchlistQuotes.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"useWatchlistQuotes.d.ts","sourceRoot":"","sources":["../../../src/react/shell/useWatchlistQuotes.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;AAsBrC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAEzD;AAqHD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG;IACrD,MAAM,EAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,EAAK,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CA2DA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BottomTradingPanel — tabbed panel showing Orders, Positions, and Trade History.
|
|
3
|
+
*
|
|
4
|
+
* Sits between the chart area and BottomToolbar in ChartWorkspace.
|
|
5
|
+
* Data is fetched from the REST API (/api/broker/trading/*) and
|
|
6
|
+
* auto-refreshes on broker events via the optional `refreshTick` prop.
|
|
7
|
+
*/
|
|
8
|
+
import React from 'react';
|
|
9
|
+
export interface OrderRow {
|
|
10
|
+
id: string;
|
|
11
|
+
client_ref: string;
|
|
12
|
+
broker_order_id: string | null;
|
|
13
|
+
symbol: string;
|
|
14
|
+
side: 'buy' | 'sell';
|
|
15
|
+
order_type: string;
|
|
16
|
+
qty: number;
|
|
17
|
+
filled_qty: number;
|
|
18
|
+
avg_fill_price: number | null;
|
|
19
|
+
limit_price: number | null;
|
|
20
|
+
stop_price: number | null;
|
|
21
|
+
status: string;
|
|
22
|
+
reject_reason: string | null;
|
|
23
|
+
account_id: string | null;
|
|
24
|
+
parent_order_id: string | null;
|
|
25
|
+
created_at: string;
|
|
26
|
+
updated_at: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ExecutionRow {
|
|
29
|
+
id: string;
|
|
30
|
+
order_id: string | null;
|
|
31
|
+
broker_order_id: string | null;
|
|
32
|
+
symbol: string;
|
|
33
|
+
side: 'buy' | 'sell';
|
|
34
|
+
fill_qty: number;
|
|
35
|
+
fill_price: number;
|
|
36
|
+
commission: number | null;
|
|
37
|
+
executed_at: string;
|
|
38
|
+
}
|
|
39
|
+
export interface PositionRow {
|
|
40
|
+
id: string;
|
|
41
|
+
symbol: string;
|
|
42
|
+
side: 'long' | 'short';
|
|
43
|
+
qty: number;
|
|
44
|
+
entry_price: number;
|
|
45
|
+
exit_price: number | null;
|
|
46
|
+
realized_pnl: number | null;
|
|
47
|
+
status: 'open' | 'closed';
|
|
48
|
+
account_id: string | null;
|
|
49
|
+
opened_at: string;
|
|
50
|
+
closed_at: string | null;
|
|
51
|
+
}
|
|
52
|
+
export type BottomTradingPanelProps = {
|
|
53
|
+
apiUrl: string;
|
|
54
|
+
authToken: string;
|
|
55
|
+
/** Bump this counter to trigger a data refresh (e.g. after broker events). */
|
|
56
|
+
refreshTick?: number;
|
|
57
|
+
/** Whether panel is visible. */
|
|
58
|
+
visible: boolean;
|
|
59
|
+
onToggle: () => void;
|
|
60
|
+
/** Map of symbol → last price, used for unrealized P&L calculation. */
|
|
61
|
+
lastPrices?: Record<string, number>;
|
|
62
|
+
/** Live unrealized P&L from the broker feed (position.updated), keyed by symbol. Takes priority over the lastPrices-derived calculation. */
|
|
63
|
+
liveUnrealizedPnl?: Record<string, number>;
|
|
64
|
+
/** Close an open position for a symbol. */
|
|
65
|
+
onClosePosition?: (args: {
|
|
66
|
+
symbol: string;
|
|
67
|
+
accountId: string;
|
|
68
|
+
}) => void;
|
|
69
|
+
/** Cancel all open orders for a symbol (used for bracket leg cancellation). */
|
|
70
|
+
onCancelOrders?: (args: {
|
|
71
|
+
symbol: string;
|
|
72
|
+
accountId: string;
|
|
73
|
+
}) => void;
|
|
74
|
+
/** Modify an order's price (e.g. adjust SL/TP). */
|
|
75
|
+
onModifyOrder?: (brokerOrderId: string, newPrice: number, role?: 'stop_loss' | 'take_profit', symbol?: string) => void;
|
|
76
|
+
};
|
|
77
|
+
export declare function BottomTradingPanel({ apiUrl, authToken, refreshTick, visible, onToggle, lastPrices, liveUnrealizedPnl, onClosePosition, onCancelOrders, onModifyOrder, }: BottomTradingPanelProps): React.JSX.Element | null;
|
|
78
|
+
//# sourceMappingURL=BottomTradingPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BottomTradingPanel.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/BottomTradingPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import type { TabItem } from './TabBar';
|
|
11
|
+
import type { RollRule } from './toolbars/TopToolbar';
|
|
11
12
|
import type { TradingSession } from './toolbars/BottomToolbar';
|
|
12
13
|
import type { LayoutRecord } from './LayoutMenu';
|
|
13
14
|
import type { ChartTheme, IndicatorConfig, ISymbolResolver } from '@forgecharts/types';
|
|
@@ -34,6 +35,10 @@ export type ChartWorkspaceProps = {
|
|
|
34
35
|
onRemoveCustomTimeframe: (tf: string) => void;
|
|
35
36
|
onFavoriteTfsChange: (favs: string[]) => void;
|
|
36
37
|
onAddIndicator: (config: IndicatorConfig) => void;
|
|
38
|
+
/** Max indicators per chart for the current user's package. null = unlimited. */
|
|
39
|
+
maxIndicators?: number | null | undefined;
|
|
40
|
+
indicatorsOpen?: boolean;
|
|
41
|
+
onToggleIndicators?: () => void;
|
|
37
42
|
onToggleTheme: () => void;
|
|
38
43
|
onCopyScreenshot: () => void;
|
|
39
44
|
onDownloadScreenshot: () => void;
|
|
@@ -52,11 +57,42 @@ export type ChartWorkspaceProps = {
|
|
|
52
57
|
symbolResolver: ISymbolResolver;
|
|
53
58
|
onDeleteLayout: (id: string) => Promise<void>;
|
|
54
59
|
onOpenLayoutInNewTab: (id: string) => Promise<void>;
|
|
60
|
+
rollRule?: RollRule | undefined;
|
|
61
|
+
onRollRuleChange?: ((r: RollRule) => void) | undefined;
|
|
62
|
+
/** Provider-specific timeframe groups (e.g. Rithmic tick/volume/range bars). */
|
|
63
|
+
extraTfGroups?: {
|
|
64
|
+
label: string;
|
|
65
|
+
items: string[];
|
|
66
|
+
}[];
|
|
55
67
|
watchlistOpen: boolean;
|
|
56
68
|
onToggleWatchlist: () => void;
|
|
57
69
|
orderEntryOpen?: boolean;
|
|
58
70
|
onToggleOrderEntry?: () => void;
|
|
59
71
|
showOrderEntry?: boolean;
|
|
72
|
+
showAgent?: boolean;
|
|
73
|
+
agentOpen?: boolean;
|
|
74
|
+
onToggleAgent?: () => void;
|
|
75
|
+
/** DOM (Depth of Market) ladder toggle. */
|
|
76
|
+
domOpen?: boolean;
|
|
77
|
+
onToggleDOM?: () => void;
|
|
78
|
+
/** Hide drawing tools when platform license disables them. */
|
|
79
|
+
showDrawingTools?: boolean;
|
|
80
|
+
/** Hide indicators button when platform license disables them. */
|
|
81
|
+
showIndicators?: boolean;
|
|
82
|
+
/** Hide ForgeScript button when platform license disables it. */
|
|
83
|
+
showForgeScript?: boolean;
|
|
84
|
+
/** Hide watchlist button when platform license disables it. */
|
|
85
|
+
showWatchlist?: boolean;
|
|
86
|
+
/** Hide layout save/load when platform license disables it. */
|
|
87
|
+
showSavedLayouts?: boolean;
|
|
88
|
+
/** Hide custom timeframe input when platform license disables it. */
|
|
89
|
+
showCustomTimeframes?: boolean;
|
|
90
|
+
/** Hide screenshot/export when platform license disables it. */
|
|
91
|
+
showDataExport?: boolean;
|
|
92
|
+
/** Hide multi-chart grid layout when platform license disables it. */
|
|
93
|
+
showMultiChartLayout?: boolean;
|
|
94
|
+
/** Hide new-tab button when platform license disables multiple workspaces. */
|
|
95
|
+
showMultipleTabs?: boolean;
|
|
60
96
|
activeSymbol: string;
|
|
61
97
|
timezone: string;
|
|
62
98
|
onTimezoneChange: (tz: string) => void;
|
|
@@ -67,14 +103,41 @@ export type ChartWorkspaceProps = {
|
|
|
67
103
|
showTradeButton?: boolean;
|
|
68
104
|
tradeDrawerOpen?: boolean;
|
|
69
105
|
onToggleTradeDrawer?: () => void;
|
|
106
|
+
gridTemplate?: import('@forgecharts/types').GridTemplate;
|
|
107
|
+
gridSyncOptions?: import('@forgecharts/types').GridSyncOptions;
|
|
108
|
+
onGridTemplateChange?: (template: import('@forgecharts/types').GridTemplate) => void;
|
|
109
|
+
onGridSyncChange?: (sync: import('@forgecharts/types').GridSyncOptions) => void;
|
|
110
|
+
onExitGridMode?: () => void;
|
|
70
111
|
chartSlots: React.ReactNode;
|
|
71
112
|
isLicensed: boolean;
|
|
72
113
|
wsLoaded: boolean;
|
|
114
|
+
tradingPanel?: {
|
|
115
|
+
apiUrl: string;
|
|
116
|
+
authToken: string;
|
|
117
|
+
lastPrices?: Record<string, number>;
|
|
118
|
+
liveUnrealizedPnl?: Record<string, number>;
|
|
119
|
+
onClosePosition?: (args: {
|
|
120
|
+
symbol: string;
|
|
121
|
+
accountId: string;
|
|
122
|
+
}) => void;
|
|
123
|
+
onCancelOrders?: (args: {
|
|
124
|
+
symbol: string;
|
|
125
|
+
accountId: string;
|
|
126
|
+
}) => void;
|
|
127
|
+
onModifyOrder?: (brokerOrderId: string, newPrice: number, role?: 'stop_loss' | 'take_profit', symbol?: string) => void;
|
|
128
|
+
};
|
|
129
|
+
tradingPanelOpen?: boolean;
|
|
130
|
+
onToggleTradingPanel?: () => void;
|
|
131
|
+
tradingPanelRefreshTick?: number;
|
|
132
|
+
/** Show Rithmic/OMNE logos in the bottom bar when connected to Rithmic. */
|
|
133
|
+
rithmicConnected?: boolean;
|
|
73
134
|
/** Drawers that appear to the LEFT of the RightToolbar (OrderEntry, Script). */
|
|
74
135
|
leftDrawers?: React.ReactNode;
|
|
75
136
|
/** Drawers that appear to the RIGHT of the RightToolbar (Trade, Watchlist). */
|
|
76
137
|
drawers?: React.ReactNode;
|
|
138
|
+
/** Resolver for a Bearer token — forwarded to IndicatorsDialog for Store/Community fetches. */
|
|
139
|
+
getAuthToken?: () => string | Promise<string>;
|
|
77
140
|
};
|
|
78
141
|
export type { TabItem };
|
|
79
|
-
export declare function ChartWorkspace({ tabs, activeTabId, onSelectTab, onAddTab, onCloseTab, onRenameTab, symbol, timeframe, theme, customTimeframes, favoriteTfs, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoriteTfsChange, onAddIndicator, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, currentLayoutName, currentLayoutId, autoSave, onFetchLayouts, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, symbolResolver, watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry, activeSymbol, timezone, onTimezoneChange, session, onSessionChange, scriptDrawerOpen, onToggleScriptDrawer, chartSlots, isLicensed, wsLoaded, leftDrawers, drawers, }: ChartWorkspaceProps):
|
|
142
|
+
export declare function ChartWorkspace({ tabs, activeTabId, onSelectTab, onAddTab, onCloseTab, onRenameTab, symbol, timeframe, theme, customTimeframes, favoriteTfs, onSymbolChange, onTimeframeChange, onAddCustomTimeframe, onRemoveCustomTimeframe, onFavoriteTfsChange, onAddIndicator, maxIndicators, indicatorsOpen, onToggleIndicators, onToggleTheme, onCopyScreenshot, onDownloadScreenshot, onFullscreen, isFullscreen, currentLayoutName, currentLayoutId, autoSave, onFetchLayouts, onSaveLayout, onLoadLayout, onRenameLayout, onCopyLayout, onToggleAutoSave, onDeleteLayout, onOpenLayoutInNewTab, showTradeButton, tradeDrawerOpen, onToggleTradeDrawer, symbolResolver, rollRule, onRollRuleChange, extraTfGroups, watchlistOpen, onToggleWatchlist, orderEntryOpen, onToggleOrderEntry, showOrderEntry, showAgent, agentOpen, onToggleAgent, domOpen, onToggleDOM, showDrawingTools, showIndicators, showForgeScript, showWatchlist, showSavedLayouts, showCustomTimeframes, showDataExport, showMultiChartLayout, showMultipleTabs, activeSymbol, timezone, onTimezoneChange, session, onSessionChange, scriptDrawerOpen, onToggleScriptDrawer, tradingPanel, tradingPanelOpen, onToggleTradingPanel, tradingPanelRefreshTick, rithmicConnected, gridTemplate, gridSyncOptions, onGridTemplateChange, onGridSyncChange, onExitGridMode, chartSlots, isLicensed, wsLoaded, leftDrawers, drawers, getAuthToken, }: ChartWorkspaceProps): React.JSX.Element;
|
|
80
143
|
//# sourceMappingURL=ChartWorkspace.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWorkspace.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/ChartWorkspace.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ChartWorkspace.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/ChartWorkspace.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,6 @@ type Props = {
|
|
|
13
13
|
minHeight?: number;
|
|
14
14
|
children: React.ReactNode;
|
|
15
15
|
};
|
|
16
|
-
export declare function FloatingPanel({ title, onClose, defaultWidth, defaultHeight, minWidth, minHeight, children, }: Props): import("react
|
|
16
|
+
export declare function FloatingPanel({ title, onClose, defaultWidth, defaultHeight, minWidth, minHeight, children, }: Props): import("react").JSX.Element;
|
|
17
17
|
export {};
|
|
18
18
|
//# sourceMappingURL=FloatingPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingPanel.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/FloatingPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAO,MAAM,CAAC;IACvB,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,YAAmB,EACnB,aAAmB,EACnB,QAAmB,EACnB,SAAmB,EACnB,QAAQ,GACT,EAAE,KAAK
|
|
1
|
+
{"version":3,"file":"FloatingPanel.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/FloatingPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAO,MAAM,CAAC;IACvB,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,YAAmB,EACnB,aAAmB,EACnB,QAAmB,EACnB,SAAmB,EACnB,QAAQ,GACT,EAAE,KAAK,+BAoGP"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GridChartContainer — renders a CSS-grid of independent chart panes.
|
|
3
|
+
*
|
|
4
|
+
* Each pane hosts its own ChartCanvas instance with independent symbol,
|
|
5
|
+
* timeframe, indicators, and drawings. An optional sync bus (GridSyncContext)
|
|
6
|
+
* propagates symbol/interval/crosshair changes between panes when enabled.
|
|
7
|
+
*/
|
|
8
|
+
import type { GridTemplate, GridPaneState, GridSyncOptions, ChartTheme, IDatafeed, IndicatorConfig } from '@forgecharts/types';
|
|
9
|
+
import type { PointerToolType } from '../..';
|
|
10
|
+
import type { CanvasSettings } from '../canvas/ChartSettingsDialog';
|
|
11
|
+
import type { ChartCanvasHandle } from '../canvas/ChartCanvas';
|
|
12
|
+
export type GridChartContainerProps = {
|
|
13
|
+
template: GridTemplate;
|
|
14
|
+
panes: readonly GridPaneState[];
|
|
15
|
+
activePaneId: string;
|
|
16
|
+
syncOptions: GridSyncOptions;
|
|
17
|
+
/** Called when the user clicks a pane to focus it. */
|
|
18
|
+
onFocusPane: (paneId: string) => void;
|
|
19
|
+
/** Called when a pane's symbol changes (via sync or user action). */
|
|
20
|
+
onPaneSymbolChange: (paneId: string, symbol: string) => void;
|
|
21
|
+
/** Called when a pane's timeframe changes. */
|
|
22
|
+
onPaneTimeframeChange: (paneId: string, timeframe: string) => void;
|
|
23
|
+
/** Ref map for accessing ChartCanvasHandle instances. */
|
|
24
|
+
chartHandlesRef: React.MutableRefObject<Map<string, ChartCanvasHandle>>;
|
|
25
|
+
theme: ChartTheme;
|
|
26
|
+
timezone: string;
|
|
27
|
+
datafeed: IDatafeed;
|
|
28
|
+
defaultIndicators: IndicatorConfig[];
|
|
29
|
+
activeTool: PointerToolType;
|
|
30
|
+
canvasSettings: CanvasSettings;
|
|
31
|
+
defaultCanvasSettings: CanvasSettings;
|
|
32
|
+
onPointerToolChange?: (tool: PointerToolType) => void;
|
|
33
|
+
onMagnetModeChange?: (mode: import('@forgecharts/types').MagnetMode) => void;
|
|
34
|
+
magnetMode?: import('@forgecharts/types').MagnetMode;
|
|
35
|
+
getExchangeLogoUrl?: (exchange: string) => string | null | undefined;
|
|
36
|
+
getAuthToken?: () => string | Promise<string>;
|
|
37
|
+
apiUrl?: string;
|
|
38
|
+
};
|
|
39
|
+
export declare function GridChartContainer(props: GridChartContainerProps): import("react").JSX.Element;
|
|
40
|
+
//# sourceMappingURL=GridChartContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridChartContainer.d.ts","sourceRoot":"","sources":["../../../src/react/workspace/GridChartContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,eAAe,EACf,UAAU,EACV,SAAS,EACT,eAAe,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAO/D,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,eAAe,CAAC;IAC7B,sDAAsD;IACtD,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,qEAAqE;IACrE,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,8CAA8C;IAC9C,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,yDAAyD;IACzD,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAExE,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,EAAE,eAAe,EAAE,CAAC;IACrC,UAAU,EAAE,eAAe,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,qBAAqB,EAAE,cAAc,CAAC;IACtC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,oBAAoB,EAAE,UAAU,KAAK,IAAI,CAAC;IAC7E,UAAU,CAAC,EAAE,OAAO,oBAAoB,EAAE,UAAU,CAAC;IACrD,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAiJF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,+BA0DhE"}
|