@floegence/floe-webapp-core 0.36.62 → 0.36.63
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.
|
@@ -2,6 +2,8 @@ import { type JSX } from 'solid-js';
|
|
|
2
2
|
export interface BottomBarProps {
|
|
3
3
|
children?: JSX.Element;
|
|
4
4
|
class?: string;
|
|
5
|
+
/** Height class, defaults to 'h-5' (20px). Use Tailwind height classes like 'h-7' (28px). */
|
|
6
|
+
height?: string;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
9
|
* Status bar at the bottom of the application
|
|
@@ -6,7 +6,7 @@ var h = /* @__PURE__ */ i("<footer data-floe-shell-slot=bottom-bar style=border-
|
|
|
6
6
|
function C(e) {
|
|
7
7
|
return (() => {
|
|
8
8
|
var r = h();
|
|
9
|
-
return n(r, () => e.children), a(() => u(r, m("h-5 shrink-0 flex items-center justify-between px-1.5", "bg-background border-t border-border", "text-[10px] text-muted-foreground font-mono", e.class))), r;
|
|
9
|
+
return n(r, () => e.children), a(() => u(r, m(e.height ?? "h-5", "shrink-0 flex items-center justify-between px-1.5", "bg-background border-t border-border", "text-[10px] text-muted-foreground font-mono", e.class))), r;
|
|
10
10
|
})();
|
|
11
11
|
}
|
|
12
12
|
function v(e) {
|
|
@@ -12,6 +12,8 @@ export interface ShellSlotClassNames {
|
|
|
12
12
|
main?: string;
|
|
13
13
|
terminalPanel?: string;
|
|
14
14
|
bottomBar?: string;
|
|
15
|
+
/** Height class for the bottom bar, defaults to 'h-5' (20px). Use Tailwind height classes like 'h-7' (28px). */
|
|
16
|
+
bottomBarHeight?: string;
|
|
15
17
|
mobileTabBar?: string;
|
|
16
18
|
}
|
|
17
19
|
export interface ShellProps {
|
|
@@ -17,7 +17,7 @@ import { ResizeHandle as Q } from "./ResizeHandle.js";
|
|
|
17
17
|
import { resolveMobileTabActiveId as Ce, resolveMobileTabSelect as ye } from "./mobileTabs.js";
|
|
18
18
|
import { KeepAliveStack as Ie } from "./KeepAliveStack.js";
|
|
19
19
|
import { resolveShellSidebarActiveTabChange as we } from "./sidebarVisibilityMotion.js";
|
|
20
|
-
var q = /* @__PURE__ */ x('<div class="flex items-center gap-2">'),
|
|
20
|
+
var q = /* @__PURE__ */ x('<div class="flex items-center gap-2">'), Be = /* @__PURE__ */ x("<div data-floe-shell-slot=mobile-sidebar-backdrop>"), Me = /* @__PURE__ */ x('<div data-floe-shell-slot=mobile-sidebar-drawer tabindex=-1 role=dialog aria-modal=true><div class="h-full overflow-auto overscroll-contain">'), ke = /* @__PURE__ */ x("<div data-floe-shell-slot=terminal-panel style=border-top-color:var(--terminal-panel-border)>"), xe = /* @__PURE__ */ x('<div data-floe-shell><a></a><div data-floe-shell-slot=main-layout class="flex-1 min-h-0 flex overflow-hidden relative"><div data-floe-shell-slot=content-area><main data-floe-shell-slot=main tabindex=-1>');
|
|
21
21
|
function Ke(r) {
|
|
22
22
|
const i = ae(), W = le(), s = se(W.config.layout.mobileQuery), [A, y] = D(!1), [F, z] = D(null);
|
|
23
23
|
let $;
|
|
@@ -56,7 +56,7 @@ function Ke(r) {
|
|
|
56
56
|
const e = i.sidebarVisibilityMotion(), a = i.sidebarVisibilityMotionRevision();
|
|
57
57
|
e === "instant" && ce(() => i.clearSidebarVisibilityMotion(a));
|
|
58
58
|
});
|
|
59
|
-
const
|
|
59
|
+
const B = w(() => r.activityItems ? r.activityItems : d ? d.sidebarItems().filter((e) => !!e.icon).filter((e) => !(s() && e.sidebar?.hiddenOnMobile)).map((e) => ({
|
|
60
60
|
id: e.id,
|
|
61
61
|
icon: e.icon,
|
|
62
62
|
label: e.name,
|
|
@@ -116,7 +116,7 @@ function Ke(r) {
|
|
|
116
116
|
})()];
|
|
117
117
|
});
|
|
118
118
|
I(() => {
|
|
119
|
-
const e =
|
|
119
|
+
const e = B();
|
|
120
120
|
if (!e.length) return;
|
|
121
121
|
if (!i.sidebarActiveTab()) {
|
|
122
122
|
const l = e.find((n) => !n.onClick);
|
|
@@ -214,12 +214,12 @@ function Ke(r) {
|
|
|
214
214
|
get children() {
|
|
215
215
|
return [o(S, {
|
|
216
216
|
get when() {
|
|
217
|
-
return
|
|
217
|
+
return B().length > 0;
|
|
218
218
|
},
|
|
219
219
|
get children() {
|
|
220
220
|
return o(Se, {
|
|
221
221
|
get items() {
|
|
222
|
-
return
|
|
222
|
+
return B();
|
|
223
223
|
},
|
|
224
224
|
get bottomItems() {
|
|
225
225
|
return r.activityBottomItems;
|
|
@@ -284,13 +284,13 @@ function Ke(r) {
|
|
|
284
284
|
},
|
|
285
285
|
get children() {
|
|
286
286
|
return [(() => {
|
|
287
|
-
var t =
|
|
287
|
+
var t = Be();
|
|
288
288
|
return t.$$click = () => y(!1), N(() => h(t, C("absolute inset-0 z-40 bg-black/30 cursor-pointer", r.slotClassNames?.mobileSidebarBackdrop))), t;
|
|
289
289
|
})(), (() => {
|
|
290
|
-
var t =
|
|
290
|
+
var t = Me(), m = t.firstChild, g = $;
|
|
291
291
|
return typeof g == "function" ? ne(g, t) : $ = t, c(m, () => H(i.sidebarActiveTab())), N((f) => {
|
|
292
|
-
var
|
|
293
|
-
return
|
|
292
|
+
var M = C("absolute left-0 top-0 bottom-0 z-50", "w-72 max-w-[80vw]", "bg-sidebar border-r border-sidebar-border", "shadow-xl", "animate-in slide-in-from-left duration-200", r.slotClassNames?.mobileSidebarDrawer), k = v().sidebarLabel;
|
|
293
|
+
return M !== f.e && h(t, f.e = M), k !== f.t && L(t, "aria-label", f.t = k), f;
|
|
294
294
|
}, {
|
|
295
295
|
e: void 0,
|
|
296
296
|
t: void 0
|
|
@@ -323,6 +323,9 @@ function Ke(r) {
|
|
|
323
323
|
get class() {
|
|
324
324
|
return r.slotClassNames?.bottomBar;
|
|
325
325
|
},
|
|
326
|
+
get height() {
|
|
327
|
+
return r.slotClassNames?.bottomBarHeight;
|
|
328
|
+
},
|
|
326
329
|
get children() {
|
|
327
330
|
return G();
|
|
328
331
|
}
|
|
@@ -330,12 +333,12 @@ function Ke(r) {
|
|
|
330
333
|
}
|
|
331
334
|
}), null), c(e, o(S, {
|
|
332
335
|
get when() {
|
|
333
|
-
return p(() => !!s())() &&
|
|
336
|
+
return p(() => !!s())() && B().length > 0;
|
|
334
337
|
},
|
|
335
338
|
get children() {
|
|
336
339
|
return o(he, {
|
|
337
340
|
get items() {
|
|
338
|
-
return
|
|
341
|
+
return B();
|
|
339
342
|
},
|
|
340
343
|
get activeId() {
|
|
341
344
|
return Ce({
|
|
@@ -363,8 +366,8 @@ function Ke(r) {
|
|
|
363
366
|
"overscroll-none",
|
|
364
367
|
r.slotClassNames?.root,
|
|
365
368
|
r.class
|
|
366
|
-
), g = `#${v().mainContentId}`, f = C("fixed left-3 top-3 z-[120] rounded-md bg-primary px-3 py-2 text-xs font-medium text-primary-foreground shadow-md", "transition-transform duration-150 motion-reduce:transition-none", "-translate-y-[200%] focus:translate-y-0"),
|
|
367
|
-
return m !== t.e && h(e, t.e = m), g !== t.t && L(a, "href", t.t = g), f !== t.a && h(a, t.a = f),
|
|
369
|
+
), g = `#${v().mainContentId}`, f = C("fixed left-3 top-3 z-[120] rounded-md bg-primary px-3 py-2 text-xs font-medium text-primary-foreground shadow-md", "transition-transform duration-150 motion-reduce:transition-none", "-translate-y-[200%] focus:translate-y-0"), M = C("flex-1 min-w-0 flex flex-col overflow-hidden", r.slotClassNames?.contentArea), k = C("flex-1 min-h-0 overflow-auto overscroll-contain", r.slotClassNames?.main), E = v().mainContentId, _ = v().mainLabel;
|
|
370
|
+
return m !== t.e && h(e, t.e = m), g !== t.t && L(a, "href", t.t = g), f !== t.a && h(a, t.a = f), M !== t.o && h(n, t.o = M), k !== t.i && h(u, t.i = k), E !== t.n && L(u, "id", t.n = E), _ !== t.s && L(u, "aria-label", t.s = _), t;
|
|
368
371
|
}, {
|
|
369
372
|
e: void 0,
|
|
370
373
|
t: void 0,
|