@floegence/floe-webapp-core 0.2.3 → 0.3.1
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/Breadcrumb.d.ts +1 -0
- package/dist/components/file-browser/FileBrowserToolbar.d.ts +3 -1
- package/dist/components/file-browser/FileContextMenu.d.ts +22 -3
- package/dist/components/file-browser/index.d.ts +1 -1
- package/dist/components/file-browser/types.d.ts +12 -0
- package/dist/index38.js +62 -48
- package/dist/index39.js +99 -70
- package/dist/index41.js +145 -77
- package/dist/index42.js +121 -56
- package/dist/index43.js +54 -46
- package/dist/index44.js +123 -38
- package/dist/index45.js +91 -40
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index41.js
CHANGED
|
@@ -1,131 +1,199 @@
|
|
|
1
|
-
import { delegateEvents as
|
|
2
|
-
import { Show as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { useFileBrowser as
|
|
5
|
-
import { FolderIcon as
|
|
6
|
-
import { ChevronDown as
|
|
7
|
-
import { createLongPressContextMenuHandlers as
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
const i =
|
|
11
|
-
|
|
1
|
+
import { delegateEvents as L, template as h, insert as s, createComponent as a, effect as S, className as F, Dynamic as A, memo as D, setStyleProperty as B } from "solid-js/web";
|
|
2
|
+
import { Show as I, For as T, untrack as H, createMemo as N } from "solid-js";
|
|
3
|
+
import { cn as y } from "./index67.js";
|
|
4
|
+
import { useFileBrowser as z } from "./index39.js";
|
|
5
|
+
import { FolderIcon as K, getFileIcon as Q } from "./index46.js";
|
|
6
|
+
import { ChevronDown as U } from "./index32.js";
|
|
7
|
+
import { createLongPressContextMenuHandlers as j } from "./index81.js";
|
|
8
|
+
var E = /* @__PURE__ */ h("<span class=truncate>"), V = /* @__PURE__ */ h('<mark class="bg-warning/40 text-inherit rounded-sm">'), X = /* @__PURE__ */ h("<span>"), Y = /* @__PURE__ */ h('<div><div class="flex items-center border-b border-border text-[11px] text-muted-foreground font-medium"><button type=button class="group flex items-center flex-1 min-w-0 px-3 py-2 cursor-pointer hover:bg-muted/50 transition-colors">Name</button><button type=button class="group hidden sm:flex items-center w-32 px-3 py-2 cursor-pointer hover:bg-muted/50 transition-colors">Modified</button><button type=button class="group hidden md:flex items-center w-24 px-3 py-2 text-right justify-end cursor-pointer hover:bg-muted/50 transition-colors">Size</button></div><div class="flex-1 min-h-0 overflow-auto">'), q = /* @__PURE__ */ h('<span>No files matching "<!>"'), G = /* @__PURE__ */ h('<button type=button class="px-2 py-1 rounded bg-muted hover:bg-muted/80 transition-colors">Clear Filter'), J = /* @__PURE__ */ h('<div class="flex flex-col items-center justify-center h-32 gap-2 text-xs text-muted-foreground">'), O = /* @__PURE__ */ h("<span>This folder is empty"), R = /* @__PURE__ */ h('<button type=button style=animation-fill-mode:backwards><div class="flex items-center gap-2 flex-1 min-w-0 px-3 py-1.5"><span class="flex-shrink-0 w-4 h-4"></span></div><div class="hidden sm:block w-32 px-3 py-1.5 text-muted-foreground truncate"></div><div class="hidden md:block w-24 px-3 py-1.5 text-right text-muted-foreground">');
|
|
9
|
+
function W(n) {
|
|
10
|
+
const i = N(() => {
|
|
11
|
+
if (!n.match || n.match.matchedIndices.length === 0)
|
|
12
|
+
return [{
|
|
13
|
+
text: n.name,
|
|
14
|
+
highlight: !1
|
|
15
|
+
}];
|
|
16
|
+
const l = [], d = new Set(n.match.matchedIndices);
|
|
17
|
+
let c = "", o = !1;
|
|
18
|
+
for (let e = 0; e < n.name.length; e++) {
|
|
19
|
+
const r = d.has(e);
|
|
20
|
+
e === 0 ? (o = r, c = n.name[e]) : r === o ? c += n.name[e] : (l.push({
|
|
21
|
+
text: c,
|
|
22
|
+
highlight: o
|
|
23
|
+
}), c = n.name[e], o = r);
|
|
24
|
+
}
|
|
25
|
+
return c && l.push({
|
|
26
|
+
text: c,
|
|
27
|
+
highlight: o
|
|
28
|
+
}), l;
|
|
29
|
+
});
|
|
30
|
+
return (() => {
|
|
31
|
+
var l = E();
|
|
32
|
+
return s(l, a(T, {
|
|
33
|
+
get each() {
|
|
34
|
+
return i();
|
|
35
|
+
},
|
|
36
|
+
children: (d) => a(I, {
|
|
37
|
+
get when() {
|
|
38
|
+
return d.highlight;
|
|
39
|
+
},
|
|
40
|
+
get fallback() {
|
|
41
|
+
return D(() => d.text);
|
|
42
|
+
},
|
|
43
|
+
get children() {
|
|
44
|
+
var c = V();
|
|
45
|
+
return s(c, () => d.text), c;
|
|
46
|
+
}
|
|
47
|
+
})
|
|
48
|
+
})), l;
|
|
49
|
+
})();
|
|
50
|
+
}
|
|
51
|
+
function ce(n) {
|
|
52
|
+
const i = z(), l = (e) => {
|
|
53
|
+
const r = i.sortConfig();
|
|
12
54
|
i.setSortConfig({
|
|
13
|
-
field:
|
|
14
|
-
direction:
|
|
55
|
+
field: e,
|
|
56
|
+
direction: r.field === e && r.direction === "asc" ? "desc" : "asc"
|
|
15
57
|
});
|
|
16
|
-
},
|
|
58
|
+
}, d = (e) => e === void 0 ? "-" : e < 1024 ? `${e} B` : e < 1024 * 1024 ? `${(e / 1024).toFixed(1)} KB` : `${(e / (1024 * 1024)).toFixed(1)} MB`, c = (e) => e ? e.toLocaleDateString("en-US", {
|
|
17
59
|
month: "short",
|
|
18
60
|
day: "numeric",
|
|
19
61
|
year: "numeric"
|
|
20
|
-
}) : "-",
|
|
21
|
-
const
|
|
62
|
+
}) : "-", o = (e) => {
|
|
63
|
+
const r = () => i.sortConfig(), f = () => r().field === e.field;
|
|
22
64
|
return (() => {
|
|
23
|
-
var
|
|
24
|
-
return s(
|
|
65
|
+
var u = X();
|
|
66
|
+
return s(u, a(U, {
|
|
25
67
|
get class() {
|
|
26
|
-
return
|
|
68
|
+
return y("w-3 h-3 transition-transform duration-150", f() && r().direction === "asc" && "rotate-180");
|
|
27
69
|
}
|
|
28
|
-
})), S(() =>
|
|
70
|
+
})), S(() => F(u, y("ml-1 transition-all duration-150", f() ? "opacity-100" : "opacity-0 group-hover:opacity-40"))), u;
|
|
29
71
|
})();
|
|
30
72
|
};
|
|
31
73
|
return (() => {
|
|
32
|
-
var
|
|
33
|
-
c.firstChild;
|
|
34
|
-
var l = c.nextSibling;
|
|
35
|
-
l.firstChild;
|
|
36
|
-
var f = l.nextSibling;
|
|
74
|
+
var e = Y(), r = e.firstChild, f = r.firstChild;
|
|
37
75
|
f.firstChild;
|
|
38
|
-
var
|
|
39
|
-
|
|
76
|
+
var u = f.nextSibling;
|
|
77
|
+
u.firstChild;
|
|
78
|
+
var v = u.nextSibling;
|
|
79
|
+
v.firstChild;
|
|
80
|
+
var _ = r.nextSibling;
|
|
81
|
+
return f.$$click = () => l("name"), s(f, a(o, {
|
|
40
82
|
field: "name"
|
|
41
|
-
}), null),
|
|
83
|
+
}), null), u.$$click = () => l("modifiedAt"), s(u, a(o, {
|
|
42
84
|
field: "modifiedAt"
|
|
43
|
-
}), null),
|
|
85
|
+
}), null), v.$$click = () => l("size"), s(v, a(o, {
|
|
44
86
|
field: "size"
|
|
45
|
-
}), null), s(
|
|
87
|
+
}), null), s(_, a(I, {
|
|
46
88
|
get when() {
|
|
47
89
|
return i.currentFiles().length > 0;
|
|
48
90
|
},
|
|
49
91
|
get fallback() {
|
|
50
|
-
return
|
|
92
|
+
return (() => {
|
|
93
|
+
var x = J();
|
|
94
|
+
return s(x, a(I, {
|
|
95
|
+
get when() {
|
|
96
|
+
return i.filterQuery().trim();
|
|
97
|
+
},
|
|
98
|
+
get fallback() {
|
|
99
|
+
return O();
|
|
100
|
+
},
|
|
101
|
+
get children() {
|
|
102
|
+
return [(() => {
|
|
103
|
+
var m = q(), w = m.firstChild, p = w.nextSibling;
|
|
104
|
+
return p.nextSibling, s(m, () => i.filterQuery(), p), m;
|
|
105
|
+
})(), (() => {
|
|
106
|
+
var m = G();
|
|
107
|
+
return m.$$click = () => i.setFilterQuery(""), m;
|
|
108
|
+
})()];
|
|
109
|
+
}
|
|
110
|
+
})), x;
|
|
111
|
+
})();
|
|
51
112
|
},
|
|
52
113
|
get children() {
|
|
53
|
-
return a(
|
|
114
|
+
return a(T, {
|
|
54
115
|
get each() {
|
|
55
116
|
return i.currentFiles();
|
|
56
117
|
},
|
|
57
|
-
children: (
|
|
58
|
-
item:
|
|
59
|
-
formatSize:
|
|
60
|
-
formatDate:
|
|
118
|
+
children: (x, m) => a(Z, {
|
|
119
|
+
item: x,
|
|
120
|
+
formatSize: d,
|
|
121
|
+
formatDate: c,
|
|
61
122
|
get index() {
|
|
62
|
-
return
|
|
123
|
+
return m();
|
|
63
124
|
}
|
|
64
125
|
})
|
|
65
126
|
});
|
|
66
127
|
}
|
|
67
|
-
})), S(() =>
|
|
128
|
+
})), S(() => F(e, y("flex flex-col h-full min-h-0", n.class))), e;
|
|
68
129
|
})();
|
|
69
130
|
}
|
|
70
|
-
function
|
|
71
|
-
const i =
|
|
72
|
-
let
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
},
|
|
80
|
-
|
|
81
|
-
},
|
|
82
|
-
if (!
|
|
83
|
-
if (
|
|
131
|
+
function Z(n) {
|
|
132
|
+
const i = z(), l = () => i.isSelected(n.item.id), d = () => i.getFilterMatch(n.item.name), c = H(() => n.item), o = j(i, c);
|
|
133
|
+
let e;
|
|
134
|
+
const r = () => e === "touch" || e === "pen", f = (t) => {
|
|
135
|
+
e = t.pointerType, o.onPointerDown(t);
|
|
136
|
+
}, u = (t) => {
|
|
137
|
+
e = t.pointerType, o.onPointerMove(t);
|
|
138
|
+
}, v = (t) => {
|
|
139
|
+
e = t.pointerType, o.onPointerUp();
|
|
140
|
+
}, _ = (t) => {
|
|
141
|
+
e = t.pointerType, o.onPointerCancel();
|
|
142
|
+
}, x = (t) => {
|
|
143
|
+
if (!o.consumeClickSuppression(t)) {
|
|
144
|
+
if (r()) {
|
|
84
145
|
i.openItem(n.item);
|
|
85
146
|
return;
|
|
86
147
|
}
|
|
87
|
-
i.selectItem(n.item.id,
|
|
148
|
+
i.selectItem(n.item.id, t.metaKey || t.ctrlKey);
|
|
88
149
|
}
|
|
89
|
-
},
|
|
90
|
-
|
|
91
|
-
}, w = (
|
|
92
|
-
if (
|
|
93
|
-
|
|
94
|
-
const
|
|
150
|
+
}, m = () => {
|
|
151
|
+
r() || i.openItem(n.item);
|
|
152
|
+
}, w = (t) => {
|
|
153
|
+
if (t.preventDefault(), t.stopPropagation(), r()) return;
|
|
154
|
+
l() || i.selectItem(n.item.id, !1);
|
|
155
|
+
const $ = i.selectedItems(), C = i.currentFiles(), b = $.size > 0 ? C.filter((k) => $.has(k.id)) : [n.item];
|
|
95
156
|
i.showContextMenu({
|
|
96
|
-
x:
|
|
97
|
-
y:
|
|
98
|
-
items:
|
|
157
|
+
x: t.clientX,
|
|
158
|
+
y: t.clientY,
|
|
159
|
+
items: b
|
|
99
160
|
});
|
|
100
|
-
},
|
|
161
|
+
}, p = () => n.item.type === "folder" ? K : Q(n.item.extension);
|
|
101
162
|
return (() => {
|
|
102
|
-
var
|
|
103
|
-
return
|
|
163
|
+
var t = R(), $ = t.firstChild, C = $.firstChild, b = $.nextSibling, k = b.nextSibling;
|
|
164
|
+
return t.addEventListener("pointercancel", _), t.$$pointerup = v, t.$$pointermove = u, t.$$pointerdown = f, t.$$contextmenu = w, t.$$dblclick = m, t.$$click = x, s(C, a(A, {
|
|
104
165
|
get component() {
|
|
105
|
-
return
|
|
166
|
+
return p();
|
|
106
167
|
},
|
|
107
168
|
class: "w-4 h-4"
|
|
108
|
-
})), s(
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
169
|
+
})), s($, a(W, {
|
|
170
|
+
get name() {
|
|
171
|
+
return n.item.name;
|
|
172
|
+
},
|
|
173
|
+
get match() {
|
|
174
|
+
return d();
|
|
175
|
+
}
|
|
176
|
+
}), null), s(b, () => n.formatDate(n.item.modifiedAt)), s(k, (() => {
|
|
177
|
+
var g = D(() => n.item.type === "folder");
|
|
178
|
+
return () => g() ? "-" : n.formatSize(n.item.size);
|
|
179
|
+
})()), S((g) => {
|
|
180
|
+
var P = y(
|
|
113
181
|
"group w-full flex items-center text-xs cursor-pointer",
|
|
114
182
|
"transition-all duration-100",
|
|
115
183
|
"hover:bg-accent/50",
|
|
116
184
|
"focus:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring",
|
|
117
|
-
|
|
185
|
+
l() && "bg-accent text-accent-foreground",
|
|
118
186
|
// Staggered animation on mount
|
|
119
187
|
"animate-in fade-in slide-in-from-top-2"
|
|
120
|
-
),
|
|
121
|
-
return
|
|
188
|
+
), M = `${Math.min(n.index * 20, 200)}ms`;
|
|
189
|
+
return P !== g.e && F(t, g.e = P), M !== g.t && B(t, "animation-delay", g.t = M), g;
|
|
122
190
|
}, {
|
|
123
191
|
e: void 0,
|
|
124
192
|
t: void 0
|
|
125
|
-
}),
|
|
193
|
+
}), t;
|
|
126
194
|
})();
|
|
127
195
|
}
|
|
128
|
-
|
|
196
|
+
L(["click", "dblclick", "contextmenu", "pointerdown", "pointermove", "pointerup"]);
|
|
129
197
|
export {
|
|
130
|
-
|
|
198
|
+
ce as FileListView
|
|
131
199
|
};
|
package/dist/index42.js
CHANGED
|
@@ -1,95 +1,160 @@
|
|
|
1
|
-
import { delegateEvents as
|
|
2
|
-
import { Show as
|
|
3
|
-
import { cn as
|
|
4
|
-
import { useFileBrowser as
|
|
5
|
-
import { FolderIcon as A, getFileIcon as
|
|
6
|
-
import { createLongPressContextMenuHandlers as
|
|
7
|
-
var
|
|
8
|
-
function ne(
|
|
9
|
-
const
|
|
1
|
+
import { delegateEvents as z, template as m, insert as u, createComponent as s, effect as I, className as f, Dynamic as B, setStyleProperty as F, setAttribute as E, memo as G } from "solid-js/web";
|
|
2
|
+
import { Show as p, For as P, untrack as K, createMemo as U } from "solid-js";
|
|
3
|
+
import { cn as v } from "./index67.js";
|
|
4
|
+
import { useFileBrowser as S } from "./index39.js";
|
|
5
|
+
import { FolderIcon as A, getFileIcon as V } from "./index46.js";
|
|
6
|
+
import { createLongPressContextMenuHandlers as X } from "./index81.js";
|
|
7
|
+
var Y = /* @__PURE__ */ m('<mark class="bg-warning/40 text-inherit rounded-sm">'), q = /* @__PURE__ */ m('<div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-5 xl:grid-cols-6 gap-2">'), J = /* @__PURE__ */ m("<div>"), O = /* @__PURE__ */ m('<span>No files matching "<!>"'), R = /* @__PURE__ */ m('<button type=button class="px-2 py-1 rounded bg-muted hover:bg-muted/80 transition-colors">Clear Filter'), W = /* @__PURE__ */ m('<div class="flex flex-col items-center justify-center h-32 gap-2 text-xs text-muted-foreground">'), Z = /* @__PURE__ */ m("<span>This folder is empty"), ee = /* @__PURE__ */ m('<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">'), te = /* @__PURE__ */ m("<button type=button style=animation-fill-mode:backwards><div></div><span></span><div>");
|
|
8
|
+
function ne(t) {
|
|
9
|
+
const n = U(() => {
|
|
10
|
+
if (!t.match || t.match.matchedIndices.length === 0)
|
|
11
|
+
return [{
|
|
12
|
+
text: t.name,
|
|
13
|
+
highlight: !1
|
|
14
|
+
}];
|
|
15
|
+
const o = [], c = new Set(t.match.matchedIndices);
|
|
16
|
+
let i = "", a = !1;
|
|
17
|
+
for (let r = 0; r < t.name.length; r++) {
|
|
18
|
+
const d = c.has(r);
|
|
19
|
+
r === 0 ? (a = d, i = t.name[r]) : d === a ? i += t.name[r] : (o.push({
|
|
20
|
+
text: i,
|
|
21
|
+
highlight: a
|
|
22
|
+
}), i = t.name[r], a = d);
|
|
23
|
+
}
|
|
24
|
+
return i && o.push({
|
|
25
|
+
text: i,
|
|
26
|
+
highlight: a
|
|
27
|
+
}), o;
|
|
28
|
+
});
|
|
29
|
+
return s(P, {
|
|
30
|
+
get each() {
|
|
31
|
+
return n();
|
|
32
|
+
},
|
|
33
|
+
children: (o) => s(p, {
|
|
34
|
+
get when() {
|
|
35
|
+
return o.highlight;
|
|
36
|
+
},
|
|
37
|
+
get fallback() {
|
|
38
|
+
return G(() => o.text);
|
|
39
|
+
},
|
|
40
|
+
get children() {
|
|
41
|
+
var c = Y();
|
|
42
|
+
return u(c, () => o.text), c;
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function me(t) {
|
|
48
|
+
const n = S();
|
|
10
49
|
return (() => {
|
|
11
|
-
var
|
|
12
|
-
return
|
|
50
|
+
var o = J();
|
|
51
|
+
return u(o, s(p, {
|
|
13
52
|
get when() {
|
|
14
|
-
return
|
|
53
|
+
return n.currentFiles().length > 0;
|
|
15
54
|
},
|
|
16
55
|
get fallback() {
|
|
17
|
-
return
|
|
56
|
+
return (() => {
|
|
57
|
+
var c = W();
|
|
58
|
+
return u(c, s(p, {
|
|
59
|
+
get when() {
|
|
60
|
+
return n.filterQuery().trim();
|
|
61
|
+
},
|
|
62
|
+
get fallback() {
|
|
63
|
+
return Z();
|
|
64
|
+
},
|
|
65
|
+
get children() {
|
|
66
|
+
return [(() => {
|
|
67
|
+
var i = O(), a = i.firstChild, r = a.nextSibling;
|
|
68
|
+
return r.nextSibling, u(i, () => n.filterQuery(), r), i;
|
|
69
|
+
})(), (() => {
|
|
70
|
+
var i = R();
|
|
71
|
+
return i.$$click = () => n.setFilterQuery(""), i;
|
|
72
|
+
})()];
|
|
73
|
+
}
|
|
74
|
+
})), c;
|
|
75
|
+
})();
|
|
18
76
|
},
|
|
19
77
|
get children() {
|
|
20
|
-
var
|
|
21
|
-
return
|
|
78
|
+
var c = q();
|
|
79
|
+
return u(c, s(P, {
|
|
22
80
|
get each() {
|
|
23
|
-
return
|
|
81
|
+
return n.currentFiles();
|
|
24
82
|
},
|
|
25
|
-
children: (
|
|
26
|
-
item:
|
|
83
|
+
children: (i, a) => s(ie, {
|
|
84
|
+
item: i,
|
|
27
85
|
get index() {
|
|
28
|
-
return
|
|
86
|
+
return a();
|
|
29
87
|
}
|
|
30
88
|
})
|
|
31
|
-
})),
|
|
89
|
+
})), c;
|
|
32
90
|
}
|
|
33
|
-
})),
|
|
91
|
+
})), I(() => f(o, v("h-full min-h-0 overflow-auto p-3", t.class))), o;
|
|
34
92
|
})();
|
|
35
93
|
}
|
|
36
|
-
function
|
|
37
|
-
const
|
|
38
|
-
let
|
|
39
|
-
const
|
|
40
|
-
|
|
94
|
+
function ie(t) {
|
|
95
|
+
const n = S(), o = () => n.isSelected(t.item.id), c = () => n.getFilterMatch(t.item.name), i = K(() => t.item), a = X(n, i);
|
|
96
|
+
let r;
|
|
97
|
+
const d = () => r === "touch" || r === "pen", M = (e) => {
|
|
98
|
+
r = e.pointerType, a.onPointerDown(e);
|
|
41
99
|
}, T = (e) => {
|
|
42
|
-
|
|
43
|
-
}, M = (e) => {
|
|
44
|
-
o = e.pointerType, l.onPointerUp();
|
|
100
|
+
r = e.pointerType, a.onPointerMove(e);
|
|
45
101
|
}, D = (e) => {
|
|
46
|
-
|
|
102
|
+
r = e.pointerType, a.onPointerUp();
|
|
47
103
|
}, j = (e) => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
104
|
+
r = e.pointerType, a.onPointerCancel();
|
|
105
|
+
}, H = (e) => {
|
|
106
|
+
if (!a.consumeClickSuppression(e)) {
|
|
107
|
+
if (d()) {
|
|
108
|
+
n.openItem(t.item);
|
|
51
109
|
return;
|
|
52
110
|
}
|
|
53
|
-
|
|
111
|
+
n.selectItem(t.item.id, e.metaKey || e.ctrlKey);
|
|
54
112
|
}
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
if (e.preventDefault(), e.stopPropagation(),
|
|
59
|
-
|
|
60
|
-
const
|
|
61
|
-
|
|
113
|
+
}, L = () => {
|
|
114
|
+
d() || n.openItem(t.item);
|
|
115
|
+
}, N = (e) => {
|
|
116
|
+
if (e.preventDefault(), e.stopPropagation(), d()) return;
|
|
117
|
+
o() || n.selectItem(t.item.id, !1);
|
|
118
|
+
const g = n.selectedItems(), h = n.currentFiles(), x = g.size > 0 ? h.filter((l) => g.has(l.id)) : [t.item];
|
|
119
|
+
n.showContextMenu({
|
|
62
120
|
x: e.clientX,
|
|
63
121
|
y: e.clientY,
|
|
64
|
-
items:
|
|
122
|
+
items: x
|
|
65
123
|
});
|
|
66
|
-
},
|
|
124
|
+
}, Q = () => t.item.type === "folder" ? A : V(t.item.extension);
|
|
67
125
|
return (() => {
|
|
68
|
-
var e =
|
|
69
|
-
return e.addEventListener("pointercancel",
|
|
126
|
+
var e = te(), g = e.firstChild, h = g.nextSibling, x = h.nextSibling;
|
|
127
|
+
return e.addEventListener("pointercancel", j), e.$$pointerup = D, e.$$pointermove = T, e.$$pointerdown = M, e.$$contextmenu = N, e.$$dblclick = L, e.$$click = H, u(e, s(p, {
|
|
70
128
|
get when() {
|
|
71
|
-
return
|
|
129
|
+
return o();
|
|
72
130
|
},
|
|
73
131
|
get children() {
|
|
74
|
-
return
|
|
132
|
+
return ee();
|
|
75
133
|
}
|
|
76
|
-
}),
|
|
134
|
+
}), g), u(g, s(B, {
|
|
77
135
|
get component() {
|
|
78
|
-
return
|
|
136
|
+
return Q();
|
|
79
137
|
},
|
|
80
138
|
class: "w-8 h-8"
|
|
81
|
-
})),
|
|
82
|
-
|
|
139
|
+
})), u(h, s(ne, {
|
|
140
|
+
get name() {
|
|
141
|
+
return t.item.name;
|
|
142
|
+
},
|
|
143
|
+
get match() {
|
|
144
|
+
return c();
|
|
145
|
+
}
|
|
146
|
+
})), I((l) => {
|
|
147
|
+
var y = v(
|
|
83
148
|
"group relative flex flex-col items-center gap-2 p-3 rounded-lg cursor-pointer",
|
|
84
149
|
"transition-all duration-150",
|
|
85
150
|
"hover:bg-accent/50 hover:scale-[1.02]",
|
|
86
151
|
"focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
87
152
|
"active:scale-[0.98]",
|
|
88
|
-
|
|
153
|
+
o() && "bg-accent ring-2 ring-primary/50",
|
|
89
154
|
// Staggered animation on mount
|
|
90
155
|
"animate-in fade-in zoom-in-95"
|
|
91
|
-
),
|
|
92
|
-
return
|
|
156
|
+
), b = `${Math.min(t.index * 30, 300)}ms`, w = v("w-12 h-12 flex items-center justify-center rounded-lg", "transition-transform duration-200", "group-hover:scale-110", t.item.type === "folder" ? "bg-warning/10" : "bg-muted/50"), $ = v("text-xs text-center line-clamp-2 w-full px-1", "transition-colors duration-150", o() && "font-medium"), k = t.item.name, _ = v("absolute inset-0 rounded-lg opacity-0 transition-opacity duration-300", "group-hover:opacity-100", "pointer-events-none"), C = t.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%)";
|
|
157
|
+
return y !== l.e && f(e, l.e = y), b !== l.t && F(e, "animation-delay", l.t = b), w !== l.a && f(g, l.a = w), $ !== l.o && f(h, l.o = $), k !== l.i && E(h, "title", l.i = k), _ !== l.n && f(x, l.n = _), C !== l.s && F(x, "background", l.s = C), l;
|
|
93
158
|
}, {
|
|
94
159
|
e: void 0,
|
|
95
160
|
t: void 0,
|
|
@@ -101,7 +166,7 @@ function O(n) {
|
|
|
101
166
|
}), e;
|
|
102
167
|
})();
|
|
103
168
|
}
|
|
104
|
-
|
|
169
|
+
z(["click", "dblclick", "contextmenu", "pointerdown", "pointermove", "pointerup"]);
|
|
105
170
|
export {
|
|
106
|
-
|
|
171
|
+
me as FileGridView
|
|
107
172
|
};
|