@forgecharts/sdk 1.5.78 → 1.5.80
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/api/TChart.d.ts +12 -0
- package/dist/api/TChart.d.ts.map +1 -1
- package/dist/index.js +35 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.js +35 -1
- package/dist/internal.js.map +1 -1
- package/dist/licensing/packageFeatures.d.ts.map +1 -1
- package/dist/react/canvas/ChartCanvas.d.ts +4 -0
- package/dist/react/canvas/ChartCanvas.d.ts.map +1 -1
- package/dist/react/index.js +108 -1
- package/dist/react/index.js.map +1 -1
- package/dist/react/internal.js +115 -1
- package/dist/react/internal.js.map +1 -1
- package/dist/react/shell/ManagedAppShell.d.ts.map +1 -1
- package/dist/react/workspace/ChartWorkspace.d.ts +10 -1
- package/dist/react/workspace/ChartWorkspace.d.ts.map +1 -1
- package/dist/react/workspace/toolbars/TopToolbar.d.ts +4 -1
- package/dist/react/workspace/toolbars/TopToolbar.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageFeatures.d.ts","sourceRoot":"","sources":["../../src/licensing/packageFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"packageFeatures.d.ts","sourceRoot":"","sources":["../../src/licensing/packageFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwCtE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAGlD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAE1D,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAOzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,EAC/C,UAAU,EAAE,MAAM,GACjB,OAAO,CAIT"}
|
|
@@ -22,6 +22,8 @@ export type ChartCanvasHandle = {
|
|
|
22
22
|
loadLayoutSnapshot: (layout: ChartLayout) => void;
|
|
23
23
|
/** Adds an indicator to the live chart and returns its id. */
|
|
24
24
|
addIndicator: (config: IndicatorConfig) => string | null;
|
|
25
|
+
/** Switch the primary series' render style (gated by candle_types). */
|
|
26
|
+
setSeriesType: (type: import('@forgecharts/types').SeriesType) => void;
|
|
25
27
|
/** Removes an indicator from the live chart by id. */
|
|
26
28
|
removeIndicator: (id: string) => void;
|
|
27
29
|
/** Moves an indicator to the price overlay layer. */
|
|
@@ -121,6 +123,8 @@ export type ChartCanvasProps = {
|
|
|
121
123
|
* tool back without reaching for the imperative handle.
|
|
122
124
|
*/
|
|
123
125
|
initialPointerTool?: PointerToolType;
|
|
126
|
+
/** Series render style applied once after init (host-persisted preference). */
|
|
127
|
+
initialSeriesType?: import('@forgecharts/types').SeriesType;
|
|
124
128
|
/**
|
|
125
129
|
* Initial magnet snap mode. Defaults to `'snap-x'` ("Snap to bar").
|
|
126
130
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartCanvas.d.ts","sourceRoot":"","sources":["../../../src/react/canvas/ChartCanvas.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChartCanvas.d.ts","sourceRoot":"","sources":["../../../src/react/canvas/ChartCanvas.tsx"],"names":[],"mappings":"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"}
|
package/dist/react/index.js
CHANGED
|
@@ -11124,6 +11124,9 @@ var KIT_FEATURE_TO_CAPABILITY = {
|
|
|
11124
11124
|
extended_drawing_tools: "extendedDrawings",
|
|
11125
11125
|
indicators: "indicators",
|
|
11126
11126
|
multi_pane: "multiPane",
|
|
11127
|
+
// Renamed candle_types in migration 050 (it gates the series-style picker);
|
|
11128
|
+
// the legacy key stays mapped so an un-migrated catalog keeps working.
|
|
11129
|
+
candle_types: "chartTypes",
|
|
11127
11130
|
chart_types: "chartTypes",
|
|
11128
11131
|
bar_replay: "barReplay",
|
|
11129
11132
|
custom_timeframes: "customTimeframes",
|
|
@@ -11580,6 +11583,7 @@ var ChartRuntimeResolver = class _ChartRuntimeResolver {
|
|
|
11580
11583
|
}
|
|
11581
11584
|
};
|
|
11582
11585
|
var resolver = () => ChartRuntimeResolver.getInstance();
|
|
11586
|
+
var canUseChartTypes = () => resolver().canUseChartTypes();
|
|
11583
11587
|
var canUseExtendedDrawings = () => resolver().canUseExtendedDrawings();
|
|
11584
11588
|
var canUseMultiPane = () => resolver().canUseMultiPane();
|
|
11585
11589
|
var canUseDraggableOrders = () => resolver().canUseDraggableOrders();
|
|
@@ -12210,6 +12214,30 @@ var TChart = class _TChart {
|
|
|
12210
12214
|
this._series.applyOptions(options);
|
|
12211
12215
|
this._core.markDirty();
|
|
12212
12216
|
}
|
|
12217
|
+
/**
|
|
12218
|
+
* Switch the primary series' render style (candlestick, heikinashi, line,
|
|
12219
|
+
* area, histogram). The renderers have always supported every style — the
|
|
12220
|
+
* draw pass branches on the series' type option — this is the missing
|
|
12221
|
+
* public switch, gated by the candle_types package feature (capability
|
|
12222
|
+
* `chartTypes`). Ungated attempts warn and keep the current style rather
|
|
12223
|
+
* than throwing: the toolbar hides the picker when ungated, so a call
|
|
12224
|
+
* landing here is a host integration slip, not a user action.
|
|
12225
|
+
*/
|
|
12226
|
+
setSeriesType(type) {
|
|
12227
|
+
this._assertAlive();
|
|
12228
|
+
if (!canUseChartTypes()) {
|
|
12229
|
+
console.warn("[ForgeCharts] Series-style switching (candle_types) is not enabled on the active plan.");
|
|
12230
|
+
return;
|
|
12231
|
+
}
|
|
12232
|
+
this._series.applyOptions({ type });
|
|
12233
|
+
this._core.markDirty();
|
|
12234
|
+
this._bus.emit("seriesTypeChanged", { type });
|
|
12235
|
+
}
|
|
12236
|
+
/** The primary series' current render style. */
|
|
12237
|
+
getSeriesType() {
|
|
12238
|
+
this._assertAlive();
|
|
12239
|
+
return this._series.options().type;
|
|
12240
|
+
}
|
|
12213
12241
|
/** Scrolls the viewport so the latest bar is visible at the right edge. */
|
|
12214
12242
|
scrollToEnd() {
|
|
12215
12243
|
this._assertAlive();
|
|
@@ -18108,7 +18136,7 @@ var DEMONSTRATION_STROKE = "rgba(255, 200, 50, 0.7)";
|
|
|
18108
18136
|
var DEMONSTRATION_COLOR = "var(--crosshair-overlay, rgba(255,255,255,0.75))";
|
|
18109
18137
|
|
|
18110
18138
|
// src/version.ts
|
|
18111
|
-
var FORGECHARTS_VERSION = "1.5.
|
|
18139
|
+
var FORGECHARTS_VERSION = "1.5.80" ;
|
|
18112
18140
|
function applyRuntimeConfig(caps, config) {
|
|
18113
18141
|
if (!config) return caps;
|
|
18114
18142
|
const orderEntry = config.enableOrderEntry === false ? false : caps.orderEntry;
|
|
@@ -22952,6 +22980,7 @@ var ChartCanvas = forwardRef(
|
|
|
22952
22980
|
initialActiveTool,
|
|
22953
22981
|
onPointerToolChange,
|
|
22954
22982
|
initialPointerTool,
|
|
22983
|
+
initialSeriesType,
|
|
22955
22984
|
initialMagnetMode,
|
|
22956
22985
|
onMagnetModeChange,
|
|
22957
22986
|
drawingFavorites: drawingFavoritesProp,
|
|
@@ -23070,6 +23099,7 @@ var ChartCanvas = forwardRef(
|
|
|
23070
23099
|
chartRef.current?.loadLayout(layout);
|
|
23071
23100
|
},
|
|
23072
23101
|
addIndicator: (config) => chartRef.current?.addIndicator(config) ?? null,
|
|
23102
|
+
setSeriesType: (type) => chartRef.current?.setSeriesType(type),
|
|
23073
23103
|
removeIndicator: (id) => chartRef.current?.removeIndicator(id),
|
|
23074
23104
|
moveIndicatorToOverlay: (id) => chartRef.current?.moveIndicatorToOverlay(id),
|
|
23075
23105
|
moveIndicatorToPane: (id, targetPaneId) => chartRef.current?.moveIndicatorToPane(id, targetPaneId),
|
|
@@ -24089,7 +24119,12 @@ var ChartCanvas = forwardRef(
|
|
|
24089
24119
|
handleToolSelectRef.current = handleToolSelect;
|
|
24090
24120
|
selectPointerToolRef.current = handleToolSelect;
|
|
24091
24121
|
const initialPointerAppliedRef = useRef(false);
|
|
24122
|
+
const initialSeriesAppliedRef = useRef(false);
|
|
24092
24123
|
useEffect(() => {
|
|
24124
|
+
if (!initialSeriesAppliedRef.current && initialSeriesType && chartRef.current) {
|
|
24125
|
+
initialSeriesAppliedRef.current = true;
|
|
24126
|
+
chartRef.current.setSeriesType(initialSeriesType);
|
|
24127
|
+
}
|
|
24093
24128
|
if (initialPointerAppliedRef.current || !initialPointerTool) return;
|
|
24094
24129
|
initialPointerAppliedRef.current = true;
|
|
24095
24130
|
selectPointerToolRef.current(initialPointerTool);
|
|
@@ -26230,6 +26265,28 @@ function RollRuleDropdown({
|
|
|
26230
26265
|
))
|
|
26231
26266
|
] });
|
|
26232
26267
|
}
|
|
26268
|
+
var SERIES_STYLES = [
|
|
26269
|
+
{ id: "candlestick", label: "Candles", icon: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 16 16", width: "13", height: "13", fill: "currentColor", children: [
|
|
26270
|
+
/* @__PURE__ */ jsx("rect", { x: "3", y: "5", width: "3", height: "6", rx: "0.5" }),
|
|
26271
|
+
/* @__PURE__ */ jsx("line", { x1: "4.5", y1: "2", x2: "4.5", y2: "14", stroke: "currentColor", strokeWidth: "1" }),
|
|
26272
|
+
/* @__PURE__ */ jsx("rect", { x: "10", y: "3", width: "3", height: "7", rx: "0.5" }),
|
|
26273
|
+
/* @__PURE__ */ jsx("line", { x1: "11.5", y1: "1", x2: "11.5", y2: "13", stroke: "currentColor", strokeWidth: "1" })
|
|
26274
|
+
] }) },
|
|
26275
|
+
{ id: "heikinashi", label: "Heikin Ashi", icon: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 16 16", width: "13", height: "13", fill: "currentColor", children: [
|
|
26276
|
+
/* @__PURE__ */ jsx("rect", { x: "2.5", y: "6", width: "3.4", height: "6", rx: "1.6" }),
|
|
26277
|
+
/* @__PURE__ */ jsx("rect", { x: "9.5", y: "3", width: "3.4", height: "6", rx: "1.6" })
|
|
26278
|
+
] }) },
|
|
26279
|
+
{ id: "line", label: "Line", icon: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", width: "13", height: "13", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", children: /* @__PURE__ */ jsx("polyline", { points: "2,12 6,7 10,10 14,4" }) }) },
|
|
26280
|
+
{ id: "area", label: "Area", icon: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 16 16", width: "13", height: "13", children: [
|
|
26281
|
+
/* @__PURE__ */ jsx("polyline", { points: "2,12 6,7 10,10 14,4", fill: "none", stroke: "currentColor", strokeWidth: "1.4" }),
|
|
26282
|
+
/* @__PURE__ */ jsx("polygon", { points: "2,12 6,7 10,10 14,4 14,14 2,14", fill: "currentColor", opacity: "0.35" })
|
|
26283
|
+
] }) },
|
|
26284
|
+
{ id: "histogram", label: "Histogram", icon: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 16 16", width: "13", height: "13", fill: "currentColor", children: [
|
|
26285
|
+
/* @__PURE__ */ jsx("rect", { x: "2", y: "9", width: "2.6", height: "5" }),
|
|
26286
|
+
/* @__PURE__ */ jsx("rect", { x: "6.5", y: "5", width: "2.6", height: "9" }),
|
|
26287
|
+
/* @__PURE__ */ jsx("rect", { x: "11", y: "7", width: "2.6", height: "7" })
|
|
26288
|
+
] }) }
|
|
26289
|
+
];
|
|
26233
26290
|
function TopToolbar({
|
|
26234
26291
|
symbol,
|
|
26235
26292
|
timeframe,
|
|
@@ -26241,6 +26298,8 @@ function TopToolbar({
|
|
|
26241
26298
|
onAddCustomTimeframe,
|
|
26242
26299
|
onRemoveCustomTimeframe,
|
|
26243
26300
|
onFavoritesChange,
|
|
26301
|
+
seriesType,
|
|
26302
|
+
onSeriesTypeChange,
|
|
26244
26303
|
onAddIndicator,
|
|
26245
26304
|
maxIndicators,
|
|
26246
26305
|
indicatorsOpen,
|
|
@@ -26281,6 +26340,16 @@ function TopToolbar({
|
|
|
26281
26340
|
showMultiChartLayout
|
|
26282
26341
|
}) {
|
|
26283
26342
|
const [tfOpen, setTfOpen] = useState(false);
|
|
26343
|
+
const [styleOpen, setStyleOpen] = useState(false);
|
|
26344
|
+
const styleRef = useRef(null);
|
|
26345
|
+
useEffect(() => {
|
|
26346
|
+
if (!styleOpen) return;
|
|
26347
|
+
const handler = (e) => {
|
|
26348
|
+
if (styleRef.current && !styleRef.current.contains(e.target)) setStyleOpen(false);
|
|
26349
|
+
};
|
|
26350
|
+
document.addEventListener("mousedown", handler);
|
|
26351
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
26352
|
+
}, [styleOpen]);
|
|
26284
26353
|
const [symOpen, setSymOpen] = useState(false);
|
|
26285
26354
|
const [ssOpen, setSsOpen] = useState(false);
|
|
26286
26355
|
const [rollOpen, setRollOpen] = useState(false);
|
|
@@ -26416,6 +26485,39 @@ function TopToolbar({
|
|
|
26416
26485
|
}
|
|
26417
26486
|
)
|
|
26418
26487
|
] }),
|
|
26488
|
+
seriesType !== void 0 && onSeriesTypeChange !== void 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26489
|
+
/* @__PURE__ */ jsx("div", { className: "toolbar-sep" }),
|
|
26490
|
+
/* @__PURE__ */ jsxs("div", { style: { position: "relative" }, ref: styleRef, children: [
|
|
26491
|
+
/* @__PURE__ */ jsxs(
|
|
26492
|
+
"button",
|
|
26493
|
+
{
|
|
26494
|
+
className: `ind-trigger${styleOpen ? " active" : ""}`,
|
|
26495
|
+
onClick: () => setStyleOpen((o) => !o),
|
|
26496
|
+
title: "Chart style",
|
|
26497
|
+
children: [
|
|
26498
|
+
(SERIES_STYLES.find((s) => s.id === seriesType) ?? SERIES_STYLES[0]).icon,
|
|
26499
|
+
(SERIES_STYLES.find((s) => s.id === seriesType) ?? SERIES_STYLES[0]).label
|
|
26500
|
+
]
|
|
26501
|
+
}
|
|
26502
|
+
),
|
|
26503
|
+
styleOpen && /* @__PURE__ */ jsx("div", { className: "tf-dropdown", style: { minWidth: 150 }, children: SERIES_STYLES.map((style) => /* @__PURE__ */ jsx(
|
|
26504
|
+
"button",
|
|
26505
|
+
{
|
|
26506
|
+
className: "tf-dropdown-row",
|
|
26507
|
+
style: style.id === seriesType ? { fontWeight: 600 } : void 0,
|
|
26508
|
+
onClick: () => {
|
|
26509
|
+
onSeriesTypeChange(style.id);
|
|
26510
|
+
setStyleOpen(false);
|
|
26511
|
+
},
|
|
26512
|
+
children: /* @__PURE__ */ jsxs("span", { style: { display: "inline-flex", alignItems: "center", gap: 8 }, children: [
|
|
26513
|
+
style.icon,
|
|
26514
|
+
style.label
|
|
26515
|
+
] })
|
|
26516
|
+
},
|
|
26517
|
+
style.id
|
|
26518
|
+
)) })
|
|
26519
|
+
] })
|
|
26520
|
+
] }),
|
|
26419
26521
|
/* @__PURE__ */ jsx("div", { className: "toolbar-sep" }),
|
|
26420
26522
|
showIndicators !== false && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26421
26523
|
/* @__PURE__ */ jsxs(
|
|
@@ -31281,6 +31383,9 @@ function ChartWorkspace({
|
|
|
31281
31383
|
onRollRuleChange,
|
|
31282
31384
|
quotesWsUrl,
|
|
31283
31385
|
getQuotesAuthToken,
|
|
31386
|
+
seriesType,
|
|
31387
|
+
onSeriesTypeChange,
|
|
31388
|
+
showSeriesTypes,
|
|
31284
31389
|
extraTfGroups,
|
|
31285
31390
|
// RightToolbar
|
|
31286
31391
|
watchlistOpen,
|
|
@@ -31390,6 +31495,7 @@ function ChartWorkspace({
|
|
|
31390
31495
|
const effShowDataExport = gate(showDataExport, capabilities.dataExport);
|
|
31391
31496
|
const effShowMultiChartLayout = gate(showMultiChartLayout, capabilities.multiChartLayout);
|
|
31392
31497
|
const effShowMultipleTabs = gate(showMultipleTabs, capabilities.multipleWorkspaces);
|
|
31498
|
+
const effShowSeriesTypes = gate(showSeriesTypes, capabilities.chartTypes) && onSeriesTypeChange !== void 0;
|
|
31393
31499
|
const tabItems = tabs.map((t) => ({
|
|
31394
31500
|
id: t.id,
|
|
31395
31501
|
label: t.label,
|
|
@@ -31467,6 +31573,7 @@ function ChartWorkspace({
|
|
|
31467
31573
|
favorites: favoriteTfs,
|
|
31468
31574
|
onSymbolChange,
|
|
31469
31575
|
onTimeframeChange,
|
|
31576
|
+
...effShowSeriesTypes ? { seriesType: seriesType ?? "candlestick", onSeriesTypeChange } : {},
|
|
31470
31577
|
onAddCustomTimeframe,
|
|
31471
31578
|
onRemoveCustomTimeframe,
|
|
31472
31579
|
onFavoritesChange: onFavoriteTfsChange,
|