@luxalgo/vela 0.7.8 → 0.8.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.
Files changed (47) hide show
  1. package/NOTICE +28 -28
  2. package/README.md +15 -7
  3. package/dist/{DataProvider-CGa4KHRa.d.cts → DataProvider-BrlxntPN.d.cts} +1 -1
  4. package/dist/{DataProvider-CmWUtDVL.d.ts → DataProvider-DwFIoV4r.d.ts} +1 -1
  5. package/dist/{chunk-N4ZZYLMP.js → chunk-ATGTCWHJ.js} +726 -273
  6. package/dist/{chunk-CAFCLMPF.js → chunk-BZQM2XO7.js} +1 -0
  7. package/dist/{chunk-M6GP7DAX.js → chunk-DBDXKZUF.js} +474 -47
  8. package/dist/{chunk-BFA32GOU.js → chunk-EZ5FWVLA.js} +5 -2
  9. package/dist/{chunk-PVGWNF7V.js → chunk-LMBYEGUR.js} +2 -2
  10. package/dist/{chunk-WTWGEB7K.js → chunk-NELQJCGK.js} +298 -5
  11. package/dist/{contributions-DF_Ea07m.d.cts → contributions-CtlptxR8.d.cts} +187 -5
  12. package/dist/{contributions-nKOSeLy8.d.ts → contributions-tjNExo1o.d.ts} +187 -5
  13. package/dist/index.cjs +1044 -272
  14. package/dist/index.d.cts +24 -8
  15. package/dist/index.d.ts +24 -8
  16. package/dist/index.js +28 -4
  17. package/dist/{options-D1AJKsn_.d.ts → options-BnEPUuVV.d.cts} +1 -1
  18. package/dist/{options-D1AJKsn_.d.cts → options-BnEPUuVV.d.ts} +1 -1
  19. package/dist/{plugin-6F04gjQe.d.cts → plugin-BWxJRKzS.d.cts} +10 -4
  20. package/dist/{plugin-BLsNipkc.d.ts → plugin-e2WUEtiI.d.ts} +10 -4
  21. package/dist/plugin.cjs +1 -0
  22. package/dist/plugin.d.cts +4 -4
  23. package/dist/plugin.d.ts +4 -4
  24. package/dist/plugin.js +2 -2
  25. package/dist/providers/binance.d.cts +2 -2
  26. package/dist/providers/binance.d.ts +2 -2
  27. package/dist/providers/coinbase.d.cts +2 -2
  28. package/dist/providers/coinbase.d.ts +2 -2
  29. package/dist/providers/hyperliquid.d.cts +2 -2
  30. package/dist/providers/hyperliquid.d.ts +2 -2
  31. package/dist/{statusline-model-DAFyqVmR.d.ts → statusline-model-DFY7tuHj.d.cts} +5 -3
  32. package/dist/{statusline-model-BoWJ3cWQ.d.cts → statusline-model-zKXtGIjj.d.ts} +5 -3
  33. package/dist/ui.cjs +301 -3
  34. package/dist/ui.d.cts +75 -2
  35. package/dist/ui.d.ts +75 -2
  36. package/dist/ui.js +3 -3
  37. package/dist/vela.global.js +1046 -274
  38. package/dist/vela.global.min.js +82 -87
  39. package/dist/widget.cjs +1504 -327
  40. package/dist/widget.d.cts +26 -7
  41. package/dist/widget.d.ts +26 -7
  42. package/dist/widget.js +7 -7
  43. package/dist/workspace.cjs +1507 -327
  44. package/dist/workspace.d.cts +125 -7
  45. package/dist/workspace.d.ts +125 -7
  46. package/dist/workspace.js +6 -6
  47. package/package.json +2 -2
package/dist/ui.cjs CHANGED
@@ -309,6 +309,7 @@ registerIcon("chevron-down", S('<path d="M3.5 6 8 10.5 12.5 6"/>'));
309
309
  registerIcon("chevron-up", S('<path d="M3.5 10 8 5.5 12.5 10"/>'));
310
310
  registerIcon("chevrons-right", S('<path d="m4 3.5 4.5 4.5L4 12.5"/><path d="m8.5 3.5 4.5 4.5-4.5 4.5"/>'));
311
311
  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"/>'));
312
+ registerIcon("replay", S('<path d="M14 4.2v7.6L8.6 8z"/><path d="M7.4 4.2v7.6L2 8z"/>'));
312
313
  registerIcon("check", S('<path d="m2.8 8.4 3.4 3.4 7-7.6"/>'));
313
314
  registerIcon("close", S('<path d="m3.8 3.8 8.4 8.4M12.2 3.8l-8.4 8.4"/>'));
314
315
  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"/>'));
@@ -2717,14 +2718,49 @@ function buildColorPicker(color, theme, onChange, options = {}) {
2717
2718
  const knob = document.createElement("div");
2718
2719
  knob.style.cssText = "position:absolute;top:50%;width:15px;height:15px;border-radius:50%;background:var(--vela-selected-bg);box-shadow:0 1px 3px rgba(0,0,0,0.55);transform:translate(-50%,-50%);pointer-events:none;";
2719
2720
  track.appendChild(knob);
2720
- const pctBox = document.createElement("div");
2721
- pctBox.style.cssText = `min-width:42px;text-align:center;font:var(--vela-font-size-md) ${theme.fontFamily};color:var(--vela-fg);border:1px solid var(--vela-border);border-radius:5px;padding:3px 4px;`;
2721
+ const pctBox = document.createElement("input");
2722
+ pctBox.type = "text";
2723
+ pctBox.inputMode = "numeric";
2724
+ pctBox.title = "Opacity (%)";
2725
+ pctBox.style.cssText = `width:46px;box-sizing:border-box;text-align:center;font:var(--vela-font-size-md) ${theme.fontFamily};color:var(--vela-fg);background:transparent;border:1px solid var(--vela-border);border-radius:5px;padding:3px 4px;outline:none;`;
2726
+ pctBox.addEventListener("focus", () => {
2727
+ pctBox.style.borderColor = "var(--vela-border-strong)";
2728
+ pctBox.select();
2729
+ });
2722
2730
  opRow.append(track, pctBox);
2723
2731
  const paintOpacity = () => {
2724
2732
  track.style.background = `linear-gradient(to right, ${curHex}00, ${curHex}ff), ${CHECKER}`;
2725
2733
  knob.style.left = `${curAlpha * 100}%`;
2726
- pctBox.textContent = `${Math.round(curAlpha * 100)}%`;
2734
+ pctBox.value = `${Math.round(curAlpha * 100)}%`;
2727
2735
  };
2736
+ const commitTyped = () => {
2737
+ pctBox.style.borderColor = "var(--vela-border)";
2738
+ const n = parseFloat(pctBox.value.replace("%", ""));
2739
+ if (Number.isFinite(n)) {
2740
+ const next = Math.max(0, Math.min(100, n)) / 100;
2741
+ if (Math.round(next * 100) !== Math.round(curAlpha * 100)) {
2742
+ curAlpha = next;
2743
+ paintOpacity();
2744
+ emit();
2745
+ return;
2746
+ }
2747
+ }
2748
+ paintOpacity();
2749
+ };
2750
+ pctBox.addEventListener("change", commitTyped);
2751
+ pctBox.addEventListener("blur", () => {
2752
+ pctBox.style.borderColor = "var(--vela-border)";
2753
+ paintOpacity();
2754
+ });
2755
+ pctBox.addEventListener("keydown", (e) => {
2756
+ if (e.key === "Escape") return;
2757
+ e.stopPropagation();
2758
+ if (e.key === "Enter") {
2759
+ e.preventDefault();
2760
+ commitTyped();
2761
+ pctBox.blur();
2762
+ }
2763
+ });
2728
2764
  let dragging = false;
2729
2765
  const onDrag = (clientX) => {
2730
2766
  const r = track.getBoundingClientRect();
@@ -3654,6 +3690,264 @@ var CalloutBubble = class {
3654
3690
  }
3655
3691
  };
3656
3692
 
3693
+ // src/ui/components/date-picker/controller.ts
3694
+ var MONTH_LABELS = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
3695
+ var MONTH_SHORT = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
3696
+ var WEEKDAY_LABELS = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
3697
+ function isoDate(d) {
3698
+ return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")}`;
3699
+ }
3700
+ function normalizeDateInput(raw) {
3701
+ const m = /^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(raw.trim());
3702
+ if (!m) return null;
3703
+ const y = Number(m[1]);
3704
+ const mo = Number(m[2]);
3705
+ const d = Number(m[3]);
3706
+ const dt = new Date(y, mo - 1, d);
3707
+ if (dt.getFullYear() !== y || dt.getMonth() !== mo - 1 || dt.getDate() !== d) return null;
3708
+ return isoDate(dt);
3709
+ }
3710
+ function parseIsoDate(raw) {
3711
+ const iso = raw ? normalizeDateInput(raw) : null;
3712
+ if (!iso) return null;
3713
+ const [y, mo, d] = iso.split("-").map(Number);
3714
+ return new Date(y, mo - 1, d);
3715
+ }
3716
+ function datePickerController(opts = {}) {
3717
+ const today = opts.today ?? /* @__PURE__ */ new Date();
3718
+ let selected = parseIsoDate(opts.value);
3719
+ let year = selected?.getFullYear() ?? today.getFullYear();
3720
+ let month = selected?.getMonth() ?? today.getMonth();
3721
+ let panel = "date";
3722
+ const decade = () => Math.floor(year / 10) * 10;
3723
+ return {
3724
+ get panel() {
3725
+ return panel;
3726
+ },
3727
+ get year() {
3728
+ return year;
3729
+ },
3730
+ get month() {
3731
+ return month;
3732
+ },
3733
+ get value() {
3734
+ return selected ? isoDate(selected) : null;
3735
+ },
3736
+ header() {
3737
+ return {
3738
+ month: MONTH_LABELS[month] ?? "",
3739
+ monthVisible: panel === "date",
3740
+ year: panel === "year" ? `${decade()}-${decade() + 9}` : String(year),
3741
+ yearDisabled: panel === "year"
3742
+ // in the decade panel the year reads as its title
3743
+ };
3744
+ },
3745
+ navLabels() {
3746
+ if (panel === "date") return { prev: "Previous month", next: "Next month" };
3747
+ if (panel === "month") return { prev: "Previous year", next: "Next year" };
3748
+ return { prev: "Previous decade", next: "Next decade" };
3749
+ },
3750
+ cells() {
3751
+ const out = [];
3752
+ if (panel === "date") {
3753
+ const startPad = new Date(year, month, 1).getDay();
3754
+ const days = new Date(year, month + 1, 0).getDate();
3755
+ const todayIso = isoDate(today);
3756
+ const selectedIso = selected ? isoDate(selected) : "";
3757
+ for (let i = 0; i < startPad; i++) out.push({ label: "", value: "", checked: false, today: false, blank: true });
3758
+ for (let day = 1; day <= days; day++) {
3759
+ const iso = `${year}-${String(month + 1).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
3760
+ out.push({ label: String(day), value: iso, checked: iso === selectedIso, today: iso === todayIso });
3761
+ }
3762
+ return out;
3763
+ }
3764
+ if (panel === "month") {
3765
+ for (let m = 0; m < 12; m++) {
3766
+ out.push({
3767
+ label: MONTH_SHORT[m] ?? "",
3768
+ value: m,
3769
+ checked: selected?.getFullYear() === year && selected.getMonth() === m,
3770
+ today: today.getFullYear() === year && today.getMonth() === m
3771
+ });
3772
+ }
3773
+ return out;
3774
+ }
3775
+ const d = decade();
3776
+ for (let y = d - 1; y <= d + 10; y++) {
3777
+ out.push({ label: String(y), value: y, checked: selected?.getFullYear() === y, today: today.getFullYear() === y, outside: y < d || y > d + 9 });
3778
+ }
3779
+ return out;
3780
+ },
3781
+ step(dir) {
3782
+ if (panel === "date") {
3783
+ month += dir;
3784
+ if (month < 0) {
3785
+ month = 11;
3786
+ year -= 1;
3787
+ }
3788
+ if (month > 11) {
3789
+ month = 0;
3790
+ year += 1;
3791
+ }
3792
+ } else {
3793
+ year += panel === "month" ? dir : dir * 10;
3794
+ }
3795
+ },
3796
+ showMonths() {
3797
+ panel = "month";
3798
+ },
3799
+ showYears() {
3800
+ panel = "year";
3801
+ },
3802
+ choose(cell) {
3803
+ if (cell.blank) return null;
3804
+ if (panel === "date") {
3805
+ selected = parseIsoDate(String(cell.value));
3806
+ return selected ? isoDate(selected) : null;
3807
+ }
3808
+ if (panel === "month") {
3809
+ month = Number(cell.value);
3810
+ panel = "date";
3811
+ return null;
3812
+ }
3813
+ year = Number(cell.value);
3814
+ panel = "month";
3815
+ return null;
3816
+ },
3817
+ setValue(value) {
3818
+ selected = parseIsoDate(value);
3819
+ if (selected) {
3820
+ year = selected.getFullYear();
3821
+ month = selected.getMonth();
3822
+ }
3823
+ panel = "date";
3824
+ }
3825
+ };
3826
+ }
3827
+
3828
+ // src/ui/components/date-picker/styles.ts
3829
+ var DATE_PICKER_STYLE_ID = "vela-date-picker-styles";
3830
+ var DATE_PICKER_CSS = `
3831
+ .vela-date-picker{color:var(--vela-fg);font:14px var(--vela-font);user-select:none;}
3832
+ .vela-date-picker [hidden]{display:none !important;}
3833
+ .vela-date-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
3834
+ .vela-date-picker-title{flex:1;display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;}
3835
+ .vela-date-picker-switch{border:none;background:transparent;color:var(--vela-fg-bright);font:inherit;font-weight:600;font-size:14px;padding:2px 6px;border-radius:4px;cursor:pointer;}
3836
+ .vela-date-picker-switch:not(:disabled):hover{background:var(--vela-hover);}
3837
+ .vela-date-picker-switch:disabled{cursor:default;}
3838
+ .vela-date-picker-nav{width:24px;height:24px;border:none;background:transparent;color:var(--vela-fg-muted);border-radius:4px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;}
3839
+ .vela-date-picker-nav:hover{background:var(--vela-hover);color:var(--vela-fg-bright);}
3840
+ .vela-date-picker-week,.vela-date-picker-grid{display:grid;grid-template-columns:repeat(7,28px);gap:2px;}
3841
+ .vela-date-picker-week{margin-bottom:4px;color:var(--vela-fg-muted);font-size:11px;text-align:center;}
3842
+ .vela-date-picker-week span{line-height:20px;}
3843
+ .vela-date-picker-blank{width:28px;height:28px;}
3844
+ .vela-date-picker-day{width:28px;height:28px;border:none;background:transparent;color:inherit;border-radius:4px;padding:0;cursor:pointer;font:inherit;font-size:14px;}
3845
+ .vela-date-picker-day:hover{background:var(--vela-hover);}
3846
+ .vela-date-picker-day[data-checked]{background:var(--vela-hover-strong);color:var(--vela-fg-bright);}
3847
+ .vela-date-picker-day[data-today]:not([data-checked]){box-shadow:inset 0 0 0 1px var(--vela-border-strong);}
3848
+ .vela-date-picker-cells{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:calc(7 * 28px + 6 * 2px);}
3849
+ .vela-date-picker-cell{height:36px;border:none;background:transparent;color:inherit;border-radius:4px;padding:0 4px;cursor:pointer;font:inherit;font-size:14px;}
3850
+ .vela-date-picker-cell:hover{background:var(--vela-hover);}
3851
+ .vela-date-picker-cell[data-checked]{background:var(--vela-hover-strong);color:var(--vela-fg-bright);}
3852
+ .vela-date-picker-cell[data-today]:not([data-checked]){box-shadow:inset 0 0 0 1px var(--vela-border-strong);}
3853
+ .vela-date-picker-cell[data-outside]{opacity:0.45;}
3854
+ `;
3855
+
3856
+ // src/ui/components/date-picker/view.ts
3857
+ var DatePicker = class {
3858
+ constructor(opts = {}) {
3859
+ this.opts = opts;
3860
+ const doc = document;
3861
+ injectStyles(DATE_PICKER_STYLE_ID, DATE_PICKER_CSS, doc);
3862
+ this.ctrl = datePickerController(opts);
3863
+ const button = (className) => {
3864
+ const b = doc.createElement("button");
3865
+ b.type = "button";
3866
+ b.className = className;
3867
+ return b;
3868
+ };
3869
+ this.prev = button("vela-date-picker-nav");
3870
+ this.prev.append(iconEl("chevron-left", doc));
3871
+ this.next = button("vela-date-picker-nav");
3872
+ this.next.append(iconEl("chevron-right", doc));
3873
+ this.monthBtn = button("vela-date-picker-switch");
3874
+ this.monthBtn.setAttribute("aria-label", "Choose month");
3875
+ this.yearBtn = button("vela-date-picker-switch");
3876
+ this.yearBtn.setAttribute("aria-label", "Choose year");
3877
+ const title = doc.createElement("div");
3878
+ title.className = "vela-date-picker-title";
3879
+ title.append(this.monthBtn, this.yearBtn);
3880
+ const head = doc.createElement("div");
3881
+ head.className = "vela-date-picker-head";
3882
+ head.append(this.prev, title, this.next);
3883
+ this.week = doc.createElement("div");
3884
+ this.week.className = "vela-date-picker-week";
3885
+ for (const d of WEEKDAY_LABELS) {
3886
+ const cell = doc.createElement("span");
3887
+ cell.textContent = d;
3888
+ this.week.appendChild(cell);
3889
+ }
3890
+ this.grid = doc.createElement("div");
3891
+ const on = (el, run) => el.addEventListener("click", (e) => {
3892
+ e.stopPropagation();
3893
+ run();
3894
+ this.paint();
3895
+ });
3896
+ on(this.prev, () => this.ctrl.step(-1));
3897
+ on(this.next, () => this.ctrl.step(1));
3898
+ on(this.monthBtn, () => this.ctrl.showMonths());
3899
+ on(this.yearBtn, () => this.ctrl.showYears());
3900
+ this.el = doc.createElement("div");
3901
+ this.el.className = "vela-date-picker";
3902
+ this.el.append(head, this.week, this.grid);
3903
+ this.paint();
3904
+ }
3905
+ get value() {
3906
+ return this.ctrl.value;
3907
+ }
3908
+ /** Rewrite the selection without emitting (the calendar opens on its month). */
3909
+ setValue(value) {
3910
+ this.ctrl.setValue(value);
3911
+ this.paint();
3912
+ }
3913
+ paint() {
3914
+ const doc = this.el.ownerDocument;
3915
+ const h = this.ctrl.header();
3916
+ this.monthBtn.hidden = !h.monthVisible;
3917
+ this.monthBtn.textContent = h.month;
3918
+ this.yearBtn.textContent = h.year;
3919
+ this.yearBtn.disabled = h.yearDisabled;
3920
+ const nav = this.ctrl.navLabels();
3921
+ this.prev.setAttribute("aria-label", nav.prev);
3922
+ this.next.setAttribute("aria-label", nav.next);
3923
+ const dates = this.ctrl.panel === "date";
3924
+ this.week.hidden = !dates;
3925
+ this.grid.className = dates ? "vela-date-picker-grid" : "vela-date-picker-cells";
3926
+ this.grid.replaceChildren(...this.ctrl.cells().map((cell) => this.cellEl(doc, cell, dates)));
3927
+ }
3928
+ cellEl(doc, cell, dates) {
3929
+ if (cell.blank) {
3930
+ const blank = doc.createElement("span");
3931
+ blank.className = "vela-date-picker-blank";
3932
+ return blank;
3933
+ }
3934
+ const b = doc.createElement("button");
3935
+ b.type = "button";
3936
+ b.className = dates ? "vela-date-picker-day" : "vela-date-picker-cell";
3937
+ b.textContent = cell.label;
3938
+ if (cell.checked) b.dataset.checked = "1";
3939
+ if (cell.today) b.dataset.today = "1";
3940
+ if (cell.outside) b.dataset.outside = "1";
3941
+ b.addEventListener("click", (e) => {
3942
+ e.stopPropagation();
3943
+ const picked = this.ctrl.choose(cell);
3944
+ if (picked) this.opts.onPick?.(picked);
3945
+ else this.paint();
3946
+ });
3947
+ return b;
3948
+ }
3949
+ };
3950
+
3657
3951
  Object.defineProperty(exports, "normalizeProps", {
3658
3952
  enumerable: true,
3659
3953
  get: function () { return vanilla.normalizeProps; }
@@ -3666,6 +3960,7 @@ exports.CALLOUT_CSS = CALLOUT_CSS;
3666
3960
  exports.CALLOUT_STYLE_ID = CALLOUT_STYLE_ID;
3667
3961
  exports.CalloutBubble = CalloutBubble;
3668
3962
  exports.ColorField = ColorField;
3963
+ exports.DatePicker = DatePicker;
3669
3964
  exports.Dialog = Dialog;
3670
3965
  exports.Drawer = Drawer;
3671
3966
  exports.FIELD_FOCUS_CSS = FIELD_FOCUS_CSS;
@@ -3697,6 +3992,7 @@ exports.closesPanel = closesPanel;
3697
3992
  exports.colorField = colorField;
3698
3993
  exports.colorPickerController = colorPickerController;
3699
3994
  exports.combineColor = combineColor;
3995
+ exports.datePickerController = datePickerController;
3700
3996
  exports.decorateSelectScroll = decorateSelectScroll;
3701
3997
  exports.dialogController = dialogController;
3702
3998
  exports.drawerController = drawerController;
@@ -3716,9 +4012,11 @@ exports.injectStyles = injectStyles;
3716
4012
  exports.insetRect = insetRect;
3717
4013
  exports.intersectRects = intersectRects;
3718
4014
  exports.isPopoverOpen = isPopoverOpen;
4015
+ exports.isoDate = isoDate;
3719
4016
  exports.lineWidthGlyph = lineWidthGlyph;
3720
4017
  exports.menuController = menuController;
3721
4018
  exports.nextUid = nextUid;
4019
+ exports.normalizeDateInput = normalizeDateInput;
3722
4020
  exports.numberInputController = numberInputController;
3723
4021
  exports.openPopoverTrigger = openPopoverTrigger;
3724
4022
  exports.openSelectList = openSelectList;
package/dist/ui.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as VelaTheme } from './options-D1AJKsn_.cjs';
1
+ import { c as VelaTheme } from './options-BnEPUuVV.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';
@@ -998,4 +998,77 @@ declare class CalloutBubble {
998
998
  declare const CALLOUT_STYLE_ID = "vela-ui-callout-bubble";
999
999
  declare const CALLOUT_CSS = "\n.vela-callout {\n display: inline-grid;\n place-items: center;\n border-radius: 50%;\n flex: none;\n line-height: 0;\n box-sizing: border-box;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n}\n.vela-callout[role='button'] { cursor: pointer; }\n.vela-callout svg { display: block; }\n/* The deployed panel \u2014 carries the kit's elevated-card look itself (the popover\n shell is bare positioning chrome). */\n.vela-callout-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 10px 12px;\n max-width: 280px;\n box-sizing: border-box;\n background: var(--vela-surface-elev);\n border: 1px solid var(--vela-border-strong);\n border-radius: 6px;\n box-shadow: var(--vela-shadow);\n color: var(--vela-fg);\n font: var(--vela-font-size-md) var(--vela-font);\n}\n.vela-callout-title { font-weight: 600; color: var(--vela-fg-bright); }\n.vela-callout-text { color: var(--vela-fg-muted); line-height: 1.45; white-space: pre-line; }\n.vela-callout-actions { display: flex; flex-wrap: wrap; gap: 8px; }\n.vela-callout-btn {\n cursor: pointer;\n height: 26px;\n padding: 0 10px;\n border-radius: 5px;\n border: 1px solid var(--vela-border);\n background: transparent;\n color: var(--vela-fg);\n font-size: var(--vela-font-size-md);\n font-family: inherit;\n transition: background var(--vela-dur-fast) ease, color var(--vela-dur-fast) ease, opacity var(--vela-dur-fast) ease, border-color var(--vela-dur-fast) ease;\n}\n.vela-callout-btn:hover { background: var(--vela-hover); color: var(--vela-fg-bright); border-color: var(--vela-fg-muted); }\n.vela-callout-btn-primary { border-color: var(--vela-selected-bg); background: var(--vela-selected-bg); color: var(--vela-selected-fg); }\n.vela-callout-btn-primary:hover { background: var(--vela-selected-bg); color: var(--vela-selected-fg); opacity: 0.85; border-color: var(--vela-selected-bg); }\n";
1000
1000
 
1001
- export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, type ColorCommit, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, type ColorPickerOptions, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
1001
+ type DatePickerPanel = 'date' | 'month' | 'year';
1002
+ interface DatePickerControllerOptions {
1003
+ /** The selected date (`YYYY-MM-DD`); the calendar opens on its month. */
1004
+ value?: string;
1005
+ /** "Today" for the today ring and the initial month when nothing is selected. */
1006
+ today?: Date;
1007
+ }
1008
+ /** One cell of the current panel. `blank` cells pad the first week of a month. */
1009
+ interface DatePickerCell {
1010
+ label: string;
1011
+ /** The day (`YYYY-MM-DD`) on the date panel; the month index or the year otherwise. */
1012
+ value: string | number;
1013
+ checked: boolean;
1014
+ today: boolean;
1015
+ /** A padding year outside the decade on the year panel. */
1016
+ outside?: boolean;
1017
+ blank?: boolean;
1018
+ }
1019
+ interface DatePickerController {
1020
+ readonly panel: DatePickerPanel;
1021
+ readonly year: number;
1022
+ readonly month: number;
1023
+ readonly value: string | null;
1024
+ /** Header text: the month switch (hidden off the date panel) and the year switch. */
1025
+ header(): {
1026
+ month: string;
1027
+ monthVisible: boolean;
1028
+ year: string;
1029
+ yearDisabled: boolean;
1030
+ };
1031
+ /** What the arrows step on the current panel. */
1032
+ navLabels(): {
1033
+ prev: string;
1034
+ next: string;
1035
+ };
1036
+ cells(): DatePickerCell[];
1037
+ /** One month, one year or ten, depending on the panel. */
1038
+ step(dir: 1 | -1): void;
1039
+ showMonths(): void;
1040
+ showYears(): void;
1041
+ /** Activate a cell: a day returns its date (the pick); a month or year only navigates. */
1042
+ choose(cell: DatePickerCell): string | null;
1043
+ /** Rewrite the selection without emitting (and open on its month). */
1044
+ setValue(value: string | null): void;
1045
+ }
1046
+ /** `YYYY-MM-DD` for a local date. */
1047
+ declare function isoDate(d: Date): string;
1048
+ /** Accept `YYYY-MM-DD` or `YYYY-M-D` and return a padded ISO date, or null if unusable. */
1049
+ declare function normalizeDateInput(raw: string): string | null;
1050
+ declare function datePickerController(opts?: DatePickerControllerOptions): DatePickerController;
1051
+
1052
+ interface DatePickerOptions extends DatePickerControllerOptions {
1053
+ /** A day was picked (`YYYY-MM-DD`). */
1054
+ onPick?: (value: string) => void;
1055
+ }
1056
+ declare class DatePicker {
1057
+ private readonly opts;
1058
+ readonly el: HTMLDivElement;
1059
+ private readonly ctrl;
1060
+ private readonly prev;
1061
+ private readonly next;
1062
+ private readonly monthBtn;
1063
+ private readonly yearBtn;
1064
+ private readonly week;
1065
+ private readonly grid;
1066
+ constructor(opts?: DatePickerOptions);
1067
+ get value(): string | null;
1068
+ /** Rewrite the selection without emitting (the calendar opens on its month). */
1069
+ setValue(value: string | null): void;
1070
+ private paint;
1071
+ private cellEl;
1072
+ }
1073
+
1074
+ export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, type ColorCommit, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, type ColorPickerOptions, DatePicker, type DatePickerCell, type DatePickerController, type DatePickerControllerOptions, type DatePickerOptions, type DatePickerPanel, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, datePickerController, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, isoDate, lineWidthGlyph, menuController, nextUid, normalizeDateInput, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
package/dist/ui.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as VelaTheme } from './options-D1AJKsn_.js';
1
+ import { c as VelaTheme } from './options-BnEPUuVV.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';
@@ -998,4 +998,77 @@ declare class CalloutBubble {
998
998
  declare const CALLOUT_STYLE_ID = "vela-ui-callout-bubble";
999
999
  declare const CALLOUT_CSS = "\n.vela-callout {\n display: inline-grid;\n place-items: center;\n border-radius: 50%;\n flex: none;\n line-height: 0;\n box-sizing: border-box;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n}\n.vela-callout[role='button'] { cursor: pointer; }\n.vela-callout svg { display: block; }\n/* The deployed panel \u2014 carries the kit's elevated-card look itself (the popover\n shell is bare positioning chrome). */\n.vela-callout-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 10px 12px;\n max-width: 280px;\n box-sizing: border-box;\n background: var(--vela-surface-elev);\n border: 1px solid var(--vela-border-strong);\n border-radius: 6px;\n box-shadow: var(--vela-shadow);\n color: var(--vela-fg);\n font: var(--vela-font-size-md) var(--vela-font);\n}\n.vela-callout-title { font-weight: 600; color: var(--vela-fg-bright); }\n.vela-callout-text { color: var(--vela-fg-muted); line-height: 1.45; white-space: pre-line; }\n.vela-callout-actions { display: flex; flex-wrap: wrap; gap: 8px; }\n.vela-callout-btn {\n cursor: pointer;\n height: 26px;\n padding: 0 10px;\n border-radius: 5px;\n border: 1px solid var(--vela-border);\n background: transparent;\n color: var(--vela-fg);\n font-size: var(--vela-font-size-md);\n font-family: inherit;\n transition: background var(--vela-dur-fast) ease, color var(--vela-dur-fast) ease, opacity var(--vela-dur-fast) ease, border-color var(--vela-dur-fast) ease;\n}\n.vela-callout-btn:hover { background: var(--vela-hover); color: var(--vela-fg-bright); border-color: var(--vela-fg-muted); }\n.vela-callout-btn-primary { border-color: var(--vela-selected-bg); background: var(--vela-selected-bg); color: var(--vela-selected-fg); }\n.vela-callout-btn-primary:hover { background: var(--vela-selected-bg); color: var(--vela-selected-fg); opacity: 0.85; border-color: var(--vela-selected-bg); }\n";
1000
1000
 
1001
- export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, type ColorCommit, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, type ColorPickerOptions, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
1001
+ type DatePickerPanel = 'date' | 'month' | 'year';
1002
+ interface DatePickerControllerOptions {
1003
+ /** The selected date (`YYYY-MM-DD`); the calendar opens on its month. */
1004
+ value?: string;
1005
+ /** "Today" for the today ring and the initial month when nothing is selected. */
1006
+ today?: Date;
1007
+ }
1008
+ /** One cell of the current panel. `blank` cells pad the first week of a month. */
1009
+ interface DatePickerCell {
1010
+ label: string;
1011
+ /** The day (`YYYY-MM-DD`) on the date panel; the month index or the year otherwise. */
1012
+ value: string | number;
1013
+ checked: boolean;
1014
+ today: boolean;
1015
+ /** A padding year outside the decade on the year panel. */
1016
+ outside?: boolean;
1017
+ blank?: boolean;
1018
+ }
1019
+ interface DatePickerController {
1020
+ readonly panel: DatePickerPanel;
1021
+ readonly year: number;
1022
+ readonly month: number;
1023
+ readonly value: string | null;
1024
+ /** Header text: the month switch (hidden off the date panel) and the year switch. */
1025
+ header(): {
1026
+ month: string;
1027
+ monthVisible: boolean;
1028
+ year: string;
1029
+ yearDisabled: boolean;
1030
+ };
1031
+ /** What the arrows step on the current panel. */
1032
+ navLabels(): {
1033
+ prev: string;
1034
+ next: string;
1035
+ };
1036
+ cells(): DatePickerCell[];
1037
+ /** One month, one year or ten, depending on the panel. */
1038
+ step(dir: 1 | -1): void;
1039
+ showMonths(): void;
1040
+ showYears(): void;
1041
+ /** Activate a cell: a day returns its date (the pick); a month or year only navigates. */
1042
+ choose(cell: DatePickerCell): string | null;
1043
+ /** Rewrite the selection without emitting (and open on its month). */
1044
+ setValue(value: string | null): void;
1045
+ }
1046
+ /** `YYYY-MM-DD` for a local date. */
1047
+ declare function isoDate(d: Date): string;
1048
+ /** Accept `YYYY-MM-DD` or `YYYY-M-D` and return a padded ISO date, or null if unusable. */
1049
+ declare function normalizeDateInput(raw: string): string | null;
1050
+ declare function datePickerController(opts?: DatePickerControllerOptions): DatePickerController;
1051
+
1052
+ interface DatePickerOptions extends DatePickerControllerOptions {
1053
+ /** A day was picked (`YYYY-MM-DD`). */
1054
+ onPick?: (value: string) => void;
1055
+ }
1056
+ declare class DatePicker {
1057
+ private readonly opts;
1058
+ readonly el: HTMLDivElement;
1059
+ private readonly ctrl;
1060
+ private readonly prev;
1061
+ private readonly next;
1062
+ private readonly monthBtn;
1063
+ private readonly yearBtn;
1064
+ private readonly week;
1065
+ private readonly grid;
1066
+ constructor(opts?: DatePickerOptions);
1067
+ get value(): string | null;
1068
+ /** Rewrite the selection without emitting (the calendar opens on its month). */
1069
+ setValue(value: string | null): void;
1070
+ private paint;
1071
+ private cellEl;
1072
+ }
1073
+
1074
+ export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, type ColorCommit, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, type ColorPickerOptions, DatePicker, type DatePickerCell, type DatePickerController, type DatePickerControllerOptions, type DatePickerOptions, type DatePickerPanel, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, datePickerController, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, isoDate, lineWidthGlyph, menuController, nextUid, normalizeDateInput, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
package/dist/ui.js CHANGED
@@ -1,3 +1,3 @@
1
- export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-PVGWNF7V.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-WTWGEB7K.js';
3
- export { FIELD_FOCUS_CSS, FIELD_FOCUS_RING, iconEl, iconMarkup, injectStyles, overlayScrollbarCss, registerIcon, svg16, svg24, withAlpha } from './chunk-CAFCLMPF.js';
1
+ export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-LMBYEGUR.js';
2
+ export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, ColorField, DatePicker, 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, datePickerController, decorateSelectScroll, dialogController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, insetRect, intersectRects, isPopoverOpen, isoDate, lineWidthGlyph, menuController, nextUid, normalizeDateInput, normalizeProps, numberInputController, openPopoverTrigger, openSelectList, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, spreadProps, switchController, textAreaController, textFieldController, toggleSelectList, transparencyChecker, viewportRect, widthField, widthFieldOptions } from './chunk-NELQJCGK.js';
3
+ export { FIELD_FOCUS_CSS, FIELD_FOCUS_RING, iconEl, iconMarkup, injectStyles, overlayScrollbarCss, registerIcon, svg16, svg24, withAlpha } from './chunk-BZQM2XO7.js';