@floegence/floe-webapp-core 0.86.58 → 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 +266 -261
  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,17 +1,17 @@
1
- import { createComponent as o, use as G, setAttribute as u, style as ne, Portal as ae, spread as I, mergeProps as M, memo as x, insert as l, effect as D, className as q, template as h } from "solid-js/web";
2
- import { createSignal as P, onMount as ie, onCleanup as E, createUniqueId as le, createEffect as K, createMemo as U, Show as g, untrack as V } from "solid-js";
3
- import { cn as m } from "../../utils/cn.js";
1
+ import { createComponent as r, use as G, setAttribute as c, style as ne, Portal as ae, spread as I, mergeProps as E, memo as p, insert as i, effect as P, className as q, template as m } from "solid-js/web";
2
+ import { createSignal as T, onMount as le, onCleanup as M, createUniqueId as ie, createEffect as K, createMemo as U, Show as u, untrack as V } from "solid-js";
3
+ import { cn as g } from "../../utils/cn.js";
4
4
  import { Button as j } from "./Button.js";
5
5
  import { X as de } from "../icons/index.js";
6
- import { useResolvedFloeConfig as se } from "../../context/FloeConfigContext.js";
7
- import { useOverlayMask as ce } from "../../hooks/useOverlayMask.js";
8
- import { resolveSurfacePortalHost as fe, DIALOG_SURFACE_BOUNDARY_ATTR as k, SURFACE_PORTAL_LAYER_ATTR as ue, DIALOG_SURFACE_HOST_ATTR as ge, isSurfacePortalMode as z, projectSurfacePortalRect as me, resolveSurfacePortalBoundaryRect as he, resolveSurfacePortalMount as be } from "./dialogSurfaceScope.js";
9
- import { LOCAL_INTERACTION_SURFACE_ATTR as ve } from "./localInteractionSurface.js";
6
+ import { useResolvedFloeConfig as fe } from "../../context/FloeConfigContext.js";
7
+ import { useOverlayMask as se } from "../../hooks/useOverlayMask.js";
8
+ import { resolveSurfacePortalHost as ce, DIALOG_SURFACE_BOUNDARY_ATTR as k, SURFACE_PORTAL_LAYER_ATTR as ue, DIALOG_SURFACE_HOST_ATTR as ge, isSurfacePortalMode as z, projectSurfacePortalRect as me, resolveSurfacePortalBoundaryRect as he, resolveSurfacePortalMount as ve } from "./dialogSurfaceScope.js";
9
+ import { LOCAL_INTERACTION_SURFACE_ATTR as ye } from "./localInteractionSurface.js";
10
10
  import { createFloatingPresence as we } from "./floatingPresence.js";
11
- import { useDialogPlacement as ye } from "./DialogPlacementContext.js";
12
- import { observeViewport as xe, viewportStyle as pe } from "../../viewport.js";
11
+ import { useDialogPlacement as be } from "./DialogPlacementContext.js";
12
+ import { observeViewport as pe, viewportStyle as xe } from "../../viewport.js";
13
13
  import { resolveFloatingBoundary as $e } from "./surfaceFloatingBoundary.js";
14
- var Ae = /* @__PURE__ */ h("<span aria-hidden=true>"), Ce = /* @__PURE__ */ h('<h2 class="text-sm font-semibold">'), _e = /* @__PURE__ */ h('<div data-floe-dialog-header class="flex shrink-0 items-start justify-between p-3 border-b border-border"><div>'), ke = /* @__PURE__ */ h('<p class="mb-3 shrink-0 text-[length:var(--floe-type-body)] leading-[var(--floe-line-body)] text-muted-foreground last:mb-0">'), Se = /* @__PURE__ */ h('<div data-floe-dialog-footer class="flex shrink-0 items-center justify-end gap-2 p-3 border-t border-border">'), Oe = /* @__PURE__ */ h("<div><div></div><div><div data-floe-surface=floating><div data-floe-dialog-body>"), Re = /* @__PURE__ */ h("<h2 class=sr-only>");
14
+ var Ae = /* @__PURE__ */ m("<span aria-hidden=true>"), Ce = /* @__PURE__ */ m('<h2 class="text-[length:var(--floe-type-heading-sm)] font-semibold leading-[var(--floe-line-heading)] tracking-[var(--floe-tracking-tight)] text-[var(--floe-ink)]">'), _e = /* @__PURE__ */ m('<div data-floe-dialog-header class="flex shrink-0 items-start justify-between gap-[var(--floe-gap-control)] px-[var(--floe-pad-group)] py-[var(--floe-pad-control)] border-b border-[var(--floe-line)]"><div>'), ke = /* @__PURE__ */ m('<p class="mb-3 shrink-0 text-[length:var(--floe-type-body)] leading-[var(--floe-line-body)] text-[var(--floe-ink-soft)] last:mb-0">'), Se = /* @__PURE__ */ m('<div data-floe-dialog-footer class="flex shrink-0 items-center justify-end gap-[var(--floe-gap-control)] px-[var(--floe-pad-group)] py-[var(--floe-pad-control)] border-t border-[var(--floe-line)]">'), Oe = /* @__PURE__ */ m("<div><div></div><div><div data-floe-surface=floating><div data-floe-dialog-body>"), Re = /* @__PURE__ */ m("<h2 class=sr-only>");
15
15
  const De = {
16
16
  display: "none"
17
17
  };
@@ -36,51 +36,49 @@ function Be(e) {
36
36
  window.clearTimeout(e);
37
37
  }
38
38
  function Fe(e) {
39
- const p = ye(), [n, W] = P();
40
- ie(() => E(xe(window, W)));
41
- const c = le(), T = () => `dialog-${c}-title`, H = () => `dialog-${c}-description`;
42
- let B;
43
- const [S, Y] = P(null), [L, X] = P(0), [J, Q] = P(0), $ = () => e.presentation === "side-drawer", f = () => e.presentation === "bottom-drawer", s = we({
44
- open: () => e.open && !!S() && L() > 0,
45
- get exitDurationMs() {
46
- return f() ? 180 : 160;
47
- }
48
- }), A = () => s.mounted() && !!S() && L() > 0;
49
- K(() => e.onPresenceChange?.(A())), E(() => e.onPresenceChange?.(!1));
39
+ const x = be(), [n, W] = T();
40
+ le(() => M(pe(window, W)));
41
+ const s = ie(), B = () => `dialog-${s}-title`, H = () => `dialog-${s}-description`;
42
+ let S;
43
+ const [O, Y] = T(null), [L, X] = T(0), [J, Q] = T(0), $ = () => e.presentation === "side-drawer", h = () => e.presentation === "bottom-drawer", f = we({
44
+ open: () => e.open && !!O() && L() > 0,
45
+ element: () => S
46
+ }), A = () => f.mounted() && !!O() && L() > 0;
47
+ K(() => e.onPresenceChange?.(A())), M(() => e.onPresenceChange?.(!1));
50
48
  const ee = (t) => {
51
49
  Y(t), Pe(() => {
52
- V(S) === t && X((d) => d + 1);
50
+ V(O) === t && X((d) => d + 1);
53
51
  });
54
- }, O = U(() => A() ? fe({
55
- owner: S()
52
+ }, R = U(() => A() ? ce({
53
+ owner: O()
56
54
  }) : {
57
55
  host: null,
58
56
  boundaryHost: null,
59
57
  mountHost: null,
60
58
  mode: "global"
61
- }), C = () => `dialog-boundary-${c}`, a = () => p.mode() === "auto" && z(O()), te = () => a() ? be(O()) : void 0, N = () => e.globalZIndex ?? p.globalZIndex(), F = (t) => me($e(t, void 0, V(n)?.safeArea) ?? he(t), t), re = () => F(O()), R = U(() => (J(), n(), re())), oe = (t) => typeof Element < "u" && t instanceof Element ? !!t.closest(`[${k}="${C()}"]`) : typeof Node < "u" && t instanceof Node ? !!t.parentElement?.closest(`[${k}="${C()}"]`) : !1;
59
+ }), C = () => `dialog-boundary-${s}`, a = () => x.mode() === "auto" && z(R()), te = () => a() ? ve(R()) : void 0, N = () => e.globalZIndex ?? x.globalZIndex(), F = (t) => me($e(t, void 0, V(n)?.safeArea) ?? he(t), t), oe = () => F(R()), D = U(() => (J(), n(), oe())), re = (t) => typeof Element < "u" && t instanceof Element ? !!t.closest(`[${k}="${C()}"]`) : typeof Node < "u" && t instanceof Node ? !!t.parentElement?.closest(`[${k}="${C()}"]`) : !1;
62
60
  return K(() => {
63
- const t = O();
61
+ const t = R();
64
62
  if (!A() || !a() || typeof window > "u")
65
63
  return;
66
- let d = !1, b = null, i = Z(F(t));
67
- const v = () => {
64
+ let d = !1, v = null, l = Z(F(t));
65
+ const y = () => {
68
66
  if (d || !z(t))
69
67
  return;
70
- const r = Z(F(t));
71
- r !== i && (i = r, Q((w) => w + 1));
68
+ const o = Z(F(t));
69
+ o !== l && (l = o, Q((w) => w + 1));
72
70
  }, _ = () => {
73
- d || (b = Te(() => {
74
- v(), _();
71
+ d || (v = Te(() => {
72
+ y(), _();
75
73
  }));
76
74
  };
77
- _(), E(() => {
78
- d = !0, b !== null && Be(b);
75
+ _(), M(() => {
76
+ d = !0, v !== null && Be(v);
79
77
  });
80
- }), ce({
78
+ }), se({
81
79
  open: A,
82
- root: () => B,
83
- containsTarget: oe,
80
+ root: () => S,
81
+ containsTarget: re,
84
82
  onClose: () => e.onOpenChange(!1),
85
83
  lockBodyScroll: () => !a(),
86
84
  trapFocus: !0,
@@ -93,19 +91,19 @@ function Fe(e) {
93
91
  restoreFocus: !0
94
92
  }), [(() => {
95
93
  var t = Ae();
96
- return G(ee, t), u(t, "data-floe-dialog-owner-anchor", c), ne(t, De), t;
97
- })(), o(g, {
94
+ return G(ee, t), c(t, "data-floe-dialog-owner-anchor", s), ne(t, De), t;
95
+ })(), r(u, {
98
96
  get when() {
99
97
  return A();
100
98
  },
101
99
  get children() {
102
- return o(ae, {
100
+ return r(ae, {
103
101
  get mount() {
104
102
  return te();
105
103
  },
106
104
  get children() {
107
- var t = Oe(), d = t.firstChild, b = d.nextSibling, i = b.firstChild, v = i.firstChild;
108
- u(t, "data-floe-dialog-overlay-root", c), I(t, M({
105
+ var t = Oe(), d = t.firstChild, v = d.nextSibling, l = v.firstChild, y = l.firstChild;
106
+ c(t, "data-floe-dialog-overlay-root", s), I(t, E({
109
107
  get "data-floe-dialog-mode"() {
110
108
  return a() ? "surface" : "global";
111
109
  },
@@ -113,28 +111,28 @@ function Fe(e) {
113
111
  return e.presentation ?? "dialog";
114
112
  },
115
113
  get "data-floating-presence"() {
116
- return s.state();
114
+ return f.state();
117
115
  },
118
116
  get "aria-hidden"() {
119
- return s.exiting() ? "true" : void 0;
117
+ return f.exiting() ? "true" : void 0;
120
118
  }
121
119
  }, {
122
- [ve]: "true"
120
+ [ye]: "true"
123
121
  }, () => ({
124
122
  [ue]: "true",
125
123
  [k]: C()
126
124
  }), {
127
125
  get class() {
128
- return m(a() ? m("absolute z-20 box-border", !$() && "p-3") : m("fixed box-border p-4", N() === void 0 && "z-50"), f() && "floe-bottom-drawer-overlay", $() && "floe-side-drawer-overlay", s.exiting() && !f() && "pointer-events-none");
126
+ return g(a() ? g("absolute z-20 box-border", !$() && "p-3") : g("fixed box-border p-4", N() === void 0 && "z-50"), h() && "floe-bottom-drawer-overlay", $() && "floe-side-drawer-overlay", f.exiting() && !h() && "pointer-events-none");
129
127
  },
130
128
  get style() {
131
- return x(() => !!a())() ? {
132
- left: `${R().left}px`,
133
- top: `${R().top}px`,
134
- width: `${R().width}px`,
135
- height: `${R().height}px`
129
+ return p(() => !!a())() ? {
130
+ left: `${D().left}px`,
131
+ top: `${D().top}px`,
132
+ width: `${D().width}px`,
133
+ height: `${D().height}px`
136
134
  } : {
137
- ...n() ? pe(n()) : {
135
+ ...n() ? xe(n()) : {
138
136
  inset: "0"
139
137
  },
140
138
  "--floe-dialog-safe-top": `${(n()?.safeArea.top ?? 0) / (n()?.fixedScale ?? 1)}px`,
@@ -148,30 +146,30 @@ function Fe(e) {
148
146
  "z-index": N()
149
147
  };
150
148
  }
151
- }), !1, !0), u(d, "data-floe-dialog-backdrop", c), I(d, M(() => ({
149
+ }), !1, !0), c(d, "data-floe-dialog-backdrop", s), I(d, E(() => ({
152
150
  [k]: C()
153
151
  }), {
154
152
  get "data-floating-presence"() {
155
- return s.state();
153
+ return f.state();
156
154
  },
157
155
  get class() {
158
- return m("absolute inset-0 floe-floating-presence floe-floating-backdrop", e.closeOnBackdropClick === !1 ? "cursor-default" : "cursor-pointer", f() ? "floe-bottom-drawer-backdrop" : a() ? "bg-background/72 backdrop-blur-[2px]" : "bg-background/80 backdrop-blur-sm");
156
+ return g("absolute inset-0 floe-floating-presence floe-floating-backdrop", e.closeOnBackdropClick === !1 ? "cursor-default" : "cursor-pointer", h() ? "floe-bottom-drawer-backdrop" : a() ? "bg-background/72 backdrop-blur-[2px]" : "bg-background/80 backdrop-blur-sm");
159
157
  },
160
158
  onClick: () => {
161
- !s.exiting() && e.closeOnBackdropClick !== !1 && e.onOpenChange(!1);
159
+ !f.exiting() && e.closeOnBackdropClick !== !1 && e.onOpenChange(!1);
162
160
  }
163
161
  }), !1, !1);
164
- var _ = B;
165
- return typeof _ == "function" ? G(_, i) : B = i, u(i, "data-floe-dialog-panel", c), I(i, M({
162
+ var _ = S;
163
+ return typeof _ == "function" ? G(_, l) : S = l, c(l, "data-floe-dialog-panel", s), I(l, E({
166
164
  get "data-floe-drawer-side"() {
167
- return x(() => !!$())() ? e.drawerSide ?? "right" : void 0;
165
+ return p(() => !!$())() ? e.drawerSide ?? "right" : void 0;
168
166
  }
169
167
  }, () => ({
170
168
  [k]: C(),
171
169
  [ge]: "true"
172
170
  }), {
173
171
  get class() {
174
- return m(a() ? "flex max-h-[calc(100%-1rem)] w-[min(32rem,calc(100%-1rem))] max-w-[calc(100%-1rem)] flex-col" : "w-full max-w-md", "bg-card text-card-foreground rounded-md shadow-lg", "border border-border", "floe-floating-presence", f() ? "floe-bottom-drawer-panel" : $() ? "floe-side-drawer-panel" : "floe-floating-dialog-panel", "pointer-events-auto flex flex-col", e.class);
172
+ return g(a() ? "flex max-h-[calc(100%-1rem)] w-[min(32rem,calc(100%-1rem))] max-w-[calc(100%-1rem)] flex-col" : "w-full max-w-md", "bg-popover text-popover-foreground rounded-panel shadow-[var(--floe-elevation-float-strong)]", "border border-[var(--floe-line)]", "floe-floating-presence", h() ? "floe-bottom-drawer-panel" : $() ? "floe-side-drawer-panel" : "floe-floating-dialog-panel", "pointer-events-auto flex flex-col", e.class);
175
173
  },
176
174
  style: {
177
175
  "max-height": "100%",
@@ -179,54 +177,54 @@ function Fe(e) {
179
177
  "min-width": "0"
180
178
  },
181
179
  get "data-floating-presence"() {
182
- return s.state();
180
+ return f.state();
183
181
  },
184
182
  get inert() {
185
- return x(() => !!f())() && s.exiting();
183
+ return p(() => !!h())() && f.exiting();
186
184
  },
187
185
  role: "dialog",
188
186
  get "aria-modal"() {
189
187
  return a() ? void 0 : "true";
190
188
  },
191
189
  get "aria-labelledby"() {
192
- return x(() => !!e.title)() ? T() : void 0;
190
+ return p(() => !!e.title)() ? B() : void 0;
193
191
  },
194
192
  get "aria-describedby"() {
195
- return x(() => !!e.bodyDescription)() ? H() : void 0;
193
+ return p(() => !!e.bodyDescription)() ? H() : void 0;
196
194
  },
197
- onKeyDown: (r) => e.onKeyDown?.(r),
195
+ onKeyDown: (o) => e.onKeyDown?.(o),
198
196
  tabIndex: -1
199
- }), !1, !0), l(i, o(g, {
197
+ }), !1, !0), i(l, r(u, {
200
198
  get when() {
201
199
  return e.header === void 0;
202
200
  },
203
201
  get fallback() {
204
- return [o(g, {
202
+ return [r(u, {
205
203
  get when() {
206
204
  return e.title;
207
205
  },
208
206
  get children() {
209
- var r = Re();
210
- return l(r, () => e.title), D(() => u(r, "id", T())), r;
207
+ var o = Re();
208
+ return i(o, () => e.title), P(() => c(o, "id", B())), o;
211
209
  }
212
- }), x(() => e.header)];
210
+ }), p(() => e.header)];
213
211
  },
214
212
  get children() {
215
- return o(g, {
213
+ return r(u, {
216
214
  get when() {
217
215
  return e.title;
218
216
  },
219
217
  get children() {
220
- var r = _e(), w = r.firstChild;
221
- return l(w, o(g, {
218
+ var o = _e(), w = o.firstChild;
219
+ return i(w, r(u, {
222
220
  get when() {
223
221
  return e.title;
224
222
  },
225
223
  get children() {
226
- var y = Ce();
227
- return l(y, () => e.title), D(() => u(y, "id", T())), y;
224
+ var b = Ce();
225
+ return i(b, () => e.title), P(() => c(b, "id", B())), b;
228
226
  }
229
- })), l(r, o(j, {
227
+ })), i(o, r(j, {
230
228
  variant: "ghost-destructive",
231
229
  size: "icon",
232
230
  class: "-my-2 -mr-2 h-[46px] w-[46px] shrink-0 sm:my-0 sm:-mr-1 sm:h-6 sm:w-6",
@@ -235,33 +233,33 @@ function Fe(e) {
235
233
  return e.closeLabel ?? "Close";
236
234
  },
237
235
  get children() {
238
- return o(de, {
236
+ return r(de, {
239
237
  class: "w-3.5 h-3.5"
240
238
  });
241
239
  }
242
- }), null), r;
240
+ }), null), o;
243
241
  }
244
242
  });
245
243
  }
246
- }), v), l(v, o(g, {
244
+ }), y), i(y, r(u, {
247
245
  get when() {
248
246
  return e.bodyDescription;
249
247
  },
250
248
  get children() {
251
- var r = ke();
252
- return l(r, () => e.bodyDescription), D(() => u(r, "id", H())), r;
249
+ var o = ke();
250
+ return i(o, () => e.bodyDescription), P(() => c(o, "id", H())), o;
253
251
  }
254
- }), null), l(v, () => e.children, null), l(i, o(g, {
252
+ }), null), i(y, () => e.children, null), i(l, r(u, {
255
253
  get when() {
256
254
  return e.footer;
257
255
  },
258
256
  get children() {
259
- var r = Se();
260
- return l(r, () => e.footer), r;
257
+ var o = Se();
258
+ return i(o, () => e.footer), o;
261
259
  }
262
- }), null), D((r) => {
263
- var w = m("pointer-events-none relative z-[1] flex h-full w-full", $() ? e.drawerSide === "left" ? "items-stretch justify-start" : "items-stretch justify-end" : f() ? "items-end justify-center" : "items-center justify-center"), y = m("min-h-0 flex-1 overflow-auto overscroll-contain p-3", e.contentClass);
264
- return w !== r.e && q(b, r.e = w), y !== r.t && q(v, r.t = y), r;
260
+ }), null), P((o) => {
261
+ var w = g("pointer-events-none relative z-[1] flex h-full w-full", $() ? e.drawerSide === "left" ? "items-stretch justify-start" : "items-stretch justify-end" : h() ? "items-end justify-center" : "items-center justify-center"), b = g("min-h-0 flex-1 overflow-auto overscroll-contain px-[var(--floe-pad-group)] py-[var(--floe-pad-group)]", e.contentClass);
262
+ return w !== o.e && q(v, o.e = w), b !== o.t && q(y, o.t = b), o;
265
263
  }, {
266
264
  e: void 0,
267
265
  t: void 0
@@ -272,8 +270,8 @@ function Fe(e) {
272
270
  })];
273
271
  }
274
272
  function We(e) {
275
- const p = se();
276
- return o(Fe, {
273
+ const x = fe();
274
+ return r(Fe, {
277
275
  get open() {
278
276
  return e.open;
279
277
  },
@@ -290,16 +288,16 @@ function We(e) {
290
288
  return e.globalZIndex;
291
289
  },
292
290
  get footer() {
293
- return [o(j, {
291
+ return [r(j, {
294
292
  variant: "ghost",
295
293
  onClick: () => e.onOpenChange(!1),
296
294
  get disabled() {
297
295
  return e.loading;
298
296
  },
299
297
  get children() {
300
- return e.cancelText ?? p.config.strings.confirmDialog.cancel;
298
+ return e.cancelText ?? x.config.strings.confirmDialog.cancel;
301
299
  }
302
- }), o(j, {
300
+ }), r(j, {
303
301
  get variant() {
304
302
  return e.variant === "destructive" ? "destructive" : "primary";
305
303
  },
@@ -310,7 +308,7 @@ function We(e) {
310
308
  return e.loading;
311
309
  },
312
310
  get children() {
313
- return e.confirmText ?? p.config.strings.confirmDialog.confirm;
311
+ return e.confirmText ?? x.config.strings.confirmDialog.confirm;
314
312
  }
315
313
  })];
316
314
  },
@@ -1,53 +1,53 @@
1
- import { insert as a, createComponent as i, mergeProps as y, memo as C, effect as _, className as P, setAttribute as d, template as l, delegateEvents as E } from "solid-js/web";
2
- import { createSignal as S, mergeProps as z, Show as u } from "solid-js";
3
- import { cn as b } from "../../utils/cn.js";
1
+ import { insert as a, createComponent as i, mergeProps as y, memo as C, effect as _, className as P, setAttribute as d, template as n, delegateEvents as E } from "solid-js/web";
2
+ import { createSignal as S, mergeProps as z, Show as c } from "solid-js";
3
+ import { cn as k } from "../../utils/cn.js";
4
4
  import { Folder as A, ChevronRight as N } from "../icons/index.js";
5
5
  import { formatPickerPath as T } from "./picker/PickerNavigation.js";
6
- import { usePickerNavigation as D, PickerPanel as F } from "./picker/PickerBase.js";
7
- var I = /* @__PURE__ */ l("<div class=mt-2>"), R = /* @__PURE__ */ l('<p role=alert class="mt-1 text-xs text-error">'), V = /* @__PURE__ */ l('<p class="mt-1 text-xs text-muted-foreground">'), j = /* @__PURE__ */ l('<div><button data-floe-input-surface data-floe-surface=inset type=button><span class="min-w-0 flex-1 truncate">');
6
+ import { usePickerNavigation as q, PickerPanel as D } from "./picker/PickerBase.js";
7
+ var F = /* @__PURE__ */ n("<div class=mt-2>"), I = /* @__PURE__ */ n('<p role=alert class="mt-1 text-xs text-error">'), R = /* @__PURE__ */ n('<p class="mt-1 text-[length:var(--floe-type-caption)] text-[var(--floe-ink-soft)]">'), V = /* @__PURE__ */ n('<div><button data-floe-input-surface data-floe-surface=inset type=button><span class="min-w-0 flex-1 truncate">');
8
8
  function L(t) {
9
- const [o, w] = S(t.defaultExpanded !== !1), k = z(t, {
9
+ const [o, w] = S(t.defaultExpanded !== !1), b = z(t, {
10
10
  get initialPath() {
11
11
  return t.value || t.initialPath;
12
12
  }
13
- }), c = D(k, () => t.open ?? !0, (n) => t.onChange?.(n)), $ = () => T(t.value ?? "", c.context()?.homePathAbs ?? t.homePath);
13
+ }), s = q(b, () => t.open ?? !0, (l) => t.onChange?.(l)), $ = () => T(t.value ?? "", s.context()?.homePathAbs ?? t.homePath);
14
14
  return (() => {
15
- var n = j(), r = n.firstChild, s = r.firstChild;
15
+ var l = V(), r = l.firstChild, u = r.firstChild;
16
16
  return r.$$click = () => w((e) => !e), a(r, i(A, {
17
- class: "h-4 w-4 shrink-0 text-muted-foreground"
18
- }), s), a(s, () => $() || t.placeholder || "Select a directory…"), a(r, i(N, {
17
+ class: "h-4 w-4 shrink-0 text-[var(--floe-ink-quiet)]"
18
+ }), u), a(u, () => $() || t.placeholder || "Select a directory…"), a(r, i(N, {
19
19
  get class() {
20
- return b("h-3.5 w-3.5 shrink-0 transition-transform", o() && "rotate-90");
20
+ return k("h-3.5 w-3.5 shrink-0 transition-transform", o() && "rotate-90");
21
21
  }
22
- }), null), a(n, i(u, {
22
+ }), null), a(l, i(c, {
23
23
  get when() {
24
24
  return o();
25
25
  },
26
26
  get children() {
27
- var e = I();
28
- return a(e, i(F, y(t, {
29
- source: c
27
+ var e = F();
28
+ return a(e, i(D, y(t, {
29
+ source: s
30
30
  }))), e;
31
31
  }
32
- }), null), a(n, i(u, {
32
+ }), null), a(l, i(c, {
33
33
  get when() {
34
34
  return t.error;
35
35
  },
36
36
  get children() {
37
- var e = R();
37
+ var e = I();
38
38
  return a(e, () => t.error), e;
39
39
  }
40
- }), null), a(n, i(u, {
40
+ }), null), a(l, i(c, {
41
41
  get when() {
42
42
  return C(() => !!t.helperText)() && !t.error;
43
43
  },
44
44
  get children() {
45
- var e = V();
45
+ var e = R();
46
46
  return a(e, () => t.helperText), e;
47
47
  }
48
48
  }), null), _((e) => {
49
- var m = t.class, h = t.error ? !0 : void 0, v = t.disabled, f = o(), x = t.value, g = b("flex w-full cursor-pointer items-center gap-2 rounded border border-input bg-background px-2 text-left shadow-sm disabled:cursor-not-allowed disabled:opacity-50", t.size === "lg" ? "h-9 text-sm" : t.size === "md" ? "h-8 text-xs" : "h-7 text-xs");
50
- return m !== e.e && P(n, e.e = m), h !== e.t && d(r, "aria-invalid", e.t = h), v !== e.a && (r.disabled = e.a = v), f !== e.o && d(r, "aria-expanded", e.o = f), x !== e.i && d(r, "title", e.i = x), g !== e.n && P(r, e.n = g), e;
49
+ var m = t.class, v = t.error ? !0 : void 0, h = t.disabled, f = o(), x = t.value, g = k("floe-field flex w-full cursor-pointer items-center gap-2 px-2 text-left disabled:cursor-not-allowed disabled:opacity-60", t.size === "lg" ? "h-9 text-sm" : t.size === "md" ? "h-8 text-xs" : "h-7 text-xs");
50
+ return m !== e.e && P(l, e.e = m), v !== e.t && d(r, "aria-invalid", e.t = v), h !== e.a && (r.disabled = e.a = h), f !== e.o && d(r, "aria-expanded", e.o = f), x !== e.i && d(r, "title", e.i = x), g !== e.n && P(r, e.n = g), e;
51
51
  }, {
52
52
  e: void 0,
53
53
  t: void 0,
@@ -55,7 +55,7 @@ function L(t) {
55
55
  o: void 0,
56
56
  i: void 0,
57
57
  n: void 0
58
- }), n;
58
+ }), l;
59
59
  })();
60
60
  }
61
61
  E(["click"]);
@@ -1,13 +1,13 @@
1
1
  import { createComponent as n, mergeProps as s, insert as i, effect as g, setAttribute as u, template as m } from "solid-js/web";
2
- import { createMemo as d } from "solid-js";
3
- import { cn as f } from "../../utils/cn.js";
2
+ import { createMemo as f } from "solid-js";
3
+ import { cn as d } from "../../utils/cn.js";
4
4
  import { Button as o } from "./Button.js";
5
5
  import { Dialog as h } from "./Dialog.js";
6
- import { usePickerNavigation as P, PickerPanel as v, pickerCopy as b } from "./picker/PickerBase.js";
6
+ import { usePickerNavigation as v, PickerPanel as P, pickerCopy as b } from "./picker/PickerBase.js";
7
7
  import { parsePickerPath as w } from "./picker/PickerNavigation.js";
8
- var x = /* @__PURE__ */ m('<div class="flex w-full items-center gap-2"><span class="min-w-0 flex-1 truncate text-[11px] text-muted-foreground">');
8
+ var C = /* @__PURE__ */ m('<div class="flex w-full items-center gap-2"><span class="min-w-0 flex-1 truncate text-[length:var(--floe-type-caption)] text-[var(--floe-ink-soft)]">');
9
9
  function $(e) {
10
- const a = d(() => [...new Set((e.suggestedPaths ?? []).map((r) => w(r)).filter(Boolean))]), t = P(e, () => e.open, void 0, void 0, () => a().length ? "suggestions" : "browse"), c = () => {
10
+ const a = f(() => [...new Set((e.suggestedPaths ?? []).map((r) => w(r)).filter(Boolean))]), t = v(e, () => e.open, void 0, void 0, () => a().length ? "suggestions" : "browse"), c = () => {
11
11
  if (e.disabled || t.view() !== "browse" || !t.valid()) return;
12
12
  const r = t.currentPath();
13
13
  e.onSelect(r), e.onOpenChange(!1);
@@ -23,11 +23,11 @@ function $(e) {
23
23
  return e.title ?? "Select Directory";
24
24
  },
25
25
  get class() {
26
- return f("max-w-lg", e.class);
26
+ return d("max-w-lg", e.class);
27
27
  },
28
28
  get footer() {
29
29
  return (() => {
30
- var r = x(), l = r.firstChild;
30
+ var r = C(), l = r.firstChild;
31
31
  return i(l, () => t.currentPath()), i(r, n(o, {
32
32
  variant: "ghost",
33
33
  size: "sm",
@@ -49,7 +49,7 @@ function $(e) {
49
49
  })();
50
50
  },
51
51
  get children() {
52
- return n(v, s(e, {
52
+ return n(P, s(e, {
53
53
  source: t,
54
54
  suggestions: {
55
55
  get paths() {