@floegence/floe-webapp-core 0.36.73 → 0.36.75

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.
@@ -1,11 +1,12 @@
1
- import { createComponent as v, spread as de, mergeProps as ce, insert as f, effect as x, className as y, setStyleProperty as oe, memo as se, use as le, setAttribute as I, template as w, delegateEvents as Ne } from "solid-js/web";
2
- import { splitProps as ue, Show as k, createSignal as B, untrack as ie, createEffect as O, For as Le, onCleanup as ae } from "solid-js";
1
+ import { createComponent as v, spread as ae, mergeProps as de, insert as f, effect as x, className as y, setStyleProperty as ne, memo as oe, use as se, setAttribute as B, template as w, delegateEvents as $e } from "solid-js/web";
2
+ import { splitProps as ce, Show as k, createSignal as L, untrack as le, createEffect as X, For as Ne, onCleanup as ie } from "solid-js";
3
3
  import { cn as g } from "../../utils/cn.js";
4
- import { deferAfterPaint as R } from "../../utils/defer.js";
4
+ import { deferAfterPaint as M } from "../../utils/defer.js";
5
+ import { createUIFirstSelection as Le } from "../../utils/uiFirstSelection.js";
5
6
  import { useViewActivation as Re } from "../../context/ViewActivationContext.js";
6
7
  import { X as Te, Plus as ze, ChevronRight as Ee } from "../icons/index.js";
7
- var He = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m15 18-6-6 6-6">'), _e = /* @__PURE__ */ w('<button type=button aria-label="Scroll left">'), Pe = /* @__PURE__ */ w("<div>"), De = /* @__PURE__ */ w('<button type=button aria-label="Add new tab">'), Me = /* @__PURE__ */ w('<button type=button aria-label="Scroll right">'), Oe = /* @__PURE__ */ w("<div><div role=tablist aria-orientation=horizontal>"), We = /* @__PURE__ */ w("<span class=flex-shrink-0>"), Fe = /* @__PURE__ */ w("<button type=button>"), je = /* @__PURE__ */ w('<div role=tab><span class="truncate max-w-32">'), Ge = /* @__PURE__ */ w("<div role=tabpanel>");
8
- const V = {
8
+ var He = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m15 18-6-6 6-6">'), _e = /* @__PURE__ */ w('<button type=button aria-label="Scroll left">'), Pe = /* @__PURE__ */ w("<div>"), De = /* @__PURE__ */ w('<button type=button aria-label="Add new tab">'), Me = /* @__PURE__ */ w('<button type=button aria-label="Scroll right">'), Fe = /* @__PURE__ */ w("<div><div role=tablist aria-orientation=horizontal>"), Oe = /* @__PURE__ */ w("<span class=flex-shrink-0>"), We = /* @__PURE__ */ w("<button type=button>"), je = /* @__PURE__ */ w('<div role=tab><span class="truncate max-w-32">'), Ge = /* @__PURE__ */ w("<div role=tabpanel>");
9
+ const q = {
9
10
  x: 0,
10
11
  width: 0,
11
12
  visible: !1
@@ -39,7 +40,7 @@ function Ue(a, e, h) {
39
40
  function Xe(a) {
40
41
  return a === 1 || a === 2 || a === 3 || a === 4 ? a : 2;
41
42
  }
42
- function Ve(a) {
43
+ function qe(a) {
43
44
  switch (a) {
44
45
  case 1:
45
46
  return {
@@ -63,7 +64,7 @@ function Ve(a) {
63
64
  };
64
65
  }
65
66
  }
66
- function qe(a) {
67
+ function Ve(a) {
67
68
  switch (a) {
68
69
  case "border":
69
70
  return {
@@ -84,7 +85,7 @@ function qe(a) {
84
85
  }
85
86
  const Ke = (a) => (() => {
86
87
  var e = He();
87
- return x(() => I(e, "class", a.class)), e;
88
+ return x(() => B(e, "class", a.class)), e;
88
89
  })();
89
90
  function Ye(a) {
90
91
  const {
@@ -97,15 +98,15 @@ function Ye(a) {
97
98
  width: C,
98
99
  visible: C > 0
99
100
  };
100
- const b = e.getBoundingClientRect(), p = h.getBoundingClientRect(), T = e.offsetWidth || e.clientWidth, A = b.width > 0 && T > 0 ? b.width / T : 1, z = Number.isFinite(A) && A > 0 ? A : 1, E = p.width / z;
101
+ const b = e.getBoundingClientRect(), p = h.getBoundingClientRect(), R = e.offsetWidth || e.clientWidth, I = b.width > 0 && R > 0 ? b.width / R : 1, T = Number.isFinite(I) && I > 0 ? I : 1, z = p.width / T;
101
102
  return {
102
- x: (p.left - b.left + e.scrollLeft) / z,
103
- width: E,
104
- visible: E > 0
103
+ x: (p.left - b.left + e.scrollLeft) / T,
104
+ width: z,
105
+ visible: z > 0
105
106
  };
106
107
  }
107
- function nt(a) {
108
- const [e, h] = ue(a, ["items", "activeId", "defaultActiveId", "onChange", "onActiveIdChange", "onClose", "onAdd", "showAdd", "closable", "size", "features", "slotClassNames", "ariaLabel", "class"]), d = () => e.features?.indicator?.mode ?? "activeBorder", C = () => Xe(e.features?.indicator?.thicknessPx), b = () => e.features?.indicator?.colorToken ?? "primary", p = () => e.features?.indicator?.animated ?? !0, T = () => e.features?.containerBorder ?? !0, A = () => e.features?.scrollButtons ?? "auto", z = () => e.features?.closeButton?.dangerHover ?? !0, E = () => e.features?.closeButton?.enabledByDefault ?? e.closable ?? !1, fe = () => e.features?.addButton?.enabled ?? e.showAdd ?? !1, q = () => Ve(C()), W = () => qe(b());
108
+ function st(a) {
109
+ const [e, h] = ce(a, ["items", "activeId", "defaultActiveId", "onChange", "onActiveIdChange", "onClose", "onAdd", "showAdd", "closable", "size", "features", "slotClassNames", "ariaLabel", "class"]), d = () => e.features?.indicator?.mode ?? "activeBorder", C = () => Xe(e.features?.indicator?.thicknessPx), b = () => e.features?.indicator?.colorToken ?? "primary", p = () => e.features?.indicator?.animated ?? !0, R = () => e.features?.containerBorder ?? !0, I = () => e.features?.scrollButtons ?? "auto", T = () => e.features?.closeButton?.dangerHover ?? !0, z = () => e.features?.closeButton?.enabledByDefault ?? e.closable ?? !1, ue = () => e.features?.addButton?.enabled ?? e.showAdd ?? !1, V = () => qe(C()), F = () => Ve(b());
109
110
  let u;
110
111
  const K = (() => {
111
112
  try {
@@ -114,125 +115,123 @@ function nt(a) {
114
115
  return null;
115
116
  }
116
117
  })(), S = () => K ? K.active() : !0;
117
- let F = !1;
118
- const [H, j] = B(V), _ = /* @__PURE__ */ new Map();
119
- let G = !1;
120
- const P = () => d() === "slider", Y = (o) => {
121
- if (!u || !P()) return !1;
122
- const r = _.get(o);
118
+ let O = !1;
119
+ const [E, W] = L(q), H = /* @__PURE__ */ new Map();
120
+ let j = !1;
121
+ const _ = () => d() === "slider", Y = (o) => {
122
+ if (!u || !_()) return !1;
123
+ const r = H.get(o);
123
124
  if (!r) return !1;
124
125
  const s = Ye({
125
126
  container: u,
126
127
  tab: r
127
128
  });
128
- return j(s), s.visible;
129
- }, ve = () => {
130
- if (!P()) {
131
- j(V);
129
+ return W(s), s.visible;
130
+ }, fe = () => {
131
+ if (!_()) {
132
+ W(q);
132
133
  return;
133
134
  }
134
- Y(U()) || j(V);
135
- }, D = () => {
136
- G || (G = !0, R(() => {
137
- G = !1, ie(() => {
138
- S() && ve();
135
+ Y(G()) || W(q);
136
+ }, P = () => {
137
+ j || (j = !0, M(() => {
138
+ j = !1, le(() => {
139
+ S() && fe();
139
140
  });
140
141
  }));
141
- }, J = () => e.activeId !== void 0, he = () => e.onChange ?? e.onActiveIdChange, [be, ge] = B(ie(() => e.defaultActiveId ?? e.items[0]?.id ?? "")), Q = () => J() ? e.activeId : be(), [U, Z] = B(Q());
142
- O(() => {
143
- Z(Q());
144
- }), O(() => {
145
- S() && (d(), U(), D());
142
+ }, J = () => e.activeId !== void 0, ve = () => e.onChange ?? e.onActiveIdChange, [he, be] = L(le(() => e.defaultActiveId ?? e.items[0]?.id ?? "")), Q = Le({
143
+ committed: () => J() ? e.activeId : he(),
144
+ commit: (o) => {
145
+ J() || be(o), ve()?.(o);
146
+ }
147
+ }), G = Q.visual;
148
+ X(() => {
149
+ S() && (d(), G(), P());
146
150
  });
147
- const [ee, me] = B(!1), [te, we] = B(!1), [Ce, pe] = B(!1), re = () => A() === "auto" && Ce(), xe = () => {
151
+ const [Z, ge] = L(!1), [ee, me] = L(!1), [we, Ce] = L(!1), te = () => I() === "auto" && we(), pe = () => {
148
152
  if (!u) return;
149
153
  const {
150
154
  scrollLeft: o,
151
155
  scrollWidth: r,
152
156
  clientWidth: s
153
157
  } = u, t = r > s;
154
- pe(t), me(o > 0), we(o + s < r - 1);
155
- }, M = () => {
156
- F || (F = !0, R(() => {
157
- F = !1, S() && xe();
158
+ Ce(t), ge(o > 0), me(o + s < r - 1);
159
+ }, D = () => {
160
+ O || (O = !0, M(() => {
161
+ O = !1, S() && pe();
158
162
  }));
159
- }, ye = () => {
163
+ }, xe = () => {
160
164
  u && u.scrollBy({
161
165
  left: -150,
162
166
  behavior: "smooth"
163
167
  });
164
- }, ke = () => {
168
+ }, ye = () => {
165
169
  u && u.scrollBy({
166
170
  left: 150,
167
171
  behavior: "smooth"
168
172
  });
169
173
  };
170
- O(() => {
174
+ X(() => {
171
175
  if (!u || !S()) return;
172
- M(), D();
173
- const o = () => M();
176
+ D(), P();
177
+ const o = () => D();
174
178
  u.addEventListener("scroll", o);
175
179
  const r = () => {
176
- M(), D();
180
+ D(), P();
177
181
  };
178
182
  let s;
179
- typeof ResizeObserver < "u" ? (s = new ResizeObserver(r), s.observe(u)) : typeof window < "u" && window.addEventListener("resize", r), ae(() => {
183
+ typeof ResizeObserver < "u" ? (s = new ResizeObserver(r), s.observe(u)) : typeof window < "u" && window.addEventListener("resize", r), ie(() => {
180
184
  u?.removeEventListener("scroll", o), s?.disconnect(), typeof window < "u" && window.removeEventListener("resize", r);
181
185
  });
182
- }), O(() => {
183
- S() && (e.items.length, M(), D());
186
+ }), X(() => {
187
+ S() && (e.items.length, D(), P());
184
188
  });
185
- const X = (o, r) => {
186
- if (r) return;
187
- const s = he();
188
- if (Z(o), P() && Y(o), J() || ge(o), s) {
189
- const t = o;
190
- R(() => s(t));
191
- }
192
- }, Be = (o) => {
189
+ const U = (o, r) => {
190
+ r || (Q.request(o), _() && Y(o));
191
+ }, ke = (o) => {
193
192
  const r = e.items.find((s) => s.id === o);
194
- r && (X(r.id, r.disabled), requestAnimationFrame(() => {
195
- const s = _.get(r.id);
193
+ r && (U(r.id, r.disabled), requestAnimationFrame(() => {
194
+ const s = H.get(r.id);
196
195
  s?.focus(), s?.scrollIntoView({
197
196
  block: "nearest",
198
197
  inline: "nearest"
199
198
  });
200
199
  }));
201
- }, Ie = (o, r) => {
200
+ }, Be = (o, r) => {
202
201
  const s = Ue(e.items, r.id, o.key);
203
- s && (o.preventDefault(), Be(s));
204
- }, Ae = (o, r) => {
202
+ s && (o.preventDefault(), ke(s));
203
+ }, Ie = (o, r) => {
205
204
  o.stopPropagation();
206
205
  const s = e.onClose;
207
206
  if (!s) return;
208
207
  const t = r;
209
- R(() => s(t));
208
+ M(() => s(t));
210
209
  }, Se = {
211
210
  sm: "h-7 px-2 text-[11px]",
212
211
  md: "h-8 px-3 text-xs"
213
- }, $e = (o, r) => {
212
+ }, Ae = (o, r) => {
214
213
  const s = "inline-flex items-center gap-1.5 font-medium transition-colors duration-150 whitespace-nowrap", t = r ? "cursor-not-allowed opacity-50" : "cursor-pointer", n = (() => {
215
214
  const c = d();
216
- return c === "none" || c === "slider" && H().visible ? "border-transparent" : W().tabBorderClass;
215
+ return c === "none" || c === "slider" && E().visible ? "border-transparent" : F().tabBorderClass;
217
216
  })();
218
- return g(s, t, Se[e.size ?? "md"], "rounded-t", q().tabBorderClass, o ? g(n, "text-foreground bg-background", e.slotClassNames?.tabActive) : g("border-transparent text-muted-foreground hover:text-foreground hover:bg-muted/50", e.slotClassNames?.tabInactive), r && "hover:bg-transparent hover:text-muted-foreground hover:border-transparent", e.slotClassNames?.tab);
217
+ return g(s, t, Se[e.size ?? "md"], "rounded-t", V().tabBorderClass, o ? g(n, "text-foreground bg-background", e.slotClassNames?.tabActive) : g("border-transparent text-muted-foreground hover:text-foreground hover:bg-muted/50", e.slotClassNames?.tabInactive), r && "hover:bg-transparent hover:text-muted-foreground hover:border-transparent", e.slotClassNames?.tab);
219
218
  };
220
219
  return (() => {
221
- var o = Oe(), r = o.firstChild;
222
- de(o, ce({
220
+ var o = Fe(), r = o.firstChild;
221
+ ae(o, de({
223
222
  get class() {
224
- return g("relative flex items-center gap-0.5", T() && "border-b border-border", e.slotClassNames?.root, e.class);
223
+ return g("relative flex items-center gap-0.5", R() && "border-b border-border", e.slotClassNames?.root, e.class);
225
224
  }
226
225
  }, h), !1, !0), f(o, v(k, {
227
226
  get when() {
228
- return re();
227
+ return te();
229
228
  },
230
229
  get children() {
231
230
  var t = _e();
232
- return t.$$click = ye, f(t, v(Ke, {
231
+ return t.$$click = xe, f(t, v(Ke, {
233
232
  class: "w-4 h-4"
234
233
  })), x((n) => {
235
- var c = !ee(), i = g("flex-shrink-0 flex items-center justify-center", "w-6 h-6 rounded cursor-pointer", "transition-all duration-150", ee() ? "text-muted-foreground hover:text-foreground hover:bg-muted/80 opacity-100" : "opacity-0 pointer-events-none", e.slotClassNames?.scrollButton);
234
+ var c = !Z(), i = g("flex-shrink-0 flex items-center justify-center", "w-6 h-6 rounded cursor-pointer", "transition-all duration-150", Z() ? "text-muted-foreground hover:text-foreground hover:bg-muted/80 opacity-100" : "opacity-0 pointer-events-none", e.slotClassNames?.scrollButton);
236
235
  return c !== n.e && (t.disabled = n.e = c), i !== n.t && y(t, n.t = i), n;
237
236
  }, {
238
237
  e: void 0,
@@ -241,64 +240,64 @@ function nt(a) {
241
240
  }
242
241
  }), r);
243
242
  var s = u;
244
- return typeof s == "function" ? le(s, r) : u = r, f(r, v(k, {
243
+ return typeof s == "function" ? se(s, r) : u = r, f(r, v(k, {
245
244
  get when() {
246
- return se(() => !!P())() && H().visible;
245
+ return oe(() => !!_())() && E().visible;
247
246
  },
248
247
  get children() {
249
248
  var t = Pe();
250
249
  return x((n) => {
251
- var c = g("pointer-events-none absolute bottom-0 left-0 z-10", q().sliderHeightClass, W().sliderBgClass, p() ? "transition-[transform,width] duration-200 ease-out motion-reduce:transition-none" : "transition-none", "will-change-transform", e.slotClassNames?.indicator), i = `translate3d(${H().x}px, 0, 0)`, $ = `${H().width}px`;
252
- return c !== n.e && y(t, n.e = c), i !== n.t && oe(t, "transform", n.t = i), $ !== n.a && oe(t, "width", n.a = $), n;
250
+ var c = g("pointer-events-none absolute bottom-0 left-0 z-10", V().sliderHeightClass, F().sliderBgClass, p() ? "transition-[transform,width] duration-200 ease-out motion-reduce:transition-none" : "transition-none", "will-change-transform", e.slotClassNames?.indicator), i = `translate3d(${E().x}px, 0, 0)`, A = `${E().width}px`;
251
+ return c !== n.e && y(t, n.e = c), i !== n.t && ne(t, "transform", n.t = i), A !== n.a && ne(t, "width", n.a = A), n;
253
252
  }, {
254
253
  e: void 0,
255
254
  t: void 0,
256
255
  a: void 0
257
256
  }), t;
258
257
  }
259
- }), null), f(r, v(Le, {
258
+ }), null), f(r, v(Ne, {
260
259
  get each() {
261
260
  return e.items;
262
261
  },
263
262
  children: (t) => {
264
- const n = () => t.id === U(), c = () => t.closable ?? E();
263
+ const n = () => t.id === G(), c = () => t.closable ?? z();
265
264
  return (() => {
266
- var i = je(), $ = i.firstChild;
265
+ var i = je(), A = i.firstChild;
267
266
  return i.$$keydown = (l) => {
268
267
  if (l.key === "Enter" || l.key === " ") {
269
- l.preventDefault(), X(t.id, t.disabled);
268
+ l.preventDefault(), U(t.id, t.disabled);
270
269
  return;
271
270
  }
272
- Ie(l, t);
273
- }, i.$$click = () => X(t.id, t.disabled), le((l) => {
274
- _.set(t.id, l), ae(() => _.delete(t.id));
271
+ Be(l, t);
272
+ }, i.$$click = () => U(t.id, t.disabled), se((l) => {
273
+ H.set(t.id, l), ie(() => H.delete(t.id));
275
274
  }, i), f(i, v(k, {
276
275
  get when() {
277
276
  return t.icon;
278
277
  },
279
278
  get children() {
280
- var l = We();
279
+ var l = Oe();
281
280
  return f(l, () => t.icon), l;
282
281
  }
283
- }), $), f($, () => t.label), f(i, v(k, {
282
+ }), A), f(A, () => t.label), f(i, v(k, {
284
283
  get when() {
285
- return se(() => !!c())() && !t.disabled;
284
+ return oe(() => !!c())() && !t.disabled;
286
285
  },
287
286
  get children() {
288
- var l = Fe();
289
- return l.$$click = (m) => Ae(m, t.id), f(l, v(Te, {
287
+ var l = We();
288
+ return l.$$click = (m) => Ie(m, t.id), f(l, v(Te, {
290
289
  class: "w-3 h-3"
291
290
  })), x((m) => {
292
- var N = g("flex-shrink-0 flex items-center justify-center", "w-5 h-5 rounded cursor-pointer", "bg-transparent text-muted-foreground", z() ? "hover:bg-error hover:text-error-foreground" : "hover:bg-muted/80 hover:text-foreground", "transition-colors duration-150", "ml-1.5", e.slotClassNames?.closeButton), L = `Close ${t.label}`;
293
- return N !== m.e && y(l, m.e = N), L !== m.t && I(l, "aria-label", m.t = L), m;
291
+ var $ = g("flex-shrink-0 flex items-center justify-center", "w-5 h-5 rounded cursor-pointer", "bg-transparent text-muted-foreground", T() ? "hover:bg-error hover:text-error-foreground" : "hover:bg-muted/80 hover:text-foreground", "transition-colors duration-150", "ml-1.5", e.slotClassNames?.closeButton), N = `Close ${t.label}`;
292
+ return $ !== m.e && y(l, m.e = $), N !== m.t && B(l, "aria-label", m.t = N), m;
294
293
  }, {
295
294
  e: void 0,
296
295
  t: void 0
297
296
  }), l;
298
297
  }
299
298
  }), null), x((l) => {
300
- var m = $e(n(), t.disabled), N = n(), L = t.disabled, ne = t.disabled ? -1 : n() ? 0 : -1;
301
- return m !== l.e && y(i, l.e = m), N !== l.t && I(i, "aria-selected", l.t = N), L !== l.a && I(i, "aria-disabled", l.a = L), ne !== l.o && I(i, "tabindex", l.o = ne), l;
299
+ var m = Ae(n(), t.disabled), $ = n(), N = t.disabled, re = t.disabled ? -1 : n() ? 0 : -1;
300
+ return m !== l.e && y(i, l.e = m), $ !== l.t && B(i, "aria-selected", l.t = $), N !== l.a && B(i, "aria-disabled", l.a = N), re !== l.o && B(i, "tabindex", l.o = re), l;
302
301
  }, {
303
302
  e: void 0,
304
303
  t: void 0,
@@ -309,13 +308,13 @@ function nt(a) {
309
308
  }
310
309
  }), null), f(o, v(k, {
311
310
  get when() {
312
- return fe();
311
+ return ue();
313
312
  },
314
313
  get children() {
315
314
  var t = De();
316
315
  return t.$$click = () => {
317
316
  const n = e.onAdd;
318
- n && R(() => n());
317
+ n && M(() => n());
319
318
  }, f(t, v(ze, {
320
319
  get class() {
321
320
  return e.size === "sm" ? "w-3.5 h-3.5" : "w-4 h-4";
@@ -324,14 +323,14 @@ function nt(a) {
324
323
  }
325
324
  }), null), f(o, v(k, {
326
325
  get when() {
327
- return re();
326
+ return te();
328
327
  },
329
328
  get children() {
330
329
  var t = Me();
331
- return t.$$click = ke, f(t, v(Ee, {
330
+ return t.$$click = ye, f(t, v(Ee, {
332
331
  class: "w-4 h-4"
333
332
  })), x((n) => {
334
- var c = !te(), i = g("flex-shrink-0 flex items-center justify-center", "w-6 h-6 rounded cursor-pointer", "transition-all duration-150", te() ? "text-muted-foreground hover:text-foreground hover:bg-muted/80 opacity-100" : "opacity-0 pointer-events-none", e.slotClassNames?.scrollButton);
333
+ var c = !ee(), i = g("flex-shrink-0 flex items-center justify-center", "w-6 h-6 rounded cursor-pointer", "transition-all duration-150", ee() ? "text-muted-foreground hover:text-foreground hover:bg-muted/80 opacity-100" : "opacity-0 pointer-events-none", e.slotClassNames?.scrollButton);
335
334
  return c !== n.e && (t.disabled = n.e = c), i !== n.t && y(t, n.t = i), n;
336
335
  }, {
337
336
  e: void 0,
@@ -346,22 +345,22 @@ function nt(a) {
346
345
  "[&::-webkit-scrollbar]:hidden [-ms-overflow-style:none] [scrollbar-width:none]",
347
346
  e.slotClassNames?.scrollContainer
348
347
  ), c = e.ariaLabel;
349
- return n !== t.e && y(r, t.e = n), c !== t.t && I(r, "aria-label", t.t = c), t;
348
+ return n !== t.e && y(r, t.e = n), c !== t.t && B(r, "aria-label", t.t = c), t;
350
349
  }, {
351
350
  e: void 0,
352
351
  t: void 0
353
352
  }), o;
354
353
  })();
355
354
  }
356
- function ot(a) {
357
- const [e, h] = ue(a, ["active", "keepMounted", "labelledBy", "class", "children"]);
355
+ function lt(a) {
356
+ const [e, h] = ce(a, ["active", "keepMounted", "labelledBy", "class", "children"]);
358
357
  return v(k, {
359
358
  get when() {
360
359
  return e.keepMounted || e.active;
361
360
  },
362
361
  get children() {
363
362
  var d = Ge();
364
- return de(d, ce({
363
+ return ae(d, de({
365
364
  get "aria-labelledby"() {
366
365
  return e.labelledBy;
367
366
  },
@@ -378,9 +377,9 @@ function ot(a) {
378
377
  }
379
378
  });
380
379
  }
381
- Ne(["click", "keydown"]);
380
+ $e(["click", "keydown"]);
382
381
  export {
383
- ot as TabPanel,
384
- nt as Tabs,
382
+ lt as TabPanel,
383
+ st as Tabs,
385
384
  Ue as resolveTabNavigationTargetId
386
385
  };
package/dist/full.js CHANGED
@@ -141,24 +141,25 @@ import { configureMermaidWorker as Lf, configureSyncMermaid as Rf, renderMermaid
141
141
  import { configureShikiWorker as Of, configureSyncHighlighter as Wf, highlightCode as Mf, terminateShikiWorker as Nf, useCodeHighlight as wf } from "./components/chat/hooks/useCodeHighlight.js";
142
142
  import { createFloatingPresence as Hf } from "./components/ui/floatingPresence.js";
143
143
  import { createSimpleContext as Gf } from "./context/createSimpleContext.js";
144
- import { deferAfterPaint as Kf, deferNonBlocking as zf } from "./utils/defer.js";
145
- import { duration as Zf, easing as Yf, fadeIn as Qf, listContainer as jf, listItem as qf, panelResize as Jf, popIn as $f, scaleIn as ed, sidebarVariants as od, slideInFromBottom as rd, slideInFromLeft as td, slideInFromRight as id, slideInFromTop as nd, springConfig as ad } from "./utils/animations.js";
146
- import { formatKeybind as ld, isMacLikePlatform as md, isPrimaryModKeyPressed as sd, matchKeybind as pd, parseKeybind as fd } from "./utils/keybind.js";
147
- import { isTypingElement as Td, shouldIgnoreHotkeys as Id } from "./utils/dom.js";
148
- import { lockBodyStyle as Cd } from "./utils/bodyStyleLock.js";
149
- import { registerCommandContributions as gd, useCommandContributions as ud } from "./hooks/useCommandContributions.js";
150
- import { resolveFloatingWindowViewport as hd } from "./components/ui/floatingWindowGeometry.js";
151
- import { startPointerSession as Ed } from "./components/ui/pointerSession.js";
152
- import { useAttachments as Pd } from "./components/chat/hooks/useAttachments.js";
153
- import { useAutoScroll as Ld } from "./components/chat/hooks/useAutoScroll.js";
154
- import { useDebounce as _d } from "./hooks/useDebounce.js";
155
- import { useDeckDrag as yd } from "./hooks/useDeckDrag.js";
156
- import { useFileBrowserDropTarget as Od, useFileBrowserItemDrag as Wd } from "./hooks/useFileBrowserDrag.js";
157
- import { useKeybind as Nd } from "./hooks/useKeybind.js";
158
- import { useMediaQuery as bd } from "./hooks/useMediaQuery.js";
159
- import { usePersisted as Ud } from "./hooks/usePersisted.js";
160
- import { useResizeObserver as Vd } from "./hooks/useResizeObserver.js";
161
- import { useVirtualList as zd } from "./components/chat/hooks/useVirtualList.js";
144
+ import { createUIFirstSelection as Kf } from "./utils/uiFirstSelection.js";
145
+ import { deferAfterPaint as Xf, deferNonBlocking as Zf } from "./utils/defer.js";
146
+ import { duration as Qf, easing as jf, fadeIn as qf, listContainer as Jf, listItem as $f, panelResize as ed, popIn as od, scaleIn as rd, sidebarVariants as td, slideInFromBottom as id, slideInFromLeft as nd, slideInFromRight as ad, slideInFromTop as cd, springConfig as ld } from "./utils/animations.js";
147
+ import { formatKeybind as sd, isMacLikePlatform as pd, isPrimaryModKeyPressed as fd, matchKeybind as dd, parseKeybind as Td } from "./utils/keybind.js";
148
+ import { isTypingElement as xd, shouldIgnoreHotkeys as Cd } from "./utils/dom.js";
149
+ import { lockBodyStyle as gd } from "./utils/bodyStyleLock.js";
150
+ import { registerCommandContributions as kd, useCommandContributions as hd } from "./hooks/useCommandContributions.js";
151
+ import { resolveFloatingWindowViewport as Ed } from "./components/ui/floatingWindowGeometry.js";
152
+ import { startPointerSession as Pd } from "./components/ui/pointerSession.js";
153
+ import { useAttachments as Ld } from "./components/chat/hooks/useAttachments.js";
154
+ import { useAutoScroll as _d } from "./components/chat/hooks/useAutoScroll.js";
155
+ import { useDebounce as yd } from "./hooks/useDebounce.js";
156
+ import { useDeckDrag as Od } from "./hooks/useDeckDrag.js";
157
+ import { useFileBrowserDropTarget as Md, useFileBrowserItemDrag as Nd } from "./hooks/useFileBrowserDrag.js";
158
+ import { useKeybind as bd } from "./hooks/useKeybind.js";
159
+ import { useMediaQuery as Ud } from "./hooks/useMediaQuery.js";
160
+ import { usePersisted as Vd } from "./hooks/usePersisted.js";
161
+ import { useResizeObserver as zd } from "./hooks/useResizeObserver.js";
162
+ import { useVirtualList as Zd } from "./components/chat/hooks/useVirtualList.js";
162
163
  export {
163
164
  F as Activity,
164
165
  bt as ActivityAppsMain,
@@ -639,17 +640,18 @@ export {
639
640
  Rt as createTerminalTokenSuggestion,
640
641
  Js as createTerminalWidget,
641
642
  tp as createThemeService,
643
+ Kf as createUIFirstSelection,
642
644
  af as createViewportFromZoomAnchor,
643
645
  Pp as createWidgetRegistry,
644
- Kf as deferAfterPaint,
645
- zf as deferNonBlocking,
646
+ Xf as deferAfterPaint,
647
+ Zf as deferNonBlocking,
646
648
  st as deleteTerminalTextBackward,
647
649
  Ct as dispatchTerminalSessionKey,
648
- Zf as duration,
649
- Yf as easing,
650
+ Qf as duration,
651
+ jf as easing,
650
652
  sa as ensureSurfacePortalInteractionTracking,
651
653
  lm as estimateNotesContextMenuHeight,
652
- Qf as fadeIn,
654
+ qf as fadeIn,
653
655
  $p as findFreePosition,
654
656
  f as floeColorTokenCategories,
655
657
  d as floeDesignTokens,
@@ -660,7 +662,7 @@ export {
660
662
  S as floeSpacingTokens,
661
663
  g as floeThemeColorVariables,
662
664
  u as floeTypographyTokens,
663
- ld as formatKeybind,
665
+ sd as formatKeybind,
664
666
  vi as getFileIcon,
665
667
  k as getFloeColorTokenValue,
666
668
  Gp as getGridCellSize,
@@ -678,17 +680,17 @@ export {
678
680
  Mf as highlightCode,
679
681
  pt as insertTerminalText,
680
682
  en as isLocalInteractionSurfaceTarget,
681
- md as isMacLikePlatform,
683
+ pd as isMacLikePlatform,
682
684
  cf as isPointInsideCanvasRect,
683
- sd as isPrimaryModKeyPressed,
685
+ fd as isPrimaryModKeyPressed,
684
686
  Qp as isStreamEvent,
685
687
  pa as isSurfacePortalMode,
686
- Td as isTypingElement,
687
- jf as listContainer,
688
- qf as listItem,
688
+ xd as isTypingElement,
689
+ Jf as listContainer,
690
+ $f as listItem,
689
691
  lf as localToCanvasWorld,
690
- Cd as lockBodyStyle,
691
- pd as matchKeybind,
692
+ gd as lockBodyStyle,
693
+ dd as matchKeybind,
692
694
  vt as matchesTerminalSuggestionPrefix,
693
695
  hm as mergeBoardBounds,
694
696
  c as mergeThemeTokenMaps,
@@ -698,16 +700,16 @@ export {
698
700
  Em as normalizeNotesSnapshot,
699
701
  at as normalizeTerminalWorkspaceProfile,
700
702
  Am as noteBucketMetrics,
701
- Jf as panelResize,
702
- fd as parseKeybind,
703
+ ed as panelResize,
704
+ Td as parseKeybind,
703
705
  yt as parseTerminalSuggestionContext,
704
706
  Vp as pixelDeltaToGridDelta,
705
- $f as popIn,
707
+ od as popIn,
706
708
  Kp as positionToGridArea,
707
709
  fa as projectSurfacePortalPosition,
708
710
  da as projectSurfacePortalRect,
709
711
  Pm as promoteLocalItem,
710
- gd as registerCommandContributions,
712
+ kd as registerCommandContributions,
711
713
  Dm as removeSnapshotItem,
712
714
  Lm as removeSnapshotTopic,
713
715
  Rm as removeSnapshotTrashItem,
@@ -718,7 +720,7 @@ export {
718
720
  vm as replaceSnapshotTopic,
719
721
  ym as replaceSnapshotTrashItem,
720
722
  yi as resolveFileItemIcon,
721
- hd as resolveFloatingWindowViewport,
723
+ Ed as resolveFloatingWindowViewport,
722
724
  on as resolveSurfaceInteractionTargetRole,
723
725
  Ta as resolveSurfacePortalBoundaryRect,
724
726
  Ia as resolveSurfacePortalHost,
@@ -733,20 +735,20 @@ export {
733
735
  Ft as runTerminalMockCommand,
734
736
  of as sameGridPosition,
735
737
  Ha as sanitizeDisplayMode,
736
- ed as scaleIn,
738
+ rd as scaleIn,
737
739
  Bm as screenToWorld,
738
740
  ut as setTerminalSessionInputValue,
739
741
  cn as shouldActivateWorkbenchWidgetLocalTarget,
740
- Id as shouldIgnoreHotkeys,
741
- od as sidebarVariants,
742
- rd as slideInFromBottom,
743
- td as slideInFromLeft,
744
- id as slideInFromRight,
745
- nd as slideInFromTop,
742
+ Cd as shouldIgnoreHotkeys,
743
+ td as sidebarVariants,
744
+ id as slideInFromBottom,
745
+ nd as slideInFromLeft,
746
+ ad as slideInFromRight,
747
+ cd as slideInFromTop,
746
748
  zp as snapToGrid,
747
- ad as springConfig,
749
+ ld as springConfig,
748
750
  gc as startHotInteraction,
749
- Ed as startPointerSession,
751
+ Pd as startPointerSession,
750
752
  kt as submitTerminalSession,
751
753
  s as syncThemeTokenOverrides,
752
754
  Bt as terminalCommandTokenSuggestionProvider,
@@ -758,36 +760,36 @@ export {
758
760
  Af as terminateMarkdownWorker,
759
761
  vf as terminateMermaidWorker,
760
762
  Nf as terminateShikiWorker,
761
- Pd as useAttachments,
762
- Ld as useAutoScroll,
763
+ Ld as useAttachments,
764
+ _d as useAutoScroll,
763
765
  Tn as useChatContext,
764
766
  wf as useCodeHighlight,
765
767
  Wn as useCommand,
766
- ud as useCommandContributions,
768
+ hd as useCommandContributions,
767
769
  Hn as useComponentContextFactory,
768
770
  Un as useComponentRegistry,
769
771
  yp as useCurrentWidgetId,
770
- _d as useDebounce,
772
+ yd as useDebounce,
771
773
  Da as useDeck,
772
- yd as useDeckDrag,
774
+ Od as useDeckDrag,
773
775
  yc as useFileBrowser,
774
776
  Rc as useFileBrowserDrag,
775
- Od as useFileBrowserDropTarget,
776
- Wd as useFileBrowserItemDrag,
777
+ Md as useFileBrowserDropTarget,
778
+ Nd as useFileBrowserItemDrag,
777
779
  ea as useFloeConfig,
778
780
  fl as useFormSubmitting,
779
- Nd as useKeybind,
781
+ bd as useKeybind,
780
782
  Ol as useLayout,
781
- bd as useMediaQuery,
783
+ Ud as useMediaQuery,
782
784
  yf as useMermaid,
783
785
  Qm as useNotification,
784
786
  Gn as useOptionalComponentRegistry,
785
- Ud as usePersisted,
786
- Vd as useResizeObserver,
787
+ Vd as usePersisted,
788
+ zd as useResizeObserver,
787
789
  oa as useResolvedFloeConfig,
788
790
  ip as useTheme,
789
791
  Cp as useViewActivation,
790
- zd as useVirtualList,
792
+ Zd as useVirtualList,
791
793
  Dp as useWidgetRegistry,
792
794
  Bp as useWidgetState,
793
795
  Op as useWidgetStateContext,