@luxalgo/vela 0.9.0 → 0.9.1
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/{DataProvider-zJGp58kb.d.cts → DataProvider-B5i0_yY4.d.cts} +1 -1
- package/dist/{DataProvider-BGlB1zSc.d.ts → DataProvider-CPFgSyAm.d.ts} +1 -1
- package/dist/{chunk-XIRSR3D6.js → chunk-3H6JO4VL.js} +48 -30
- package/dist/{chunk-4WAHYL7Y.js → chunk-BLVL7WXF.js} +33 -2
- package/dist/{chunk-YRCL3WMD.js → chunk-Q7POFYNE.js} +7 -1
- package/dist/{contributions-BjefWpxQ.d.ts → contributions-BfBaF6eE.d.ts} +3 -3
- package/dist/{contributions-CpCJisTC.d.cts → contributions-DupwEkzc.d.cts} +3 -3
- package/dist/index.cjs +40 -21
- package/dist/index.d.cts +13 -11
- package/dist/index.d.ts +13 -11
- package/dist/index.js +2 -2
- package/dist/{keymap-UolhuXH1.d.ts → keymap-C48ughm6.d.ts} +1 -1
- package/dist/{keymap-B9_FLhfJ.d.cts → keymap-W0hiajU6.d.cts} +1 -1
- package/dist/locales/ar.cjs +2 -0
- package/dist/locales/ar.d.cts +1 -1
- package/dist/locales/ar.d.ts +1 -1
- package/dist/locales/ar.js +2 -0
- package/dist/locales/de.cjs +2 -0
- package/dist/locales/de.d.cts +1 -1
- package/dist/locales/de.d.ts +1 -1
- package/dist/locales/de.js +2 -0
- package/dist/locales/en.cjs +2 -0
- package/dist/locales/en.d.cts +1 -1
- package/dist/locales/en.d.ts +1 -1
- package/dist/locales/en.js +2 -0
- package/dist/locales/es.cjs +2 -0
- package/dist/locales/es.d.cts +1 -1
- package/dist/locales/es.d.ts +1 -1
- package/dist/locales/es.js +2 -0
- package/dist/locales/fr.cjs +2 -0
- package/dist/locales/fr.d.cts +1 -1
- package/dist/locales/fr.d.ts +1 -1
- package/dist/locales/fr.js +2 -0
- package/dist/locales/he.cjs +2 -0
- package/dist/locales/he.d.cts +1 -1
- package/dist/locales/he.d.ts +1 -1
- package/dist/locales/he.js +2 -0
- package/dist/locales/hi.cjs +2 -0
- package/dist/locales/hi.d.cts +1 -1
- package/dist/locales/hi.d.ts +1 -1
- package/dist/locales/hi.js +2 -0
- package/dist/locales/id.cjs +2 -0
- package/dist/locales/id.d.cts +1 -1
- package/dist/locales/id.d.ts +1 -1
- package/dist/locales/id.js +2 -0
- package/dist/locales/it.cjs +2 -0
- package/dist/locales/it.d.cts +1 -1
- package/dist/locales/it.d.ts +1 -1
- package/dist/locales/it.js +2 -0
- package/dist/locales/ja.cjs +2 -0
- package/dist/locales/ja.d.cts +1 -1
- package/dist/locales/ja.d.ts +1 -1
- package/dist/locales/ja.js +2 -0
- package/dist/locales/ko.cjs +2 -0
- package/dist/locales/ko.d.cts +1 -1
- package/dist/locales/ko.d.ts +1 -1
- package/dist/locales/ko.js +2 -0
- package/dist/locales/ms.cjs +2 -0
- package/dist/locales/ms.d.cts +1 -1
- package/dist/locales/ms.d.ts +1 -1
- package/dist/locales/ms.js +2 -0
- package/dist/locales/pl.cjs +2 -0
- package/dist/locales/pl.d.cts +1 -1
- package/dist/locales/pl.d.ts +1 -1
- package/dist/locales/pl.js +2 -0
- package/dist/locales/pt-BR.cjs +2 -0
- package/dist/locales/pt-BR.d.cts +1 -1
- package/dist/locales/pt-BR.d.ts +1 -1
- package/dist/locales/pt-BR.js +2 -0
- package/dist/locales/ru.cjs +2 -0
- package/dist/locales/ru.d.cts +1 -1
- package/dist/locales/ru.d.ts +1 -1
- package/dist/locales/ru.js +2 -0
- package/dist/locales/th.cjs +2 -0
- package/dist/locales/th.d.cts +1 -1
- package/dist/locales/th.d.ts +1 -1
- package/dist/locales/th.js +2 -0
- package/dist/locales/tr.cjs +2 -0
- package/dist/locales/tr.d.cts +1 -1
- package/dist/locales/tr.d.ts +1 -1
- package/dist/locales/tr.js +2 -0
- package/dist/locales/vi.cjs +2 -0
- package/dist/locales/vi.d.cts +1 -1
- package/dist/locales/vi.d.ts +1 -1
- package/dist/locales/vi.js +2 -0
- package/dist/locales/zh-Hans.cjs +2 -0
- package/dist/locales/zh-Hans.d.cts +1 -1
- package/dist/locales/zh-Hans.d.ts +1 -1
- package/dist/locales/zh-Hans.js +2 -0
- package/dist/locales/zh-Hant.cjs +2 -0
- package/dist/locales/zh-Hant.d.cts +1 -1
- package/dist/locales/zh-Hant.d.ts +1 -1
- package/dist/locales/zh-Hant.js +2 -0
- package/dist/{options-D4L3_hv_.d.ts → options-B7aL1pbf.d.ts} +1 -1
- package/dist/{options-CpegHml_.d.cts → options-I1H2HDWw.d.cts} +1 -1
- package/dist/{plugin-DpNp4aBi.d.cts → plugin-BGz-Vsdv.d.cts} +6 -6
- package/dist/{plugin-DTmulpKM.d.ts → plugin-BZHypj8h.d.ts} +6 -6
- package/dist/plugin.cjs +1 -0
- package/dist/plugin.d.cts +7 -7
- package/dist/plugin.d.ts +7 -7
- package/dist/plugin.js +1 -1
- package/dist/providers/binance.d.cts +3 -3
- package/dist/providers/binance.d.ts +3 -3
- package/dist/providers/coinbase.d.cts +3 -3
- package/dist/providers/coinbase.d.ts +3 -3
- package/dist/providers/hyperliquid.d.cts +3 -3
- package/dist/providers/hyperliquid.d.ts +3 -3
- package/dist/{side-panel-CYmH1Opm.d.ts → side-panel-BEQJqSjR.d.cts} +2 -1
- package/dist/{side-panel-BqUnpfev.d.cts → side-panel-Ud0SBAnE.d.ts} +2 -1
- package/dist/{statusline-model-C3yIY9WE.d.ts → statusline-model-Dfb_GD9u.d.ts} +7 -4
- package/dist/{statusline-model-pGs3Xvp-.d.cts → statusline-model-PHt0YhmI.d.cts} +7 -4
- package/dist/{types-BlrXRLIR.d.cts → types-Bwf63xGI.d.cts} +4 -1
- package/dist/{types-BlrXRLIR.d.ts → types-Bwf63xGI.d.ts} +4 -1
- package/dist/ui.d.cts +3 -3
- package/dist/ui.d.ts +3 -3
- package/dist/vela.global.js +40 -21
- package/dist/vela.global.min.js +55 -55
- package/dist/widget.cjs +80 -25
- package/dist/widget.d.cts +10 -10
- package/dist/widget.d.ts +10 -10
- package/dist/widget.js +4 -4
- package/dist/workspace.cjs +80 -25
- package/dist/workspace.d.cts +7 -7
- package/dist/workspace.d.ts +7 -7
- package/dist/workspace.js +3 -3
- package/package.json +1 -1
package/dist/workspace.cjs
CHANGED
|
@@ -6917,6 +6917,7 @@ function mergeConfig(base, patch) {
|
|
|
6917
6917
|
mode: isScaleMode(ps.mode) ? ps.mode : base.priceScale.mode,
|
|
6918
6918
|
log: isBool(ps.log) ? ps.log : base.priceScale.log,
|
|
6919
6919
|
invert: isBool(ps.invert) ? ps.invert : base.priceScale.invert,
|
|
6920
|
+
priceOnly: isBool(ps.priceOnly) ? ps.priceOnly : base.priceScale.priceOnly,
|
|
6920
6921
|
borderColor: isColor(ps.borderColor) ? ps.borderColor : base.priceScale.borderColor,
|
|
6921
6922
|
labelsVisible: isBool(ps.labelsVisible) ? ps.labelsVisible : base.priceScale.labelsVisible,
|
|
6922
6923
|
currentPriceLine: isBool(ps.currentPriceLine) ? ps.currentPriceLine : base.priceScale.currentPriceLine,
|
|
@@ -18777,6 +18778,7 @@ var TEXT20 = {
|
|
|
18777
18778
|
indexed: msg("widget.contextMenu.scale.indexed", "Indexed to 100"),
|
|
18778
18779
|
log: msg("widget.contextMenu.scale.log", "Logarithmic"),
|
|
18779
18780
|
auto: msg("widget.contextMenu.auto", "Auto (fits data to screen)"),
|
|
18781
|
+
priceOnly: msg("widget.contextMenu.scalePriceOnly", "Scale price chart only"),
|
|
18780
18782
|
invert: msg("widget.contextMenu.invert", "Invert scale"),
|
|
18781
18783
|
labels: msg("widget.contextMenu.labels", "Labels"),
|
|
18782
18784
|
axisLabels: msg("widget.contextMenu.axisLabels", "Price axis labels"),
|
|
@@ -18834,6 +18836,9 @@ function scaleWrites(choice, pane) {
|
|
|
18834
18836
|
["logScale", { pane: pane.id, value: log }]
|
|
18835
18837
|
];
|
|
18836
18838
|
}
|
|
18839
|
+
function priceOnlyState(pane, flag) {
|
|
18840
|
+
return mainScale(pane) ? flag : void 0;
|
|
18841
|
+
}
|
|
18837
18842
|
function invertWrite(next, pane) {
|
|
18838
18843
|
return mainScale(pane) ? ["invertScale", next] : ["invertScale", { pane: pane.id, value: next }];
|
|
18839
18844
|
}
|
|
@@ -18841,6 +18846,7 @@ function priceAxisItems(s, i18n) {
|
|
|
18841
18846
|
const t = (m) => textOf(i18n, m);
|
|
18842
18847
|
return [
|
|
18843
18848
|
{ id: "auto", label: t(TEXT20.auto), checked: s.auto },
|
|
18849
|
+
...s.priceOnly === void 0 ? [] : [{ id: "price-only", label: t(TEXT20.priceOnly), checked: s.priceOnly }],
|
|
18844
18850
|
{ id: "invert", label: t(TEXT20.invert), checked: s.invert },
|
|
18845
18851
|
...SCALE_CHOICES.map(([choice, label], i) => ({
|
|
18846
18852
|
id: `scale:${choice}`,
|
|
@@ -18889,6 +18895,7 @@ var CONTEXT_MENU_BUILTIN_ORDER = {
|
|
|
18889
18895
|
body: { "reset-view": -30, "remove-drawings": -20, "remove-indicators": -10, settings: 1e3 },
|
|
18890
18896
|
"price-axis": {
|
|
18891
18897
|
auto: -80,
|
|
18898
|
+
"price-only": -75,
|
|
18892
18899
|
invert: -70,
|
|
18893
18900
|
"scale:regular": -60,
|
|
18894
18901
|
"scale:percent": -50,
|
|
@@ -18975,6 +18982,7 @@ var PriceScaleDrawer = class {
|
|
|
18975
18982
|
const pane = this.pane;
|
|
18976
18983
|
const items = priceAxisItems({
|
|
18977
18984
|
auto: chart.renderer.get("autoScale") !== false,
|
|
18985
|
+
priceOnly: priceOnlyState(pane, this.flag("scalePriceOnly")),
|
|
18978
18986
|
invert: pane ? pane.invert : this.flag("invertScale"),
|
|
18979
18987
|
choice: scaleChoiceOf(pane ?? { mode: String(chart.renderer.get("scaleMode") ?? "price"), log: this.flag("logScale") }),
|
|
18980
18988
|
axisLabels: this.flag("axisLabels"),
|
|
@@ -19051,6 +19059,16 @@ var PriceScaleDrawer = class {
|
|
|
19051
19059
|
});
|
|
19052
19060
|
continue;
|
|
19053
19061
|
}
|
|
19062
|
+
if (item.id === "price-only") {
|
|
19063
|
+
row2(item.label, {
|
|
19064
|
+
checked: item.checked,
|
|
19065
|
+
onClick: () => {
|
|
19066
|
+
chart.renderer.set("scalePriceOnly", !this.flag("scalePriceOnly"));
|
|
19067
|
+
this.render();
|
|
19068
|
+
}
|
|
19069
|
+
});
|
|
19070
|
+
continue;
|
|
19071
|
+
}
|
|
19054
19072
|
if (item.id === "invert") {
|
|
19055
19073
|
row2(item.label, {
|
|
19056
19074
|
checked: item.checked,
|
|
@@ -21370,6 +21388,7 @@ function successorNative(entry) {
|
|
|
21370
21388
|
const hasInputs = Object.keys(inputs).length > 0;
|
|
21371
21389
|
return hasInputs || hidden ? { type: next, ...hasInputs ? { inputs } : {}, ...hidden ? { hidden } : {} } : next;
|
|
21372
21390
|
}
|
|
21391
|
+
var STATUSLINE_PART_KEYS = ["logo", "name", "market", "ohlc", "change"];
|
|
21373
21392
|
function sanitizeCell(raw) {
|
|
21374
21393
|
if (raw == null || typeof raw !== "object") return null;
|
|
21375
21394
|
const c = raw;
|
|
@@ -21384,6 +21403,12 @@ function sanitizeCell(raw) {
|
|
|
21384
21403
|
if (typeof c.replayWatermark === "boolean") out.replayWatermark = c.replayWatermark;
|
|
21385
21404
|
if (typeof c.indicatorTitles === "boolean") out.indicatorTitles = c.indicatorTitles;
|
|
21386
21405
|
if (typeof c.indicatorValues === "boolean") out.indicatorValues = c.indicatorValues;
|
|
21406
|
+
if (c.statuslineParts != null && typeof c.statuslineParts === "object") {
|
|
21407
|
+
const bag = c.statuslineParts;
|
|
21408
|
+
const parts = {};
|
|
21409
|
+
for (const key of STATUSLINE_PART_KEYS) if (typeof bag[key] === "boolean") parts[key] = bag[key];
|
|
21410
|
+
if (Object.keys(parts).length > 0) out.statuslineParts = parts;
|
|
21411
|
+
}
|
|
21387
21412
|
if (c.rendererConfig != null && typeof c.rendererConfig === "object") out.rendererConfig = c.rendererConfig;
|
|
21388
21413
|
if (c.drawings != null && typeof c.drawings === "object") out.drawings = c.drawings;
|
|
21389
21414
|
const ind = c.indicators;
|
|
@@ -30049,6 +30074,9 @@ var SceneGraph = class {
|
|
|
30049
30074
|
this.logScale = false;
|
|
30050
30075
|
/** Inverted price axis on the price pane (high at the bottom). Study panes carry their own. */
|
|
30051
30076
|
this.invertScale = false;
|
|
30077
|
+
/** The price pane's autoscale fits the bars alone: indicator plots, their price lines
|
|
30078
|
+
* and Pine drawings paint where they fall instead of widening the window. */
|
|
30079
|
+
this.scalePriceOnly = false;
|
|
30052
30080
|
/** Exchange tick size for the active symbol (e.g. 0.01), when known. Drives the
|
|
30053
30081
|
* price-axis decimals — the instrument's true precision instead of the zoom-derived
|
|
30054
30082
|
* formula. Undefined until symbol metadata loads (the formula is the fallback). */
|
|
@@ -31747,6 +31775,18 @@ var DrawingSceneRenderer = class {
|
|
|
31747
31775
|
}
|
|
31748
31776
|
};
|
|
31749
31777
|
|
|
31778
|
+
// src/renderers/native/chrome/tz.ts
|
|
31779
|
+
var DAY_MS3 = 864e5;
|
|
31780
|
+
function displayZone(timeZone, barIntervalMs) {
|
|
31781
|
+
return barIntervalMs >= DAY_MS3 ? "UTC" : timeZone;
|
|
31782
|
+
}
|
|
31783
|
+
function tzOffsetMs(ms, timeZone) {
|
|
31784
|
+
return zoneOffsetMs(ms, timeZone);
|
|
31785
|
+
}
|
|
31786
|
+
function zonedDate(ms, timeZone) {
|
|
31787
|
+
return new Date(ms + tzOffsetMs(ms, timeZone));
|
|
31788
|
+
}
|
|
31789
|
+
|
|
31750
31790
|
// src/renderers/native/chrome/ticks.ts
|
|
31751
31791
|
function priceTicks(min, max, target = 6) {
|
|
31752
31792
|
if (!(max > min) || !Number.isFinite(min) || !Number.isFinite(max)) return [];
|
|
@@ -31887,7 +31927,7 @@ var STEP_LADDER = [
|
|
|
31887
31927
|
YEAR
|
|
31888
31928
|
];
|
|
31889
31929
|
function formatTimeStamp2(ms, timeZone, barIntervalMs, fmt = ENGLISH_FORMAT, surface = "crosshair") {
|
|
31890
|
-
return fmt.timeStamp(ms, { timeZone, withTime: barIntervalMs < DAY2, surface });
|
|
31930
|
+
return fmt.timeStamp(ms, { timeZone: displayZone(timeZone, barIntervalMs), withTime: barIntervalMs < DAY2, surface });
|
|
31891
31931
|
}
|
|
31892
31932
|
function pickStep(targetMs) {
|
|
31893
31933
|
for (const step of STEP_LADDER) if (step >= targetMs) return step;
|
|
@@ -32031,14 +32071,6 @@ var PriceAxisTickSource = class {
|
|
|
32031
32071
|
}
|
|
32032
32072
|
};
|
|
32033
32073
|
|
|
32034
|
-
// src/renderers/native/chrome/tz.ts
|
|
32035
|
-
function tzOffsetMs(ms, timeZone) {
|
|
32036
|
-
return zoneOffsetMs(ms, timeZone);
|
|
32037
|
-
}
|
|
32038
|
-
function zonedDate(ms, timeZone) {
|
|
32039
|
-
return new Date(ms + tzOffsetMs(ms, timeZone));
|
|
32040
|
-
}
|
|
32041
|
-
|
|
32042
32074
|
// src/renderers/native/chrome/countdown.ts
|
|
32043
32075
|
function countdownText2(barOpen, barMs, now2, fmt = ENGLISH_FORMAT) {
|
|
32044
32076
|
if (!(barMs > 0)) return null;
|
|
@@ -32752,7 +32784,7 @@ var ChromeRenderer = class {
|
|
|
32752
32784
|
ctx.textAlign = "center";
|
|
32753
32785
|
const y = dataH + (fullH - dataH) / 2;
|
|
32754
32786
|
const tr = coords.visibleTimeRange();
|
|
32755
|
-
const offset = tzOffsetMs((tr.from + tr.to) / 2, scene.timezone);
|
|
32787
|
+
const offset = tzOffsetMs((tr.from + tr.to) / 2, displayZone(scene.timezone, coords.barInterval));
|
|
32756
32788
|
const target = Math.max(3, Math.min(8, Math.floor(dataW / 64)));
|
|
32757
32789
|
const ticks = timeTicks(tr.from, tr.to, target, offset, scene.format).map((tick) => ({ ...tick, x: coords.timeToX(tick.time), half: ctx.measureText(tick.label).width / 2 })).filter((tick) => tick.x >= 20 && tick.x <= dataW - 20);
|
|
32758
32790
|
const GAP = 12;
|
|
@@ -33240,6 +33272,7 @@ var TEXT28 = {
|
|
|
33240
33272
|
indexedTo100: msg("chart.settings.indexedTo100", "Indexed to 100"),
|
|
33241
33273
|
logarithmic: msg("chart.settings.logarithmic", "Logarithmic"),
|
|
33242
33274
|
invertScale: msg("chart.settings.invertScale", "Invert scale"),
|
|
33275
|
+
scalePriceOnly: msg("chart.settings.scalePriceOnly", "Scale price chart only"),
|
|
33243
33276
|
lastPriceLine: msg("chart.settings.lastPriceLine", "Last price line"),
|
|
33244
33277
|
lastPriceLabel: msg("chart.settings.lastPriceLabel", "Last price label"),
|
|
33245
33278
|
countdownToBarClose: msg("chart.settings.countdownToBarClose", "Countdown to bar close"),
|
|
@@ -33748,6 +33781,7 @@ var SettingsDialog = class {
|
|
|
33748
33781
|
), "scales.price-scale.mode")
|
|
33749
33782
|
);
|
|
33750
33783
|
body.append(sid(this.boolRow(TEXT28.invertScale, config.priceScale.invert, (v) => this.emit({ priceScale: { invert: v } })), "scales.price-scale.invert"));
|
|
33784
|
+
body.append(sid(this.boolRow(TEXT28.scalePriceOnly, config.priceScale.priceOnly, (v) => this.emit({ priceScale: { priceOnly: v } })), "scales.price-scale.price-only"));
|
|
33751
33785
|
body.append(sid(this.separator(), "scales.price-scale"));
|
|
33752
33786
|
body.append(sid(this.boolRow(TEXT28.lastPriceLine, config.priceScale.currentPriceLine, (v) => this.emit({ priceScale: { currentPriceLine: v } })), "scales.price-scale.last-price-line"));
|
|
33753
33787
|
body.append(sid(this.boolRow(TEXT28.lastPriceLabel, config.priceScale.priceLabel, (v) => this.emit({ priceScale: { priceLabel: v } })), "scales.price-scale.last-price-label"));
|
|
@@ -41179,7 +41213,7 @@ var BackdropRenderer = class {
|
|
|
41179
41213
|
ctx.globalAlpha = gridAlpha;
|
|
41180
41214
|
ctx.strokeStyle = vertColor;
|
|
41181
41215
|
const tr = coords.visibleTimeRange();
|
|
41182
|
-
const offset = tzOffsetMs((tr.from + tr.to) / 2, scene.timezone);
|
|
41216
|
+
const offset = tzOffsetMs((tr.from + tr.to) / 2, displayZone(scene.timezone, coords.barInterval));
|
|
41183
41217
|
ctx.beginPath();
|
|
41184
41218
|
for (const tick of timeTicks(tr.from, tr.to, 8, offset)) {
|
|
41185
41219
|
const x = Math.round(coords.timeToX(tick.time)) + 0.5;
|
|
@@ -41971,7 +42005,7 @@ var NativeRenderer = class {
|
|
|
41971
42005
|
this.priceStyleCbs = /* @__PURE__ */ new Set();
|
|
41972
42006
|
this.priceStyleWillChangeCbs = /* @__PURE__ */ new Set();
|
|
41973
42007
|
this.name = "native";
|
|
41974
|
-
this.features = ["logScale", "currentPriceLine", "priceLabel", "countdown", "upColor", "downColor", "glow", "animZoom", "animPan", "animScroll", "animAutoscale", "animLiveBar", "intro", "zoomAnchor", "axisDrag", "paneResize", "candleZOrder", "candleVisible", "seriesOrder", "highlights", "sessionZones", "gridlines", "axisLabels", "scaleMode", "invertScale", "paneScales", "autoScale", "timezone", "keyboard", "historyChords", "priceStyle", "priceBaseline", "baselinePrice", "settings", "attribution", "dialogHost", "tradeMarkers", "marks", "indicatorTitles", "indicatorValues", "crosshairOverride", "drawingsInteractive", "priceAxisTicks"];
|
|
42008
|
+
this.features = ["logScale", "currentPriceLine", "priceLabel", "countdown", "upColor", "downColor", "glow", "animZoom", "animPan", "animScroll", "animAutoscale", "animLiveBar", "intro", "zoomAnchor", "axisDrag", "paneResize", "candleZOrder", "candleVisible", "seriesOrder", "highlights", "sessionZones", "gridlines", "axisLabels", "scaleMode", "invertScale", "scalePriceOnly", "paneScales", "autoScale", "timezone", "keyboard", "historyChords", "priceStyle", "priceBaseline", "baselinePrice", "settings", "attribution", "dialogHost", "tradeMarkers", "marks", "indicatorTitles", "indicatorValues", "crosshairOverride", "drawingsInteractive", "priceAxisTicks"];
|
|
41975
42009
|
/** Track cursor proximity to the scroll button on the plot (bubbles from the button too,
|
|
41976
42010
|
* so moving onto the button doesn't count as leaving). */
|
|
41977
42011
|
this.onScrollProximityMove = (e) => {
|
|
@@ -42130,6 +42164,9 @@ var NativeRenderer = class {
|
|
|
42130
42164
|
}
|
|
42131
42165
|
this.scene.invertScale = Boolean(value);
|
|
42132
42166
|
break;
|
|
42167
|
+
case "scalePriceOnly":
|
|
42168
|
+
this.scene.scalePriceOnly = Boolean(value);
|
|
42169
|
+
break;
|
|
42133
42170
|
case "autoScale":
|
|
42134
42171
|
for (const pane of this.scene.panes.values()) {
|
|
42135
42172
|
pane.manualScale = value ? null : { ...pane.scale };
|
|
@@ -42256,6 +42293,8 @@ var NativeRenderer = class {
|
|
|
42256
42293
|
return this.scene.scaleMode;
|
|
42257
42294
|
case "invertScale":
|
|
42258
42295
|
return this.scene.invertScale;
|
|
42296
|
+
case "scalePriceOnly":
|
|
42297
|
+
return this.scene.scalePriceOnly;
|
|
42259
42298
|
case "paneScales":
|
|
42260
42299
|
return this.paneScaleInfos();
|
|
42261
42300
|
case "autoScale": {
|
|
@@ -42402,6 +42441,7 @@ var NativeRenderer = class {
|
|
|
42402
42441
|
mode: this.scene.scaleMode,
|
|
42403
42442
|
log: this.scene.logScale,
|
|
42404
42443
|
invert: this.scene.invertScale,
|
|
42444
|
+
priceOnly: this.scene.scalePriceOnly,
|
|
42405
42445
|
borderColor: s.borderColor ?? t.borderColor,
|
|
42406
42446
|
labelsVisible: this.scene.showAxisLabels,
|
|
42407
42447
|
currentPriceLine: this.scene.showPriceLine,
|
|
@@ -42516,6 +42556,7 @@ var NativeRenderer = class {
|
|
|
42516
42556
|
this.scene.scaleMode = next.priceScale.mode;
|
|
42517
42557
|
this.scene.logScale = next.priceScale.log;
|
|
42518
42558
|
this.scene.invertScale = next.priceScale.invert;
|
|
42559
|
+
this.scene.scalePriceOnly = next.priceScale.priceOnly;
|
|
42519
42560
|
s.borderColor = keepInherit(s.borderColor, next.priceScale.borderColor, prevTheme.borderColor);
|
|
42520
42561
|
this.scene.showAxisLabels = next.priceScale.labelsVisible;
|
|
42521
42562
|
this.scene.showPriceLine = next.priceScale.currentPriceLine;
|
|
@@ -44497,7 +44538,7 @@ var NativeRenderer = class {
|
|
|
44497
44538
|
const pricePane = this.dataWindowPricePane();
|
|
44498
44539
|
const ohlc = this.dataWindowOHLC(bar, pricePane);
|
|
44499
44540
|
const parts = [];
|
|
44500
|
-
if (bar) parts.push(formatStamp(bar.time, this.scene.timezone));
|
|
44541
|
+
if (bar) parts.push(formatStamp(bar.time, displayZone(this.scene.timezone, this.coords.barInterval)));
|
|
44501
44542
|
if (ohlc) parts.push(this.t(TEXT35.barSummary, { open: ohlc.o, high: ohlc.h, low: ohlc.l, close: ohlc.c }));
|
|
44502
44543
|
for (const group of this.dataWindowGroups(idx, pricePane)) {
|
|
44503
44544
|
for (const row2 of group.rows) parts.push(this.t(TEXT35.valueSummary, { name: row2.label, value: row2.value }));
|
|
@@ -44514,7 +44555,7 @@ var NativeRenderer = class {
|
|
|
44514
44555
|
const idx = this.hoverLogical != null ? this.hoverLogical : n - 1;
|
|
44515
44556
|
const bar = this.bars[idx];
|
|
44516
44557
|
const pricePane = this.dataWindowPricePane();
|
|
44517
|
-
const parts = bar ? formatStampParts(bar.time, this.scene.timezone) : { date: "", time: "" };
|
|
44558
|
+
const parts = bar ? formatStampParts(bar.time, displayZone(this.scene.timezone, this.coords.barInterval)) : { date: "", time: "" };
|
|
44518
44559
|
return { date: parts.date, time: parts.time, ohlc: this.dataWindowOHLC(bar, pricePane), groups: this.dataWindowGroups(idx, pricePane) };
|
|
44519
44560
|
}
|
|
44520
44561
|
dataWindowPricePane() {
|
|
@@ -44881,7 +44922,8 @@ var NativeRenderer = class {
|
|
|
44881
44922
|
if (or) dr = dr ? { min: Math.min(dr.min, or.min), max: Math.max(dr.max, or.max) } : or;
|
|
44882
44923
|
}
|
|
44883
44924
|
const includeCandles = pane.kind === "price" && (!this.scene.candlesHidden || this.priceLayersAnchoredToBars(masterModels) || !this.paneHasMeasurableContent(masterModels, dr));
|
|
44884
|
-
|
|
44925
|
+
const priceOnly = pane === pricePane && this.scene.scalePriceOnly && includeCandles;
|
|
44926
|
+
pane.scaleTarget = priceOnly ? computePaneScale([], this.bars, true, i0, s1, null, paneLogScale(this.scene, pane), (id) => this.scene.offsetOf(id), margins) : computePaneScale(masterModels, this.bars, includeCandles, i0, s1, dr, paneLogScale(this.scene, pane), (id) => this.scene.offsetOf(id), margins);
|
|
44885
44927
|
pane.percentBaseline = pane.kind === "price" ? this.bars[i0]?.close ?? 0 : this.firstVisibleValue(masterModels, i0);
|
|
44886
44928
|
pane.axisFormat = void 0;
|
|
44887
44929
|
pane.axisBands = void 0;
|
|
@@ -49177,16 +49219,16 @@ var volumeSpecs = [
|
|
|
49177
49219
|
];
|
|
49178
49220
|
|
|
49179
49221
|
// src/core/native-indicators/classics/overlays.ts
|
|
49180
|
-
var
|
|
49222
|
+
var DAY_MS4 = 864e5;
|
|
49181
49223
|
function periodKey(anchor, time) {
|
|
49182
|
-
if (anchor === "Week") return Math.floor((Math.floor(time /
|
|
49224
|
+
if (anchor === "Week") return Math.floor((Math.floor(time / DAY_MS4) + 3) / 7);
|
|
49183
49225
|
if (anchor === "Month" || anchor === "Quarter" || anchor === "Year") {
|
|
49184
49226
|
const d = new Date(time);
|
|
49185
49227
|
if (anchor === "Year") return d.getUTCFullYear();
|
|
49186
49228
|
if (anchor === "Quarter") return d.getUTCFullYear() * 4 + Math.floor(d.getUTCMonth() / 3);
|
|
49187
49229
|
return d.getUTCFullYear() * 12 + d.getUTCMonth();
|
|
49188
49230
|
}
|
|
49189
|
-
return Math.floor(time /
|
|
49231
|
+
return Math.floor(time / DAY_MS4);
|
|
49190
49232
|
}
|
|
49191
49233
|
function barInterval(bars) {
|
|
49192
49234
|
if (bars.length < 2) return 0;
|
|
@@ -49288,7 +49330,7 @@ var vwap = {
|
|
|
49288
49330
|
const anchor = str3(inputs, "anchor", "Session");
|
|
49289
49331
|
const src = sourceValues(bars, str3(inputs, "source", "HLC3"));
|
|
49290
49332
|
const n = bars.length;
|
|
49291
|
-
const hidden = bool(inputs, "hideDwm", true) && barInterval(bars) >=
|
|
49333
|
+
const hidden = bool(inputs, "hideDwm", true) && barInterval(bars) >= DAY_MS4;
|
|
49292
49334
|
const values = new Array(n).fill(Number.NaN);
|
|
49293
49335
|
const bands = VWAP_BANDS.filter((b) => bool(inputs, b.show, b.defOn)).map((b) => ({
|
|
49294
49336
|
mult: Math.max(0, num3(inputs, b.mult, b.defMult)),
|
|
@@ -49362,7 +49404,7 @@ var pivotPoints = {
|
|
|
49362
49404
|
compute: (bars, inputs) => {
|
|
49363
49405
|
const interval = barInterval(bars);
|
|
49364
49406
|
const requested = str3(inputs, "anchor", PIVOT_AUTO);
|
|
49365
|
-
const auto = interval <= 15 * 6e4 ? "Session" : interval <
|
|
49407
|
+
const auto = interval <= 15 * 6e4 ? "Session" : interval < DAY_MS4 ? "Week" : interval <= DAY_MS4 ? "Month" : "Year";
|
|
49366
49408
|
const anchor = requested === "Daily" ? "Session" : requested === "Weekly" ? "Week" : requested === "Monthly" ? "Month" : requested === "Yearly" ? "Year" : auto;
|
|
49367
49409
|
const kind = str3(inputs, "kind", PIVOT_TRADITIONAL);
|
|
49368
49410
|
const aggs = /* @__PURE__ */ new Map();
|
|
@@ -49448,7 +49490,7 @@ var fiftyTwoWeek = {
|
|
|
49448
49490
|
colorInput(NEUTRAL, msg("indicator.n52WeekHighLow.allTimeColor", "All-Time High/Low"), "allTimeColor", msg("indicator.n52WeekHighLow.allTimeColor.tooltip", "Color of the all-time high and all-time low levels."))
|
|
49449
49491
|
],
|
|
49450
49492
|
compute: (bars, inputs) => {
|
|
49451
|
-
const span = num3(inputs, "weeks", 52) * 7 *
|
|
49493
|
+
const span = num3(inputs, "weeks", 52) * 7 * DAY_MS4;
|
|
49452
49494
|
const n = bars.length;
|
|
49453
49495
|
const hi = new Array(n).fill(Number.NaN);
|
|
49454
49496
|
const lo = new Array(n).fill(Number.NaN);
|
|
@@ -50635,7 +50677,7 @@ var Statusline = class {
|
|
|
50635
50677
|
};
|
|
50636
50678
|
|
|
50637
50679
|
// src/widget/session-shading.ts
|
|
50638
|
-
var
|
|
50680
|
+
var DAY_MS5 = 864e5;
|
|
50639
50681
|
var MINUTE_MS = 6e4;
|
|
50640
50682
|
function parseWindow(text, allowOvernight = false) {
|
|
50641
50683
|
if (typeof text !== "string") return null;
|
|
@@ -50714,7 +50756,7 @@ function expandSessionZones(spec, from, to) {
|
|
|
50714
50756
|
const dtf = civilFormatter(spec.timezone);
|
|
50715
50757
|
if (!dtf || !Number.isFinite(from) || !Number.isFinite(to)) return { pre, post, extended };
|
|
50716
50758
|
const seen = /* @__PURE__ */ new Set();
|
|
50717
|
-
for (let cursor = from -
|
|
50759
|
+
for (let cursor = from - DAY_MS5; cursor < to + DAY_MS5; cursor += DAY_MS5) {
|
|
50718
50760
|
const civil = civilParts(dtf, cursor);
|
|
50719
50761
|
const key = civil.year * 1e4 + civil.month * 100 + civil.day;
|
|
50720
50762
|
if (!Number.isFinite(key) || seen.has(key)) continue;
|
|
@@ -50739,7 +50781,7 @@ function expandSessionZones(spec, from, to) {
|
|
|
50739
50781
|
}
|
|
50740
50782
|
return { pre, post, extended: mergeAbutting(extended) };
|
|
50741
50783
|
}
|
|
50742
|
-
var COVER_PAD_MIN_MS = 2 *
|
|
50784
|
+
var COVER_PAD_MIN_MS = 2 * DAY_MS5;
|
|
50743
50785
|
var SessionShadingTracker = class {
|
|
50744
50786
|
constructor(onZones) {
|
|
50745
50787
|
this.onZones = onZones;
|
|
@@ -50763,7 +50805,7 @@ var SessionShadingTracker = class {
|
|
|
50763
50805
|
this.covered = null;
|
|
50764
50806
|
this.session = opts.session;
|
|
50765
50807
|
const tfMs = timeframeMs(opts.timeframe);
|
|
50766
|
-
this.intraday = Number.isFinite(tfMs) && tfMs <
|
|
50808
|
+
this.intraday = Number.isFinite(tfMs) && tfMs < DAY_MS5;
|
|
50767
50809
|
this.lastRange = opts.range;
|
|
50768
50810
|
void data.symbolInfo(symbol).catch(() => void 0).then((si) => {
|
|
50769
50811
|
if (my !== this.epoch) return;
|
|
@@ -51325,6 +51367,7 @@ var ChartContextMenu = class {
|
|
|
51325
51367
|
const pane = this.lastPane;
|
|
51326
51368
|
return priceAxisItems({
|
|
51327
51369
|
auto: this.chart?.renderer.get("autoScale") !== false,
|
|
51370
|
+
priceOnly: priceOnlyState(pane, this.flag("scalePriceOnly")),
|
|
51328
51371
|
invert: pane ? pane.invert : this.flag("invertScale"),
|
|
51329
51372
|
choice: scaleChoiceOf(pane ?? { mode: String(this.chart?.renderer.get("scaleMode") ?? "price"), log: this.flag("logScale") }),
|
|
51330
51373
|
axisLabels: this.flag("axisLabels"),
|
|
@@ -51363,6 +51406,8 @@ var ChartContextMenu = class {
|
|
|
51363
51406
|
else chart.renderer.set("timezone", resolveTimezone(zone, void 0));
|
|
51364
51407
|
} else if (id === "auto") {
|
|
51365
51408
|
chart.renderer.set("autoScale", chart.renderer.get("autoScale") === false);
|
|
51409
|
+
} else if (id === "price-only") {
|
|
51410
|
+
chart.renderer.set("scalePriceOnly", !this.flag("scalePriceOnly"));
|
|
51366
51411
|
} else if (id === "invert") {
|
|
51367
51412
|
const pane = this.lastPane;
|
|
51368
51413
|
const [feature, value] = invertWrite(!(pane ? pane.invert : this.flag("invertScale")), pane);
|
|
@@ -51513,6 +51558,9 @@ function instanceDeltas(handle) {
|
|
|
51513
51558
|
const props = inputDeltas(handle.props, handle.propValues());
|
|
51514
51559
|
return inputs || props ? { ...inputs ? { inputs } : {}, ...props ? { props } : {} } : void 0;
|
|
51515
51560
|
}
|
|
51561
|
+
function statuslinePartEntries(parts) {
|
|
51562
|
+
return Object.entries(parts ?? {}).filter((e) => typeof e[1] === "boolean");
|
|
51563
|
+
}
|
|
51516
51564
|
function nativeAliases(type, i18n) {
|
|
51517
51565
|
const entry = nativeIndicatorEntry(type);
|
|
51518
51566
|
if (!entry) return {};
|
|
@@ -51688,6 +51736,7 @@ var ChartCell = class {
|
|
|
51688
51736
|
this.inner.on("replay:end", () => this.watermark?.setReplaying(false));
|
|
51689
51737
|
this.statusline = deps.statusline ? new Statusline(this.host, symbol ?? "", (sym) => this.inner?.data.symbolIcon(sym)) : null;
|
|
51690
51738
|
this.statusline?.setMeta(seed.timeframe ?? "60", this.state.provider ?? "");
|
|
51739
|
+
for (const [part, visible] of statuslinePartEntries(seed.statuslineParts)) this.statusline?.setPartVisible(part, visible);
|
|
51691
51740
|
this.statusline?.onChart(this.inner);
|
|
51692
51741
|
this.statusline?.attachMenu({
|
|
51693
51742
|
setPart: (part, visible) => this.setStatuslinePart(part, visible),
|
|
@@ -52100,6 +52149,7 @@ var ChartCell = class {
|
|
|
52100
52149
|
/** Show/hide one status-line segment (the settings dialog's Status line tab). */
|
|
52101
52150
|
setStatuslinePart(part, visible) {
|
|
52102
52151
|
this.statusline?.setPartVisible(part, visible);
|
|
52152
|
+
this.deps.onStateDirty();
|
|
52103
52153
|
this.deps.onStatusPrefsChanged(this.id);
|
|
52104
52154
|
}
|
|
52105
52155
|
/** This cell's Status line tab and watermark prefs as one bundle (see {@link CellStatusPrefs}). */
|
|
@@ -52582,6 +52632,9 @@ var ChartCell = class {
|
|
|
52582
52632
|
if (cs.replayWatermark !== void 0 && cs.replayWatermark !== this.replayWatermarkOn) this.setReplayWatermarkVisible(cs.replayWatermark);
|
|
52583
52633
|
if (cs.indicatorTitles !== void 0 && cs.indicatorTitles !== this.indicatorTitlesOn) this.setIndicatorTitlesVisible(cs.indicatorTitles);
|
|
52584
52634
|
if (cs.indicatorValues !== void 0 && cs.indicatorValues !== this.indicatorValuesOn) this.setIndicatorValuesVisible(cs.indicatorValues);
|
|
52635
|
+
for (const [part, visible] of statuslinePartEntries(cs.statuslineParts)) {
|
|
52636
|
+
if (this.statusline && this.statusline.partVisible(part) !== visible) this.setStatuslinePart(part, visible);
|
|
52637
|
+
}
|
|
52585
52638
|
if (cs.rendererConfig != null) this.inner.renderer.applyConfig(cs.rendererConfig);
|
|
52586
52639
|
if (cs.drawings != null) this.inner.drawings.fromJSON(cs.drawings);
|
|
52587
52640
|
if (cs.indicators) this.applyIndicatorLedger(cs.indicators);
|
|
@@ -52609,6 +52662,7 @@ var ChartCell = class {
|
|
|
52609
52662
|
dehydrate() {
|
|
52610
52663
|
const live = this.inner?.market;
|
|
52611
52664
|
const ext = this.inner ? this.dehydrateExt() : Object.keys(this.extState).length > 0 ? { ...this.extState } : void 0;
|
|
52665
|
+
const statuslineParts = this.statusPrefs().parts;
|
|
52612
52666
|
return {
|
|
52613
52667
|
...this.state,
|
|
52614
52668
|
...live ? { symbol: live.symbol, provider: live.provider, timeframe: live.timeframe } : {},
|
|
@@ -52617,6 +52671,7 @@ var ChartCell = class {
|
|
|
52617
52671
|
replayWatermark: this.replayWatermarkOn,
|
|
52618
52672
|
indicatorTitles: this.indicatorTitlesOn,
|
|
52619
52673
|
indicatorValues: this.indicatorValuesOn,
|
|
52674
|
+
...statuslineParts ? { statuslineParts } : {},
|
|
52620
52675
|
rendererConfig: this.inner?.renderer.getConfig() ?? void 0,
|
|
52621
52676
|
drawings: this.inner ? this.inner.drawings.toJSON() : void 0,
|
|
52622
52677
|
// Natives from the chart's SYNC registry read — an async catalog mirror here
|
package/dist/workspace.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-
|
|
2
|
-
import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-
|
|
3
|
-
export { g as ChartState, D as DrawingToolsState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-
|
|
4
|
-
import { K as KeymapManager } from './keymap-
|
|
5
|
-
import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, R as ReplayState, a as ReplayBounds, b as VelaEventMap, c as ScriptRun } from './contributions-
|
|
6
|
-
import { b as LocalizationOptions, M as MessageLike, T as Translator, c as LocaleChangedEvent } from './types-
|
|
7
|
-
import { M as MarketDataFeed } from './DataProvider-
|
|
1
|
+
import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-I1H2HDWw.cjs';
|
|
2
|
+
import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-PHt0YhmI.cjs';
|
|
3
|
+
export { g as ChartState, D as DrawingToolsState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-PHt0YhmI.cjs';
|
|
4
|
+
import { K as KeymapManager } from './keymap-W0hiajU6.cjs';
|
|
5
|
+
import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, R as ReplayState, a as ReplayBounds, b as VelaEventMap, c as ScriptRun } from './contributions-DupwEkzc.cjs';
|
|
6
|
+
import { b as LocalizationOptions, M as MessageLike, T as Translator, c as LocaleChangedEvent } from './types-Bwf63xGI.cjs';
|
|
7
|
+
import { M as MarketDataFeed } from './DataProvider-B5i0_yY4.cjs';
|
|
8
8
|
|
|
9
9
|
/** The cells that follow `originId` under `setting` — PURE (never includes the origin). */
|
|
10
10
|
declare function syncTargets(originId: string, setting: SyncSetting | undefined, cellIds: readonly string[]): string[];
|
package/dist/workspace.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-
|
|
2
|
-
import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-
|
|
3
|
-
export { g as ChartState, D as DrawingToolsState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-
|
|
4
|
-
import { K as KeymapManager } from './keymap-
|
|
5
|
-
import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, R as ReplayState, a as ReplayBounds, b as VelaEventMap, c as ScriptRun } from './contributions-
|
|
6
|
-
import { b as LocalizationOptions, M as MessageLike, T as Translator, c as LocaleChangedEvent } from './types-
|
|
7
|
-
import { M as MarketDataFeed } from './DataProvider-
|
|
1
|
+
import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-B7aL1pbf.js';
|
|
2
|
+
import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-Dfb_GD9u.js';
|
|
3
|
+
export { g as ChartState, D as DrawingToolsState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-Dfb_GD9u.js';
|
|
4
|
+
import { K as KeymapManager } from './keymap-C48ughm6.js';
|
|
5
|
+
import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, R as ReplayState, a as ReplayBounds, b as VelaEventMap, c as ScriptRun } from './contributions-BfBaF6eE.js';
|
|
6
|
+
import { b as LocalizationOptions, M as MessageLike, T as Translator, c as LocaleChangedEvent } from './types-Bwf63xGI.js';
|
|
7
|
+
import { M as MarketDataFeed } from './DataProvider-CPFgSyAm.js';
|
|
8
8
|
|
|
9
9
|
/** The cells that follow `originId` under `setting` — PURE (never includes the origin). */
|
|
10
10
|
declare function syncTargets(originId: string, setting: SyncSetting | undefined, cellIds: readonly string[]): string[];
|
package/dist/workspace.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { ChartCell, GRID_PICKER_MAX, VelaWorkspace, WorkspaceReplay, activeAfterLayout, barClose, decodeState, encodeState, ensureLayout, evenTracks, gridStyles, lastOpenClosedBy, layoutDefinition, layoutForGrid, layoutShape, layouts, memoryStorageAdapter, rangesWithin, registerBuiltinLayouts, registerLayout, resizeTracks, sanitizeState, syncTargets, trackOffsets, unregisterLayout } from './chunk-
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
1
|
+
export { ChartCell, GRID_PICKER_MAX, VelaWorkspace, WorkspaceReplay, activeAfterLayout, barClose, decodeState, encodeState, ensureLayout, evenTracks, gridStyles, lastOpenClosedBy, layoutDefinition, layoutForGrid, layoutShape, layouts, memoryStorageAdapter, rangesWithin, registerBuiltinLayouts, registerLayout, resizeTracks, sanitizeState, syncTargets, trackOffsets, unregisterLayout } from './chunk-BLVL7WXF.js';
|
|
2
|
+
import './chunk-3H6JO4VL.js';
|
|
3
|
+
import './chunk-Q7POFYNE.js';
|
|
4
4
|
import './chunk-WHPQQYH7.js';
|
|
5
5
|
import './chunk-PZN4RS4T.js';
|
|
6
6
|
import './chunk-O6L27KRB.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luxalgo/vela",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "The open-source core of Vela by LuxAlgo: a charting library with a native high-performance renderer, drawing tools, pluggable chart types and pluggable scripting engines.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"charting library",
|