@floegence/floe-webapp-core 0.86.60 → 0.86.62

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 (103) hide show
  1. package/dist/components/chat/blocks/BlockRenderer.js +1 -1
  2. package/dist/components/chat/blocks/CodeDiffBlock.js +56 -56
  3. package/dist/components/chat/blocks/ImageBlock.js +1 -1
  4. package/dist/components/chat/blocks/ToolCallBlock.js +57 -57
  5. package/dist/components/chat/status/ConnectionStatus.js +10 -10
  6. package/dist/components/deck/DeckCell.js +25 -25
  7. package/dist/components/deck/DeckContextMenu.js +20 -20
  8. package/dist/components/deck/DeckGrid.js +1 -1
  9. package/dist/components/deck/DeckTopBar.js +42 -42
  10. package/dist/components/deck/DropZonePreview.js +6 -6
  11. package/dist/components/deck/LayoutSelector.js +53 -53
  12. package/dist/components/deck/WidgetFrame.js +28 -28
  13. package/dist/components/deck/WidgetPalette.js +31 -31
  14. package/dist/components/deck/WidgetTypeSwitcher.js +31 -31
  15. package/dist/components/file-browser/Breadcrumb.js +27 -27
  16. package/dist/components/file-browser/DirectoryTree.js +15 -15
  17. package/dist/components/file-browser/DragPreview.js +58 -58
  18. package/dist/components/file-browser/FileBrowser.js +17 -17
  19. package/dist/components/file-browser/FileBrowserStatusBar.js +18 -18
  20. package/dist/components/file-browser/FileBrowserToolbar.js +27 -27
  21. package/dist/components/file-browser/FileContextMenu.js +47 -47
  22. package/dist/components/file-browser/FileGridView.js +53 -51
  23. package/dist/components/file-browser/FileItemDecorations.js +30 -27
  24. package/dist/components/file-browser/FileListView.js +114 -114
  25. package/dist/components/icons/index.js +1357 -1357
  26. package/dist/components/launchpad/Launchpad.js +14 -14
  27. package/dist/components/launchpad/LaunchpadGrid.js +7 -7
  28. package/dist/components/launchpad/LaunchpadItem.js +11 -11
  29. package/dist/components/launchpad/LaunchpadPagination.js +16 -16
  30. package/dist/components/launchpad/LaunchpadSearch.js +9 -9
  31. package/dist/components/layout/ActivityBar.js +52 -55
  32. package/dist/components/layout/BottomBar.js +17 -17
  33. package/dist/components/layout/MobileNavigationPanel.js +36 -36
  34. package/dist/components/layout/MobileTabBar.js +39 -39
  35. package/dist/components/layout/Panel.js +16 -16
  36. package/dist/components/layout/ResizeHandle.js +19 -19
  37. package/dist/components/layout/Shell.js +50 -50
  38. package/dist/components/layout/Sidebar.js +37 -36
  39. package/dist/components/layout/SidebarPane.js +19 -19
  40. package/dist/components/layout/TopBar.js +16 -16
  41. package/dist/components/layout/TopBarIconButton.js +15 -15
  42. package/dist/components/loading/LoadingOverlay.js +9 -9
  43. package/dist/components/loading/Skeleton.js +11 -11
  44. package/dist/components/ui/Button.js +36 -36
  45. package/dist/components/ui/Card.d.ts +11 -62
  46. package/dist/components/ui/Card.js +64 -237
  47. package/dist/components/ui/Checkbox.js +79 -79
  48. package/dist/components/ui/CommandPalette.js +56 -55
  49. package/dist/components/ui/Dialog.js +91 -93
  50. package/dist/components/ui/DirectoryInput.js +22 -22
  51. package/dist/components/ui/DirectoryPicker.js +8 -8
  52. package/dist/components/ui/Dropdown.js +89 -87
  53. package/dist/components/ui/FeedbackIndicator.js +57 -57
  54. package/dist/components/ui/FileOpenPicker.js +37 -37
  55. package/dist/components/ui/FileSavePicker.js +41 -41
  56. package/dist/components/ui/FloatingWindow.js +213 -205
  57. package/dist/components/ui/Form.js +76 -76
  58. package/dist/components/ui/HighlightBlock.js +14 -14
  59. package/dist/components/ui/Input.js +106 -109
  60. package/dist/components/ui/Pagination.js +86 -86
  61. package/dist/components/ui/Popover.d.ts +33 -0
  62. package/dist/components/ui/Popover.js +133 -0
  63. package/dist/components/ui/ProcessingIndicator.js +344 -345
  64. package/dist/components/ui/Progress.js +94 -97
  65. package/dist/components/ui/QuoteBlock.js +25 -25
  66. package/dist/components/ui/Radio.js +91 -91
  67. package/dist/components/ui/SegmentedControl.js +24 -24
  68. package/dist/components/ui/Stepper.js +68 -60
  69. package/dist/components/ui/Switch.js +25 -25
  70. package/dist/components/ui/Tabs.js +99 -87
  71. package/dist/components/ui/Tag.js +12 -9
  72. package/dist/components/ui/Tooltip.js +30 -30
  73. package/dist/components/ui/floatingPresence.d.ts +7 -0
  74. package/dist/components/ui/floatingPresence.js +80 -39
  75. package/dist/components/ui/index.d.ts +2 -1
  76. package/dist/components/ui/picker/DirectoryFavorites.js +27 -27
  77. package/dist/components/ui/picker/PickerBase.js +107 -107
  78. package/dist/context/NotificationContext.js +4 -4
  79. package/dist/context/ThemeContext.js +71 -70
  80. package/dist/floe.css +205 -43
  81. package/dist/full.js +650 -652
  82. package/dist/language.css +320 -0
  83. package/dist/primitives.css +23 -17
  84. package/dist/standalone.css +1 -0
  85. package/dist/styles/themes/classicSemanticTokens.d.ts +122 -122
  86. package/dist/styles/themes/classicSemanticTokens.js +140 -138
  87. package/dist/styles/themes/index.d.ts +3 -1
  88. package/dist/styles/themes/index.js +10 -10
  89. package/dist/styles/themes/presets.d.ts +2 -2
  90. package/dist/styles/themes/presets.js +34 -34
  91. package/dist/styles/tokens.d.ts +152 -68
  92. package/dist/styles/tokens.js +87 -49
  93. package/dist/styles.css +1 -1
  94. package/dist/surface.css +161 -116
  95. package/dist/themes/dark.css +64 -64
  96. package/dist/themes/light.css +64 -64
  97. package/dist/ui.css +171 -255
  98. package/dist/ui.js +176 -178
  99. package/dist/utils/hotInteraction.d.ts +7 -0
  100. package/dist/utils/hotInteraction.js +12 -12
  101. package/dist/widgets/TerminalWidget.js +28 -28
  102. package/dist/workbench-composition.css +15 -15
  103. package/package.json +1 -1
@@ -1,14 +1,14 @@
1
- import { setAttribute as d, insert as f, createComponent as l, Portal as W, use as D, spread as G, mergeProps as J, effect as B, className as p, template as P, memo as z, delegateEvents as te } from "solid-js/web";
2
- import { createSignal as j, createMemo as ne, createEffect as Q, onCleanup as re, Show as y, Index as V } from "solid-js";
3
- import { cn as S } from "../../utils/cn.js";
1
+ import { setAttribute as d, insert as f, createComponent as u, Portal as W, use as D, spread as G, mergeProps as J, effect as q, className as p, template as P, memo as z, delegateEvents as te } from "solid-js/web";
2
+ import { createSignal as B, createMemo as ne, createEffect as Q, onCleanup as re, Show as y, Index as V } from "solid-js";
3
+ import { cn as k } from "../../utils/cn.js";
4
4
  import { deferNonBlocking as oe } from "../../utils/defer.js";
5
- import { ChevronDown as ae, Check as ie, ChevronRight as ue } from "../icons/index.js";
6
- import { focusMenuItem as O, MENU_ITEM_SELECTOR as le, moveMenuFocus as U, calculateMenuPosition as se, calculateSubmenuPosition as ce } from "./menuUtils.js";
5
+ import { ChevronDown as ae, Check as ie, ChevronRight as le } from "../icons/index.js";
6
+ import { focusMenuItem as O, MENU_ITEM_SELECTOR as ue, moveMenuFocus as U, calculateMenuPosition as se, calculateSubmenuPosition as ce } from "./menuUtils.js";
7
7
  import { LOCAL_INTERACTION_SURFACE_ATTR as X } from "./localInteractionSurface.js";
8
8
  import { createFloatingPresence as Y } from "./floatingPresence.js";
9
9
  import { useOverlayMask as de } from "../../hooks/useOverlayMask.js";
10
- import { resolveSurfacePortalHost as fe, projectSurfacePortalPosition as me, resolveSurfacePortalBoundaryRect as ge, isSurfacePortalMode as ve, resolveSurfacePortalMount as be } from "./dialogSurfaceScope.js";
11
- var K = /* @__PURE__ */ P("<div>"), he = /* @__PURE__ */ P("<div><div role=button aria-haspopup=menu data-floe-dropdown-trigger>"), Z = /* @__PURE__ */ P('<div class="my-1 h-px bg-border"role=separator>'), we = /* @__PURE__ */ P('<button type=button role=menuitem><span class="w-3.5 h-3.5 flex items-center justify-center"></span><span class="flex-1 text-left">'), ye = /* @__PURE__ */ P("<div class=relative>"), xe = /* @__PURE__ */ P('<span class="w-3.5 h-3.5 flex items-center justify-center">'), Se = /* @__PURE__ */ P("<span>");
10
+ import { resolveSurfacePortalHost as fe, projectSurfacePortalPosition as me, resolveSurfacePortalBoundaryRect as ge, isSurfacePortalMode as ve, resolveSurfacePortalMount as he } from "./dialogSurfaceScope.js";
11
+ var K = /* @__PURE__ */ P("<div>"), be = /* @__PURE__ */ P("<div><div role=button aria-haspopup=menu data-floe-dropdown-trigger>"), Z = /* @__PURE__ */ P('<div class="my-1 h-px bg-border"role=separator>'), we = /* @__PURE__ */ P('<button type=button data-floe-interactive=item role=menuitem><span class="w-3.5 h-3.5 flex items-center justify-center"></span><span class="flex-1 text-left">'), ye = /* @__PURE__ */ P("<div class=relative>"), xe = /* @__PURE__ */ P('<span class="w-3.5 h-3.5 flex items-center justify-center">'), Se = /* @__PURE__ */ P("<span>");
12
12
  let ke = 0, Me = 0;
13
13
  function Pe(e, c) {
14
14
  switch (e) {
@@ -35,14 +35,15 @@ function Pe(e, c) {
35
35
  }
36
36
  }
37
37
  function $e(e) {
38
- const [c, s] = j(!1), a = Y({
39
- open: c
40
- }), [q, k] = j({
38
+ const [c, s] = B(!1), a = Y({
39
+ open: c,
40
+ element: () => v
41
+ }), [j, M] = B({
41
42
  x: -9999,
42
43
  y: -9999
43
44
  });
44
- let g, h;
45
- const v = `floe-dropdown-${ke += 1}`, $ = `${v}-menu`, M = () => typeof e.items == "function" ? e.items() : e.items, b = ne(() => a.mounted() ? fe({
45
+ let g, v;
46
+ const h = `floe-dropdown-${ke += 1}`, $ = `${h}-menu`, x = () => typeof e.items == "function" ? e.items() : e.items, b = ne(() => a.mounted() ? fe({
46
47
  owner: g
47
48
  }) : {
48
49
  host: null,
@@ -50,7 +51,7 @@ function $e(e) {
50
51
  mountHost: null,
51
52
  mode: "global"
52
53
  }), w = {
53
- mount: () => be(b()),
54
+ mount: () => he(b()),
54
55
  isSurfaceMode: () => ve(b()),
55
56
  boundaryRect: () => ge(b()),
56
57
  projectPosition: (t) => me(t, b())
@@ -59,8 +60,8 @@ function $e(e) {
59
60
  };
60
61
  de({
61
62
  open: a.mounted,
62
- root: () => h,
63
- containsTarget: (t) => !!(t instanceof Element ? t : document.activeElement)?.closest(`[data-floe-dropdown="${v}"]`),
63
+ root: () => v,
64
+ containsTarget: (t) => !!(t instanceof Element ? t : document.activeElement)?.closest(`[data-floe-dropdown="${h}"]`),
64
65
  onClose: C,
65
66
  onEscapeOutside: C,
66
67
  lockBodyScroll: !1,
@@ -72,13 +73,13 @@ function $e(e) {
72
73
  escapeKeyPhase: "bubble"
73
74
  });
74
75
  const T = () => {
75
- if (!g || !h) return;
76
- const t = g.getBoundingClientRect(), o = h.getBoundingClientRect(), n = se(t, o, e.align ?? "start", w.boundaryRect());
77
- k(n);
76
+ if (!g || !v) return;
77
+ const t = g.getBoundingClientRect(), o = v.getBoundingClientRect(), n = se(t, o, e.align ?? "start", w.boundaryRect());
78
+ M(n);
78
79
  };
79
80
  Q(() => {
80
81
  if (!a.mounted()) {
81
- k({
82
+ M({
82
83
  x: -9999,
83
84
  y: -9999
84
85
  });
@@ -87,10 +88,10 @@ function $e(e) {
87
88
  if (!c()) return;
88
89
  const t = (o) => {
89
90
  const n = o.target;
90
- n && typeof n.closest == "function" && n.closest(`[data-floe-dropdown="${v}"]`) || s(!1);
91
+ n && typeof n.closest == "function" && n.closest(`[data-floe-dropdown="${h}"]`) || s(!1);
91
92
  };
92
93
  document.addEventListener("pointerdown", t, !0), requestAnimationFrame(() => {
93
- T(), O(h, e.value ? "selected" : "first");
94
+ T(), O(v, e.value ? "selected" : "first");
94
95
  }), re(() => {
95
96
  document.removeEventListener("pointerdown", t, !0);
96
97
  });
@@ -102,7 +103,7 @@ function $e(e) {
102
103
  })), oe(() => o(t.id));
103
104
  }, A = (t, o = "first") => {
104
105
  e.disabled || (s(t), requestAnimationFrame(() => {
105
- T(), O(h, o);
106
+ T(), O(v, o);
106
107
  }));
107
108
  }, H = (t) => {
108
109
  if (e.disabled) return;
@@ -118,7 +119,7 @@ function $e(e) {
118
119
  A(!0, o.focusMode ?? "first");
119
120
  }
120
121
  }, _ = (t) => {
121
- const o = t.target, n = o?.closest('[role="menu"]'), r = o?.closest(le);
122
+ const o = t.target, n = o?.closest('[role="menu"]'), r = o?.closest(ue);
122
123
  switch (t.key) {
123
124
  case "ArrowDown":
124
125
  t.preventDefault(), U(n, r, 1);
@@ -140,8 +141,8 @@ function $e(e) {
140
141
  }
141
142
  };
142
143
  return (() => {
143
- var t = he(), o = t.firstChild;
144
- d(t, "data-floe-dropdown", v), o.$$keydown = H, o.$$click = () => {
144
+ var t = be(), o = t.firstChild;
145
+ d(t, "data-floe-dropdown", h), o.$$keydown = H, o.$$click = () => {
145
146
  if (!e.disabled) {
146
147
  if (c()) {
147
148
  s(!1);
@@ -151,20 +152,20 @@ function $e(e) {
151
152
  }
152
153
  };
153
154
  var n = g;
154
- return typeof n == "function" ? D(n, o) : g = o, d(o, "aria-controls", $), f(o, () => e.trigger), f(t, l(y, {
155
+ return typeof n == "function" ? D(n, o) : g = o, d(o, "aria-controls", $), f(o, () => e.trigger), f(t, u(y, {
155
156
  get when() {
156
157
  return a.mounted();
157
158
  },
158
159
  get children() {
159
- return l(W, {
160
+ return u(W, {
160
161
  get mount() {
161
162
  return w.mount();
162
163
  },
163
164
  get children() {
164
- var r = K(), u = h;
165
- return typeof u == "function" ? D(u, r) : h = r, d(r, "data-floe-dropdown", v), G(r, J({
165
+ var r = K(), l = v;
166
+ return typeof l == "function" ? D(l, r) : v = r, d(r, "data-floe-dropdown", h), G(r, J({
166
167
  get class() {
167
- return S(w.isSurfaceMode() ? "absolute z-20 min-w-36 py-0.5" : "fixed z-50 min-w-36 py-0.5", "bg-popover text-popover-foreground", "rounded border border-border shadow-md", "floe-floating-presence floe-floating-menu");
168
+ return k(w.isSurfaceMode() ? "absolute z-20 min-w-36" : "fixed z-50 min-w-36", "bg-popover text-popover-foreground p-1", "rounded-panel border border-[var(--floe-line)]", "shadow-[var(--floe-elevation-float)]", "floe-floating-presence floe-floating-menu");
168
169
  },
169
170
  get "data-floating-presence"() {
170
171
  return a.state();
@@ -177,19 +178,19 @@ function $e(e) {
177
178
  }), {
178
179
  get style() {
179
180
  return {
180
- left: `${w.projectPosition(q()).x}px`,
181
- top: `${w.projectPosition(q()).y}px`
181
+ left: `${w.projectPosition(j()).x}px`,
182
+ top: `${w.projectPosition(j()).y}px`
182
183
  };
183
184
  },
184
185
  role: "menu",
185
186
  "data-floe-surface": "floating",
186
187
  id: $,
187
188
  onKeyDown: _
188
- }), !1, !0), f(r, l(V, {
189
+ }), !1, !0), f(r, u(V, {
189
190
  get each() {
190
- return M();
191
+ return x();
191
192
  },
192
- children: (m) => l(y, {
193
+ children: (m) => u(y, {
193
194
  get when() {
194
195
  return !m().separator;
195
196
  },
@@ -197,7 +198,7 @@ function $e(e) {
197
198
  return Z();
198
199
  },
199
200
  get children() {
200
- return l(ee, {
201
+ return u(ee, {
201
202
  get item() {
202
203
  return m();
203
204
  },
@@ -206,7 +207,7 @@ function $e(e) {
206
207
  },
207
208
  onSelect: F,
208
209
  onCloseMenu: () => s(!1),
209
- dropdownId: v,
210
+ dropdownId: h,
210
211
  portalLayout: w
211
212
  });
212
213
  }
@@ -215,9 +216,9 @@ function $e(e) {
215
216
  }
216
217
  });
217
218
  }
218
- }), null), B((r) => {
219
- var u = S("relative inline-block", e.class), m = S("cursor-pointer", e.triggerClass, e.disabled && "pointer-events-none opacity-50"), i = e.disabled ? -1 : 0, x = c(), R = e.triggerAriaLabel, E = e.disabled ? "true" : void 0, L = e.triggerInputSurface ? "true" : void 0, I = e.triggerInputSurface ? "inset" : void 0;
220
- return u !== r.e && p(t, r.e = u), m !== r.t && p(o, r.t = m), i !== r.a && d(o, "tabindex", r.a = i), x !== r.o && d(o, "aria-expanded", r.o = x), R !== r.i && d(o, "aria-label", r.i = R), E !== r.n && d(o, "aria-disabled", r.n = E), L !== r.s && d(o, "data-floe-input-surface", r.s = L), I !== r.h && d(o, "data-floe-surface", r.h = I), r;
219
+ }), null), q((r) => {
220
+ var l = k("relative inline-block", e.class), m = k("cursor-pointer", e.triggerClass, e.disabled && "pointer-events-none opacity-50"), i = e.disabled ? -1 : 0, S = c(), R = e.triggerAriaLabel, E = e.disabled ? "true" : void 0, L = e.triggerInputSurface ? "true" : void 0, I = e.triggerInputSurface ? "inset" : void 0;
221
+ return l !== r.e && p(t, r.e = l), m !== r.t && p(o, r.t = m), i !== r.a && d(o, "tabindex", r.a = i), S !== r.o && d(o, "aria-expanded", r.o = S), R !== r.i && d(o, "aria-label", r.i = R), E !== r.n && d(o, "aria-disabled", r.n = E), L !== r.s && d(o, "data-floe-input-surface", r.s = L), I !== r.h && d(o, "data-floe-surface", r.h = I), r;
221
222
  }, {
222
223
  e: void 0,
223
224
  t: void 0,
@@ -231,24 +232,25 @@ function $e(e) {
231
232
  })();
232
233
  }
233
234
  function ee(e) {
234
- const [c, s] = j(!1), a = () => e.item.children && e.item.children.length > 0, k = Y({
235
- open: () => !!(c() && a())
236
- }), [g, h] = j({
235
+ const [c, s] = B(!1), a = () => e.item.children && e.item.children.length > 0, M = Y({
236
+ open: () => !!(c() && a()),
237
+ element: () => x
238
+ }), [g, v] = B({
237
239
  x: -9999,
238
240
  y: -9999
239
241
  });
240
- let v, $, M, b;
242
+ let h, $, x, b;
241
243
  const w = `floe-dropdown-item-${Me += 1}`;
242
244
  Q(() => {
243
- k.mounted() || h({
245
+ M.mounted() || v({
244
246
  x: -9999,
245
247
  y: -9999
246
248
  });
247
249
  });
248
250
  const C = () => {
249
- if (!v || !M) return;
250
- const t = v.getBoundingClientRect(), o = M.getBoundingClientRect(), n = ce(t, o, e.portalLayout.boundaryRect());
251
- h(n);
251
+ if (!h || !x) return;
252
+ const t = h.getBoundingClientRect(), o = x.getBoundingClientRect(), n = ce(t, o, e.portalLayout.boundaryRect());
253
+ v(n);
252
254
  }, T = () => {
253
255
  a() && (clearTimeout(b), b = setTimeout(() => {
254
256
  s(!0), requestAnimationFrame(C);
@@ -267,7 +269,7 @@ function ee(e) {
267
269
  }
268
270
  }, H = (t = "first") => {
269
271
  a() && (s(!0), requestAnimationFrame(() => {
270
- C(), O(M, t);
272
+ C(), O(x, t);
271
273
  }));
272
274
  }, _ = () => {
273
275
  s(!1), requestAnimationFrame(() => $?.focus());
@@ -275,61 +277,61 @@ function ee(e) {
275
277
  return (() => {
276
278
  var t = ye();
277
279
  t.addEventListener("mouseleave", F), t.addEventListener("mouseenter", T);
278
- var o = v;
279
- return typeof o == "function" ? D(o, t) : v = t, f(t, l(y, {
280
+ var o = h;
281
+ return typeof o == "function" ? D(o, t) : h = t, f(t, u(y, {
280
282
  get when() {
281
283
  return e.item.content;
282
284
  },
283
285
  get children() {
284
286
  var n = K();
285
- return n.$$click = A, f(n, e.item.content), B((r) => {
286
- var u = S("w-full px-2 py-1.5", e.item.tone === "danger" && "text-destructive", e.item.disabled && "opacity-50 pointer-events-none"), m = e.item.tone ?? "default";
287
- return u !== r.e && p(n, r.e = u), m !== r.t && d(n, "data-tone", r.t = m), r;
287
+ return n.$$click = A, f(n, e.item.content), q((r) => {
288
+ var l = k("w-full px-2 py-1.5", e.item.tone === "danger" && "text-error", e.item.disabled && "opacity-50 pointer-events-none"), m = e.item.tone ?? "default";
289
+ return l !== r.e && p(n, r.e = l), m !== r.t && d(n, "data-tone", r.t = m), r;
288
290
  }, {
289
291
  e: void 0,
290
292
  t: void 0
291
293
  }), n;
292
294
  }
293
- }), null), f(t, l(y, {
295
+ }), null), f(t, u(y, {
294
296
  get when() {
295
297
  return !e.item.content;
296
298
  },
297
299
  get children() {
298
- var n = we(), r = n.firstChild, u = r.nextSibling;
300
+ var n = we(), r = n.firstChild, l = r.nextSibling;
299
301
  n.$$keydown = (i) => {
300
302
  e.item.disabled || a() && ((i.key === "ArrowRight" || i.key === "Enter" || i.key === " ") && (i.preventDefault(), H("first")), i.key === "ArrowLeft" && (i.preventDefault(), _()));
301
303
  }, n.$$click = A;
302
304
  var m = $;
303
- return typeof m == "function" ? D(m, n) : $ = n, d(n, "id", w), f(r, l(y, {
305
+ return typeof m == "function" ? D(m, n) : $ = n, d(n, "id", w), f(r, u(y, {
304
306
  get when() {
305
307
  return z(() => !!e.selected)() && !a();
306
308
  },
307
309
  get children() {
308
- return l(ie, {
310
+ return u(ie, {
309
311
  class: "w-3 h-3"
310
312
  });
311
313
  }
312
- })), f(n, l(y, {
314
+ })), f(n, u(y, {
313
315
  get when() {
314
316
  return e.item.icon;
315
317
  },
316
318
  keyed: !0,
317
319
  children: (i) => (() => {
318
- var x = xe();
319
- return f(x, i), x;
320
+ var S = xe();
321
+ return f(S, i), S;
320
322
  })()
321
- }), u), f(u, () => e.item.label), f(n, l(y, {
323
+ }), l), f(l, () => e.item.label), f(n, u(y, {
322
324
  get when() {
323
325
  return a();
324
326
  },
325
327
  get children() {
326
- return l(ue, {
327
- class: "w-3 h-3 text-muted-foreground"
328
+ return u(le, {
329
+ class: "w-3 h-3 text-[var(--floe-ink-quiet)]"
328
330
  });
329
331
  }
330
- }), null), B((i) => {
331
- var x = S("w-full flex items-center gap-1.5 px-2 py-1 text-xs", "transition-colors duration-75", "focus:outline-none focus:bg-accent", e.item.tone === "danger" && "text-destructive", e.item.disabled ? "opacity-50 cursor-not-allowed" : "hover:bg-accent cursor-pointer"), R = e.item.disabled, E = a() ? "menu" : void 0, L = a() ? c() : void 0, I = e.selected && !a() ? "true" : void 0, N = e.item.tone ?? "default";
332
- return x !== i.e && p(n, i.e = x), R !== i.t && (n.disabled = i.t = R), E !== i.a && d(n, "aria-haspopup", i.a = E), L !== i.o && d(n, "aria-expanded", i.o = L), I !== i.i && d(n, "data-floe-selected", i.i = I), N !== i.n && d(n, "data-tone", i.n = N), i;
332
+ }), null), q((i) => {
333
+ var S = k("w-full flex items-center gap-2 px-2", "min-h-[var(--floe-row-height)] rounded-sm", "text-[length:var(--floe-type-control)] leading-[var(--floe-line-control)]", "focus:outline-none", e.item.tone === "danger" ? "text-error" : "text-[var(--floe-ink-soft)]", e.item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"), R = e.item.disabled, E = a() ? "menu" : void 0, L = a() ? c() : void 0, I = e.selected && !a() ? "true" : void 0, N = e.item.tone ?? "default";
334
+ return S !== i.e && p(n, i.e = S), R !== i.t && (n.disabled = i.t = R), E !== i.a && d(n, "aria-haspopup", i.a = E), L !== i.o && d(n, "aria-expanded", i.o = L), I !== i.i && d(n, "data-floe-selected", i.i = I), N !== i.n && d(n, "data-tone", i.n = N), i;
333
335
  }, {
334
336
  e: void 0,
335
337
  t: void 0,
@@ -339,29 +341,29 @@ function ee(e) {
339
341
  n: void 0
340
342
  }), n;
341
343
  }
342
- }), null), f(t, l(y, {
344
+ }), null), f(t, u(y, {
343
345
  get when() {
344
- return z(() => !!k.mounted())() && a();
346
+ return z(() => !!M.mounted())() && a();
345
347
  },
346
348
  get children() {
347
- return l(W, {
349
+ return u(W, {
348
350
  get mount() {
349
351
  return e.portalLayout.mount();
350
352
  },
351
353
  get children() {
352
- var n = K(), r = M;
353
- return typeof r == "function" ? D(r, n) : M = n, G(n, J({
354
+ var n = K(), r = x;
355
+ return typeof r == "function" ? D(r, n) : x = n, G(n, J({
354
356
  get class() {
355
- return S(e.portalLayout.isSurfaceMode() ? "absolute z-20 min-w-36 py-0.5" : "fixed z-50 min-w-36 py-0.5", "bg-popover text-popover-foreground", "rounded border border-border shadow-md", "floe-floating-presence floe-floating-menu floe-floating-submenu");
357
+ return k(e.portalLayout.isSurfaceMode() ? "absolute z-20 min-w-36" : "fixed z-50 min-w-36", "bg-popover text-popover-foreground p-1", "rounded-panel border border-[var(--floe-line)]", "shadow-[var(--floe-elevation-float)]", "floe-floating-presence floe-floating-menu floe-floating-submenu");
356
358
  },
357
359
  get "data-floe-dropdown"() {
358
360
  return e.dropdownId;
359
361
  },
360
362
  get "data-floating-presence"() {
361
- return k.state();
363
+ return M.state();
362
364
  },
363
365
  get "aria-hidden"() {
364
- return k.exiting() ? "true" : void 0;
366
+ return M.exiting() ? "true" : void 0;
365
367
  }
366
368
  }, () => ({
367
369
  [X]: e.portalLayout.isSurfaceMode() ? "true" : void 0
@@ -379,24 +381,24 @@ function ee(e) {
379
381
  clearTimeout(b);
380
382
  },
381
383
  onMouseLeave: F,
382
- onKeyDown: (u) => {
383
- u.key !== "ArrowLeft" && u.key !== "Escape" || (u.preventDefault(), u.stopPropagation(), _());
384
+ onKeyDown: (l) => {
385
+ l.key !== "ArrowLeft" && l.key !== "Escape" || (l.preventDefault(), l.stopPropagation(), _());
384
386
  }
385
- }), !1, !0), f(n, l(V, {
387
+ }), !1, !0), f(n, u(V, {
386
388
  get each() {
387
389
  return e.item.children;
388
390
  },
389
- children: (u) => l(y, {
391
+ children: (l) => u(y, {
390
392
  get when() {
391
- return !u().separator;
393
+ return !l().separator;
392
394
  },
393
395
  get fallback() {
394
396
  return Z();
395
397
  },
396
398
  get children() {
397
- return l(ee, {
399
+ return u(ee, {
398
400
  get item() {
399
- return u();
401
+ return l();
400
402
  },
401
403
  selected: !1,
402
404
  get onSelect() {
@@ -426,17 +428,17 @@ function Fe(e) {
426
428
  id: a.value,
427
429
  label: a.label
428
430
  }));
429
- return l($e, {
431
+ return u($e, {
430
432
  triggerInputSurface: !0,
431
433
  get triggerClass() {
432
- return S("flex items-center justify-between gap-2 h-8 px-2.5 w-full", "rounded border border-input bg-background text-[length:var(--floe-type-control)] shadow-sm", "transition-colors duration-100", e.class);
434
+ return k("flex items-center justify-between gap-2 h-8 px-2.5 w-full", "floe-field text-[length:var(--floe-type-control)]", e.class);
433
435
  },
434
436
  get trigger() {
435
437
  return [(() => {
436
438
  var a = Se();
437
- return f(a, () => c()?.label ?? e.placeholder ?? "Select..."), B(() => p(a, S("truncate", !c() && "text-muted-foreground"))), a;
438
- })(), l(ae, {
439
- class: "w-3.5 h-3.5 text-muted-foreground"
439
+ return f(a, () => c()?.label ?? e.placeholder ?? "Select..."), q(() => p(a, k("truncate", !c() && "text-[var(--floe-ink-soft)]"))), a;
440
+ })(), u(ae, {
441
+ class: "w-3.5 h-3.5 text-[var(--floe-ink-quiet)]"
440
442
  })];
441
443
  },
442
444
  get items() {