@floegence/floe-webapp-core 0.35.48 → 0.35.49

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,6 +1,6 @@
1
- import { addEventListener as te, use as Q, insert as S, createComponent as D, effect as O, setStyleProperty as N, style as ue, className as Y, template as y, spread as ge, mergeProps as me, memo as fe, delegateEvents as he } from "solid-js/web";
2
- import { createSignal as ie, createMemo as K, createEffect as ne, onCleanup as oe, Show as H, For as ae, untrack as ve } from "solid-js";
3
- import { cn as A } from "../../utils/cn.js";
1
+ import { addEventListener as te, use as z, insert as y, createComponent as D, effect as N, setStyleProperty as Y, className as H, style as ue, template as S, spread as ge, mergeProps as me, memo as fe, delegateEvents as he } from "solid-js/web";
2
+ import { createSignal as ie, createMemo as W, createEffect as ne, onCleanup as oe, Show as q, For as ae, untrack as ve } from "solid-js";
3
+ import { cn as p } from "../../utils/cn.js";
4
4
  import { useResizeObserver as xe } from "../../hooks/useResizeObserver.js";
5
5
  import { useVirtualWindow as Ie } from "../../hooks/useVirtualWindow.js";
6
6
  import { useFileBrowser as le } from "./FileBrowserContext.js";
@@ -8,21 +8,21 @@ import { useFileBrowserDrag as we } from "../../context/FileBrowserDragContext.j
8
8
  import { FileItemIcon as be } from "./FileIcons.js";
9
9
  import { createLongPressContextMenuHandlers as Ce } from "./longPressContextMenu.js";
10
10
  import { fileBrowserTouchTargetAttrs as De } from "./touchInteractionGuard.js";
11
- import { createItemContextMenuEvent as ye } from "./contextMenuEvent.js";
12
- import { createFileBrowserMarqueeSelection as Se } from "./useFileBrowserMarqueeSelection.js";
11
+ import { createItemContextMenuEvent as Se } from "./contextMenuEvent.js";
12
+ import { createFileBrowserMarqueeSelection as ye, FILE_BROWSER_MARQUEE_OVERLAY_CLASS as Me } from "./useFileBrowserMarqueeSelection.js";
13
13
  import { isPrimaryModKeyPressed as re } from "../../utils/keybind.js";
14
- var Te = /* @__PURE__ */ y('<mark class="bg-warning/40 text-inherit rounded-sm">'), Me = /* @__PURE__ */ y('<div class="grid gap-2">'), Pe = /* @__PURE__ */ y('<div><div class=p-3><div class="w-full h-0"aria-hidden=true>'), _e = /* @__PURE__ */ y('<span>No files matching "<!>"'), Fe = /* @__PURE__ */ y('<button type=button class="px-2 py-1 rounded bg-muted hover:bg-muted/80 transition-colors">Clear Filter'), Ee = /* @__PURE__ */ y('<div class="flex flex-col items-center justify-center h-32 gap-2 text-xs text-muted-foreground">'), $e = /* @__PURE__ */ y("<span>This folder is empty"), ke = /* @__PURE__ */ y('<div class="pointer-events-none fixed z-40 rounded-md border border-primary/60 bg-primary/15 shadow-sm shadow-primary/10">'), Le = /* @__PURE__ */ y('<div class="absolute top-1.5 right-1.5 w-4 h-4 rounded-full bg-primary flex items-center justify-center"><svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=3 stroke-linecap=round stroke-linejoin=round class="w-2.5 h-2.5 text-primary-foreground"><polyline points="20 6 9 17 4 12">'), Re = /* @__PURE__ */ y("<button type=button><div></div><span></span><div>");
14
+ var Te = /* @__PURE__ */ S('<mark class="bg-warning/40 text-inherit rounded-sm">'), Pe = /* @__PURE__ */ S('<div class="grid gap-2">'), _e = /* @__PURE__ */ S('<div><div class=p-3><div class="w-full h-0"aria-hidden=true>'), Ee = /* @__PURE__ */ S('<span>No files matching "<!>"'), Fe = /* @__PURE__ */ S('<button type=button class="px-2 py-1 rounded bg-muted hover:bg-muted/80 transition-colors">Clear Filter'), Le = /* @__PURE__ */ S('<div class="flex flex-col items-center justify-center h-32 gap-2 text-xs text-muted-foreground">'), Re = /* @__PURE__ */ S("<span>This folder is empty"), $e = /* @__PURE__ */ S("<div>"), ke = /* @__PURE__ */ S('<div class="absolute top-1.5 right-1.5 w-4 h-4 rounded-full bg-primary flex items-center justify-center"><svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=3 stroke-linecap=round stroke-linejoin=round class="w-2.5 h-2.5 text-primary-foreground"><polyline points="20 6 9 17 4 12">'), Ae = /* @__PURE__ */ S("<button type=button><div></div><span></span><div>");
15
15
  function pe(e) {
16
- const r = K(() => {
16
+ const r = W(() => {
17
17
  if (!e.match || e.match.matchedIndices.length === 0)
18
18
  return [{
19
19
  text: e.name,
20
20
  highlight: !1
21
21
  }];
22
- const s = [], T = new Set(e.match.matchedIndices);
22
+ const s = [], M = new Set(e.match.matchedIndices);
23
23
  let C = "", g = !1;
24
24
  for (let d = 0; d < e.name.length; d++) {
25
- const v = T.has(d);
25
+ const v = M.has(d);
26
26
  d === 0 ? (g = v, C = e.name[d]) : v === g ? C += e.name[d] : (s.push({
27
27
  text: C,
28
28
  highlight: g
@@ -37,7 +37,7 @@ function pe(e) {
37
37
  get each() {
38
38
  return r();
39
39
  },
40
- children: (s) => D(H, {
40
+ children: (s) => D(q, {
41
41
  get when() {
42
42
  return s.highlight;
43
43
  },
@@ -45,43 +45,43 @@ function pe(e) {
45
45
  return fe(() => s.text);
46
46
  },
47
47
  get children() {
48
- var T = Te();
49
- return S(T, () => s.text), T;
48
+ var M = Te();
49
+ return y(M, () => s.text), M;
50
50
  }
51
51
  })
52
52
  });
53
53
  }
54
54
  function Ke(e) {
55
- const r = le(), s = we(), T = () => (e.enableDragDrop ?? !0) && !!s, C = () => e.instanceId ?? "default", g = 112, d = 8, v = 180, M = 2, k = 6, [m, V] = ie(null), j = xe(m), x = K(() => {
56
- const n = j()?.width ?? 0;
57
- if (n <= 0) return M;
55
+ const r = le(), s = we(), M = () => (e.enableDragDrop ?? !0) && !!s, C = () => e.instanceId ?? "default", g = 112, d = 8, v = 180, T = 2, R = 6, [m, V] = ie(null), U = xe(m), x = W(() => {
56
+ const n = U()?.width ?? 0;
57
+ if (n <= 0) return T;
58
58
  const l = Math.floor((n + d) / (v + d));
59
- return Math.max(M, Math.min(k, l));
60
- }), E = () => g + d, c = Ie({
59
+ return Math.max(T, Math.min(R, l));
60
+ }), F = () => g + d, c = Ie({
61
61
  count: () => Math.ceil(r.currentFiles().length / Math.max(1, x())),
62
- itemSize: E,
62
+ itemSize: F,
63
63
  overscan: 2
64
- }), U = () => c.range().start * x(), L = () => Math.min(r.currentFiles().length, c.range().end * x()), R = K(() => r.currentFiles().slice(U(), L())), P = /* @__PURE__ */ new Map(), q = (n, l) => {
64
+ }), Q = () => c.range().start * x(), $ = () => Math.min(r.currentFiles().length, c.range().end * x()), k = W(() => r.currentFiles().slice(Q(), $())), P = /* @__PURE__ */ new Map(), B = (n, l) => {
65
65
  if (l) {
66
66
  P.set(n, l);
67
67
  return;
68
68
  }
69
69
  P.delete(n);
70
70
  };
71
- let f = null, $ = M, I = 0;
71
+ let f = null, L = T, I = 0;
72
72
  ne(() => {
73
73
  const n = x();
74
74
  if (!f) {
75
- $ = n;
75
+ L = n;
76
76
  return;
77
77
  }
78
- if (n === $) return;
79
- const l = E(), o = Math.floor(f.scrollTop / Math.max(1, l)) * Math.max(1, $), i = Math.floor(o / Math.max(1, n));
80
- f.scrollTop = i * l, c.onScroll(), $ = n;
78
+ if (n === L) return;
79
+ const l = F(), o = Math.floor(f.scrollTop / Math.max(1, l)) * Math.max(1, L), i = Math.floor(o / Math.max(1, n));
80
+ f.scrollTop = i * l, c.onScroll(), L = n;
81
81
  });
82
- const X = (n) => {
82
+ const O = (n) => {
83
83
  if (!f) return;
84
- const b = Math.floor(n / Math.max(1, x())) * E(), o = b + E(), i = f.scrollTop, w = i + f.clientHeight;
84
+ const b = Math.floor(n / Math.max(1, x())) * F(), o = b + F(), i = f.scrollTop, w = i + f.clientHeight;
85
85
  if (b < i) {
86
86
  f.scrollTop = b, c.onScroll();
87
87
  return;
@@ -90,11 +90,11 @@ function Ke(e) {
90
90
  };
91
91
  ne(() => {
92
92
  const n = r.revealRequest(), l = r.currentFiles();
93
- if (x(), R(), !n) return;
93
+ if (x(), k(), !n) return;
94
94
  const b = l.findIndex((w) => w.id === n.targetId);
95
95
  if (b < 0) return;
96
96
  if (!P.get(n.targetId)) {
97
- X(b);
97
+ O(b);
98
98
  return;
99
99
  }
100
100
  typeof cancelAnimationFrame == "function" && I && (cancelAnimationFrame(I), I = 0);
@@ -114,7 +114,7 @@ function Ke(e) {
114
114
  }), oe(() => {
115
115
  typeof cancelAnimationFrame == "function" && I && cancelAnimationFrame(I);
116
116
  });
117
- const p = Se({
117
+ const A = ye({
118
118
  getContainer: () => f,
119
119
  getVisibleItemIdsInOrder: () => r.currentFiles().map((n) => n.id),
120
120
  getElementForId: (n) => P.get(n) ?? null,
@@ -123,27 +123,27 @@ function Ke(e) {
123
123
  clearSelection: r.clearSelection
124
124
  });
125
125
  return (() => {
126
- var n = Pe(), l = n.firstChild, b = l.firstChild;
127
- return te(n, "pointerdown", p.onPointerDown, !0), te(n, "scroll", c.onScroll), Q((o) => {
126
+ var n = _e(), l = n.firstChild, b = l.firstChild;
127
+ return te(n, "pointerdown", A.onPointerDown, !0), te(n, "scroll", c.onScroll), z((o) => {
128
128
  f = o, c.scrollRef(o), r.setScrollContainer(o);
129
- }, n), Q((o) => V(o), b), S(l, D(H, {
129
+ }, n), z((o) => V(o), b), y(l, D(q, {
130
130
  get when() {
131
131
  return r.currentFiles().length > 0;
132
132
  },
133
133
  get fallback() {
134
134
  return (() => {
135
- var o = Ee();
136
- return S(o, D(H, {
135
+ var o = Le();
136
+ return y(o, D(q, {
137
137
  get when() {
138
138
  return r.filterQueryApplied().trim();
139
139
  },
140
140
  get fallback() {
141
- return $e();
141
+ return Re();
142
142
  },
143
143
  get children() {
144
144
  return [(() => {
145
- var i = _e(), w = i.firstChild, _ = w.nextSibling;
146
- return _.nextSibling, S(i, () => r.filterQueryApplied(), _), i;
145
+ var i = Ee(), w = i.firstChild, _ = w.nextSibling;
146
+ return _.nextSibling, y(i, () => r.filterQueryApplied(), _), i;
147
147
  })(), (() => {
148
148
  var i = Fe();
149
149
  return i.$$click = () => r.setFilterQuery(""), i;
@@ -153,70 +153,70 @@ function Ke(e) {
153
153
  })();
154
154
  },
155
155
  get children() {
156
- var o = Me();
157
- return S(o, D(ae, {
156
+ var o = Pe();
157
+ return y(o, D(ae, {
158
158
  get each() {
159
- return R();
159
+ return k();
160
160
  },
161
- children: (i) => D(Ae, {
161
+ children: (i) => D(He, {
162
162
  item: i,
163
163
  get instanceId() {
164
164
  return C();
165
165
  },
166
166
  get enableDragDrop() {
167
- return T();
167
+ return M();
168
168
  },
169
169
  dragContext: s,
170
- registerTile: q
170
+ registerTile: B
171
171
  })
172
- })), O((i) => {
173
- var w = `repeat(${x()}, minmax(0, 1fr))`, _ = `${c.paddingTop()}px`, B = `${c.paddingBottom()}px`;
174
- return w !== i.e && N(o, "grid-template-columns", i.e = w), _ !== i.t && N(o, "padding-top", i.t = _), B !== i.a && N(o, "padding-bottom", i.a = B), i;
172
+ })), N((i) => {
173
+ var w = `repeat(${x()}, minmax(0, 1fr))`, _ = `${c.paddingTop()}px`, X = `${c.paddingBottom()}px`;
174
+ return w !== i.e && Y(o, "grid-template-columns", i.e = w), _ !== i.t && Y(o, "padding-top", i.t = _), X !== i.a && Y(o, "padding-bottom", i.a = X), i;
175
175
  }, {
176
176
  e: void 0,
177
177
  t: void 0,
178
178
  a: void 0
179
179
  }), o;
180
180
  }
181
- }), null), S(n, D(H, {
181
+ }), null), y(n, D(q, {
182
182
  get when() {
183
- return p.overlayStyle();
183
+ return A.overlayStyle();
184
184
  },
185
185
  children: (o) => (() => {
186
- var i = ke();
187
- return O((w) => ue(i, o(), w)), i;
186
+ var i = $e();
187
+ return H(i, Me), N((w) => ue(i, o(), w)), i;
188
188
  })()
189
- }), null), O(() => Y(n, A("relative h-full min-h-0 overflow-auto", e.class))), n;
189
+ }), null), N(() => H(n, p("relative h-full min-h-0 overflow-auto", e.class))), n;
190
190
  })();
191
191
  }
192
- function Ae(e) {
193
- const r = le(), s = () => r.isSelected(e.item.id), T = () => r.getFilterMatchForId(e.item.id), C = ve(() => e.item), g = Ce(r, C, {
192
+ function He(e) {
193
+ const r = le(), s = () => r.isSelected(e.item.id), M = () => r.getFilterMatchForId(e.item.id), C = ve(() => e.item), g = Ce(r, C, {
194
194
  source: "grid"
195
195
  });
196
- let d, v = null, M = 0, k = 0, m = !1;
197
- const V = 5, j = 500;
196
+ let d, v = null, T = 0, R = 0, m = !1;
197
+ const V = 5, U = 500;
198
198
  let x = null;
199
- const [E, z] = ie(!1), c = () => d === "touch" || d === "pen", U = () => e.item.type === "folder", L = () => U() && e.enableDragDrop && e.dragContext, R = () => {
200
- if (!L() || !e.dragContext) return !1;
199
+ const [F, j] = ie(!1), c = () => d === "touch" || d === "pen", Q = () => e.item.type === "folder", $ = () => Q() && e.enableDragDrop && e.dragContext, k = () => {
200
+ if (!$() || !e.dragContext) return !1;
201
201
  const t = e.dragContext.dragState();
202
202
  return t.isDragging ? e.dragContext.canDropOn(t.draggedItems, e.item.path, e.item, e.instanceId) : !1;
203
203
  }, P = () => {
204
204
  if (!e.dragContext) return !1;
205
205
  const t = e.dragContext.dragState();
206
206
  return t.isDragging ? t.draggedItems.some((a) => a.item.id === e.item.id) : !1;
207
- }, q = () => {
207
+ }, B = () => {
208
208
  x !== null && (clearTimeout(x), x = null);
209
209
  }, f = () => {
210
- typeof document > "u" || (document.removeEventListener("pointermove", p, !0), document.removeEventListener("pointerup", n, !0), document.removeEventListener("pointercancel", l, !0));
211
- }, $ = () => {
212
- typeof document > "u" || (document.addEventListener("pointermove", p, !0), document.addEventListener("pointerup", n, !0), document.addEventListener("pointercancel", l, !0));
210
+ typeof document > "u" || (document.removeEventListener("pointermove", A, !0), document.removeEventListener("pointerup", n, !0), document.removeEventListener("pointercancel", l, !0));
211
+ }, L = () => {
212
+ typeof document > "u" || (document.addEventListener("pointermove", A, !0), document.addEventListener("pointerup", n, !0), document.addEventListener("pointercancel", l, !0));
213
213
  }, I = (t) => {
214
- q(), f(), m && e.dragContext && e.dragContext.endDrag(t), v = null, m = !1;
214
+ B(), f(), m && e.dragContext && e.dragContext.endDrag(t), v = null, m = !1;
215
215
  };
216
216
  oe(() => {
217
217
  e.registerTile(e.item.id, null), I(!1);
218
218
  });
219
- const X = (t, a) => {
219
+ const O = (t, a) => {
220
220
  if (!e.enableDragDrop || !e.dragContext || m) return;
221
221
  m = !0, s() || r.selectItem(e.item.id, !1);
222
222
  const h = r.getSelectedItemsList(), u = (h.length > 0 && s() ? h : [e.item]).map((G) => ({
@@ -230,29 +230,29 @@ function Ae(e) {
230
230
  } catch {
231
231
  }
232
232
  e.dragContext.startDrag(u, t, a);
233
- }, p = (t) => {
233
+ }, A = (t) => {
234
234
  if (v !== t.pointerId) return;
235
- const a = t.clientX - M, h = t.clientY - k, F = Math.sqrt(a * a + h * h);
236
- if (c() && !m && F > 10) {
235
+ const a = t.clientX - T, h = t.clientY - R, E = Math.sqrt(a * a + h * h);
236
+ if (c() && !m && E > 10) {
237
237
  I(!1);
238
238
  return;
239
239
  }
240
- !c() && !m && F > V && X(t.clientX, t.clientY), m && e.dragContext && e.dragContext.updateDrag(t.clientX, t.clientY);
240
+ !c() && !m && E > V && O(t.clientX, t.clientY), m && e.dragContext && e.dragContext.updateDrag(t.clientX, t.clientY);
241
241
  }, n = (t) => {
242
242
  v === t.pointerId && (g.onPointerUp(), I(!0));
243
243
  }, l = (t) => {
244
244
  v === t.pointerId && (g.onPointerCancel(), I(!1));
245
245
  }, b = (t) => {
246
- d = t.pointerType, g.onPointerDown(t), !(t.pointerType === "mouse" && t.button !== 0) && (!e.enableDragDrop || !e.dragContext || (v = t.pointerId, M = t.clientX, k = t.clientY, m = !1, $(), c() && (q(), x = setTimeout(() => {
247
- v !== null && !m && X(M, k);
248
- }, j))));
246
+ d = t.pointerType, g.onPointerDown(t), !(t.pointerType === "mouse" && t.button !== 0) && (!e.enableDragDrop || !e.dragContext || (v = t.pointerId, T = t.clientX, R = t.clientY, m = !1, L(), c() && (B(), x = setTimeout(() => {
247
+ v !== null && !m && O(T, R);
248
+ }, U))));
249
249
  }, o = (t) => {
250
250
  d = t.pointerType, g.onPointerMove(t);
251
251
  }, i = (t) => {
252
- if (!L() || !e.dragContext) return;
252
+ if (!$() || !e.dragContext) return;
253
253
  const a = e.dragContext.dragState();
254
254
  if (!a.isDragging) return;
255
- z(!0);
255
+ j(!0);
256
256
  const h = e.dragContext.canDropOn(a.draggedItems, e.item.path, e.item, e.instanceId), u = t.currentTarget?.getBoundingClientRect() ?? null;
257
257
  e.dragContext.setDropTarget({
258
258
  instanceId: e.instanceId,
@@ -261,7 +261,7 @@ function Ae(e) {
261
261
  }, h, u);
262
262
  }, w = (t) => {
263
263
  if (!e.dragContext) return;
264
- z(!1);
264
+ j(!1);
265
265
  const a = e.dragContext.dragState();
266
266
  a.isDragging && a.dropTarget?.targetPath === e.item.path && e.dragContext.setDropTarget(null, !1);
267
267
  }, _ = (t) => {
@@ -280,23 +280,23 @@ function Ae(e) {
280
280
  }
281
281
  r.selectItem(e.item.id, re(t));
282
282
  }
283
- }, B = () => {
283
+ }, X = () => {
284
284
  c() || r.openItem(e.item);
285
285
  }, ce = (t) => {
286
286
  if (t.preventDefault(), t.stopPropagation(), c()) return;
287
287
  r.ensureContextMenuSelection(e.item.id);
288
288
  const a = r.getSelectedItemsList(), h = a.length > 0 ? a : [e.item];
289
- r.showContextMenu(ye({
289
+ r.showContextMenu(Se({
290
290
  x: t.clientX,
291
291
  y: t.clientY,
292
292
  triggerItem: e.item,
293
293
  items: h,
294
294
  source: "grid"
295
295
  }));
296
- }, se = () => e.dragContext?.dragState(), de = () => se()?.isDragging ?? !1, W = () => E() && de() && L();
296
+ }, se = () => e.dragContext?.dragState(), de = () => se()?.isDragging ?? !1, K = () => F() && de() && $();
297
297
  return (() => {
298
- var t = Re(), a = t.firstChild, h = a.nextSibling, F = h.nextSibling;
299
- return Q((u) => {
298
+ var t = Ae(), a = t.firstChild, h = a.nextSibling, E = h.nextSibling;
299
+ return z((u) => {
300
300
  e.registerTile(e.item.id, u);
301
301
  }, t), ge(t, me({
302
302
  get "data-file-browser-item-id"() {
@@ -310,14 +310,14 @@ function Ae(e) {
310
310
  return e.item.name;
311
311
  },
312
312
  onClick: _,
313
- onDblClick: B,
313
+ onDblClick: X,
314
314
  onContextMenu: ce,
315
315
  onPointerDown: b,
316
316
  onPointerMove: o,
317
317
  onPointerEnter: i,
318
318
  onPointerLeave: w,
319
319
  get class() {
320
- return A(
320
+ return p(
321
321
  "group relative flex flex-col items-center gap-2 p-3 rounded-lg cursor-pointer h-28",
322
322
  "transition-all duration-150 ease-out",
323
323
  "hover:bg-accent/50 hover:scale-[1.02]",
@@ -327,32 +327,32 @@ function Ae(e) {
327
327
  // Drag state styling - being dragged items become translucent and shrink
328
328
  P() && "opacity-40 scale-90",
329
329
  // Drop target styling - enhanced visual feedback for folders
330
- W() && R() && ["bg-primary/15 ring-2 ring-primary/60", "scale-105 shadow-lg shadow-primary/15"],
331
- W() && !R() && ["bg-destructive/10 ring-2 ring-dashed ring-destructive/50"]
330
+ K() && k() && ["bg-primary/15 ring-2 ring-primary/60", "scale-105 shadow-lg shadow-primary/15"],
331
+ K() && !k() && ["bg-destructive/10 ring-2 ring-dashed ring-destructive/50"]
332
332
  );
333
333
  }
334
- }), !1, !0), S(t, D(H, {
334
+ }), !1, !0), y(t, D(q, {
335
335
  get when() {
336
336
  return s();
337
337
  },
338
338
  get children() {
339
- return Le();
339
+ return ke();
340
340
  }
341
- }), a), S(a, D(be, {
341
+ }), a), y(a, D(be, {
342
342
  get item() {
343
343
  return e.item;
344
344
  },
345
345
  class: "w-8 h-8"
346
- })), S(h, D(pe, {
346
+ })), y(h, D(pe, {
347
347
  get name() {
348
348
  return e.item.name;
349
349
  },
350
350
  get match() {
351
- return T();
351
+ return M();
352
352
  }
353
- })), O((u) => {
354
- var G = A("w-12 h-12 flex items-center justify-center rounded-lg", "transition-transform duration-200", "group-hover:scale-110", e.item.type === "folder" ? "bg-warning/10" : "bg-muted/50"), J = A("block w-full min-w-0 truncate px-1 text-xs text-center", "transition-colors duration-150", s() && "font-medium"), Z = A("absolute inset-0 rounded-lg opacity-0 transition-opacity duration-300", "group-hover:opacity-100", "pointer-events-none"), ee = e.item.type === "folder" ? "radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--warning) 8%, transparent), transparent 70%)" : "radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--primary) 5%, transparent), transparent 70%)";
355
- return G !== u.e && Y(a, u.e = G), J !== u.t && Y(h, u.t = J), Z !== u.a && Y(F, u.a = Z), ee !== u.o && N(F, "background", u.o = ee), u;
353
+ })), N((u) => {
354
+ var G = p("w-12 h-12 flex items-center justify-center rounded-lg", "transition-transform duration-200", "group-hover:scale-110", e.item.type === "folder" ? "bg-warning/10" : "bg-muted/50"), J = p("block w-full min-w-0 truncate px-1 text-xs text-center", "transition-colors duration-150", s() && "font-medium"), Z = p("absolute inset-0 rounded-lg opacity-0 transition-opacity duration-300", "group-hover:opacity-100", "pointer-events-none"), ee = e.item.type === "folder" ? "radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--warning) 8%, transparent), transparent 70%)" : "radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--primary) 5%, transparent), transparent 70%)";
355
+ return G !== u.e && H(a, u.e = G), J !== u.t && H(h, u.t = J), Z !== u.a && H(E, u.a = Z), ee !== u.o && Y(E, "background", u.o = ee), u;
356
356
  }, {
357
357
  e: void 0,
358
358
  t: void 0,