@luxalgo/vela 0.6.14 → 0.6.16
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/NOTICE +28 -28
- package/README.md +9 -2
- package/dist/{DataProvider-DhzstpQb.d.ts → DataProvider-XLdJB86x.d.ts} +1 -1
- package/dist/{DataProvider-DlMtrwqM.d.cts → DataProvider-xH2VBcFT.d.cts} +1 -1
- package/dist/{chunk-KG4YT3TI.js → chunk-6DPAYEGO.js} +8 -1
- package/dist/chunk-FE6V2YAQ.js +1 -0
- package/dist/{chunk-N2Q5EEFH.js → chunk-GIJYO4LO.js} +2596 -242
- package/dist/{chunk-F4M24ANM.js → chunk-I77F2SVE.js} +80 -4
- package/dist/{chunk-MHY7MVXH.js → chunk-MGU3USTP.js} +29 -16
- package/dist/{chunk-G77Y7LK2.js → chunk-Q3TFJNJW.js} +2 -2
- package/dist/{chunk-64TF7JAJ.js → chunk-SEOO6YG7.js} +408 -184
- package/dist/{contributions-lPojhTxI.d.cts → contributions-BEkxwA5F.d.cts} +40 -13
- package/dist/{contributions-37nni40G.d.ts → contributions-CoAX7_SF.d.ts} +40 -13
- package/dist/index.cjs +2755 -380
- package/dist/index.d.cts +20 -12
- package/dist/index.d.ts +20 -12
- package/dist/index.js +5 -5
- package/dist/{options-CYS5Wmlx.d.ts → options-bdSAtp7y.d.cts} +5 -0
- package/dist/{options-CYS5Wmlx.d.cts → options-bdSAtp7y.d.ts} +5 -0
- package/dist/{plugin-DHyaoMjW.d.ts → plugin-CNUgbRNq.d.ts} +11 -8
- package/dist/{plugin-Cwikpz1m.d.cts → plugin-Dxyq35Zf.d.cts} +11 -8
- package/dist/plugin.cjs +8 -0
- package/dist/plugin.d.cts +5 -5
- package/dist/plugin.d.ts +5 -5
- package/dist/plugin.js +3 -3
- package/dist/providers/binance.d.cts +2 -2
- package/dist/providers/binance.d.ts +2 -2
- package/dist/providers/coinbase.d.cts +2 -2
- package/dist/providers/coinbase.d.ts +2 -2
- package/dist/providers/hyperliquid.d.cts +2 -2
- package/dist/providers/hyperliquid.d.ts +2 -2
- package/dist/{side-panel-CT9ZwIGz.d.cts → side-panel-HF0IAzwf.d.cts} +17 -0
- package/dist/{side-panel-CT9ZwIGz.d.ts → side-panel-HF0IAzwf.d.ts} +17 -0
- package/dist/{statusline-model-D-q_OOx9.d.ts → statusline-model-CbPza-Wc.d.cts} +6 -4
- package/dist/{statusline-model-CiJm-riV.d.cts → statusline-model-D7cWkw8A.d.ts} +6 -4
- package/dist/ui.cjs +34 -15
- package/dist/ui.d.cts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/ui.js +3 -3
- package/dist/vela.global.js +2675 -300
- package/dist/vela.global.min.js +58 -52
- package/dist/widget.cjs +3296 -622
- package/dist/widget.d.cts +15 -11
- package/dist/widget.d.ts +15 -11
- package/dist/widget.js +7 -7
- package/dist/workspace.cjs +3296 -622
- package/dist/workspace.d.cts +49 -19
- package/dist/workspace.d.ts +49 -19
- package/dist/workspace.js +6 -6
- package/package.json +1 -1
- package/dist/chunk-H26BEHF4.js +0 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { D as DataProvider } from './DataProvider-
|
|
2
|
-
import { S as ScriptingEngine, V as Vela } from './contributions-
|
|
3
|
-
import { V as VisibleRangePreset } from './options-
|
|
1
|
+
import { D as DataProvider } from './DataProvider-xH2VBcFT.cjs';
|
|
2
|
+
import { S as ScriptingEngine, V as Vela } from './contributions-BEkxwA5F.cjs';
|
|
3
|
+
import { V as VisibleRangePreset } from './options-bdSAtp7y.cjs';
|
|
4
4
|
|
|
5
5
|
/** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
|
|
6
6
|
* cells as GHOST crosshairs (renderers without the optional `setExternalCrosshair`
|
|
@@ -35,11 +35,13 @@ interface TrackSizes {
|
|
|
35
35
|
* The docked side panels — a SHELL-level pref (one dock serves every cell of a workspace).
|
|
36
36
|
* `open` is the single panel showing (the dock is exclusive); `widths` holds only the columns
|
|
37
37
|
* the user actually resized, by panel id, so a panel's declared width stays in charge until
|
|
38
|
-
* then
|
|
38
|
+
* then; `pinned` lists the floating (overlay) panels the user pinned as columns. Absent
|
|
39
|
+
* altogether in documents written before the dock existed.
|
|
39
40
|
*/
|
|
40
41
|
interface PanelsState {
|
|
41
42
|
open?: string;
|
|
42
43
|
widths?: Record<string, number>;
|
|
44
|
+
pinned?: string[];
|
|
43
45
|
}
|
|
44
46
|
/** Per-chart (per-cell) state: the market, the display prefs, the content documents,
|
|
45
47
|
* and the indicator ledger. The widget's whole chart state is ONE of these. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { D as DataProvider } from './DataProvider-
|
|
2
|
-
import { S as ScriptingEngine, V as Vela } from './contributions-
|
|
3
|
-
import { V as VisibleRangePreset } from './options-
|
|
1
|
+
import { D as DataProvider } from './DataProvider-XLdJB86x.js';
|
|
2
|
+
import { S as ScriptingEngine, V as Vela } from './contributions-CoAX7_SF.js';
|
|
3
|
+
import { V as VisibleRangePreset } from './options-bdSAtp7y.js';
|
|
4
4
|
|
|
5
5
|
/** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
|
|
6
6
|
* cells as GHOST crosshairs (renderers without the optional `setExternalCrosshair`
|
|
@@ -35,11 +35,13 @@ interface TrackSizes {
|
|
|
35
35
|
* The docked side panels — a SHELL-level pref (one dock serves every cell of a workspace).
|
|
36
36
|
* `open` is the single panel showing (the dock is exclusive); `widths` holds only the columns
|
|
37
37
|
* the user actually resized, by panel id, so a panel's declared width stays in charge until
|
|
38
|
-
* then
|
|
38
|
+
* then; `pinned` lists the floating (overlay) panels the user pinned as columns. Absent
|
|
39
|
+
* altogether in documents written before the dock existed.
|
|
39
40
|
*/
|
|
40
41
|
interface PanelsState {
|
|
41
42
|
open?: string;
|
|
42
43
|
widths?: Record<string, number>;
|
|
44
|
+
pinned?: string[];
|
|
43
45
|
}
|
|
44
46
|
/** Per-chart (per-cell) state: the market, the display prefs, the content documents,
|
|
45
47
|
* and the indicator ledger. The widget's whole chart state is ONE of these. */
|
package/dist/ui.cjs
CHANGED
|
@@ -193,6 +193,12 @@ ${STATIC_DECLS}
|
|
|
193
193
|
.vela-ui *, .vela-ui-layer * { box-sizing: border-box; }
|
|
194
194
|
/* Text ENTRY is the one exception: selection is part of editing. */
|
|
195
195
|
.vela-ui :is(input, textarea), .vela-ui-layer :is(input, textarea) { user-select: text; -webkit-user-select: text; }
|
|
196
|
+
/* iOS Safari zooms the page when a focused field is under 16px, and often
|
|
197
|
+
keeps that zoom after the field blurs or a dialog closes. The shell's
|
|
198
|
+
mobile size class is the honest gate \u2014 not a media query \u2014 so an embedded
|
|
199
|
+
chart on a wide desktop still gets the rule when it is in the phone layout.
|
|
200
|
+
Scoped to the kit root so a host page's own [data-layout] is never touched. */
|
|
201
|
+
.vela-ui[data-layout='mobile'] :is(input, textarea, select) { font-size: 16px; }
|
|
196
202
|
.vela-icon { display: inline-flex; align-items: center; flex: none; }
|
|
197
203
|
.vela-icon svg { display: block; }
|
|
198
204
|
`;
|
|
@@ -285,6 +291,10 @@ registerIcon(
|
|
|
285
291
|
"market-post",
|
|
286
292
|
svg24('<path d="M12 10V2"/><path d="m4.93 10.93 1.41 1.41"/><path d="M2 18h2"/><path d="M20 18h2"/><path d="m19.07 10.93-1.41 1.41"/><path d="M22 22H2"/><path d="m16 14-4 4-4-4"/><path d="M16 6a4 4 0 0 0-8 0"/>')
|
|
287
293
|
);
|
|
294
|
+
registerIcon(
|
|
295
|
+
"market-extended",
|
|
296
|
+
svg24('<path d="M22 22H2"/><path d="M12 3a5 5 0 0 0 7.5 7.5A7.5 7.5 0 1 1 12 3Z"/>')
|
|
297
|
+
);
|
|
288
298
|
registerIcon("market-closed", svg24('<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>'));
|
|
289
299
|
registerIcon(
|
|
290
300
|
"market-holiday",
|
|
@@ -298,6 +308,8 @@ registerIcon("chevrons-right", S('<path d="m4 3.5 4.5 4.5L4 12.5"/><path d="m8.5
|
|
|
298
308
|
registerIcon("chevrons-left", S('<path d="M12 3.5 7.5 8l4.5 4.5"/><path d="M7.5 3.5 3 8l4.5 4.5"/>'));
|
|
299
309
|
registerIcon("check", S('<path d="m2.8 8.4 3.4 3.4 7-7.6"/>'));
|
|
300
310
|
registerIcon("close", S('<path d="m3.8 3.8 8.4 8.4M12.2 3.8l-8.4 8.4"/>'));
|
|
311
|
+
registerIcon("pin", S('<path d="M5.6 2.5h4.8M6.4 2.5v3.6L4.4 8.4v.9h7.2v-.9L9.6 6.1V2.5M8 9.3v4.2"/>'));
|
|
312
|
+
registerIcon("pin-filled", S('<path d="M5.6 2.5h4.8M6.4 2.5v3.6L4.4 8.4v.9h7.2v-.9L9.6 6.1V2.5M8 9.3v4.2"/><path d="M6.4 2.5h3.2v3.6l2 2.3v.9H4.4v-.9l2-2.3z" fill="currentColor" stroke="none"/>'));
|
|
301
313
|
registerIcon("eye", S('<path d="M1.5 8s2.5-5.4 6.5-5.4S14.5 8 14.5 8 12 13.4 8 13.4 1.5 8 1.5 8z"/><circle cx="8" cy="8" r="1.8"/>'));
|
|
302
314
|
registerIcon("eye-off", S('<path d="M1.5 8s2.5-5.4 6.5-5.4S14.5 8 14.5 8 12 13.4 8 13.4 1.5 8 1.5 8z" opacity="0.45"/><path d="m3 13 10-10"/>'));
|
|
303
315
|
registerIcon("lock", S('<rect x="3.2" y="7" width="9.6" height="6.6" rx="1.2"/><path d="M5.6 7V5.2a2.4 2.4 0 0 1 4.8 0V7"/>'));
|
|
@@ -2641,8 +2653,21 @@ function buildColorPicker(color, theme, onChange) {
|
|
|
2641
2653
|
};
|
|
2642
2654
|
const recentRow = document.createElement("div");
|
|
2643
2655
|
recentRow.style.cssText = "display:flex;align-items:center;gap:5px;flex-wrap:wrap;border-top:1px solid var(--vela-border);padding-top:9px;";
|
|
2656
|
+
const recentSwatches = document.createElement("div");
|
|
2657
|
+
recentSwatches.style.cssText = "display:contents;";
|
|
2658
|
+
const add = document.createElement("label");
|
|
2659
|
+
add.style.cssText = `width:17px;height:17px;border-radius:var(--vela-radius-sm);border:1px dashed var(--vela-border-strong);cursor:pointer;display:flex;align-items:center;justify-content:center;color:${theme.textColor};font:14px ${theme.fontFamily};position:relative;`;
|
|
2660
|
+
add.textContent = "+";
|
|
2661
|
+
const customInput = document.createElement("input");
|
|
2662
|
+
customInput.type = "color";
|
|
2663
|
+
customInput.value = curHex;
|
|
2664
|
+
customInput.style.cssText = "position:absolute;inset:0;opacity:0;cursor:pointer;";
|
|
2665
|
+
customInput.addEventListener("input", () => previewHex(customInput.value));
|
|
2666
|
+
customInput.addEventListener("change", () => pickHex(customInput.value, true));
|
|
2667
|
+
add.appendChild(customInput);
|
|
2668
|
+
recentRow.append(recentSwatches, add);
|
|
2644
2669
|
const renderRecents = () => {
|
|
2645
|
-
|
|
2670
|
+
recentSwatches.replaceChildren();
|
|
2646
2671
|
for (const c of recents) {
|
|
2647
2672
|
const sw = document.createElement("button");
|
|
2648
2673
|
sw.type = "button";
|
|
@@ -2651,18 +2676,8 @@ function buildColorPicker(color, theme, onChange) {
|
|
|
2651
2676
|
e.stopPropagation();
|
|
2652
2677
|
pickHex(c);
|
|
2653
2678
|
});
|
|
2654
|
-
|
|
2679
|
+
recentSwatches.appendChild(sw);
|
|
2655
2680
|
}
|
|
2656
|
-
const add = document.createElement("label");
|
|
2657
|
-
add.style.cssText = `width:17px;height:17px;border-radius:var(--vela-radius-sm);border:1px dashed var(--vela-border-strong);cursor:pointer;display:flex;align-items:center;justify-content:center;color:${theme.textColor};font:14px ${theme.fontFamily};position:relative;`;
|
|
2658
|
-
add.textContent = "+";
|
|
2659
|
-
const input = document.createElement("input");
|
|
2660
|
-
input.type = "color";
|
|
2661
|
-
input.value = curHex;
|
|
2662
|
-
input.style.cssText = "position:absolute;inset:0;opacity:0;cursor:pointer;";
|
|
2663
|
-
input.addEventListener("input", () => pickHex(input.value, true));
|
|
2664
|
-
add.appendChild(input);
|
|
2665
|
-
recentRow.appendChild(add);
|
|
2666
2681
|
};
|
|
2667
2682
|
const opLabel = document.createElement("div");
|
|
2668
2683
|
opLabel.textContent = "Opacity";
|
|
@@ -2702,14 +2717,18 @@ function buildColorPicker(color, theme, onChange) {
|
|
|
2702
2717
|
function emit() {
|
|
2703
2718
|
onChange(combineColor(curHex, curAlpha));
|
|
2704
2719
|
}
|
|
2705
|
-
function
|
|
2720
|
+
function previewHex(hex) {
|
|
2706
2721
|
curHex = splitColor(hex).hex6;
|
|
2707
|
-
addRecent(curHex);
|
|
2708
2722
|
paintSelection();
|
|
2709
2723
|
paintOpacity();
|
|
2710
|
-
if (custom) renderRecents();
|
|
2711
2724
|
emit();
|
|
2712
2725
|
}
|
|
2726
|
+
function pickHex(hex, custom = false) {
|
|
2727
|
+
previewHex(hex);
|
|
2728
|
+
addRecent(curHex);
|
|
2729
|
+
customInput.value = curHex;
|
|
2730
|
+
if (custom) renderRecents();
|
|
2731
|
+
}
|
|
2713
2732
|
renderRecents();
|
|
2714
2733
|
paintSelection();
|
|
2715
2734
|
paintOpacity();
|
package/dist/ui.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as VelaTheme } from './options-
|
|
1
|
+
import { c as VelaTheme } from './options-bdSAtp7y.cjs';
|
|
2
2
|
import { MachineSchema, Service, Machine } from '@zag-js/core';
|
|
3
3
|
export { a as KeyBindingDescriptor, K as KeymapManager, b as KeymapOptions, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
|
|
4
4
|
import * as tooltip from '@zag-js/tooltip';
|
package/dist/ui.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as VelaTheme } from './options-
|
|
1
|
+
import { c as VelaTheme } from './options-bdSAtp7y.js';
|
|
2
2
|
import { MachineSchema, Service, Machine } from '@zag-js/core';
|
|
3
3
|
export { a as KeyBindingDescriptor, K as KeymapManager, b as KeymapOptions, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
|
|
4
4
|
import * as tooltip from '@zag-js/tooltip';
|
package/dist/ui.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-
|
|
2
|
-
export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, ColorField, Dialog, FIELD_GAP_PX, GlyphSelect, Menu, NumberInput, Popover, Select, Switch, TextArea, TextField, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, normalizeProps, numberInputController, openPopoverTrigger, openSelectList, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, spreadProps, switchController, textAreaController, textFieldController, toggleSelectList, transparencyChecker, viewportRect, widthField, widthFieldOptions } from './chunk-
|
|
3
|
-
export { FIELD_FOCUS_CSS, FIELD_FOCUS_RING, iconEl, iconMarkup, injectStyles, overlayScrollbarCss, registerIcon, svg16, svg24, withAlpha } from './chunk-
|
|
1
|
+
export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-Q3TFJNJW.js';
|
|
2
|
+
export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, ColorField, Dialog, FIELD_GAP_PX, GlyphSelect, Menu, NumberInput, Popover, Select, Switch, TextArea, TextField, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, normalizeProps, numberInputController, openPopoverTrigger, openSelectList, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, spreadProps, switchController, textAreaController, textFieldController, toggleSelectList, transparencyChecker, viewportRect, widthField, widthFieldOptions } from './chunk-MGU3USTP.js';
|
|
3
|
+
export { FIELD_FOCUS_CSS, FIELD_FOCUS_RING, iconEl, iconMarkup, injectStyles, overlayScrollbarCss, registerIcon, svg16, svg24, withAlpha } from './chunk-6DPAYEGO.js';
|