@luxalgo/vela 0.6.5 → 0.6.7
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/README.md +16 -16
- package/dist/{DataProvider-BmHkcwvJ.d.ts → DataProvider-BSLlBpB9.d.ts} +11 -1
- package/dist/{DataProvider-DrN7ZIou.d.cts → DataProvider-BsQM2WNH.d.cts} +11 -1
- package/dist/{history-BmyjaVir.d.cts → bottombar-Br4rzx_R.d.ts} +158 -129
- package/dist/{history-CvOtsjT5.d.ts → bottombar-Div5zibZ.d.cts} +158 -129
- package/dist/{chunk-FQBT4NFM.js → chunk-6WFKTAT4.js} +2797 -2527
- package/dist/{chunk-BEJ57HP4.js → chunk-L3I2CCYO.js} +62 -1
- package/dist/chunk-W4EJWLEO.js +12 -0
- package/dist/{chunk-N6MBJHMV.js → chunk-WVP4XV5A.js} +6050 -3402
- package/dist/{contributions-DatoAzMx.d.ts → contributions-Hv4_cOJo.d.cts} +152 -5
- package/dist/{contributions-2bEmCF9S.d.cts → contributions-Z12BrWCy.d.ts} +152 -5
- package/dist/index.cjs +2798 -2484
- package/dist/index.d.cts +44 -16
- package/dist/index.d.ts +44 -16
- package/dist/index.js +2 -2
- package/dist/{options-YdiaaVjt.d.cts → options-BaVTMXaO.d.cts} +48 -2
- package/dist/{options-YdiaaVjt.d.ts → options-BaVTMXaO.d.ts} +48 -2
- package/dist/{plugin-Bcone6Vh.d.ts → plugin-9koBjc5H.d.ts} +6 -4
- package/dist/{plugin-DO_DX0gp.d.cts → plugin-BXhDHTYn.d.cts} +6 -4
- package/dist/plugin.cjs +44 -0
- package/dist/plugin.d.cts +4 -4
- package/dist/plugin.d.ts +4 -4
- package/dist/plugin.js +1 -1
- package/dist/providers/binance.cjs +16 -0
- package/dist/providers/binance.d.cts +5 -2
- package/dist/providers/binance.d.ts +5 -2
- package/dist/providers/binance.js +7 -0
- package/dist/providers/coinbase.cjs +16 -0
- package/dist/providers/coinbase.d.cts +5 -2
- package/dist/providers/coinbase.d.ts +5 -2
- package/dist/providers/coinbase.js +7 -0
- package/dist/providers/hyperliquid.cjs +16 -0
- package/dist/providers/hyperliquid.d.cts +5 -2
- package/dist/providers/hyperliquid.d.ts +5 -2
- package/dist/providers/hyperliquid.js +7 -0
- package/dist/ui.d.cts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/vela.global.js +2824 -2484
- package/dist/vela.global.min.js +48 -48
- package/dist/widget.cjs +35791 -34070
- package/dist/widget.d.cts +80 -275
- package/dist/widget.d.ts +80 -275
- package/dist/widget.js +61 -1313
- package/dist/workspace.cjs +1700 -995
- package/dist/workspace.d.cts +120 -15
- package/dist/workspace.d.ts +120 -15
- package/dist/workspace.js +7 -2281
- package/package.json +1 -1
|
@@ -5761,6 +5761,33 @@ function rendererLayers() {
|
|
|
5761
5761
|
return [...registry2.values()];
|
|
5762
5762
|
}
|
|
5763
5763
|
|
|
5764
|
+
// src/widget/topbar-composition.ts
|
|
5765
|
+
var TOPBAR_BUILTIN_IDS = ["symbol", "timeframes", "style", "layout", "indicators", "actions", "undo-redo", "alerts", "panels", "screenshot"];
|
|
5766
|
+
var TOPBAR_DEFAULT_LEFT = ["symbol", "timeframes", "style", "layout", "indicators", "actions", "undo-redo"];
|
|
5767
|
+
var TOPBAR_DEFAULT_RIGHT = ["actions", "alerts", "panels", "screenshot"];
|
|
5768
|
+
function resolveTopbarComposition(opt) {
|
|
5769
|
+
const seen = /* @__PURE__ */ new Set();
|
|
5770
|
+
const take = (list) => {
|
|
5771
|
+
const out = [];
|
|
5772
|
+
const local = /* @__PURE__ */ new Set();
|
|
5773
|
+
for (const id of list) {
|
|
5774
|
+
if (!id || local.has(id) || id !== "actions" && seen.has(id)) continue;
|
|
5775
|
+
local.add(id);
|
|
5776
|
+
seen.add(id);
|
|
5777
|
+
out.push(id);
|
|
5778
|
+
}
|
|
5779
|
+
return out;
|
|
5780
|
+
};
|
|
5781
|
+
return { left: take(opt?.left ?? TOPBAR_DEFAULT_LEFT), right: take(opt?.right ?? TOPBAR_DEFAULT_RIGHT) };
|
|
5782
|
+
}
|
|
5783
|
+
function topbarHas(comp, id) {
|
|
5784
|
+
return comp.left.includes(id) || comp.right.includes(id);
|
|
5785
|
+
}
|
|
5786
|
+
function pinnedTopbarActionIds(comp) {
|
|
5787
|
+
const builtin = new Set(TOPBAR_BUILTIN_IDS);
|
|
5788
|
+
return [...comp.left, ...comp.right].filter((id) => !builtin.has(id));
|
|
5789
|
+
}
|
|
5790
|
+
|
|
5764
5791
|
// src/widget/contributions.ts
|
|
5765
5792
|
var registry3 = /* @__PURE__ */ new Map();
|
|
5766
5793
|
var attachments = /* @__PURE__ */ new Map();
|
|
@@ -5790,7 +5817,18 @@ function unregisterSidePanel(id) {
|
|
|
5790
5817
|
function sidePanels() {
|
|
5791
5818
|
return [...panels.values()].sort((a, b) => (a.order ?? DEFAULT_PANEL_ORDER) - (b.order ?? DEFAULT_PANEL_ORDER));
|
|
5792
5819
|
}
|
|
5820
|
+
var OVERRIDABLE_TOPBAR_IDS = ["indicators", "screenshot"];
|
|
5821
|
+
var overridableSet = new Set(OVERRIDABLE_TOPBAR_IDS);
|
|
5822
|
+
var builtinTopbarSet = new Set(TOPBAR_BUILTIN_IDS);
|
|
5823
|
+
function topbarActionOverride(id) {
|
|
5824
|
+
if (!overridableSet.has(id)) return void 0;
|
|
5825
|
+
return registry3.get(id);
|
|
5826
|
+
}
|
|
5793
5827
|
function registerWidgetAction(desc) {
|
|
5828
|
+
if (builtinTopbarSet.has(desc.id) && !overridableSet.has(desc.id)) {
|
|
5829
|
+
console.warn(`[vela] widget action "${desc.id}": this built-in topbar slot is a stateful control and cannot be overridden \u2014 ignored. Overridable slots: ${OVERRIDABLE_TOPBAR_IDS.join(", ")}.`);
|
|
5830
|
+
return () => void 0;
|
|
5831
|
+
}
|
|
5794
5832
|
registry3.set(desc.id, desc);
|
|
5795
5833
|
return () => {
|
|
5796
5834
|
if (registry3.get(desc.id) === desc) registry3.delete(desc.id);
|
|
@@ -5825,6 +5863,29 @@ function legendActionsProviderFor(chart, context) {
|
|
|
5825
5863
|
return legendActions().filter((d) => !d.when || d.when(info)).map((d) => ({ id: d.id, icon: d.icon, tooltip: d.tooltip, run: () => d.run(context(), info) }));
|
|
5826
5864
|
};
|
|
5827
5865
|
}
|
|
5866
|
+
var stateHandlers = /* @__PURE__ */ new Map();
|
|
5867
|
+
function registerStatePersistence(handler) {
|
|
5868
|
+
stateHandlers.set(handler.key, handler);
|
|
5869
|
+
return () => {
|
|
5870
|
+
if (stateHandlers.get(handler.key) === handler) stateHandlers.delete(handler.key);
|
|
5871
|
+
};
|
|
5872
|
+
}
|
|
5873
|
+
function unregisterStatePersistence(key) {
|
|
5874
|
+
stateHandlers.delete(key);
|
|
5875
|
+
}
|
|
5876
|
+
function statePersistenceHandlers(scope) {
|
|
5877
|
+
return [...stateHandlers.values()].filter((h) => h.scope === scope);
|
|
5878
|
+
}
|
|
5879
|
+
var symbolRankingHook;
|
|
5880
|
+
function registerSymbolRanking(hook) {
|
|
5881
|
+
symbolRankingHook = hook;
|
|
5882
|
+
return () => {
|
|
5883
|
+
if (symbolRankingHook === hook) symbolRankingHook = void 0;
|
|
5884
|
+
};
|
|
5885
|
+
}
|
|
5886
|
+
function symbolRanking() {
|
|
5887
|
+
return symbolRankingHook;
|
|
5888
|
+
}
|
|
5828
5889
|
var defaultEngines = /* @__PURE__ */ new Map();
|
|
5829
5890
|
function registerDefaultEngine(language, make) {
|
|
5830
5891
|
defaultEngines.set(language, make);
|
|
@@ -6052,4 +6113,4 @@ var SidePanel = class {
|
|
|
6052
6113
|
}
|
|
6053
6114
|
};
|
|
6054
6115
|
|
|
6055
|
-
export { AnchoredVwap, ArrowMark, Callout, CalloutBase, Comment, DEDEKIND_CURVATURE_OPTIONS, DEFAULT_DRAWING_COLOR, DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_ORDER, DEFAULT_PANEL_WIDTH, DIRECTION_OPTIONS, DedekindTessellation, Drawing, FibRatios, FibSpiral, FixedRangeVolumeProfile, GANN_SQUARE_ARCS, GLYPH_OPTIONS, GannSquare, GlyphStamp, LINE_STYLE_OPTIONS, MACH_NUMBER_OPTIONS, MACH_WAVE_COUNT_OPTIONS, MachFigure, MeasureBox, Note, PatternDrawing, PositionTool, PriceLabel, PriceNote, RadialFib, RegressionChannel, STAMP_SIZE_OPTIONS, SegmentDrawing, SidePanel, Signpost, TEXT_SIZE_OPTIONS, TextLabel, chartType, chartTypes, clampPanelWidth, createDrawing, deserializeDrawing, drawingTypes, foldBaseModulation, formatDuration, getDrawingType, getNativeIndicator, inputVisible, legendActions, legendActionsProviderFor, lineSegmentIntersection, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resetDrawingSettings, resolveEngines, settingsRowValueKeys, settingsRowVisible, sidePanels, tickerModifierIds, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments };
|
|
6116
|
+
export { AnchoredVwap, ArrowMark, Callout, CalloutBase, Comment, DEDEKIND_CURVATURE_OPTIONS, DEFAULT_DRAWING_COLOR, DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_ORDER, DEFAULT_PANEL_WIDTH, DIRECTION_OPTIONS, DedekindTessellation, Drawing, FibRatios, FibSpiral, FixedRangeVolumeProfile, GANN_SQUARE_ARCS, GLYPH_OPTIONS, GannSquare, GlyphStamp, LINE_STYLE_OPTIONS, MACH_NUMBER_OPTIONS, MACH_WAVE_COUNT_OPTIONS, MachFigure, MeasureBox, Note, OVERRIDABLE_TOPBAR_IDS, PatternDrawing, PositionTool, PriceLabel, PriceNote, RadialFib, RegressionChannel, STAMP_SIZE_OPTIONS, SegmentDrawing, SidePanel, Signpost, TEXT_SIZE_OPTIONS, TOPBAR_BUILTIN_IDS, TOPBAR_DEFAULT_LEFT, TOPBAR_DEFAULT_RIGHT, TextLabel, chartType, chartTypes, clampPanelWidth, createDrawing, deserializeDrawing, drawingTypes, foldBaseModulation, formatDuration, getDrawingType, getNativeIndicator, inputVisible, legendActions, legendActionsProviderFor, lineSegmentIntersection, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, pinnedTopbarActionIds, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resetDrawingSettings, resolveEngines, resolveTopbarComposition, settingsRowValueKeys, settingsRowVisible, sidePanels, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, topbarHas, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/data/symbol-base.ts
|
|
2
|
+
function baseOf(d) {
|
|
3
|
+
const fromDesc = d.description?.split("/")[0]?.trim();
|
|
4
|
+
if (fromDesc) return fromDesc.replace(/\s+Perpetual$/i, "");
|
|
5
|
+
return d.ticker.replace(/[-_/]?(USDT|USDC|USD1|USDS|BUSD|USD|EUR|PERP)$/i, "") || d.ticker;
|
|
6
|
+
}
|
|
7
|
+
function ledgerCryptoIconUrl(base) {
|
|
8
|
+
const key = base.trim().toUpperCase();
|
|
9
|
+
return key ? `https://crypto-icons.ledger.com/${encodeURIComponent(key)}.png` : void 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { baseOf, ledgerCryptoIconUrl };
|