@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.
- package/dist/components/file-browser/FileGridView.js +90 -90
- package/dist/components/file-browser/FileListView.js +195 -195
- package/dist/components/file-browser/useFileBrowserMarqueeSelection.d.ts +1 -0
- package/dist/components/file-browser/useFileBrowserMarqueeSelection.js +25 -24
- package/dist/floe.css +8 -0
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { addEventListener as te, use as
|
|
2
|
-
import { createSignal as ie, createMemo as
|
|
3
|
-
import { cn as
|
|
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
|
|
12
|
-
import { createFileBrowserMarqueeSelection as
|
|
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__ */
|
|
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 =
|
|
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 = [],
|
|
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 =
|
|
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(
|
|
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
|
|
49
|
-
return
|
|
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(),
|
|
56
|
-
const n =
|
|
57
|
-
if (n <= 0) return
|
|
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(
|
|
60
|
-
}),
|
|
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:
|
|
62
|
+
itemSize: F,
|
|
63
63
|
overscan: 2
|
|
64
|
-
}),
|
|
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,
|
|
71
|
+
let f = null, L = T, I = 0;
|
|
72
72
|
ne(() => {
|
|
73
73
|
const n = x();
|
|
74
74
|
if (!f) {
|
|
75
|
-
|
|
75
|
+
L = n;
|
|
76
76
|
return;
|
|
77
77
|
}
|
|
78
|
-
if (n ===
|
|
79
|
-
const l =
|
|
80
|
-
f.scrollTop = i * l, c.onScroll(),
|
|
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
|
|
82
|
+
const O = (n) => {
|
|
83
83
|
if (!f) return;
|
|
84
|
-
const b = Math.floor(n / Math.max(1, x())) *
|
|
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(),
|
|
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
|
-
|
|
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
|
|
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 =
|
|
127
|
-
return te(n, "pointerdown",
|
|
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),
|
|
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 =
|
|
136
|
-
return
|
|
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
|
|
141
|
+
return Re();
|
|
142
142
|
},
|
|
143
143
|
get children() {
|
|
144
144
|
return [(() => {
|
|
145
|
-
var i =
|
|
146
|
-
return _.nextSibling,
|
|
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 =
|
|
157
|
-
return
|
|
156
|
+
var o = Pe();
|
|
157
|
+
return y(o, D(ae, {
|
|
158
158
|
get each() {
|
|
159
|
-
return
|
|
159
|
+
return k();
|
|
160
160
|
},
|
|
161
|
-
children: (i) => D(
|
|
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
|
|
167
|
+
return M();
|
|
168
168
|
},
|
|
169
169
|
dragContext: s,
|
|
170
|
-
registerTile:
|
|
170
|
+
registerTile: B
|
|
171
171
|
})
|
|
172
|
-
})),
|
|
173
|
-
var w = `repeat(${x()}, minmax(0, 1fr))`, _ = `${c.paddingTop()}px`,
|
|
174
|
-
return w !== i.e &&
|
|
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),
|
|
181
|
+
}), null), y(n, D(q, {
|
|
182
182
|
get when() {
|
|
183
|
-
return
|
|
183
|
+
return A.overlayStyle();
|
|
184
184
|
},
|
|
185
185
|
children: (o) => (() => {
|
|
186
|
-
var i =
|
|
187
|
-
return
|
|
186
|
+
var i = $e();
|
|
187
|
+
return H(i, Me), N((w) => ue(i, o(), w)), i;
|
|
188
188
|
})()
|
|
189
|
-
}), null),
|
|
189
|
+
}), null), N(() => H(n, p("relative h-full min-h-0 overflow-auto", e.class))), n;
|
|
190
190
|
})();
|
|
191
191
|
}
|
|
192
|
-
function
|
|
193
|
-
const r = le(), s = () => r.isSelected(e.item.id),
|
|
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,
|
|
197
|
-
const V = 5,
|
|
196
|
+
let d, v = null, T = 0, R = 0, m = !1;
|
|
197
|
+
const V = 5, U = 500;
|
|
198
198
|
let x = null;
|
|
199
|
-
const [
|
|
200
|
-
if (
|
|
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
|
-
},
|
|
207
|
+
}, B = () => {
|
|
208
208
|
x !== null && (clearTimeout(x), x = null);
|
|
209
209
|
}, f = () => {
|
|
210
|
-
typeof document > "u" || (document.removeEventListener("pointermove",
|
|
211
|
-
},
|
|
212
|
-
typeof document > "u" || (document.addEventListener("pointermove",
|
|
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
|
-
|
|
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
|
|
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
|
-
},
|
|
233
|
+
}, A = (t) => {
|
|
234
234
|
if (v !== t.pointerId) return;
|
|
235
|
-
const a = t.clientX -
|
|
236
|
-
if (c() && !m &&
|
|
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 &&
|
|
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,
|
|
247
|
-
v !== null && !m &&
|
|
248
|
-
},
|
|
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 (
|
|
252
|
+
if (!$() || !e.dragContext) return;
|
|
253
253
|
const a = e.dragContext.dragState();
|
|
254
254
|
if (!a.isDragging) return;
|
|
255
|
-
|
|
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
|
-
|
|
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
|
-
},
|
|
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(
|
|
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,
|
|
296
|
+
}, se = () => e.dragContext?.dragState(), de = () => se()?.isDragging ?? !1, K = () => F() && de() && $();
|
|
297
297
|
return (() => {
|
|
298
|
-
var t =
|
|
299
|
-
return
|
|
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:
|
|
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
|
|
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
|
-
|
|
331
|
-
|
|
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),
|
|
334
|
+
}), !1, !0), y(t, D(q, {
|
|
335
335
|
get when() {
|
|
336
336
|
return s();
|
|
337
337
|
},
|
|
338
338
|
get children() {
|
|
339
|
-
return
|
|
339
|
+
return ke();
|
|
340
340
|
}
|
|
341
|
-
}), a),
|
|
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
|
-
})),
|
|
346
|
+
})), y(h, D(pe, {
|
|
347
347
|
get name() {
|
|
348
348
|
return e.item.name;
|
|
349
349
|
},
|
|
350
350
|
get match() {
|
|
351
|
-
return
|
|
351
|
+
return M();
|
|
352
352
|
}
|
|
353
|
-
})),
|
|
354
|
-
var G =
|
|
355
|
-
return G !== u.e &&
|
|
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,
|