@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,15 +1,15 @@
1
- import { insert as a, createComponent as s, memo as V, effect as b, className as x, mergeProps as A, template as p, setAttribute as z, delegateEvents as D } from "solid-js/web";
2
- import { splitProps as I, createMemo as $, Show as v, createSignal as K } from "solid-js";
1
+ import { insert as a, createComponent as s, memo as V, effect as x, className as b, mergeProps as A, template as v, setAttribute as z, delegateEvents as D } from "solid-js/web";
2
+ import { splitProps as I, createMemo as $, Show as h, createSignal as K } from "solid-js";
3
3
  import { KeyedFor as N } from "./KeyedFor.js";
4
- import { cn as m } from "../../utils/cn.js";
4
+ import { cn as f } from "../../utils/cn.js";
5
5
  import { Check as O } from "../icons/index.js";
6
- var T = /* @__PURE__ */ p("<div data-floe-surface-part=step>"), L = /* @__PURE__ */ p("<span>"), U = /* @__PURE__ */ p('<span class="text-muted-foreground/60 font-normal">(Optional)'), q = /* @__PURE__ */ p("<p>"), B = /* @__PURE__ */ p("<div><div><span>"), G = /* @__PURE__ */ p("<div data-floe-surface=inset data-floe-surface-part=progress-track>"), H = /* @__PURE__ */ p("<nav aria-label=Progress>"), J = /* @__PURE__ */ p('<div class="flex items-center w-full">'), Q = /* @__PURE__ */ p("<div class=mt-2>"), R = /* @__PURE__ */ p('<div class="flex flex-col items-center">'), X = /* @__PURE__ */ p('<div class="flex-1 pb-4">'), W = /* @__PURE__ */ p("<div>"), Y = /* @__PURE__ */ p('<div class="flex flex-col h-full"><div class="flex-shrink-0 mb-6"></div><div>');
6
+ var T = /* @__PURE__ */ v("<div data-floe-surface-part=step>"), L = /* @__PURE__ */ v("<span>"), U = /* @__PURE__ */ v('<span class="text-[var(--floe-ink-ghost)] font-normal">(Optional)'), q = /* @__PURE__ */ v("<p>"), B = /* @__PURE__ */ v("<div><div><span>"), G = /* @__PURE__ */ v("<div data-floe-surface=inset data-floe-surface-part=progress-track>"), H = /* @__PURE__ */ v("<nav aria-label=Progress>"), J = /* @__PURE__ */ v('<div class="flex items-center w-full">'), Q = /* @__PURE__ */ v("<div class=mt-2>"), R = /* @__PURE__ */ v('<div class="flex flex-col items-center">'), X = /* @__PURE__ */ v('<div class="flex-1 pb-4">'), W = /* @__PURE__ */ v("<div>"), Y = /* @__PURE__ */ v('<div class="flex flex-col h-full"><div class="flex-shrink-0 mb-6"></div><div>');
7
7
  const F = {
8
8
  sm: {
9
- indicator: "w-6 h-6 text-[10px]",
9
+ indicator: "w-6 h-6 text-caption",
10
10
  iconSize: "w-3 h-3",
11
11
  label: "text-xs",
12
- description: "text-[10px]",
12
+ description: "text-caption",
13
13
  connector: "h-px mx-2",
14
14
  connectorVertical: "w-px min-h-4 my-1",
15
15
  gap: "gap-1"
@@ -34,24 +34,32 @@ const F = {
34
34
  }
35
35
  };
36
36
  function M(t) {
37
- const e = () => F[t.size], i = () => t.status === "completed", c = () => t.status === "current", o = () => m("flex items-center justify-center rounded-full transition-all duration-200", "font-medium select-none flex-shrink-0", e().indicator, t.clickable && !t.step.disabled ? "cursor-pointer hover:scale-110" : t.step.disabled ? "cursor-not-allowed opacity-50" : ""), h = () => t.variant === "dots" ? m("w-3 h-3 md:w-4 md:h-4", i() && "bg-primary", c() && "bg-primary ring-4 ring-primary/20", !i() && !c() && "bg-muted") : t.variant === "minimal" ? m("border-2", i() && "border-primary bg-primary text-primary-foreground", c() && "border-primary text-primary bg-transparent", !i() && !c() && "border-muted text-muted-foreground bg-transparent") : m(i() && "bg-primary text-primary-foreground shadow-sm", c() && "bg-primary text-primary-foreground shadow-md ring-4 ring-primary/20", !i() && !c() && "bg-muted text-muted-foreground"), u = () => {
37
+ const e = () => F[t.size], i = () => t.status === "completed", c = () => t.status === "current", o = () => f(
38
+ "flex items-center justify-center rounded-full transition-[background-color,color,transform] duration-[var(--floe-duration-base)]",
39
+ "font-medium select-none flex-shrink-0",
40
+ e().indicator,
41
+ /* A hovered dot steps up the same pixel as every other surface. It used to
42
+ * scale by 10%, which is a different motion language for a 12px element —
43
+ * and at that size it reads as a size change, not as a response. */
44
+ t.clickable && !t.step.disabled ? "cursor-pointer hover:-translate-y-[var(--floe-hover-lift)]" : t.step.disabled ? "cursor-not-allowed opacity-50" : ""
45
+ ), p = () => t.variant === "dots" ? f("w-3 h-3 md:w-4 md:h-4", i() && "bg-primary", c() && "bg-primary ring-4 ring-primary/20", !i() && !c() && "bg-[var(--floe-well)]") : t.variant === "minimal" ? f("border-2", i() && "border-primary bg-primary text-primary-foreground", c() && "border-primary text-primary bg-transparent", !i() && !c() && "border-[var(--floe-control-edge)] text-[var(--floe-ink-soft)] bg-transparent") : f(i() && "bg-primary text-primary-foreground", c() && "bg-primary text-primary-foreground ring-4 ring-[var(--floe-accent-soft)]", !i() && !c() && "bg-[var(--floe-well)] text-[var(--floe-ink-soft)]"), u = () => {
38
46
  t.clickable && !t.step.disabled && t.onClick && t.onClick();
39
47
  };
40
48
  return (() => {
41
49
  var n = T();
42
50
  return n.$$keydown = (r) => {
43
51
  (r.key === "Enter" || r.key === " ") && (r.preventDefault(), u());
44
- }, n.$$click = u, a(n, s(v, {
52
+ }, n.$$click = u, a(n, s(h, {
45
53
  get when() {
46
54
  return t.variant !== "dots";
47
55
  },
48
56
  get children() {
49
- return s(v, {
57
+ return s(h, {
50
58
  get when() {
51
59
  return V(() => !!i())() && !t.step.icon;
52
60
  },
53
61
  get fallback() {
54
- return s(v, {
62
+ return s(h, {
55
63
  get when() {
56
64
  return t.step.icon;
57
65
  },
@@ -63,7 +71,7 @@ function M(t) {
63
71
  },
64
72
  get children() {
65
73
  var r = L();
66
- return a(r, () => t.step.icon), b(() => x(r, e().iconSize)), r;
74
+ return a(r, () => t.step.icon), x(() => b(r, e().iconSize)), r;
67
75
  }
68
76
  });
69
77
  },
@@ -76,9 +84,9 @@ function M(t) {
76
84
  }
77
85
  });
78
86
  }
79
- })), b((r) => {
80
- var g = c() || i() ? "raised" : "inset", C = c() ? "current" : i() ? "completed" : "pending", k = m(o(), h()), d = t.clickable ? "button" : void 0, l = t.clickable && !t.step.disabled ? 0 : void 0;
81
- return g !== r.e && z(n, "data-floe-surface", r.e = g), C !== r.t && z(n, "data-floe-step-state", r.t = C), k !== r.a && x(n, r.a = k), d !== r.o && z(n, "role", r.o = d), l !== r.i && z(n, "tabindex", r.i = l), r;
87
+ })), x((r) => {
88
+ var m = c() || i() ? "raised" : "inset", k = c() ? "current" : i() ? "completed" : "pending", C = f(o(), p()), d = t.clickable ? "button" : void 0, l = t.clickable && !t.step.disabled ? 0 : void 0;
89
+ return m !== r.e && z(n, "data-floe-surface", r.e = m), k !== r.t && z(n, "data-floe-step-state", r.t = k), C !== r.a && b(n, r.a = C), d !== r.o && z(n, "role", r.o = d), l !== r.i && z(n, "tabindex", r.i = l), r;
82
90
  }, {
83
91
  e: void 0,
84
92
  t: void 0,
@@ -91,25 +99,25 @@ function M(t) {
91
99
  function j(t) {
92
100
  const e = () => F[t.size], i = () => t.status === "current", c = () => t.status === "upcoming";
93
101
  return (() => {
94
- var o = B(), h = o.firstChild, u = h.firstChild;
95
- return a(u, () => t.step.label), a(h, s(v, {
102
+ var o = B(), p = o.firstChild, u = p.firstChild;
103
+ return a(u, () => t.step.label), a(p, s(h, {
96
104
  get when() {
97
105
  return t.step.optional;
98
106
  },
99
107
  get children() {
100
108
  return U();
101
109
  }
102
- }), null), a(o, s(v, {
110
+ }), null), a(o, s(h, {
103
111
  get when() {
104
112
  return t.step.description;
105
113
  },
106
114
  get children() {
107
115
  var n = q();
108
- return a(n, () => t.step.description), b(() => x(n, m(e().description, "text-muted-foreground", c() && "opacity-60", t.step.disabled && "opacity-50"))), n;
116
+ return a(n, () => t.step.description), x(() => b(n, f(e().description, "text-[var(--floe-ink-soft)]", c() && "opacity-60", t.step.disabled && "opacity-50"))), n;
109
117
  }
110
- }), null), b((n) => {
111
- var r = m("flex flex-col", e().gap, t.orientation === "horizontal" ? "items-center text-center" : "items-start"), g = m("flex items-center gap-1", e().label, "font-medium transition-colors duration-200", i() && "text-foreground", !i() && "text-muted-foreground", t.step.disabled && "opacity-50");
112
- return r !== n.e && x(o, n.e = r), g !== n.t && x(h, n.t = g), n;
118
+ }), null), x((n) => {
119
+ var r = f("flex flex-col", e().gap, t.orientation === "horizontal" ? "items-center text-center" : "items-start"), m = f("flex items-center gap-1", e().label, "font-medium transition-colors duration-[var(--floe-duration-base)]", i() && "text-foreground", !i() && "text-[var(--floe-ink-soft)]", t.step.disabled && "opacity-50");
120
+ return r !== n.e && b(o, n.e = r), m !== n.t && b(p, n.t = m), n;
113
121
  }, {
114
122
  e: void 0,
115
123
  t: void 0
@@ -120,19 +128,19 @@ function E(t) {
120
128
  const e = () => F[t.size];
121
129
  return (() => {
122
130
  var i = G();
123
- return b(() => x(i, m("transition-colors duration-300", t.orientation === "horizontal" ? m("flex-1", e().connector) : m(e().connectorVertical, "mx-auto"), t.completed ? "bg-primary" : "bg-muted"))), i;
131
+ return x(() => b(i, f("transition-colors duration-[var(--floe-duration-slow)]", t.orientation === "horizontal" ? f("flex-1", e().connector) : f(e().connectorVertical, "mx-auto"), t.completed ? "bg-primary" : "bg-[var(--floe-well)]"))), i;
124
132
  })();
125
133
  }
126
134
  function Z(t) {
127
- const [e] = I(t, ["steps", "currentStep", "onStepClick", "variant", "orientation", "size", "showConnector", "allowClickCompleted", "allowClickFuture", "class"]), i = () => e.variant ?? "default", c = () => e.orientation ?? "horizontal", o = () => e.size ?? "md", h = () => e.showConnector ?? !0, u = () => e.allowClickCompleted ?? !0, n = () => e.allowClickFuture ?? !1, r = $(() => typeof e.currentStep == "function" ? e.currentStep() : e.currentStep), g = (d) => {
135
+ const [e] = I(t, ["steps", "currentStep", "onStepClick", "variant", "orientation", "size", "showConnector", "allowClickCompleted", "allowClickFuture", "class"]), i = () => e.variant ?? "default", c = () => e.orientation ?? "horizontal", o = () => e.size ?? "md", p = () => e.showConnector ?? !0, u = () => e.allowClickCompleted ?? !0, n = () => e.allowClickFuture ?? !1, r = $(() => typeof e.currentStep == "function" ? e.currentStep() : e.currentStep), m = (d) => {
128
136
  const l = r();
129
137
  return d < l ? "completed" : d === l ? "current" : "upcoming";
130
- }, C = (d) => {
138
+ }, k = (d) => {
131
139
  if (!e.onStepClick) return !1;
132
- const l = g(d);
140
+ const l = m(d);
133
141
  return l === "completed" ? u() : l === "upcoming" ? n() : !1;
134
- }, k = (d, l) => {
135
- C(d) && !l.disabled && e.onStepClick?.(d, l);
142
+ }, C = (d, l) => {
143
+ k(d) && !l.disabled && e.onStepClick?.(d, l);
136
144
  };
137
145
  return (() => {
138
146
  var d = H();
@@ -142,17 +150,17 @@ function Z(t) {
142
150
  },
143
151
  by: (l) => l.id,
144
152
  children: (l, w) => {
145
- const S = () => g(w()), P = () => C(w()), _ = () => w() === e.steps.length - 1;
153
+ const S = () => m(w()), P = () => k(w()), _ = () => w() === e.steps.length - 1;
146
154
  return (() => {
147
155
  var y = W();
148
- return a(y, s(v, {
156
+ return a(y, s(h, {
149
157
  get when() {
150
158
  return c() === "horizontal";
151
159
  },
152
160
  get children() {
153
161
  return [(() => {
154
- var f = J();
155
- return a(f, s(M, {
162
+ var g = J();
163
+ return a(g, s(M, {
156
164
  get step() {
157
165
  return l();
158
166
  },
@@ -168,13 +176,13 @@ function Z(t) {
168
176
  get size() {
169
177
  return o();
170
178
  },
171
- onClick: () => k(w(), l()),
179
+ onClick: () => C(w(), l()),
172
180
  get clickable() {
173
181
  return P();
174
182
  }
175
- }), null), a(f, s(v, {
183
+ }), null), a(g, s(h, {
176
184
  get when() {
177
- return V(() => !!h())() && !_();
185
+ return V(() => !!p())() && !_();
178
186
  },
179
187
  get children() {
180
188
  return s(E, {
@@ -187,10 +195,10 @@ function Z(t) {
187
195
  orientation: "horizontal"
188
196
  });
189
197
  }
190
- }), null), f;
198
+ }), null), g;
191
199
  })(), (() => {
192
- var f = Q();
193
- return a(f, s(j, {
200
+ var g = Q();
201
+ return a(g, s(j, {
194
202
  get step() {
195
203
  return l();
196
204
  },
@@ -201,17 +209,17 @@ function Z(t) {
201
209
  return o();
202
210
  },
203
211
  orientation: "horizontal"
204
- })), f;
212
+ })), g;
205
213
  })()];
206
214
  }
207
- }), null), a(y, s(v, {
215
+ }), null), a(y, s(h, {
208
216
  get when() {
209
217
  return c() === "vertical";
210
218
  },
211
219
  get children() {
212
220
  return [(() => {
213
- var f = R();
214
- return a(f, s(M, {
221
+ var g = R();
222
+ return a(g, s(M, {
215
223
  get step() {
216
224
  return l();
217
225
  },
@@ -227,13 +235,13 @@ function Z(t) {
227
235
  get size() {
228
236
  return o();
229
237
  },
230
- onClick: () => k(w(), l()),
238
+ onClick: () => C(w(), l()),
231
239
  get clickable() {
232
240
  return P();
233
241
  }
234
- }), null), a(f, s(v, {
242
+ }), null), a(g, s(h, {
235
243
  get when() {
236
- return V(() => !!h())() && !_();
244
+ return V(() => !!p())() && !_();
237
245
  },
238
246
  get children() {
239
247
  return s(E, {
@@ -246,10 +254,10 @@ function Z(t) {
246
254
  orientation: "vertical"
247
255
  });
248
256
  }
249
- }), null), f;
257
+ }), null), g;
250
258
  })(), (() => {
251
- var f = X();
252
- return a(f, s(j, {
259
+ var g = X();
260
+ return a(g, s(j, {
253
261
  get step() {
254
262
  return l();
255
263
  },
@@ -260,35 +268,35 @@ function Z(t) {
260
268
  return o();
261
269
  },
262
270
  orientation: "vertical"
263
- })), f;
271
+ })), g;
264
272
  })()];
265
273
  }
266
- }), null), b(() => x(y, m("flex", c() === "horizontal" ? m("flex-col items-center", !_() && "flex-1") : "flex-row items-start gap-3"))), y;
274
+ }), null), x(() => b(y, f("flex", c() === "horizontal" ? f("flex-col items-center", !_() && "flex-1") : "flex-row items-start gap-3"))), y;
267
275
  })();
268
276
  }
269
- })), b(() => x(d, m("flex", c() === "horizontal" ? "flex-row items-start justify-between" : "flex-col", e.class))), d;
277
+ })), x(() => b(d, f("flex", c() === "horizontal" ? "flex-row items-start justify-between" : "flex-col", e.class))), d;
270
278
  })();
271
279
  }
272
280
  function ot(t) {
273
281
  const [e, i] = I(t, ["steps", "footer", "contentClass", "footerClass"]), c = () => e.steps.map(({
274
282
  content: u,
275
283
  ...n
276
- }) => n), o = $(() => typeof t.currentStep == "function" ? t.currentStep() : t.currentStep), h = () => e.steps[o()]?.content;
284
+ }) => n), o = $(() => typeof t.currentStep == "function" ? t.currentStep() : t.currentStep), p = () => e.steps[o()]?.content;
277
285
  return (() => {
278
286
  var u = Y(), n = u.firstChild, r = n.nextSibling;
279
287
  return a(n, s(Z, A(i, {
280
288
  get steps() {
281
289
  return c();
282
290
  }
283
- }))), a(r, h), a(u, s(v, {
291
+ }))), a(r, p), a(u, s(h, {
284
292
  get when() {
285
293
  return e.footer;
286
294
  },
287
295
  get children() {
288
- var g = W();
289
- return a(g, () => e.footer), b(() => x(g, m("flex-shrink-0 mt-6", e.footerClass))), g;
296
+ var m = W();
297
+ return a(m, () => e.footer), x(() => b(m, f("flex-shrink-0 mt-6", e.footerClass))), m;
290
298
  }
291
- }), null), b(() => x(r, m("flex-1 min-h-0", e.contentClass))), u;
299
+ }), null), x(() => b(r, f("flex-1 min-h-0", e.contentClass))), u;
292
300
  })();
293
301
  }
294
302
  function lt(t) {
@@ -296,21 +304,21 @@ function lt(t) {
296
304
  totalSteps: e,
297
305
  initialStep: i = 0,
298
306
  onStepChange: c
299
- } = t, [o, h] = K(i), u = (d) => {
307
+ } = t, [o, p] = K(i), u = (d) => {
300
308
  const l = Math.max(0, Math.min(d, e - 1));
301
- h(l), c?.(l);
309
+ p(l), c?.(l);
302
310
  }, n = () => {
303
311
  o() < e - 1 && u(o() + 1);
304
312
  }, r = () => {
305
313
  o() > 0 && u(o() - 1);
306
- }, g = $(() => o() === 0), C = $(() => o() === e - 1);
314
+ }, m = $(() => o() === 0), k = $(() => o() === e - 1);
307
315
  return {
308
316
  currentStep: o,
309
317
  nextStep: n,
310
318
  prevStep: r,
311
319
  goToStep: u,
312
- isFirstStep: g,
313
- isLastStep: C,
320
+ isFirstStep: m,
321
+ isLastStep: k,
314
322
  reset: () => {
315
323
  u(i);
316
324
  }
@@ -1,14 +1,14 @@
1
- import { insert as a, createComponent as n, effect as d, className as s, template as u, spread as z, mergeProps as T, setAttribute as H } from "solid-js/web";
2
- import { splitProps as I, createUniqueId as L, Show as c } from "solid-js";
3
- import { cn as o } from "../../utils/cn.js";
4
- var j = /* @__PURE__ */ u('<div class="relative inline-flex items-center shrink-0"><input data-floe-choice-input type=checkbox role=switch class="sr-only peer"><div data-floe-surface=inset data-floe-surface-part=switch-track><div data-floe-surface=raised data-floe-surface-part=switch-thumb>'), x = /* @__PURE__ */ u("<span>"), q = /* @__PURE__ */ u('<div class="flex flex-col justify-center min-h-0">'), A = /* @__PURE__ */ u("<label>");
1
+ import { insert as l, createComponent as a, effect as d, className as s, template as u, spread as z, mergeProps as T, setAttribute as H } from "solid-js/web";
2
+ import { splitProps as I, createUniqueId as L, Show as o } from "solid-js";
3
+ import { cn as c } from "../../utils/cn.js";
4
+ var j = /* @__PURE__ */ u('<div class="relative inline-flex items-center shrink-0"><input data-floe-choice-input type=checkbox role=switch class="sr-only peer"><div data-floe-surface=inset data-floe-surface-part=switch-track><div data-floe-surface=raised data-floe-surface-part=switch-thumb>'), v = /* @__PURE__ */ u("<span>"), q = /* @__PURE__ */ u('<div class="flex flex-col justify-center min-h-0">'), A = /* @__PURE__ */ u("<label>");
5
5
  const E = {
6
6
  sm: {
7
7
  track: "w-7 h-4",
8
8
  thumb: "w-3 h-3",
9
9
  thumbTranslate: "translate-x-3",
10
10
  label: "text-xs leading-4",
11
- description: "text-[10px] leading-3",
11
+ description: "text-caption leading-[var(--floe-line-caption)]",
12
12
  trackHeight: 16
13
13
  },
14
14
  md: {
@@ -16,7 +16,7 @@ const E = {
16
16
  thumb: "w-4 h-4",
17
17
  thumbTranslate: "translate-x-4",
18
18
  label: "text-xs leading-5",
19
- description: "text-[11px] leading-4",
19
+ description: "text-caption leading-[var(--floe-line-caption)]",
20
20
  trackHeight: 20
21
21
  },
22
22
  lg: {
@@ -28,8 +28,8 @@ const E = {
28
28
  trackHeight: 24
29
29
  }
30
30
  };
31
- function D(v) {
32
- const [e, k] = I(v, ["checked", "onChange", "size", "label", "description", "labelPosition", "class", "disabled", "id"]), w = L(), C = () => e.id ?? w, _ = () => e.size ?? "md", i = () => E[_()], g = () => e.labelPosition ?? "right", $ = (t) => {
31
+ function D(x) {
32
+ const [e, k] = I(x, ["checked", "onChange", "size", "label", "description", "labelPosition", "class", "disabled", "id"]), w = L(), C = () => e.id ?? w, _ = () => e.size ?? "md", i = () => E[_()], f = () => e.labelPosition ?? "right", $ = (t) => {
33
33
  const r = t.target;
34
34
  e.onChange?.(r.checked);
35
35
  }, y = () => (() => {
@@ -47,56 +47,56 @@ function D(v) {
47
47
  get "aria-checked"() {
48
48
  return e.checked;
49
49
  }
50
- }, k), !1, !1), d((l) => {
51
- var f = e.checked ? "true" : void 0, m = o("rounded-full transition-colors duration-200 cursor-pointer", i().track, e.checked ? "bg-primary" : "bg-input", e.disabled && "cursor-not-allowed", "peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2"), p = o("rounded-full bg-background shadow-sm transition-transform duration-200", i().thumb, "absolute top-0.5 left-0.5", e.checked ? i().thumbTranslate : "translate-x-0");
52
- return f !== l.e && H(h, "data-floe-selected", l.e = f), m !== l.t && s(h, l.t = m), p !== l.a && s(S, l.a = p), l;
50
+ }, k), !1, !1), d((n) => {
51
+ var b = e.checked ? "true" : void 0, p = c("rounded-full cursor-pointer", "transition-colors duration-[var(--floe-duration-fast)] ease-[var(--floe-ease-out)]", i().track, e.checked ? "bg-primary" : "bg-input", e.disabled && "cursor-not-allowed", "peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2"), m = c("rounded-full bg-background", "shadow-[var(--floe-elevation-raised)]", "transition-transform duration-[var(--floe-duration-fast)] ease-[var(--floe-ease-out)]", i().thumb, "absolute top-0.5 left-0.5", e.checked ? i().thumbTranslate : "translate-x-0");
52
+ return b !== n.e && H(h, "data-floe-selected", n.e = b), p !== n.t && s(h, n.t = p), m !== n.a && s(S, n.a = m), n;
53
53
  }, {
54
54
  e: void 0,
55
55
  t: void 0,
56
56
  a: void 0
57
57
  }), t;
58
- })(), b = () => n(c, {
58
+ })(), g = () => a(o, {
59
59
  get when() {
60
60
  return e.label || e.description;
61
61
  },
62
62
  get children() {
63
63
  var t = q();
64
- return a(t, n(c, {
64
+ return l(t, a(o, {
65
65
  get when() {
66
66
  return e.label;
67
67
  },
68
68
  get children() {
69
- var r = x();
70
- return a(r, () => e.label), d(() => s(r, o("text-foreground", i().label))), r;
69
+ var r = v();
70
+ return l(r, () => e.label), d(() => s(r, c("text-foreground", i().label))), r;
71
71
  }
72
- }), null), a(t, n(c, {
72
+ }), null), l(t, a(o, {
73
73
  get when() {
74
74
  return e.description;
75
75
  },
76
76
  get children() {
77
- var r = x();
78
- return a(r, () => e.description), d(() => s(r, o("text-muted-foreground", i().description))), r;
77
+ var r = v();
78
+ return l(r, () => e.description), d(() => s(r, c("text-[var(--floe-ink-soft)]", i().description))), r;
79
79
  }
80
80
  }), null), t;
81
81
  }
82
82
  }), P = () => e.description ? "items-start" : "items-center";
83
83
  return (() => {
84
84
  var t = A();
85
- return a(t, n(c, {
85
+ return l(t, a(o, {
86
86
  get when() {
87
- return g() === "left";
87
+ return f() === "left";
88
88
  },
89
89
  get children() {
90
- return n(b, {});
90
+ return a(g, {});
91
91
  }
92
- }), null), a(t, n(y, {}), null), a(t, n(c, {
92
+ }), null), l(t, a(y, {}), null), l(t, a(o, {
93
93
  get when() {
94
- return g() === "right";
94
+ return f() === "right";
95
95
  },
96
96
  get children() {
97
- return n(b, {});
97
+ return a(g, {});
98
98
  }
99
- }), null), d(() => s(t, o("inline-flex gap-2 cursor-pointer select-none", P(), e.disabled && "opacity-50 cursor-not-allowed", e.class))), t;
99
+ }), null), d(() => s(t, c("inline-flex gap-2 cursor-pointer select-none", P(), e.disabled && "opacity-50 cursor-not-allowed", e.class))), t;
100
100
  })();
101
101
  }
102
102
  export {