@floegence/floe-webapp-core 0.78.2 → 0.78.4
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/DirectoryTree.js +10 -10
- package/dist/components/file-browser/FileBrowserStatusBar.js +16 -16
- package/dist/components/file-browser/FileListView.js +352 -339
- package/dist/components/layout/Sidebar.js +10 -10
- package/dist/floe.css +2 -0
- package/dist/primitives.css +12 -5
- package/dist/styles/tokens.d.ts +10 -10
- package/dist/styles/tokens.js +5 -5
- package/dist/styles.css +1 -1
- package/dist/ui.css +2 -2
- package/dist/viewport.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { insert as l, createComponent as s, effect as y, className as h, template as v, setAttribute as G, spread as X, mergeProps as Y, memo as q, setStyleProperty as J, delegateEvents as K } from "solid-js/web";
|
|
2
|
-
import { createMemo as T, For as Q, untrack as W, createSignal as Z, Show as
|
|
2
|
+
import { createMemo as T, For as Q, untrack as W, createSignal as Z, Show as I } from "solid-js";
|
|
3
3
|
import { cn as u } from "../../utils/cn.js";
|
|
4
4
|
import { useFileBrowser as _ } from "./FileBrowserContext.js";
|
|
5
5
|
import { useFileBrowserDrag as ee } from "../../context/FileBrowserDragContext.js";
|
|
@@ -10,11 +10,11 @@ import { createLongPressContextMenuHandlers as ae } from "./longPressContextMenu
|
|
|
10
10
|
import { fileBrowserTouchTargetAttrs as oe } from "./touchInteractionGuard.js";
|
|
11
11
|
import { createItemContextMenuEvent as le } from "./contextMenuEvent.js";
|
|
12
12
|
var M = /* @__PURE__ */ v("<div>"), se = /* @__PURE__ */ v("<button type=button>"), ce = /* @__PURE__ */ v('<span class="ml-auto mr-2 text-[10px] text-muted-foreground/60 opacity-0 group-hover:opacity-100 transition-opacity">'), ge = /* @__PURE__ */ v('<div class="flex flex-col"><div><button type=button><span class="relative flex-shrink-0 w-4 h-4"></span><span>'), de = /* @__PURE__ */ v('<span class="flex-shrink-0 w-3.5 h-3.5">');
|
|
13
|
-
function
|
|
13
|
+
function Ie(e) {
|
|
14
14
|
const o = _(), i = ee(), P = () => (e.enableDragDrop ?? !0) && !!i, x = () => e.instanceId ?? "default", g = T(() => o.files().filter((r) => r.type === "folder"));
|
|
15
15
|
return (() => {
|
|
16
16
|
var r = M();
|
|
17
|
-
return r.$$contextmenu = (
|
|
17
|
+
return r.$$contextmenu = (w) => w.preventDefault(), l(r, s(p, {
|
|
18
18
|
get items() {
|
|
19
19
|
return g();
|
|
20
20
|
},
|
|
@@ -58,11 +58,11 @@ function ue(e) {
|
|
|
58
58
|
source: "tree"
|
|
59
59
|
});
|
|
60
60
|
let r;
|
|
61
|
-
const [
|
|
61
|
+
const [w, $] = Z(!1), F = () => r === "touch" || r === "pen", E = T(() => e.item.children?.filter((t) => t.type === "folder").length ?? 0), D = () => E() > 0, S = () => {
|
|
62
62
|
if (!e.enableDragDrop || !e.dragContext) return !1;
|
|
63
63
|
const t = e.dragContext.dragState();
|
|
64
64
|
return t.isDragging ? e.dragContext.canDropOn(t.draggedItems, e.item.path, e.item, e.instanceId) : !1;
|
|
65
|
-
}, B = () => e.dragContext?.dragState(), L = () => B()?.isDragging ?? !1, k = () =>
|
|
65
|
+
}, B = () => e.dragContext?.dragState(), L = () => B()?.isDragging ?? !1, k = () => w() && L() && e.enableDragDrop, A = (t) => {
|
|
66
66
|
r = t.pointerType, g.onPointerDown(t);
|
|
67
67
|
}, N = (t) => {
|
|
68
68
|
r = t.pointerType, g.onPointerMove(t);
|
|
@@ -101,7 +101,7 @@ function ue(e) {
|
|
|
101
101
|
};
|
|
102
102
|
return (() => {
|
|
103
103
|
var t = ge(), a = t.firstChild, d = a.firstChild, b = d.firstChild, C = b.nextSibling;
|
|
104
|
-
return a.addEventListener("pointerleave", U), a.addEventListener("pointerenter", R), l(a, s(
|
|
104
|
+
return a.addEventListener("pointerleave", U), a.addEventListener("pointerenter", R), l(a, s(I, {
|
|
105
105
|
get when() {
|
|
106
106
|
return D();
|
|
107
107
|
},
|
|
@@ -144,7 +144,7 @@ function ue(e) {
|
|
|
144
144
|
return e.item;
|
|
145
145
|
},
|
|
146
146
|
size: "xs"
|
|
147
|
-
}), null), l(C, () => e.item.name), l(d, s(
|
|
147
|
+
}), null), l(C, () => e.item.name), l(d, s(I, {
|
|
148
148
|
get when() {
|
|
149
149
|
return D();
|
|
150
150
|
},
|
|
@@ -152,7 +152,7 @@ function ue(e) {
|
|
|
152
152
|
var n = ce();
|
|
153
153
|
return l(n, E), n;
|
|
154
154
|
}
|
|
155
|
-
}), null), l(t, s(
|
|
155
|
+
}), null), l(t, s(I, {
|
|
156
156
|
get when() {
|
|
157
157
|
return q(() => !!i())() && D();
|
|
158
158
|
},
|
|
@@ -178,7 +178,7 @@ function ue(e) {
|
|
|
178
178
|
}
|
|
179
179
|
}), null), y((n) => {
|
|
180
180
|
var c = u(
|
|
181
|
-
"group flex items-center w-full py-1 text-
|
|
181
|
+
"group flex items-center w-full min-h-[var(--floe-row-height)] py-1 text-[length:var(--floe-type-control)] leading-[var(--floe-line-control)]",
|
|
182
182
|
"transition-all duration-150 ease-out",
|
|
183
183
|
"hover:bg-sidebar-accent/60",
|
|
184
184
|
P() && "bg-sidebar-accent text-sidebar-accent-foreground font-medium",
|
|
@@ -196,5 +196,5 @@ function ue(e) {
|
|
|
196
196
|
}
|
|
197
197
|
K(["contextmenu", "click"]);
|
|
198
198
|
export {
|
|
199
|
-
|
|
199
|
+
Ie as DirectoryTree
|
|
200
200
|
};
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
import { insert as i, createComponent as a, effect as f, className as v, setAttribute as h, template as u } from "solid-js/web";
|
|
2
|
-
import { Show as
|
|
2
|
+
import { Show as d } from "solid-js";
|
|
3
3
|
import { Skeleton as g } from "../loading/Skeleton.js";
|
|
4
4
|
import { cn as w } from "../../utils/cn.js";
|
|
5
5
|
import { useFileBrowser as $ } from "./FileBrowserContext.js";
|
|
6
|
-
var
|
|
7
|
-
function
|
|
6
|
+
var b = /* @__PURE__ */ u("<span aria-hidden=true>·"), x = /* @__PURE__ */ u("<span>"), C = /* @__PURE__ */ u('<div class="flex flex-wrap items-center gap-1.5"><span>'), p = /* @__PURE__ */ u("<div>"), _ = /* @__PURE__ */ u("<div data-file-browser-status-bar=true>");
|
|
7
|
+
function y(t) {
|
|
8
8
|
return `${t} ${t === 1 ? "item" : "items"}`;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
10
|
+
function S(t) {
|
|
11
11
|
return `${t} selected`;
|
|
12
12
|
}
|
|
13
13
|
function A(t) {
|
|
14
|
-
const l = $(),
|
|
14
|
+
const l = $(), m = () => l.currentFiles().length, s = () => l.selectedItems().size;
|
|
15
15
|
return (() => {
|
|
16
16
|
var o = _();
|
|
17
|
-
return i(o, a(
|
|
17
|
+
return i(o, a(d, {
|
|
18
18
|
get when() {
|
|
19
19
|
return !t.initializing;
|
|
20
20
|
},
|
|
21
21
|
get fallback() {
|
|
22
22
|
return [a(g, {
|
|
23
|
-
class: "h-
|
|
23
|
+
class: "h-4 w-12"
|
|
24
24
|
}), a(g, {
|
|
25
|
-
class: "h-
|
|
25
|
+
class: "h-4 w-32"
|
|
26
26
|
})];
|
|
27
27
|
},
|
|
28
28
|
get children() {
|
|
29
29
|
return [(() => {
|
|
30
30
|
var e = C(), n = e.firstChild;
|
|
31
|
-
return i(n, () => t.formatItemCount?.(
|
|
31
|
+
return i(n, () => t.formatItemCount?.(m()) ?? y(m())), i(e, a(d, {
|
|
32
32
|
get when() {
|
|
33
33
|
return l.filterQueryApplied().trim();
|
|
34
34
|
},
|
|
35
35
|
get children() {
|
|
36
|
-
return [
|
|
37
|
-
var r =
|
|
36
|
+
return [b(), (() => {
|
|
37
|
+
var r = x();
|
|
38
38
|
return i(r, () => t.filteredLabel ?? "Filtered"), r;
|
|
39
39
|
})()];
|
|
40
40
|
}
|
|
41
|
-
}), null), i(e, a(
|
|
41
|
+
}), null), i(e, a(d, {
|
|
42
42
|
get when() {
|
|
43
43
|
return s() > 0;
|
|
44
44
|
},
|
|
45
45
|
get children() {
|
|
46
|
-
return [
|
|
47
|
-
var r =
|
|
48
|
-
return i(r, () => t.formatSelectedCount?.(s()) ??
|
|
46
|
+
return [b(), (() => {
|
|
47
|
+
var r = x();
|
|
48
|
+
return i(r, () => t.formatSelectedCount?.(s()) ?? S(s())), r;
|
|
49
49
|
})()];
|
|
50
50
|
}
|
|
51
51
|
}), null), e;
|
|
@@ -61,7 +61,7 @@ function A(t) {
|
|
|
61
61
|
})()];
|
|
62
62
|
}
|
|
63
63
|
})), f((e) => {
|
|
64
|
-
var n = t.initializing || void 0, r = w("flex flex-wrap items-center justify-between gap-2 border-t border-border px-3 py-1 text-[
|
|
64
|
+
var n = t.initializing || void 0, r = w("flex flex-wrap items-center justify-between gap-2 border-t border-border px-3 py-1 text-[length:var(--floe-type-caption)] leading-4 text-muted-foreground", t.class);
|
|
65
65
|
return n !== e.e && h(o, "aria-busy", e.e = n), r !== e.t && v(o, e.t = r), e;
|
|
66
66
|
}, {
|
|
67
67
|
e: void 0,
|