@floegence/floe-webapp-core 0.11.6 → 0.11.8

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.
@@ -28,6 +28,14 @@ export interface FileBrowserProps {
28
28
  sidebarResizable?: boolean;
29
29
  /** Hide sidebar on mobile by default */
30
30
  hideSidebarOnMobile?: boolean;
31
+ /**
32
+ * Persistence key prefix for storing UI state (viewMode, sortConfig, expandedFolders, sidebarCollapsed).
33
+ * When set, these states will be persisted to localStorage.
34
+ * Each instance should use a unique key to avoid conflicts.
35
+ */
36
+ persistenceKey?: string;
37
+ /** Label for the root/home directory in breadcrumb (default: 'Root') */
38
+ homeLabel?: string;
31
39
  /** Context menu callbacks for built-in actions */
32
40
  contextMenuCallbacks?: ContextMenuCallbacks;
33
41
  /** Custom context menu items to add */
@@ -14,6 +14,12 @@ export interface FileBrowserProviderProps {
14
14
  * When omitted, a shared key is used (acts like a user preference).
15
15
  */
16
16
  sidebarWidthStorageKey?: string;
17
+ /**
18
+ * 持久化存储 key 前缀,用于区分不同实例的持久化数据。
19
+ * 设置后会持久化 viewMode、sortConfig、expandedFolders、sidebarCollapsed。
20
+ * 若不设置则不持久化这些状态。
21
+ */
22
+ persistenceKey?: string;
17
23
  /** Label for the root/home directory in breadcrumb (default: 'Root') */
18
24
  homeLabel?: string;
19
25
  onNavigate?: (path: string) => void;
@@ -3,6 +3,7 @@ export interface SidebarProps {
3
3
  children: JSX.Element;
4
4
  resizer?: JSX.Element;
5
5
  width?: number;
6
+ collapsed?: boolean;
6
7
  class?: string;
7
8
  }
8
9
  /**
package/dist/index2.js CHANGED
@@ -1,5 +1,5 @@
1
- import { delegateEvents as z, insert as a, createComponent as i, Dynamic as w, memo as v, effect as C, className as T, setStyleProperty as O, template as u } from "solid-js/web";
2
- import { createSignal as F, createEffect as h, createMemo as $, For as x, Show as m } from "solid-js";
1
+ import { delegateEvents as z, insert as a, createComponent as i, Dynamic as S, effect as w, className as T, memo as C, setStyleProperty as O, template as u } from "solid-js/web";
2
+ import { createSignal as F, createEffect as v, createMemo as $, For as x, Show as m } from "solid-js";
3
3
  import { useLayout as R } from "./index92.js";
4
4
  import { useResolvedFloeConfig as H } from "./index90.js";
5
5
  import { useMediaQuery as P } from "./index100.js";
@@ -14,17 +14,17 @@ import { ResizeHandle as A } from "./index8.js";
14
14
  import { resolveMobileTabActiveId as j, resolveMobileTabSelect as q } from "./index119.js";
15
15
  var _ = /* @__PURE__ */ u('<div class="flex items-center gap-2">'), G = /* @__PURE__ */ u('<div class="absolute inset-0 z-40 bg-black/30 cursor-pointer">'), J = /* @__PURE__ */ u('<div><div class="h-full overflow-auto overscroll-contain">'), K = /* @__PURE__ */ u('<div class="relative shrink-0 border-t border-border bg-terminal-background overflow-hidden">'), U = /* @__PURE__ */ u('<div><div class="flex-1 min-h-0 flex overflow-hidden relative"><div class="flex-1 min-w-0 flex flex-col overflow-hidden"><main class="flex-1 min-h-0 overflow-auto overscroll-contain">');
16
16
  function de(l) {
17
- const t = R(), M = H(), c = P(M.config.layout.mobileQuery), [p, f] = F(!1), d = (() => {
17
+ const t = R(), M = H(), c = P(M.config.layout.mobileQuery), [h, f] = F(!1), d = (() => {
18
18
  try {
19
19
  return W();
20
20
  } catch {
21
21
  return null;
22
22
  }
23
23
  })();
24
- h(() => {
24
+ v(() => {
25
25
  const e = c();
26
26
  t.isMobile() !== e && t.setIsMobile(e);
27
- }), h(() => {
27
+ }), v(() => {
28
28
  c() || f(!1);
29
29
  });
30
30
  const b = $(() => l.activityItems ? l.activityItems : d ? d.sidebarItems().filter((e) => !!e.icon).filter((e) => !(c() && e.sidebar?.hiddenOnMobile)).map((e) => ({
@@ -37,14 +37,14 @@ function de(l) {
37
37
  if (!d) return;
38
38
  const n = d.getComponent(e);
39
39
  if (n?.sidebar && !n.sidebar.fullScreen)
40
- return i(w, {
40
+ return i(S, {
41
41
  get component() {
42
42
  return n.component;
43
43
  }
44
44
  });
45
- }, S = $(() => d ? d.getComponent(t.sidebarActiveTab())?.sidebar?.fullScreen ?? !1 : !1);
46
- h(() => {
47
- c() && S() && f(!1);
45
+ }, p = $(() => d ? d.getComponent(t.sidebarActiveTab())?.sidebar?.fullScreen ?? !1 : !1);
46
+ v(() => {
47
+ c() && p() && f(!1);
48
48
  });
49
49
  const B = $(() => {
50
50
  if (l.bottomBarItems) return l.bottomBarItems;
@@ -54,7 +54,7 @@ function de(l) {
54
54
  var o = _();
55
55
  return a(o, i(x, {
56
56
  each: n,
57
- children: (r) => i(w, {
57
+ children: (r) => i(S, {
58
58
  get component() {
59
59
  return r.component;
60
60
  }
@@ -64,7 +64,7 @@ function de(l) {
64
64
  var o = _();
65
65
  return a(o, i(x, {
66
66
  each: s,
67
- children: (r) => i(w, {
67
+ children: (r) => i(S, {
68
68
  get component() {
69
69
  return r.component;
70
70
  }
@@ -72,7 +72,7 @@ function de(l) {
72
72
  })), o;
73
73
  })()];
74
74
  });
75
- h(() => {
75
+ v(() => {
76
76
  const e = b();
77
77
  if (!e.length) return;
78
78
  const n = t.sidebarActiveTab();
@@ -85,7 +85,7 @@ function de(l) {
85
85
  } = q({
86
86
  clickedId: e,
87
87
  activeId: t.sidebarActiveTab(),
88
- mobileSidebarOpen: p(),
88
+ mobileSidebarOpen: h(),
89
89
  clickedIsFullScreen: n
90
90
  });
91
91
  t.sidebarActiveTab() !== s && t.setSidebarActiveTab(s), f(o);
@@ -130,31 +130,27 @@ function de(l) {
130
130
  }
131
131
  });
132
132
  }
133
- }), i(m, {
134
- get when() {
135
- return v(() => !t.sidebarCollapsed())() && !S();
133
+ }), i(E, {
134
+ get width() {
135
+ return t.sidebarWidth();
136
136
  },
137
- get children() {
138
- return i(E, {
139
- get width() {
140
- return t.sidebarWidth();
141
- },
142
- get resizer() {
143
- return i(A, {
144
- direction: "horizontal",
145
- onResize: (r) => t.setSidebarWidth(t.sidebarWidth() + r)
146
- });
147
- },
148
- get children() {
149
- return I(t.sidebarActiveTab());
150
- }
137
+ get collapsed() {
138
+ return t.sidebarCollapsed() || p();
139
+ },
140
+ get resizer() {
141
+ return i(A, {
142
+ direction: "horizontal",
143
+ onResize: (r) => t.setSidebarWidth(t.sidebarWidth() + r)
151
144
  });
145
+ },
146
+ get children() {
147
+ return I(t.sidebarActiveTab());
152
148
  }
153
149
  })];
154
150
  }
155
151
  }), s), a(n, i(m, {
156
152
  get when() {
157
- return v(() => !!c())() && p();
153
+ return C(() => !!c())() && h();
158
154
  },
159
155
  get children() {
160
156
  return [(() => {
@@ -162,19 +158,19 @@ function de(l) {
162
158
  return r.$$click = () => f(!1), r;
163
159
  })(), (() => {
164
160
  var r = J(), g = r.firstChild;
165
- return a(g, () => I(t.sidebarActiveTab())), C(() => T(r, y("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;
161
+ return a(g, () => I(t.sidebarActiveTab())), w(() => T(r, y("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;
166
162
  })()];
167
163
  }
168
164
  }), s), a(o, () => l.children), a(s, i(m, {
169
165
  get when() {
170
- return v(() => !!(!c() && t.terminalOpened()))() && l.terminalPanel;
166
+ return C(() => !!(!c() && t.terminalOpened()))() && l.terminalPanel;
171
167
  },
172
168
  get children() {
173
169
  var r = K();
174
170
  return a(r, i(A, {
175
171
  direction: "vertical",
176
172
  onResize: (g) => t.setTerminalHeight(t.terminalHeight() - g)
177
- }), null), a(r, () => l.terminalPanel, null), C((g) => O(r, "height", `${t.terminalHeight()}px`)), r;
173
+ }), null), a(r, () => l.terminalPanel, null), w((g) => O(r, "height", `${t.terminalHeight()}px`)), r;
178
174
  }
179
175
  }), null), a(e, i(m, {
180
176
  get when() {
@@ -189,7 +185,7 @@ function de(l) {
189
185
  }
190
186
  }), null), a(e, i(m, {
191
187
  get when() {
192
- return v(() => !!c())() && b().length > 0;
188
+ return C(() => !!c())() && b().length > 0;
193
189
  },
194
190
  get children() {
195
191
  return i(L, {
@@ -199,14 +195,14 @@ function de(l) {
199
195
  get activeId() {
200
196
  return j({
201
197
  activeId: t.sidebarActiveTab(),
202
- mobileSidebarOpen: p(),
203
- activeIsFullScreen: S()
198
+ mobileSidebarOpen: h(),
199
+ activeIsFullScreen: p()
204
200
  });
205
201
  },
206
202
  onSelect: k
207
203
  });
208
204
  }
209
- }), null), C(() => T(e, y(
205
+ }), null), w(() => T(e, y(
210
206
  // Use dvh when supported to avoid mobile browser UI causing layout jumps.
211
207
  "h-screen h-[100dvh] w-full flex flex-col overflow-hidden",
212
208
  "bg-background text-foreground",
package/dist/index4.js CHANGED
@@ -1,66 +1,69 @@
1
- import { delegateEvents as b, insert as n, effect as d, className as s, setStyleProperty as u, memo as f, template as c } from "solid-js/web";
1
+ import { delegateEvents as $, insert as l, effect as d, className as o, setStyleProperty as u, memo as h, template as c } from "solid-js/web";
2
2
  import "solid-js";
3
- import { cn as o } from "./index106.js";
4
- var m = /* @__PURE__ */ c('<aside><div class="flex-1 overflow-auto overscroll-contain">'), v = /* @__PURE__ */ c("<div>"), x = /* @__PURE__ */ c("<section><div class=flex-1>"), h = /* @__PURE__ */ c('<div class="flex items-center justify-between px-2.5 py-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60"><span>'), $ = /* @__PURE__ */ c('<button type=button><span class="flex-1 truncate text-left">'), g = /* @__PURE__ */ c('<span class="flex-shrink-0 w-4 h-4 opacity-60">');
5
- function S(e) {
3
+ import { cn as s } from "./index106.js";
4
+ var g = /* @__PURE__ */ c('<aside><div class="flex-1 overflow-auto overscroll-contain">'), m = /* @__PURE__ */ c("<div>"), _ = /* @__PURE__ */ c("<section><div class=flex-1>"), w = /* @__PURE__ */ c('<div class="flex items-center justify-between px-2.5 py-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60"><span>'), y = /* @__PURE__ */ c('<button type=button><span class="flex-1 truncate text-left">'), S = /* @__PURE__ */ c('<span class="flex-shrink-0 w-4 h-4 opacity-60">');
5
+ function j(e) {
6
+ const t = () => e.collapsed ?? !1, a = () => e.width ?? 350;
6
7
  return (() => {
7
- var t = m(), l = t.firstChild;
8
- return n(l, () => e.children), n(t, () => e.resizer, null), d((r) => {
9
- var i = o("relative h-full flex flex-col shrink-0 min-h-0", "bg-sidebar text-sidebar-foreground", "border-r border-sidebar-border", "overflow-hidden", e.class), a = `${e.width ?? 350}px`;
10
- return i !== r.e && s(t, r.e = i), a !== r.t && u(t, "width", r.t = a), r;
8
+ var i = g(), n = i.firstChild;
9
+ return l(n, () => e.children), l(i, () => e.resizer, null), d((r) => {
10
+ var v = s("relative h-full flex flex-col shrink-0 min-h-0", "bg-sidebar text-sidebar-foreground", "border-r border-sidebar-border", "overflow-hidden", "transition-[width] duration-150 ease-out", e.class), f = t() ? "0px" : `${a()}px`, b = t() ? "hidden" : "visible", x = t() ? "0px" : void 0;
11
+ return v !== r.e && o(i, r.e = v), f !== r.t && u(i, "width", r.t = f), b !== r.a && u(i, "visibility", r.a = b), x !== r.o && u(i, "border-right-width", r.o = x), r;
11
12
  }, {
12
13
  e: void 0,
13
- t: void 0
14
- }), t;
14
+ t: void 0,
15
+ a: void 0,
16
+ o: void 0
17
+ }), i;
15
18
  })();
16
19
  }
17
- function k(e) {
20
+ function z(e) {
18
21
  return (() => {
19
- var t = v();
20
- return n(t, () => e.children), d(() => s(t, o("p-2.5 space-y-3", e.class))), t;
22
+ var t = m();
23
+ return l(t, () => e.children), d(() => o(t, s("p-2.5 space-y-3", e.class))), t;
21
24
  })();
22
25
  }
23
- function C(e) {
26
+ function E(e) {
24
27
  return (() => {
25
- var t = v();
26
- return n(t, () => e.children), d(() => s(t, o("space-y-0.5", e.class))), t;
28
+ var t = m();
29
+ return l(t, () => e.children), d(() => o(t, s("space-y-0.5", e.class))), t;
27
30
  })();
28
31
  }
29
- function I(e) {
32
+ function L(e) {
30
33
  return (() => {
31
- var t = x(), l = t.firstChild;
32
- return n(t, (() => {
33
- var r = f(() => !!e.title);
34
- return () => r() && (() => {
35
- var i = h(), a = i.firstChild;
36
- return n(a, () => e.title), n(i, () => e.actions, null), i;
34
+ var t = _(), a = t.firstChild;
35
+ return l(t, (() => {
36
+ var i = h(() => !!e.title);
37
+ return () => i() && (() => {
38
+ var n = w(), r = n.firstChild;
39
+ return l(r, () => e.title), l(n, () => e.actions, null), n;
37
40
  })();
38
- })(), l), n(l, () => e.children), d(() => s(t, o("flex flex-col", e.class))), t;
41
+ })(), a), l(a, () => e.children), d(() => o(t, s("flex flex-col", e.class))), t;
39
42
  })();
40
43
  }
41
- function j(e) {
44
+ function N(e) {
42
45
  return (() => {
43
- var t = $(), l = t.firstChild;
44
- return t.$$click = () => e.onClick?.(), n(t, (() => {
45
- var r = f(() => !!e.icon);
46
- return () => r() && (() => {
47
- var i = g();
48
- return n(i, () => e.icon), i;
46
+ var t = y(), a = t.firstChild;
47
+ return t.$$click = () => e.onClick?.(), l(t, (() => {
48
+ var i = h(() => !!e.icon);
49
+ return () => i() && (() => {
50
+ var n = S();
51
+ return l(n, () => e.icon), n;
49
52
  })();
50
- })(), l), n(l, () => e.children), d((r) => {
51
- var i = o("w-full flex items-center gap-2 px-2.5 py-1.5 text-xs cursor-pointer", "transition-colors duration-75", "hover:bg-sidebar-accent/80 hover:text-sidebar-accent-foreground", "focus:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-sidebar-ring", e.active && "bg-sidebar-accent text-sidebar-accent-foreground font-medium", e.class), a = e.indent ? `${10 + e.indent * 10}px` : void 0;
52
- return i !== r.e && s(t, r.e = i), a !== r.t && u(t, "padding-left", r.t = a), r;
53
+ })(), a), l(a, () => e.children), d((i) => {
54
+ var n = s("w-full flex items-center gap-2 px-2.5 py-1.5 text-xs cursor-pointer", "transition-colors duration-75", "hover:bg-sidebar-accent/80 hover:text-sidebar-accent-foreground", "focus:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-sidebar-ring", e.active && "bg-sidebar-accent text-sidebar-accent-foreground font-medium", e.class), r = e.indent ? `${10 + e.indent * 10}px` : void 0;
55
+ return n !== i.e && o(t, i.e = n), r !== i.t && u(t, "padding-left", i.t = r), i;
53
56
  }, {
54
57
  e: void 0,
55
58
  t: void 0
56
59
  }), t;
57
60
  })();
58
61
  }
59
- b(["click"]);
62
+ $(["click"]);
60
63
  export {
61
- S as Sidebar,
62
- k as SidebarContent,
63
- j as SidebarItem,
64
- C as SidebarItemList,
65
- I as SidebarSection
64
+ j as Sidebar,
65
+ z as SidebarContent,
66
+ N as SidebarItem,
67
+ E as SidebarItemList,
68
+ L as SidebarSection
66
69
  };
package/dist/index44.js CHANGED
@@ -1,17 +1,17 @@
1
- import { delegateEvents as j, createComponent as l, insert as n, addEventListener as I, memo as g, effect as E, className as _, setStyleProperty as z, template as u } from "solid-js/web";
1
+ import { delegateEvents as j, createComponent as n, insert as l, addEventListener as I, memo as g, effect as E, className as _, setStyleProperty as z, template as u } from "solid-js/web";
2
2
  import { createEffect as V, Show as o } from "solid-js";
3
3
  import { cn as F } from "./index106.js";
4
4
  import { useLayout as D } from "./index92.js";
5
5
  import { FileBrowserProvider as N, useFileBrowser as T } from "./index45.js";
6
6
  import { ResizeHandle as A } from "./index8.js";
7
- import { DirectoryTree as p } from "./index46.js";
8
- import { FileListView as G } from "./index47.js";
9
- import { FileGridView as H } from "./index48.js";
10
- import { FileBrowserToolbar as Q } from "./index51.js";
11
- import { FileContextMenu as q } from "./index49.js";
12
- var J = /* @__PURE__ */ u('<div class="border-b border-border">'), U = /* @__PURE__ */ u('<button type=button class="flex items-center justify-center w-5 h-5 rounded cursor-pointer hover:bg-sidebar-accent/80 transition-colors"aria-label="Close sidebar"><svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="w-3.5 h-3.5"><path d="M18 6 6 18"></path><path d="m6 6 12 12">'), X = /* @__PURE__ */ u('<div class="absolute inset-0 bg-background/60 backdrop-blur-sm z-[9]">'), Y = /* @__PURE__ */ u('<div><div class="flex flex-1 min-h-0 relative"><aside><div class="h-full flex flex-col"><div class="flex items-center justify-between px-3 py-2 border-b border-sidebar-border"><span class="text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60">Explorer</span></div><div class="flex-1 min-h-0 overflow-auto py-1"></div></div></aside><div class="flex-1 min-w-0 flex flex-col"><div class="flex-1 min-h-0"></div><div class="flex items-center justify-between px-3 py-1 border-t border-border text-[10px] text-muted-foreground"><span> items</span><span class="truncate max-w-[200px]">');
7
+ import { DirectoryTree as G } from "./index46.js";
8
+ import { FileListView as H } from "./index47.js";
9
+ import { FileGridView as Q } from "./index48.js";
10
+ import { FileBrowserToolbar as q } from "./index51.js";
11
+ import { FileContextMenu as J } from "./index49.js";
12
+ var U = /* @__PURE__ */ u('<div class="border-b border-border">'), X = /* @__PURE__ */ u('<button type=button class="flex items-center justify-center w-5 h-5 rounded cursor-pointer hover:bg-sidebar-accent/80 transition-colors"aria-label="Close sidebar"><svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round class="w-3.5 h-3.5"><path d="M18 6 6 18"></path><path d="m6 6 12 12">'), Y = /* @__PURE__ */ u('<div class="absolute inset-0 bg-background/60 backdrop-blur-sm z-[9]">'), Z = /* @__PURE__ */ u('<div><div class="flex flex-1 min-h-0 relative"><aside><div class="h-full flex flex-col"><div class="flex items-center justify-between px-3 py-2 border-b border-sidebar-border"><span class="text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60">Explorer</span></div><div class="flex-1 min-h-0 overflow-auto py-1"></div></div></aside><div class="flex-1 min-w-0 flex flex-col"><div class="flex-1 min-h-0"></div><div class="flex items-center justify-between px-3 py-1 border-t border-border text-[10px] text-muted-foreground"><span> items</span><span class="truncate max-w-[200px]">');
13
13
  function ce(e) {
14
- return l(N, {
14
+ return n(N, {
15
15
  get files() {
16
16
  return e.files;
17
17
  },
@@ -30,6 +30,12 @@ function ce(e) {
30
30
  get sidebarWidthStorageKey() {
31
31
  return e.sidebarWidthStorageKey;
32
32
  },
33
+ get persistenceKey() {
34
+ return e.persistenceKey;
35
+ },
36
+ get homeLabel() {
37
+ return e.homeLabel;
38
+ },
33
39
  get onNavigate() {
34
40
  return e.onNavigate;
35
41
  },
@@ -40,7 +46,7 @@ function ce(e) {
40
46
  return e.onOpen;
41
47
  },
42
48
  get children() {
43
- return l(Z, {
49
+ return n(p, {
44
50
  get class() {
45
51
  return e.class;
46
52
  },
@@ -69,8 +75,8 @@ function ce(e) {
69
75
  }
70
76
  });
71
77
  }
72
- function Z(e) {
73
- const r = T(), R = D(), d = () => R.isMobile(), v = () => r.sidebarWidth(), W = () => e.sidebarResizable ?? !0;
78
+ function p(e) {
79
+ const r = T(), R = D(), d = () => R.isMobile(), v = () => r.sidebarWidth(), L = () => e.sidebarResizable ?? !0;
74
80
  let x, w = !1, c = !1;
75
81
  V(() => {
76
82
  const i = d();
@@ -80,76 +86,76 @@ function Z(e) {
80
86
  }
81
87
  !c && i && e.hideSidebarOnMobile !== !1 && !r.sidebarCollapsed() && r.toggleSidebar(), c = i;
82
88
  });
83
- const B = (i) => {
89
+ const W = (i) => {
84
90
  (i.metaKey || i.ctrlKey) && i.key.toLowerCase() === "f" && (i.preventDefault(), r.setFilterActive(!0), setTimeout(() => x?.focus(), 50));
85
91
  }, C = () => !r.sidebarCollapsed() || !d();
86
92
  return (() => {
87
- var i = Y(), b = i.firstChild, s = b.firstChild, M = s.firstChild, f = M.firstChild;
93
+ var i = Z(), b = i.firstChild, s = b.firstChild, M = s.firstChild, f = M.firstChild;
88
94
  f.firstChild;
89
- var L = f.nextSibling, h = s.nextSibling, m = h.firstChild, O = m.nextSibling, a = O.firstChild, K = a.firstChild, P = a.nextSibling;
90
- return i.$$keydown = B, n(i, l(o, {
95
+ var K = f.nextSibling, h = s.nextSibling, m = h.firstChild, B = m.nextSibling, a = B.firstChild, O = a.firstChild, P = a.nextSibling;
96
+ return i.$$keydown = W, l(i, n(o, {
91
97
  get when() {
92
98
  return e.header;
93
99
  },
94
100
  get children() {
95
- var t = J();
96
- return n(t, () => e.header), t;
101
+ var t = U();
102
+ return l(t, () => e.header), t;
97
103
  }
98
- }), b), n(f, l(o, {
104
+ }), b), l(f, n(o, {
99
105
  get when() {
100
106
  return d();
101
107
  },
102
108
  get children() {
103
- var t = U();
109
+ var t = X();
104
110
  return I(t, "click", r.toggleSidebar, !0), t;
105
111
  }
106
- }), null), n(L, l(p, {})), n(s, l(o, {
112
+ }), null), l(K, n(G, {})), l(s, n(o, {
107
113
  get when() {
108
- return g(() => !!(W() && C()))() && !d();
114
+ return g(() => !!(L() && C()))() && !d();
109
115
  },
110
116
  get children() {
111
- return l(A, {
117
+ return n(A, {
112
118
  direction: "horizontal",
113
119
  onResize: (t) => {
114
120
  r.setSidebarWidth(r.sidebarWidth() + t);
115
121
  }
116
122
  });
117
123
  }
118
- }), null), n(b, l(o, {
124
+ }), null), l(b, n(o, {
119
125
  get when() {
120
126
  return g(() => !!d())() && !r.sidebarCollapsed();
121
127
  },
122
128
  get children() {
123
- var t = X();
129
+ var t = Y();
124
130
  return I(t, "click", r.toggleSidebar, !0), t;
125
131
  }
126
- }), h), n(h, l(Q, {
132
+ }), h), l(h, n(q, {
127
133
  filterInputRef: (t) => x = t
128
- }), m), n(m, l(o, {
134
+ }), m), l(m, n(o, {
129
135
  get when() {
130
136
  return r.viewMode() === "list";
131
137
  },
132
138
  get fallback() {
133
- return l(H, {});
139
+ return n(Q, {});
134
140
  },
135
141
  get children() {
136
- return l(G, {});
142
+ return n(H, {});
137
143
  }
138
- })), n(a, () => r.currentFiles().length, K), n(a, l(o, {
144
+ })), l(a, () => r.currentFiles().length, O), l(a, n(o, {
139
145
  get when() {
140
146
  return r.filterQueryApplied().trim();
141
147
  },
142
148
  get children() {
143
149
  return [" ", "(filtered)"];
144
150
  }
145
- }), null), n(a, l(o, {
151
+ }), null), l(a, n(o, {
146
152
  get when() {
147
153
  return r.selectedItems().size > 0;
148
154
  },
149
155
  get children() {
150
156
  return [" · ", g(() => r.selectedItems().size), " selected"];
151
157
  }
152
- }), null), n(P, () => r.currentPath()), n(i, l(q, {
158
+ }), null), l(P, () => r.currentPath()), l(i, n(J, {
153
159
  get callbacks() {
154
160
  return e.contextMenuCallbacks;
155
161
  },