@floegence/floe-webapp-core 0.35.3 → 0.35.5

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.
@@ -32,6 +32,8 @@ export interface FileBrowserProps {
32
32
  header?: JSX.Element;
33
33
  /** Actions rendered on the right side of the Explorer sidebar header */
34
34
  sidebarHeaderActions?: JSX.Element;
35
+ /** Actions rendered at the end of the main file browser toolbar */
36
+ toolbarEndActions?: JSX.Element;
35
37
  /** Sidebar width in pixels */
36
38
  sidebarWidth?: number;
37
39
  /** Persisted sidebar width storage key (defaults to a shared user preference key) */
@@ -1,8 +1,8 @@
1
- import { createComponent as n, insert as i, use as P, memo as _, effect as k, className as z, template as w, delegateEvents as W } from "solid-js/web";
2
- import { onMount as A, onCleanup as K, createEffect as L, Show as u } from "solid-js";
3
- import { cn as B } from "../../utils/cn.js";
4
- import { useLayout as O } from "../../context/LayoutContext.js";
5
- import { useFileBrowserDrag as E } from "../../context/FileBrowserDragContext.js";
1
+ import { createComponent as n, insert as i, use as F, memo as P, effect as _, className as k, template as w, delegateEvents as z } from "solid-js/web";
2
+ import { onMount as W, onCleanup as E, createEffect as K, Show as u } from "solid-js";
3
+ import { cn as L } from "../../utils/cn.js";
4
+ import { useLayout as B } from "../../context/LayoutContext.js";
5
+ import { useFileBrowserDrag as O } from "../../context/FileBrowserDragContext.js";
6
6
  import { deferAfterPaint as V } from "../../utils/defer.js";
7
7
  import { FileBrowserProvider as H, useFileBrowser as N } from "./FileBrowserContext.js";
8
8
  import { SidebarPane as T } from "../layout/SidebarPane.js";
@@ -13,7 +13,7 @@ import { FileBrowserToolbar as q } from "./FileBrowserToolbar.js";
13
13
  import { FileContextMenu as J } from "./FileContextMenu.js";
14
14
  import { DragPreview as U } from "./DragPreview.js";
15
15
  var X = /* @__PURE__ */ w('<div class="border-b border-border">'), Y = /* @__PURE__ */ w('<div><div class="flex flex-1 min-h-0 relative"><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]">');
16
- function me(e) {
16
+ function be(e) {
17
17
  return n(H, {
18
18
  get files() {
19
19
  return e.files;
@@ -65,6 +65,9 @@ function me(e) {
65
65
  get sidebarHeaderActions() {
66
66
  return e.sidebarHeaderActions;
67
67
  },
68
+ get toolbarEndActions() {
69
+ return e.toolbarEndActions;
70
+ },
68
71
  get sidebarResizable() {
69
72
  return e.sidebarResizable;
70
73
  },
@@ -97,12 +100,12 @@ function me(e) {
97
100
  });
98
101
  }
99
102
  function Z(e) {
100
- const t = N(), I = O(), o = E(), f = () => I.isMobile(), M = () => t.sidebarWidth(), S = () => e.sidebarResizable ?? !0, a = () => (e.enableDragDrop ?? !0) && !!o, s = () => e.instanceId ?? `filebrowser-${Math.random().toString(36).slice(2, 9)}`;
103
+ const t = N(), I = B(), o = O(), f = () => I.isMobile(), M = () => t.sidebarWidth(), S = () => e.sidebarResizable ?? !0, a = () => (e.enableDragDrop ?? !0) && !!o, d = () => e.instanceId ?? `filebrowser-${Math.random().toString(36).slice(2, 9)}`;
101
104
  let h, C = null, x = null;
102
- A(() => {
105
+ W(() => {
103
106
  if (!o || !a()) return;
104
107
  const r = {
105
- instanceId: s(),
108
+ instanceId: d(),
106
109
  currentPath: t.currentPath,
107
110
  files: t.files,
108
111
  onDragMove: e.onDragMove,
@@ -112,11 +115,11 @@ function Z(e) {
112
115
  optimisticInsert: t.optimisticInsert
113
116
  };
114
117
  o.registerInstance(r);
115
- }), K(() => {
116
- o && a() && o.unregisterInstance(s());
118
+ }), E(() => {
119
+ o && a() && o.unregisterInstance(d());
117
120
  });
118
121
  let v = !1, g = !1;
119
- L(() => {
122
+ K(() => {
120
123
  const r = f();
121
124
  if (!v) {
122
125
  v = !0, g = r, r && e.hideSidebarOnMobile !== !1 && !t.sidebarCollapsed() && t.toggleSidebar();
@@ -128,7 +131,7 @@ function Z(e) {
128
131
  (r.metaKey || r.ctrlKey) && r.key.toLowerCase() === "f" && (r.preventDefault(), t.setFilterActive(!0), V(() => h?.focus()));
129
132
  }, y = () => !t.sidebarCollapsed() || !f();
130
133
  return (() => {
131
- var r = Y(), m = r.firstChild, b = m.firstChild, c = b.firstChild, R = c.nextSibling, d = R.firstChild, $ = d.firstChild, F = d.nextSibling;
134
+ var r = Y(), b = r.firstChild, m = b.firstChild, c = m.firstChild, R = c.nextSibling, s = R.firstChild, $ = s.firstChild, A = s.nextSibling;
132
135
  return r.$$keydown = D, i(r, n(u, {
133
136
  get when() {
134
137
  return e.header;
@@ -137,7 +140,7 @@ function Z(e) {
137
140
  var l = X();
138
141
  return i(l, () => e.header), l;
139
142
  }
140
- }), m), i(m, n(T, {
143
+ }), b), i(b, n(T, {
141
144
  title: "Explorer",
142
145
  get width() {
143
146
  return M();
@@ -164,16 +167,19 @@ function Z(e) {
164
167
  get children() {
165
168
  return n(j, {
166
169
  get instanceId() {
167
- return s();
170
+ return d();
168
171
  },
169
172
  get enableDragDrop() {
170
173
  return a();
171
174
  }
172
175
  });
173
176
  }
174
- }), b), i(b, n(q, {
175
- filterInputRef: (l) => h = l
176
- }), c), P((l) => {
177
+ }), m), i(m, n(q, {
178
+ filterInputRef: (l) => h = l,
179
+ get endActions() {
180
+ return e.toolbarEndActions;
181
+ }
182
+ }), c), F((l) => {
177
183
  C = l;
178
184
  }, c), i(c, n(u, {
179
185
  get when() {
@@ -182,7 +188,7 @@ function Z(e) {
182
188
  get fallback() {
183
189
  return n(Q, {
184
190
  get instanceId() {
185
- return s();
191
+ return d();
186
192
  },
187
193
  get enableDragDrop() {
188
194
  return a();
@@ -192,28 +198,28 @@ function Z(e) {
192
198
  get children() {
193
199
  return n(G, {
194
200
  get instanceId() {
195
- return s();
201
+ return d();
196
202
  },
197
203
  get enableDragDrop() {
198
204
  return a();
199
205
  }
200
206
  });
201
207
  }
202
- })), i(d, () => t.currentFiles().length, $), i(d, n(u, {
208
+ })), i(s, () => t.currentFiles().length, $), i(s, n(u, {
203
209
  get when() {
204
210
  return t.filterQueryApplied().trim();
205
211
  },
206
212
  get children() {
207
213
  return [" ", "(filtered)"];
208
214
  }
209
- }), null), i(d, n(u, {
215
+ }), null), i(s, n(u, {
210
216
  get when() {
211
217
  return t.selectedItems().size > 0;
212
218
  },
213
219
  get children() {
214
- return [" · ", _(() => t.selectedItems().size), " selected"];
220
+ return [" · ", P(() => t.selectedItems().size), " selected"];
215
221
  }
216
- }), null), i(F, () => t.currentPath()), i(r, n(J, {
222
+ }), null), i(A, () => t.currentPath()), i(r, n(J, {
217
223
  get callbacks() {
218
224
  return e.contextMenuCallbacks;
219
225
  },
@@ -233,10 +239,10 @@ function Z(e) {
233
239
  get children() {
234
240
  return n(U, {});
235
241
  }
236
- }), null), k(() => z(r, B("flex flex-col h-full min-h-0 bg-background", "border border-border rounded-lg overflow-hidden", "shadow-sm", e.class))), r;
242
+ }), null), _(() => k(r, L("flex flex-col h-full min-h-0 bg-background", "border border-border rounded-lg overflow-hidden", "shadow-sm", e.class))), r;
237
243
  })();
238
244
  }
239
- W(["keydown"]);
245
+ z(["keydown"]);
240
246
  export {
241
- me as FileBrowser
247
+ be as FileBrowser
242
248
  };
@@ -3,6 +3,8 @@ export interface FileBrowserToolbarProps {
3
3
  class?: string;
4
4
  /** Reference to focus the filter input */
5
5
  filterInputRef?: (el: HTMLInputElement) => void;
6
+ /** Actions rendered at the end of the toolbar */
7
+ endActions?: JSX.Element;
6
8
  }
7
9
  /**
8
10
  * Toolbar with navigation, breadcrumb, filter, and view mode toggle
@@ -1,89 +1,89 @@
1
- import { addEventListener as A, insert as o, createComponent as l, use as S, effect as s, className as d, template as u, setAttribute as g, delegateEvents as Q } from "solid-js/web";
2
- import { onMount as R, Show as M } from "solid-js";
3
- import { cn as f } from "../../utils/cn.js";
1
+ import { addEventListener as M, insert as n, createComponent as l, use as S, effect as s, className as f, template as a, setAttribute as g, delegateEvents as Q } from "solid-js/web";
2
+ import { onMount as R, Show as k } from "solid-js";
3
+ import { cn as v } from "../../utils/cn.js";
4
4
  import { deferAfterPaint as E } from "../../utils/defer.js";
5
5
  import { useFileBrowser as L } from "./FileBrowserContext.js";
6
6
  import { Breadcrumb as T } from "./Breadcrumb.js";
7
7
  import { Grid as V } from "../icons/index.js";
8
- var N = /* @__PURE__ */ u('<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><line x1=8 y1=6 x2=21 y2=6></line><line x1=8 y1=12 x2=21 y2=12></line><line x1=8 y1=18 x2=21 y2=18></line><line x1=3 y1=6 x2=3.01 y2=6></line><line x1=3 y1=12 x2=3.01 y2=12></line><line x1=3 y1=18 x2=3.01 y2=18>'), U = /* @__PURE__ */ u('<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><path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"></path><path d="M12 10v6"></path><path d="m9 13 3-3 3 3">'), G = /* @__PURE__ */ u('<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><rect width=18 height=18 x=3 y=3 rx=2 ry=2></rect><line x1=9 y1=3 x2=9 y2=21>'), P = /* @__PURE__ */ u('<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><circle cx=11 cy=11 r=8></circle><path d="m21 21-4.3-4.3">'), D = /* @__PURE__ */ u('<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><path d="M18 6 6 18"></path><path d="m6 6 12 12">'), H = /* @__PURE__ */ u('<button type=button aria-label="Clear filter">'), K = /* @__PURE__ */ u('<div class="flex items-center flex-1 gap-1 px-2 py-1 bg-muted/50 rounded-md border border-border/50 focus-within:border-ring focus-within:ring-1 focus-within:ring-ring"><input type=text placeholder=Filter... aria-label="Filter files by name">'), X = /* @__PURE__ */ u('<div><button type=button aria-label="Toggle sidebar"></button><button type=button aria-label="Navigate to parent folder"></button><div></div><div></div><div class="flex items-center gap-0.5 p-0.5 bg-muted/50 rounded-md">'), Z = /* @__PURE__ */ u('<button type=button aria-label="Filter files">'), q = /* @__PURE__ */ u("<button type=button>");
9
- const z = (r) => (() => {
8
+ var N = /* @__PURE__ */ a('<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><line x1=8 y1=6 x2=21 y2=6></line><line x1=8 y1=12 x2=21 y2=12></line><line x1=8 y1=18 x2=21 y2=18></line><line x1=3 y1=6 x2=3.01 y2=6></line><line x1=3 y1=12 x2=3.01 y2=12></line><line x1=3 y1=18 x2=3.01 y2=18>'), U = /* @__PURE__ */ a('<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><path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"></path><path d="M12 10v6"></path><path d="m9 13 3-3 3 3">'), G = /* @__PURE__ */ a('<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><rect width=18 height=18 x=3 y=3 rx=2 ry=2></rect><line x1=9 y1=3 x2=9 y2=21>'), P = /* @__PURE__ */ a('<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><circle cx=11 cy=11 r=8></circle><path d="m21 21-4.3-4.3">'), D = /* @__PURE__ */ a('<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><path d="M18 6 6 18"></path><path d="m6 6 12 12">'), H = /* @__PURE__ */ a('<button type=button aria-label="Clear filter">'), K = /* @__PURE__ */ a('<div class="flex items-center flex-1 gap-1 px-2 py-1 bg-muted/50 rounded-md border border-border/50 focus-within:border-ring focus-within:ring-1 focus-within:ring-ring"><input type=text placeholder=Filter... aria-label="Filter files by name">'), X = /* @__PURE__ */ a('<div class="ml-0.5 flex shrink-0 items-center gap-1">'), Z = /* @__PURE__ */ a('<div><button type=button aria-label="Toggle sidebar"></button><button type=button aria-label="Navigate to parent folder"></button><div></div><div></div><div class="flex items-center gap-0.5 p-0.5 bg-muted/50 rounded-md">'), q = /* @__PURE__ */ a('<button type=button aria-label="Filter files">'), z = /* @__PURE__ */ a("<button type=button>");
9
+ const J = (r) => (() => {
10
10
  var e = N();
11
11
  return s(() => g(e, "class", r.class)), e;
12
- })(), J = (r) => (() => {
12
+ })(), O = (r) => (() => {
13
13
  var e = U();
14
14
  return s(() => g(e, "class", r.class)), e;
15
- })(), O = (r) => (() => {
15
+ })(), W = (r) => (() => {
16
16
  var e = G();
17
17
  return s(() => g(e, "class", r.class)), e;
18
18
  })(), j = (r) => (() => {
19
19
  var e = P();
20
20
  return s(() => g(e, "class", r.class)), e;
21
- })(), W = (r) => (() => {
21
+ })(), Y = (r) => (() => {
22
22
  var e = D();
23
23
  return s(() => g(e, "class", r.class)), e;
24
24
  })();
25
- function le(r) {
25
+ function se(r) {
26
26
  const e = L();
27
- let n;
27
+ let i;
28
28
  const c = () => {
29
- const v = e.currentPath();
30
- return v !== "/" && v !== "";
31
- }, m = () => {
32
- e.isFilterActive() ? (e.setFilterQuery(""), e.setFilterActive(!1)) : (e.setFilterActive(!0), E(() => n?.focus()));
33
- }, w = () => {
34
- e.setFilterQuery(""), n?.focus();
35
- }, h = (v) => {
36
- v.key === "Escape" && (e.setFilterQuery(""), e.setFilterActive(!1));
29
+ const d = e.currentPath();
30
+ return d !== "/" && d !== "";
31
+ }, b = () => {
32
+ e.isFilterActive() ? (e.setFilterQuery(""), e.setFilterActive(!1)) : (e.setFilterActive(!0), E(() => i?.focus()));
33
+ }, h = () => {
34
+ e.setFilterQuery(""), i?.focus();
35
+ }, w = (d) => {
36
+ d.key === "Escape" && (e.setFilterQuery(""), e.setFilterActive(!1));
37
37
  }, I = () => {
38
38
  e.filterQuery().trim() || e.setFilterActive(!1);
39
39
  };
40
40
  return R(() => {
41
- r.filterInputRef && n && r.filterInputRef(n);
41
+ r.filterInputRef && i && r.filterInputRef(i);
42
42
  }), (() => {
43
- var v = X(), x = v.firstChild, b = x.nextSibling, p = b.nextSibling, y = p.nextSibling, k = y.nextSibling;
44
- return A(x, "click", e.toggleSidebar, !0), o(x, l(O, {
43
+ var d = Z(), x = d.firstChild, m = x.nextSibling, p = m.nextSibling, y = p.nextSibling, $ = y.nextSibling;
44
+ return M(x, "click", e.toggleSidebar, !0), n(x, l(W, {
45
45
  class: "w-4 h-4"
46
- })), A(b, "click", e.navigateUp, !0), o(b, l(J, {
46
+ })), M(m, "click", e.navigateUp, !0), n(m, l(O, {
47
47
  class: "w-4 h-4"
48
- })), o(p, l(T, {})), o(y, l(M, {
48
+ })), n(p, l(T, {})), n(y, l(k, {
49
49
  get when() {
50
50
  return e.isFilterActive();
51
51
  },
52
52
  get fallback() {
53
53
  return (() => {
54
- var t = Z();
55
- return t.$$click = m, o(t, l(j, {
54
+ var t = q();
55
+ return t.$$click = b, n(t, l(j, {
56
56
  class: "w-4 h-4"
57
- })), s(() => d(t, f("flex items-center justify-center w-7 h-7 rounded cursor-pointer", "transition-colors duration-100", "hover:bg-muted/70", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring"))), t;
57
+ })), s(() => f(t, v("flex items-center justify-center w-7 h-7 rounded cursor-pointer", "transition-colors duration-100", "hover:bg-muted/70", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring"))), t;
58
58
  })();
59
59
  },
60
60
  get children() {
61
- var t = K(), a = t.firstChild;
62
- return o(t, l(j, {
61
+ var t = K(), u = t.firstChild;
62
+ return n(t, l(j, {
63
63
  class: "w-3.5 h-3.5 text-muted-foreground flex-shrink-0"
64
- }), a), a.addEventListener("blur", I), a.$$keydown = h, a.$$input = (i) => e.setFilterQuery(i.currentTarget.value), S((i) => {
65
- n = i, r.filterInputRef && r.filterInputRef(i);
66
- }, a), o(t, l(M, {
64
+ }), u), u.addEventListener("blur", I), u.$$keydown = w, u.$$input = (o) => e.setFilterQuery(o.currentTarget.value), S((o) => {
65
+ i = o, r.filterInputRef && r.filterInputRef(o);
66
+ }, u), n(t, l(k, {
67
67
  get when() {
68
68
  return e.filterQuery();
69
69
  },
70
70
  get children() {
71
- var i = H();
72
- return i.$$click = w, o(i, l(W, {
71
+ var o = H();
72
+ return o.$$click = h, n(o, l(Y, {
73
73
  class: "w-3 h-3"
74
- })), s(() => d(i, f("flex items-center justify-center w-4 h-4 rounded-sm cursor-pointer", "text-muted-foreground hover:text-foreground", "transition-colors duration-100"))), i;
74
+ })), s(() => f(o, v("flex items-center justify-center w-4 h-4 rounded-sm cursor-pointer", "text-muted-foreground hover:text-foreground", "transition-colors duration-100"))), o;
75
75
  }
76
- }), null), s(() => d(a, f("flex-1 min-w-0 bg-transparent text-xs", "outline-none border-0 ring-0 shadow-none appearance-none", "focus:outline-none focus:border-0 focus:ring-0", "placeholder:text-muted-foreground/60"))), s(() => a.value = e.filterQuery()), t;
76
+ }), null), s(() => f(u, v("flex-1 min-w-0 bg-transparent text-xs", "outline-none border-0 ring-0 shadow-none appearance-none", "focus:outline-none focus:border-0 focus:ring-0", "placeholder:text-muted-foreground/60"))), s(() => u.value = e.filterQuery()), t;
77
77
  }
78
- })), o(k, l(B, {
78
+ })), n($, l(B, {
79
79
  mode: "list",
80
80
  get currentMode() {
81
81
  return e.viewMode();
82
82
  },
83
83
  onClick: () => e.setViewMode("list"),
84
- icon: z,
84
+ icon: J,
85
85
  label: "List view"
86
- }), null), o(k, l(B, {
86
+ }), null), n($, l(B, {
87
87
  mode: "grid",
88
88
  get currentMode() {
89
89
  return e.viewMode();
@@ -91,9 +91,17 @@ function le(r) {
91
91
  onClick: () => e.setViewMode("grid"),
92
92
  icon: V,
93
93
  label: "Grid view"
94
+ }), null), n(d, l(k, {
95
+ get when() {
96
+ return r.endActions;
97
+ },
98
+ get children() {
99
+ var t = X();
100
+ return n(t, () => r.endActions), t;
101
+ }
94
102
  }), null), s((t) => {
95
- var a = f("flex items-center gap-2 px-2 py-1.5 border-b border-border", "bg-background/50 backdrop-blur-sm", r.class), i = f("md:hidden flex items-center justify-center w-7 h-7 rounded cursor-pointer", "transition-colors duration-100", "hover:bg-muted/70", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", !e.sidebarCollapsed() && "bg-muted/50"), $ = !c(), F = f("flex items-center justify-center w-7 h-7 rounded cursor-pointer", "transition-colors duration-100", "hover:bg-muted/70", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent"), _ = f("flex-1 min-w-0 overflow-hidden transition-all duration-200", e.isFilterActive() && "hidden sm:block sm:flex-1"), C = f("flex items-center gap-1 transition-all duration-200 ease-out", e.isFilterActive() ? "flex-1 sm:flex-none sm:w-48" : "w-7");
96
- return a !== t.e && d(v, t.e = a), i !== t.t && d(x, t.t = i), $ !== t.a && (b.disabled = t.a = $), F !== t.o && d(b, t.o = F), _ !== t.i && d(p, t.i = _), C !== t.n && d(y, t.n = C), t;
103
+ var u = v("flex items-center gap-2 px-2 py-1.5 border-b border-border", "bg-background/50 backdrop-blur-sm", r.class), o = v("md:hidden flex items-center justify-center w-7 h-7 rounded cursor-pointer", "transition-colors duration-100", "hover:bg-muted/70", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", !e.sidebarCollapsed() && "bg-muted/50"), F = !c(), _ = v("flex items-center justify-center w-7 h-7 rounded cursor-pointer", "transition-colors duration-100", "hover:bg-muted/70", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent"), A = v("flex-1 min-w-0 overflow-hidden transition-all duration-200", e.isFilterActive() && "hidden sm:block sm:flex-1"), C = v("flex items-center gap-1 transition-all duration-200 ease-out", e.isFilterActive() ? "flex-1 sm:flex-none sm:w-48" : "w-7");
104
+ return u !== t.e && f(d, t.e = u), o !== t.t && f(x, t.t = o), F !== t.a && (m.disabled = t.a = F), _ !== t.o && f(m, t.o = _), A !== t.i && f(p, t.i = A), C !== t.n && f(y, t.n = C), t;
97
105
  }, {
98
106
  e: void 0,
99
107
  t: void 0,
@@ -101,26 +109,26 @@ function le(r) {
101
109
  o: void 0,
102
110
  i: void 0,
103
111
  n: void 0
104
- }), v;
112
+ }), d;
105
113
  })();
106
114
  }
107
115
  function B(r) {
108
116
  const e = () => r.currentMode === r.mode;
109
117
  return (() => {
110
- var n = q();
111
- return n.$$click = () => r.onClick(), o(n, l(r.icon, {
118
+ var i = z();
119
+ return i.$$click = () => r.onClick(), n(i, l(r.icon, {
112
120
  class: "w-3.5 h-3.5"
113
121
  })), s((c) => {
114
- var m = f("flex items-center justify-center w-6 h-6 rounded cursor-pointer", "transition-all duration-150", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", e() ? "bg-background shadow-sm text-foreground" : "text-muted-foreground hover:text-foreground"), w = r.label, h = e();
115
- return m !== c.e && d(n, c.e = m), w !== c.t && g(n, "aria-label", c.t = w), h !== c.a && g(n, "aria-pressed", c.a = h), c;
122
+ var b = v("flex items-center justify-center w-6 h-6 rounded cursor-pointer", "transition-all duration-150", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", e() ? "bg-background shadow-sm text-foreground" : "text-muted-foreground hover:text-foreground"), h = r.label, w = e();
123
+ return b !== c.e && f(i, c.e = b), h !== c.t && g(i, "aria-label", c.t = h), w !== c.a && g(i, "aria-pressed", c.a = w), c;
116
124
  }, {
117
125
  e: void 0,
118
126
  t: void 0,
119
127
  a: void 0
120
- }), n;
128
+ }), i;
121
129
  })();
122
130
  }
123
131
  Q(["click", "input", "keydown"]);
124
132
  export {
125
- le as FileBrowserToolbar
133
+ se as FileBrowserToolbar
126
134
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floegence/floe-webapp-core",
3
- "version": "0.35.3",
3
+ "version": "0.35.5",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",