@floegence/floe-webapp-core 0.1.13 → 0.1.14

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.
Files changed (68) hide show
  1. package/dist/context/DeckContext.d.ts +6 -0
  2. package/dist/context/WidgetStateContext.d.ts +47 -0
  3. package/dist/context/index.d.ts +1 -0
  4. package/dist/index.js +178 -173
  5. package/dist/index10.js +2 -2
  6. package/dist/index11.js +50 -38
  7. package/dist/index12.js +1 -1
  8. package/dist/index13.js +3 -3
  9. package/dist/index14.js +2 -2
  10. package/dist/index15.js +2 -2
  11. package/dist/index16.js +2 -2
  12. package/dist/index17.js +2 -2
  13. package/dist/index18.js +2 -2
  14. package/dist/index19.js +1 -1
  15. package/dist/index2.js +3 -3
  16. package/dist/index20.js +1 -1
  17. package/dist/index21.js +2 -2
  18. package/dist/index22.js +2 -2
  19. package/dist/index23.js +2 -2
  20. package/dist/index24.js +1 -1
  21. package/dist/index25.js +2 -2
  22. package/dist/index26.js +1 -1
  23. package/dist/index27.js +1 -1
  24. package/dist/index28.js +1 -1
  25. package/dist/index29.js +1 -1
  26. package/dist/index3.js +1 -1
  27. package/dist/index30.js +1 -1
  28. package/dist/index37.js +1 -1
  29. package/dist/index39.js +1 -1
  30. package/dist/index4.js +1 -1
  31. package/dist/index40.js +1 -1
  32. package/dist/index41.js +1 -1
  33. package/dist/index42.js +1 -1
  34. package/dist/index43.js +1 -1
  35. package/dist/index44.js +1 -1
  36. package/dist/index5.js +1 -1
  37. package/dist/index50.js +1 -1
  38. package/dist/index52.js +2 -2
  39. package/dist/index53.js +1 -1
  40. package/dist/index54.js +1 -1
  41. package/dist/index56.js +92 -79
  42. package/dist/index57.js +38 -13
  43. package/dist/index58.js +13 -10
  44. package/dist/index59.js +10 -16
  45. package/dist/index6.js +1 -1
  46. package/dist/index60.js +16 -10
  47. package/dist/index61.js +10 -8
  48. package/dist/index62.js +8 -58
  49. package/dist/index63.js +58 -5
  50. package/dist/index64.js +5 -3
  51. package/dist/index65.js +3 -45
  52. package/dist/index66.js +42 -23
  53. package/dist/index67.js +24 -30
  54. package/dist/index68.js +31 -90
  55. package/dist/index69.js +91 -22
  56. package/dist/index7.js +1 -1
  57. package/dist/index70.js +19 -43
  58. package/dist/index71.js +45 -13
  59. package/dist/index72.js +14 -35
  60. package/dist/index73.js +33 -62
  61. package/dist/index74.js +61 -81
  62. package/dist/index75.js +84 -14
  63. package/dist/index76.js +12 -2261
  64. package/dist/index77.js +2262 -6
  65. package/dist/index78.js +10 -0
  66. package/dist/index8.js +2 -2
  67. package/dist/index9.js +1 -1
  68. package/package.json +1 -1
package/dist/index11.js CHANGED
@@ -1,16 +1,19 @@
1
- import { template as y, insert as a, createComponent as d, Dynamic as z, effect as f, className as v, style as R, setAttribute as W } from "solid-js/web";
2
- import { createMemo as o, Show as k } from "solid-js";
3
- import { cn as w } from "./index63.js";
4
- import { useDeck as C } from "./index56.js";
5
- import { useWidgetRegistry as $ } from "./index55.js";
6
- import { positionToGridArea as M } from "./index70.js";
7
- import { WidgetFrame as A } from "./index12.js";
8
- var h = /* @__PURE__ */ y("<div>"), _ = /* @__PURE__ */ y('<div class="h-full flex items-center justify-center text-muted-foreground text-xs"><span>Widget: ');
9
- function N(e) {
10
- const n = C(), g = $(), i = () => n.editMode(), s = () => e.widget.type, l = o(() => g.getWidget(s())), D = o(() => M(e.position)), c = () => {
11
- const r = l();
1
+ import { template as y, insert as o, createComponent as g, Dynamic as C, effect as f, className as w, style as z, setAttribute as R } from "solid-js/web";
2
+ import { createMemo as a, Show as k } from "solid-js";
3
+ import { cn as v } from "./index64.js";
4
+ import { useDeck as $ } from "./index56.js";
5
+ import { useWidgetRegistry as M } from "./index55.js";
6
+ import { WidgetStateProvider as A } from "./index57.js";
7
+ import { positionToGridArea as _ } from "./index71.js";
8
+ import { WidgetFrame as I } from "./index12.js";
9
+ var h = /* @__PURE__ */ y("<div>"), O = /* @__PURE__ */ y('<div class="h-full flex items-center justify-center text-muted-foreground text-xs"><span>Widget: ');
10
+ function H(e) {
11
+ const i = $(), d = M(), n = () => i.editMode(), s = () => e.widget.type, c = a(() => d.getWidget(s())), D = a(() => _(e.position)), x = () => i.getWidgetState(e.widget.id), b = (r, t) => {
12
+ i.updateWidgetState(e.widget.id, r, t);
13
+ }, l = () => {
14
+ const r = c();
12
15
  return r == null ? void 0 : r.component;
13
- }, x = o(() => {
16
+ }, W = a(() => {
14
17
  if (!e.isDragging || !e.pixelOffset) return {};
15
18
  const {
16
19
  x: r,
@@ -22,12 +25,12 @@ function N(e) {
22
25
  });
23
26
  return (() => {
24
27
  var r = h();
25
- return a(r, d(A, {
28
+ return o(r, g(I, {
26
29
  get widget() {
27
30
  return e.widget;
28
31
  },
29
32
  get widgetDef() {
30
- return l();
33
+ return c();
31
34
  },
32
35
  get isDragging() {
33
36
  return e.isDragging;
@@ -37,52 +40,61 @@ function N(e) {
37
40
  },
38
41
  get children() {
39
42
  var t = h();
40
- return a(t, d(k, {
43
+ return o(t, g(k, {
41
44
  get when() {
42
- return c();
45
+ return l();
43
46
  },
44
47
  get fallback() {
45
- return d(O, {
48
+ return g(P, {
46
49
  get type() {
47
50
  return s();
48
51
  }
49
52
  });
50
53
  },
51
54
  get children() {
52
- return d(z, {
53
- get component() {
54
- return c();
55
- },
55
+ return g(A, {
56
56
  get widgetId() {
57
57
  return e.widget.id;
58
58
  },
59
- get config() {
60
- return e.widget.config;
61
- },
62
- get isEditMode() {
63
- return i();
59
+ state: x,
60
+ onStateChange: b,
61
+ get children() {
62
+ return g(C, {
63
+ get component() {
64
+ return l();
65
+ },
66
+ get widgetId() {
67
+ return e.widget.id;
68
+ },
69
+ get config() {
70
+ return e.widget.config;
71
+ },
72
+ get isEditMode() {
73
+ return n();
74
+ }
75
+ });
64
76
  }
65
77
  });
66
78
  }
67
- })), f(() => v(t, w("h-full", i() && "pointer-events-none"))), t;
79
+ })), f(() => w(t, v("h-full", n() && "pointer-events-none"))), t;
68
80
  }
69
81
  })), f((t) => {
70
- var u = w(
82
+ var u = v(
71
83
  "deck-cell relative rounded-md overflow-hidden",
72
84
  "bg-card border border-border",
73
85
  // Smooth transition when not dragging (for snap-back animation)
74
86
  !e.isDragging && "transition-transform duration-200 ease-out",
75
87
  e.isDragging && "shadow-xl z-50 ring-2 ring-primary scale-[1.02]",
76
88
  e.isResizing && "shadow-lg z-50 ring-2 ring-primary",
77
- i() && !e.isDragging && !e.isResizing && "hover:ring-1 hover:ring-primary/50",
89
+ n() && !e.isDragging && !e.isResizing && "hover:ring-1 hover:ring-primary/50",
78
90
  // Edit mode: disable selection and show grab cursor
79
- i() && "select-none cursor-grab",
91
+ n() && "select-none cursor-grab",
80
92
  e.isDragging && "cursor-grabbing"
81
- ), b = {
93
+ ), S = {
82
94
  "grid-area": D(),
83
- ...x()
84
- }, m = i() ? e.widget.id : void 0;
85
- return u !== t.e && v(r, t.e = u), t.t = R(r, b, t.t), m !== t.a && W(r, "data-widget-drag-handle", t.a = m), t;
95
+ ...W()
96
+ }, m = n() ? e.widget.id : void 0;
97
+ return u !== t.e && w(r, t.e = u), t.t = z(r, S, t.t), m !== t.a && R(r, "data-widget-drag-handle", t.a = m), t;
86
98
  }, {
87
99
  e: void 0,
88
100
  t: void 0,
@@ -90,12 +102,12 @@ function N(e) {
90
102
  }), r;
91
103
  })();
92
104
  }
93
- function O(e) {
105
+ function P(e) {
94
106
  return (() => {
95
- var n = _(), g = n.firstChild;
96
- return g.firstChild, a(g, () => e.type, null), n;
107
+ var i = O(), d = i.firstChild;
108
+ return d.firstChild, o(d, () => e.type, null), i;
97
109
  })();
98
110
  }
99
111
  export {
100
- N as DeckCell
112
+ H as DeckCell
101
113
  };
package/dist/index12.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as h, template as c, insert as i, createComponent as e, effect as v, className as x } from "solid-js/web";
2
2
  import { Show as l } from "solid-js";
3
- import { cn as $ } from "./index63.js";
3
+ import { cn as $ } from "./index64.js";
4
4
  import { useDeck as _ } from "./index56.js";
5
5
  import { GripVertical as b, X as k } from "./index31.js";
6
6
  import { WidgetResizeHandle as d } from "./index13.js";
package/dist/index13.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { delegateEvents as Y, template as X, effect as L, className as M, use as q } from "solid-js/web";
2
2
  import { createSignal as H, onCleanup as N } from "solid-js";
3
- import { cn as O } from "./index63.js";
3
+ import { cn as O } from "./index64.js";
4
4
  import { useDeck as T } from "./index56.js";
5
- import { applyResizeDelta as U } from "./index70.js";
5
+ import { applyResizeDelta as U } from "./index71.js";
6
6
  import { DECK_GRID_CONFIG as k } from "./index10.js";
7
- import { lockBodyStyle as x } from "./index67.js";
7
+ import { lockBodyStyle as x } from "./index68.js";
8
8
  var K = /* @__PURE__ */ X("<div style=touch-action:none>");
9
9
  const j = {
10
10
  n: "top-0 left-2 right-2 h-2 cursor-ns-resize",
package/dist/index14.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { delegateEvents as O, createComponent as e, template as l, insert as r, effect as P, className as j } from "solid-js/web";
2
2
  import { createSignal as k, Show as n, For as y } from "solid-js";
3
- import { cn as f } from "./index63.js";
3
+ import { cn as f } from "./index64.js";
4
4
  import { useDeck as D } from "./index56.js";
5
5
  import { useWidgetRegistry as F } from "./index55.js";
6
6
  import { Plus as T, X, ChevronRight as q } from "./index31.js";
7
7
  import { Button as G } from "./index19.js";
8
- import { deferNonBlocking as H } from "./index64.js";
8
+ import { deferNonBlocking as H } from "./index65.js";
9
9
  var J = /* @__PURE__ */ l('<div class="text-center text-muted-foreground text-sm py-8">No widgets registered'), K = /* @__PURE__ */ l('<div><div class="flex items-center justify-between p-3 border-b border-border"><h2 class="text-sm font-semibold">Add Widget</h2><button class="p-1 rounded hover:bg-muted transition-colors cursor-pointer"></button></div><div class="p-2 overflow-y-auto h-[calc(100%-48px)]">'), L = /* @__PURE__ */ l('<div class="fixed inset-0 bg-black/20 z-40">'), Q = /* @__PURE__ */ l('<div class="ml-4 mt-1 space-y-1">'), U = /* @__PURE__ */ l('<div class=mb-2><button class="w-full flex items-center gap-2 p-2 rounded hover:bg-muted transition-colors text-left cursor-pointer"><span class="text-sm font-medium"></span><span class="ml-auto text-xs text-muted-foreground">'), V = /* @__PURE__ */ l('<button class="w-full flex items-center gap-2 p-2 rounded hover:bg-muted transition-colors text-left cursor-pointer"><span class=text-sm>'), Y = /* @__PURE__ */ l('<div class="w-4 h-4">');
10
10
  function ie(C) {
11
11
  const p = D(), b = F(), [d, s] = k(!1), [W, z] = k(null), S = [{
package/dist/index15.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { delegateEvents as E, createComponent as o, template as s, insert as l, effect as v, className as x, Portal as R, setStyleProperty as w, use as T } from "solid-js/web";
2
2
  import { createSignal as y, createEffect as W, onCleanup as I, Show as p, For as L } from "solid-js";
3
- import { cn as m } from "./index63.js";
3
+ import { cn as m } from "./index64.js";
4
4
  import { useDeck as N } from "./index56.js";
5
5
  import { useWidgetRegistry as z } from "./index55.js";
6
- import { deferNonBlocking as A } from "./index64.js";
6
+ import { deferNonBlocking as A } from "./index65.js";
7
7
  import { ArrowRightLeft as B, ChevronDown as M } from "./index31.js";
8
8
  var O = /* @__PURE__ */ s('<button title="Switch widget type">'), F = /* @__PURE__ */ s('<div class="fixed inset-0 z-[9998]">'), K = /* @__PURE__ */ s('<div class="px-2 py-3 text-xs text-muted-foreground text-center">No other widget types available'), j = /* @__PURE__ */ s('<div><div class=p-1><div class="px-2 py-1.5 text-xs text-muted-foreground font-medium">Switch to'), q = /* @__PURE__ */ s('<button class="w-full flex items-center gap-2 px-2 py-1.5 rounded hover:bg-muted transition-colors text-left cursor-pointer"><span class=text-xs>'), G = /* @__PURE__ */ s('<div class="w-4 h-4">');
9
9
  function Z(f) {
package/dist/index16.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { delegateEvents as j, template as s, insert as o, createComponent as a, memo as q, effect as w, className as C } from "solid-js/web";
2
2
  import { createSignal as R, Show as v, For as G } from "solid-js";
3
- import { cn as b } from "./index63.js";
3
+ import { cn as b } from "./index64.js";
4
4
  import { useDeck as H } from "./index56.js";
5
- import { deferNonBlocking as g } from "./index64.js";
5
+ import { deferNonBlocking as g } from "./index65.js";
6
6
  import { ChevronDown as J, Check as K, Copy as M, Pencil as Q, Trash as U } from "./index31.js";
7
7
  var W = /* @__PURE__ */ s('<div class="absolute top-full left-0 mt-1 w-64 bg-popover border border-border rounded-md shadow-lg z-50 overflow-hidden"><div class="max-h-64 overflow-y-auto py-1"></div><div class="border-t border-border px-2 py-1.5"><button class="w-full text-left text-xs text-primary hover:underline cursor-pointer">+ New Layout'), X = /* @__PURE__ */ s('<div class="fixed inset-0 z-40">'), Y = /* @__PURE__ */ s('<div><button><span class="truncate max-w-[120px]">'), Z = /* @__PURE__ */ s('<span class="flex-1 text-xs truncate">'), ee = /* @__PURE__ */ s('<button class="p-1 rounded hover:bg-background transition-colors cursor-pointer"title=Rename>'), te = /* @__PURE__ */ s('<button class="p-1 rounded hover:bg-destructive/10 transition-colors cursor-pointer"title=Delete>'), re = /* @__PURE__ */ s('<div class="flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity"><button class="p-1 rounded hover:bg-background transition-colors cursor-pointer"title=Duplicate>'), ne = /* @__PURE__ */ s('<div><div class="w-4 h-4 flex-shrink-0">'), oe = /* @__PURE__ */ s('<input type=text class="flex-1 text-xs bg-background border border-border rounded px-1.5 py-0.5"autofocus>'), le = /* @__PURE__ */ s('<span class="ml-1 text-[10px] text-muted-foreground">(preset)');
8
8
  function pe(N) {
package/dist/index17.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { delegateEvents as S, template as d, insert as i, createComponent as t, Portal as B, effect as b, className as y, setStyleProperty as k } from "solid-js/web";
2
2
  import { createSignal as $, createEffect as L, onCleanup as R, Show as a, For as A } from "solid-js";
3
- import { cn as h } from "./index63.js";
3
+ import { cn as h } from "./index64.js";
4
4
  import { useDeck as N } from "./index56.js";
5
5
  import { useLayout as T } from "./index51.js";
6
6
  import { useWidgetRegistry as F } from "./index55.js";
7
- import { deferNonBlocking as I } from "./index64.js";
7
+ import { deferNonBlocking as I } from "./index65.js";
8
8
  import { LayoutSelector as K } from "./index16.js";
9
9
  import { Plus as j, ChevronDown as q, Check as G, Pencil as H } from "./index31.js";
10
10
  import { Button as C } from "./index19.js";
package/dist/index18.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { template as v, effect as b, className as i, setStyleProperty as m } from "solid-js/web";
2
- import { cn as n } from "./index63.js";
3
- import { positionToGridArea as f } from "./index70.js";
2
+ import { cn as n } from "./index64.js";
3
+ import { positionToGridArea as f } from "./index71.js";
4
4
  var g = /* @__PURE__ */ v("<div><div>");
5
5
  function _(a) {
6
6
  const s = () => f(a.position);
package/dist/index19.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { template as c, spread as d, mergeProps as l, insert as n, createComponent as t, memo as u, Dynamic as m } from "solid-js/web";
2
2
  import { splitProps as g, Show as p } from "solid-js";
3
- import { cn as s } from "./index63.js";
3
+ import { cn as s } from "./index64.js";
4
4
  import { Loader2 as h } from "./index31.js";
5
5
  var b = /* @__PURE__ */ c("<button type=button>");
6
6
  const f = {
package/dist/index2.js CHANGED
@@ -2,8 +2,8 @@ import { delegateEvents as z, template as f, insert as a, createComponent as n,
2
2
  import { createSignal as F, createEffect as h, createMemo as $, For as x, Show as b } from "solid-js";
3
3
  import { useLayout as R } from "./index51.js";
4
4
  import { useResolvedFloeConfig as H } from "./index49.js";
5
- import { useMediaQuery as P } from "./index57.js";
6
- import { cn as A } from "./index63.js";
5
+ import { useMediaQuery as P } from "./index58.js";
6
+ import { cn as A } from "./index64.js";
7
7
  import { useComponentRegistry as W } from "./index54.js";
8
8
  import { Sidebar as E } from "./index4.js";
9
9
  import { TopBar as Q } from "./index5.js";
@@ -11,7 +11,7 @@ import { BottomBar as D } from "./index6.js";
11
11
  import { MobileTabBar as L } from "./index7.js";
12
12
  import { ActivityBar as N } from "./index3.js";
13
13
  import { ResizeHandle as _ } from "./index8.js";
14
- import { resolveMobileTabActiveId as j, resolveMobileTabSelect as q } from "./index77.js";
14
+ import { resolveMobileTabActiveId as j, resolveMobileTabSelect as q } from "./index78.js";
15
15
  var y = /* @__PURE__ */ f('<div class="flex items-center gap-2">'), G = /* @__PURE__ */ f('<div class="absolute inset-0 z-40 bg-black/30 cursor-pointer">'), J = /* @__PURE__ */ f('<div><div class="h-full overflow-auto overscroll-contain">'), K = /* @__PURE__ */ f('<div class="relative shrink-0 border-t border-border bg-terminal-background overflow-hidden">'), U = /* @__PURE__ */ f('<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
17
  const r = R(), M = H(), d = P(M.config.layout.mobileQuery), [p, g] = F(!1), s = (() => {
package/dist/index20.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { template as n, insert as o, createComponent as s, spread as c, mergeProps as d } from "solid-js/web";
2
2
  import { splitProps as g, Show as i } from "solid-js";
3
- import { cn as p } from "./index63.js";
3
+ import { cn as p } from "./index64.js";
4
4
  var m = /* @__PURE__ */ n('<div class="absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none">'), h = /* @__PURE__ */ n('<div class="absolute right-2.5 top-1/2 -translate-y-1/2 text-muted-foreground pointer-events-none">'), f = /* @__PURE__ */ n('<p class="mt-1 text-[11px] text-error">'), x = /* @__PURE__ */ n("<div class=relative><input>"), b = /* @__PURE__ */ n("<div><textarea>");
5
5
  const v = {
6
6
  sm: "h-7 text-xs px-2",
package/dist/index21.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { delegateEvents as E, createComponent as o, Portal as _, template as c, insert as l, effect as b, setAttribute as v, className as D, use as T } from "solid-js/web";
2
2
  import { createUniqueId as O, createEffect as $, onCleanup as x, Show as s } from "solid-js";
3
- import { cn as L } from "./index63.js";
3
+ import { cn as L } from "./index64.js";
4
4
  import { Button as y } from "./index19.js";
5
5
  import { X as z } from "./index31.js";
6
- import { lockBodyStyle as F } from "./index67.js";
6
+ import { lockBodyStyle as F } from "./index68.js";
7
7
  import { useResolvedFloeConfig as I } from "./index49.js";
8
8
  var j = /* @__PURE__ */ c('<div class="fixed inset-0 z-50 bg-background/80 backdrop-blur-sm animate-in fade-in cursor-pointer">'), H = /* @__PURE__ */ c('<h2 class="text-sm font-semibold">'), M = /* @__PURE__ */ c('<p class="mt-0.5 text-xs text-muted-foreground">'), S = /* @__PURE__ */ c('<div class="flex items-start justify-between p-3 border-b border-border"><div>'), q = /* @__PURE__ */ c('<div class="flex items-center justify-end gap-2 p-3 border-t border-border">'), A = /* @__PURE__ */ c('<div role=dialog aria-modal=true tabindex=-1><div class="flex-1 overflow-auto p-3">'), B = /* @__PURE__ */ c("<div>");
9
9
  function k(e) {
package/dist/index22.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { delegateEvents as Me, createComponent as l, Portal as Se, template as O, insert as b, effect as u, setAttribute as ae, addEventListener as z, className as w, memo as Ie, setStyleProperty as D, use as $e } from "solid-js/web";
2
2
  import { createUniqueId as Pe, createSignal as I, onMount as Ce, onCleanup as de, createEffect as he, Show as P } from "solid-js";
3
- import { cn as j } from "./index63.js";
3
+ import { cn as j } from "./index64.js";
4
4
  import { Button as ce } from "./index19.js";
5
5
  import { Restore as Ee, Maximize as We, X as _e } from "./index31.js";
6
- import { lockBodyStyle as He } from "./index67.js";
6
+ import { lockBodyStyle as He } from "./index68.js";
7
7
  var Xe = /* @__PURE__ */ O('<h2 class="text-sm font-medium truncate select-none">'), De = /* @__PURE__ */ O('<div class="flex items-center justify-end gap-2 p-3 border-t border-border">'), y = /* @__PURE__ */ O("<div style=touch-action:none>"), Le = /* @__PURE__ */ O('<div role=dialog aria-modal=true><div style=touch-action:none><div class="flex-1 min-w-0"></div><div class="flex items-center gap-0.5 -mr-1"></div></div><div class="flex-1 overflow-auto p-3">');
8
8
  function Te(i) {
9
9
  const G = () => i.resizable ?? !0, K = () => i.draggable ?? !0, L = () => i.minSize ?? {
package/dist/index23.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { delegateEvents as k, template as f, insert as s, createComponent as d, effect as b, className as g, use as x } from "solid-js/web";
2
2
  import { createSignal as _, createEffect as p, onCleanup as C, Show as h, For as S } from "solid-js";
3
- import { cn as v } from "./index63.js";
4
- import { deferNonBlocking as E } from "./index64.js";
3
+ import { cn as v } from "./index64.js";
4
+ import { deferNonBlocking as E } from "./index65.js";
5
5
  import { ChevronDown as L, Check as j } from "./index31.js";
6
6
  var D = /* @__PURE__ */ f("<div role=menu>"), O = /* @__PURE__ */ f("<div><div class=cursor-pointer>"), N = /* @__PURE__ */ f('<div class="my-1 h-px bg-border"role=separator>'), R = /* @__PURE__ */ f('<button type=button role=menuitem><span class="w-3.5 h-3.5 flex items-center justify-center"></span><span class="flex-1 text-left">'), z = /* @__PURE__ */ f('<span class="w-3.5 h-3.5 flex items-center justify-center">'), B = /* @__PURE__ */ f("<button type=button><span>");
7
7
  function F(e) {
package/dist/index24.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as x, template as c, insert as a, createComponent as y, effect as g, className as p } from "solid-js/web";
2
2
  import { createSignal as w, Show as $ } from "solid-js";
3
- import { cn as m } from "./index63.js";
3
+ import { cn as m } from "./index64.js";
4
4
  var S = /* @__PURE__ */ c("<div role=tooltip><div>"), T = /* @__PURE__ */ c('<div class="relative inline-block">');
5
5
  function C(e) {
6
6
  const [b, n] = w(!1);
package/dist/index25.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { delegateEvents as M, createComponent as i, Portal as O, template as c, insert as l, use as L, Dynamic as z, effect as y, className as C, setAttribute as F } from "solid-js/web";
2
2
  import { createSignal as I, createEffect as w, onCleanup as S, createMemo as K, Show as g, For as D } from "solid-js";
3
- import { cn as E } from "./index63.js";
3
+ import { cn as E } from "./index64.js";
4
4
  import { useCommand as R } from "./index52.js";
5
5
  import { Search as j } from "./index31.js";
6
- import { lockBodyStyle as B } from "./index67.js";
6
+ import { lockBodyStyle as B } from "./index68.js";
7
7
  import { useResolvedFloeConfig as N } from "./index49.js";
8
8
  var T = /* @__PURE__ */ c('<div class="fixed inset-0 z-50 bg-background/60 backdrop-blur-sm animate-in fade-in">'), U = /* @__PURE__ */ c('<div><div class="flex items-center gap-3 px-4 pt-1 border-b border-border"><input type=text><kbd class="text-xs text-muted-foreground px-1.5 py-0.5 rounded bg-muted font-mono"></kbd></div><div class="max-h-80 overflow-y-auto py-2">'), q = /* @__PURE__ */ c('<div class="px-4 py-8 text-center text-sm text-muted-foreground">'), G = /* @__PURE__ */ c('<div><div class="px-4 py-1 text-xs font-semibold text-muted-foreground uppercase tracking-wider">'), H = /* @__PURE__ */ c('<span class="w-5 h-5 flex items-center justify-center text-muted-foreground">'), J = /* @__PURE__ */ c('<span class="ml-2 text-muted-foreground text-xs">'), Q = /* @__PURE__ */ c('<kbd class="text-xs text-muted-foreground px-1.5 py-0.5 rounded bg-muted font-mono">'), V = /* @__PURE__ */ c('<button type=button><div class="flex-1 text-left"><span>');
9
9
  function ne() {
package/dist/index26.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as R, template as v, spread as m, mergeProps as h, insert as i, effect as A, className as E, memo as H, setStyleProperty as L, use as j } from "solid-js/web";
2
2
  import { splitProps as b, createSignal as F, onCleanup as q } from "solid-js";
3
- import { cn as p } from "./index63.js";
3
+ import { cn as p } from "./index64.js";
4
4
  var W = /* @__PURE__ */ v('<div style="background-size:200% 200%;animation:gradient-shift 3s ease infinite">'), D = /* @__PURE__ */ v('<div class="absolute inset-[1px] rounded-[7px] bg-card">'), G = /* @__PURE__ */ v('<div class="pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100">'), N = /* @__PURE__ */ v('<div class="absolute inset-0 -translate-x-full animate-[shimmer_2s_infinite] bg-gradient-to-r from-transparent via-white/10 to-transparent">'), Z = /* @__PURE__ */ v("<div><div>"), T = /* @__PURE__ */ v("<div>"), J = /* @__PURE__ */ v("<h3>"), K = /* @__PURE__ */ v("<p>"), O = /* @__PURE__ */ v('<div><div class="relative z-10"style=transform:translateZ(20px)>'), Q = /* @__PURE__ */ v('<div class="pointer-events-none absolute inset-0 z-20 opacity-0 transition-opacity duration-300">'), U = /* @__PURE__ */ v('<div><div class="absolute inset-0"style="background:conic-gradient(from 0deg, var(--primary), var(--accent), var(--secondary), var(--primary))"></div><div class="relative rounded-[10px] bg-card h-full">'), V = /* @__PURE__ */ v('<div><div class="absolute inset-0 -z-10 overflow-hidden"><div class="absolute -top-1/2 -left-1/2 w-full h-full rounded-full bg-primary/20"style="animation:morph 8s ease-in-out infinite;filter:blur(40px)"></div><div class="absolute -bottom-1/2 -right-1/2 w-full h-full rounded-full bg-accent/20"style="animation:morph 8s ease-in-out infinite reverse;filter:blur(40px)"></div></div><div class="relative z-10">');
5
5
  function ne(l) {
6
6
  const [e, o] = b(l, ["variant", "enableTilt", "gradientColors", "glowColor", "class", "children", "style"]), t = () => e.variant ?? "default", [d, g] = F({});
package/dist/index27.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as N, template as h, spread as T, mergeProps as F, insert as i, createComponent as c, effect as f, className as g, setAttribute as k, memo as X, use as G } from "solid-js/web";
2
2
  import { splitProps as O, createSignal as S, createEffect as P, Show as m, For as J, onCleanup as K } from "solid-js";
3
- import { cn as v } from "./index63.js";
3
+ import { cn as v } from "./index64.js";
4
4
  import { X as Q, Plus as U, ChevronRight as V } from "./index31.js";
5
5
  var Y = /* @__PURE__ */ h('<svg xmlns=http://www.w3.org/2000/svg width=24 height=24 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d="m15 18-6-6 6-6">'), Z = /* @__PURE__ */ h('<button type=button aria-label="Scroll left">'), ee = /* @__PURE__ */ h('<button type=button aria-label="Add new tab">'), re = /* @__PURE__ */ h('<button type=button aria-label="Scroll right">'), te = /* @__PURE__ */ h("<div><div>"), oe = /* @__PURE__ */ h("<span class=flex-shrink-0>"), ne = /* @__PURE__ */ h("<button type=button>"), se = /* @__PURE__ */ h('<div role=tab><span class="truncate max-w-32">'), le = /* @__PURE__ */ h("<div role=tabpanel>");
6
6
  const ae = (p) => (() => {
package/dist/index28.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { template as h, insert as $, createComponent as z, effect as m, className as d, style as I } from "solid-js/web";
2
2
  import { createSignal as P, onMount as S, onCleanup as B, For as L } from "solid-js";
3
- import { cn as g } from "./index63.js";
3
+ import { cn as g } from "./index64.js";
4
4
  var M = /* @__PURE__ */ h(`<div role=status aria-label=Loading><style>
5
5
  @keyframes snakeBreathing {
6
6
  0%, 100% {
package/dist/index29.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { template as c, insert as n, createComponent as t, effect as m, className as o, Portal as u } from "solid-js/web";
2
2
  import { Show as l } from "solid-js";
3
- import { cn as s } from "./index63.js";
3
+ import { cn as s } from "./index64.js";
4
4
  import { SnakeLoader as f } from "./index28.js";
5
5
  var g = /* @__PURE__ */ c('<p class="text-sm text-muted-foreground">'), d = /* @__PURE__ */ c("<div>");
6
6
  function k(e) {
package/dist/index3.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as h, template as d, insert as c, createComponent as r, effect as u, className as m, Dynamic as y, memo as x, setAttribute as f } from "solid-js/web";
2
2
  import { For as b, Show as v } from "solid-js";
3
- import { cn as g } from "./index63.js";
3
+ import { cn as g } from "./index64.js";
4
4
  import { Tooltip as C } from "./index24.js";
5
5
  var w = /* @__PURE__ */ d('<div class="flex flex-col items-center py-1.5 gap-0.5 md:gap-2 md:py-2">'), A = /* @__PURE__ */ d('<div><div class="flex flex-col items-center py-1.5 gap-0.5 md:gap-2 md:py-2">'), $ = /* @__PURE__ */ d('<div class="absolute -left-1.5 md:-left-2.5 top-1/2 -translate-y-1/2 w-1 h-7 bg-primary rounded-r">'), k = /* @__PURE__ */ d("<span>"), _ = /* @__PURE__ */ d("<button type=button>");
6
6
  function E(e) {
package/dist/index30.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { template as f, effect as o, className as u, insert as s, createComponent as r } from "solid-js/web";
2
2
  import { For as h } from "solid-js";
3
- import { cn as i } from "./index63.js";
3
+ import { cn as i } from "./index64.js";
4
4
  var m = /* @__PURE__ */ f("<div>"), p = /* @__PURE__ */ f('<div><div class="flex items-center gap-3"><div class="space-y-2 flex-1">'), _ = /* @__PURE__ */ f('<div class="flex items-center gap-3"><div class="flex-1 space-y-1">');
5
5
  function c(n) {
6
6
  return (() => {
package/dist/index37.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as P, createComponent as i, template as b, insert as n, addEventListener as S, memo as k, effect as j, className as $, setStyleProperty as I } from "solid-js/web";
2
2
  import { createSignal as z, onMount as L, onCleanup as V, Show as a } from "solid-js";
3
- import { cn as _ } from "./index63.js";
3
+ import { cn as _ } from "./index64.js";
4
4
  import { FileBrowserProvider as W, useFileBrowser as N } from "./index38.js";
5
5
  import { DirectoryTree as T } from "./index39.js";
6
6
  import { FileListView as p } from "./index40.js";
package/dist/index39.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as S, template as g, insert as o, createComponent as n, effect as h, className as s, memo as E, setStyleProperty as I } from "solid-js/web";
2
2
  import { createMemo as p, For as P, Show as m } from "solid-js";
3
- import { cn as d } from "./index63.js";
3
+ import { cn as d } from "./index64.js";
4
4
  import { useFileBrowser as $ } from "./index38.js";
5
5
  import { FolderOpenIcon as T, FolderIcon as N } from "./index45.js";
6
6
  import { ChevronRight as j } from "./index31.js";
package/dist/index4.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as b, template as c, insert as n, effect as d, className as s, setStyleProperty as u, memo as f } from "solid-js/web";
2
2
  import "solid-js";
3
- import { cn as o } from "./index63.js";
3
+ import { cn as o } from "./index64.js";
4
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
5
  function S(e) {
6
6
  return (() => {
package/dist/index40.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as S, template as x, insert as c, createComponent as s, effect as $, className as b, Dynamic as C, memo as _, setStyleProperty as k } from "solid-js/web";
2
2
  import { Show as F, For as I } from "solid-js";
3
- import { cn as f } from "./index63.js";
3
+ import { cn as f } from "./index64.js";
4
4
  import { useFileBrowser as w } from "./index38.js";
5
5
  import { FolderIcon as z, getFileIcon as D } from "./index45.js";
6
6
  import { ChevronDown as M } from "./index31.js";
package/dist/index41.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as j, template as m, insert as s, createComponent as d, effect as F, className as a, Dynamic as _, setStyleProperty as $, setAttribute as D } from "solid-js/web";
2
2
  import { Show as I, For as M } from "solid-js";
3
- import { cn as c } from "./index63.js";
3
+ import { cn as c } from "./index64.js";
4
4
  import { useFileBrowser as C } from "./index38.js";
5
5
  import { FolderIcon as z, getFileIcon as B } from "./index45.js";
6
6
  var G = /* @__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">'), K = /* @__PURE__ */ m("<div>"), P = /* @__PURE__ */ m('<div class="flex items-center justify-center h-32 text-xs text-muted-foreground">This folder is empty'), T = /* @__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">'), A = /* @__PURE__ */ m("<button type=button style=animation-fill-mode:backwards><div></div><span></span><div>");
package/dist/index42.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as j, createComponent as h, Portal as F, template as i, insert as m, Dynamic as H, effect as d, className as A, setStyleProperty as B, setAttribute as p, use as P } from "solid-js/web";
2
2
  import { createEffect as R, onCleanup as V, Show as x, For as S } from "solid-js";
3
- import { cn as D } from "./index63.js";
3
+ import { cn as D } from "./index64.js";
4
4
  import { useFileBrowser as T } from "./index38.js";
5
5
  var Z = /* @__PURE__ */ i('<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=14 height=14 x=8 y=8 rx=2 ry=2></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2">'), z = /* @__PURE__ */ i('<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="m12 3-1.9 5.8a2 2 0 0 1-1.3 1.3L3 12l5.8 1.9a2 2 0 0 1 1.3 1.3L12 21l1.9-5.8a2 2 0 0 1 1.3-1.3L21 12l-5.8-1.9a2 2 0 0 1-1.3-1.3Z">'), W = /* @__PURE__ */ i('<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="M8 10v4"></path><path d="M12 10v2"></path><path d="M16 10v6">'), K = /* @__PURE__ */ i('<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="M12 3v18"></path><path d="m8 7-4 4 4 4"></path><path d="m16 7 4 4-4 4">'), N = /* @__PURE__ */ i('<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="M3 6h18"></path><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"></path><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2">'), O = /* @__PURE__ */ i('<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="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4">'), q = /* @__PURE__ */ i("<div role=menu aria-orientation=vertical>"), G = /* @__PURE__ */ i('<span class="text-[10px] text-muted-foreground opacity-60">'), J = /* @__PURE__ */ i('<button type=button role=menuitem><span class="flex-1 text-left">'), Q = /* @__PURE__ */ i('<div class="my-1 h-px bg-border">');
6
6
  const U = (t) => (() => {
package/dist/index43.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as g, template as l, insert as m, createComponent as s, effect as f, className as d } from "solid-js/web";
2
2
  import { createMemo as p, For as v, Show as x } from "solid-js";
3
- import { cn as h } from "./index63.js";
3
+ import { cn as h } from "./index64.js";
4
4
  import { useFileBrowser as b } from "./index38.js";
5
5
  import { ChevronRight as k } from "./index31.js";
6
6
  var C = /* @__PURE__ */ l("<nav aria-label=Breadcrumb>"), w = /* @__PURE__ */ l('<button type=button><span class="truncate max-w-[120px] block">');
package/dist/index44.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { delegateEvents as k, template as u, addEventListener as y, insert as s, createComponent as a, effect as v, className as b, setAttribute as c } from "solid-js/web";
2
- import { cn as g } from "./index63.js";
2
+ import { cn as g } from "./index64.js";
3
3
  import { useFileBrowser as M } from "./index38.js";
4
4
  import { Breadcrumb as C } from "./index43.js";
5
5
  import { Grid as $ } from "./index31.js";
package/dist/index5.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { delegateEvents as $, template as i, insert as t, createComponent as a, effect as k, className as g } from "solid-js/web";
2
2
  import { Show as h } from "solid-js";
3
- import { cn as x } from "./index63.js";
3
+ import { cn as x } from "./index64.js";
4
4
  import { useCommand as y } from "./index52.js";
5
5
  import { Search as _ } from "./index31.js";
6
6
  import { useResolvedFloeConfig as w } from "./index49.js";
package/dist/index50.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { createSignal as c, onCleanup as g, createEffect as u } from "solid-js";
2
2
  import { createSimpleContext as T } from "./index48.js";
3
3
  import { useResolvedFloeConfig as p } from "./index49.js";
4
- import { getSystemTheme as v, applyTheme as y } from "./index71.js";
4
+ import { getSystemTheme as v, applyTheme as y } from "./index72.js";
5
5
  function S() {
6
6
  const t = p(), r = () => t.config.theme.storageKey, i = () => t.config.theme.defaultTheme, h = t.persist.load(r(), i()), [o, a] = c(h), [d, l] = c(v()), n = () => {
7
7
  const e = o();
package/dist/index52.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { createSignal as p, onCleanup as K } from "solid-js";
2
2
  import { createSimpleContext as D } from "./index48.js";
3
3
  import { useResolvedFloeConfig as W } from "./index49.js";
4
- import { formatKeybind as P, parseKeybind as k, matchKeybind as y } from "./index66.js";
5
- import { deferNonBlocking as v } from "./index64.js";
4
+ import { formatKeybind as P, parseKeybind as k, matchKeybind as y } from "./index67.js";
5
+ import { deferNonBlocking as v } from "./index65.js";
6
6
  function S() {
7
7
  const x = W(), u = () => x.config.commands, i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), [g, l] = p(!1), [b, m] = p(""), [C, E] = p([]), d = () => {
8
8
  E(Array.from(i.values()));
package/dist/index53.js CHANGED
@@ -2,7 +2,7 @@ import { delegateEvents as g, template as m, insert as l, createComponent as f,
2
2
  import { For as p, Show as u } from "solid-js";
3
3
  import { createStore as v, produce as d } from "solid-js/store";
4
4
  import { createSimpleContext as x } from "./index48.js";
5
- import { cn as $ } from "./index63.js";
5
+ import { cn as $ } from "./index64.js";
6
6
  var w = /* @__PURE__ */ m('<div class="fixed bottom-4 right-4 z-50 flex flex-col gap-2 max-w-sm">'), _ = /* @__PURE__ */ m('<p class="mt-1 text-sm text-muted-foreground">'), y = /* @__PURE__ */ m('<button type=button class="mt-2 text-sm font-medium text-primary hover:underline">'), k = /* @__PURE__ */ m('<div role=alert><div class="flex items-start gap-3"><div class="flex-1 min-w-0"><p class="font-medium text-sm"></p></div><button type=button class="text-muted-foreground hover:text-foreground transition-colors"aria-label=Dismiss><svg class="w-4 h-4"fill=none viewBox="0 0 24 24"stroke=currentColor><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12">');
7
7
  const C = 5e3;
8
8
  function N() {
package/dist/index54.js CHANGED
@@ -5,7 +5,7 @@ import { useTheme as v } from "./index50.js";
5
5
  import { useLayout as M } from "./index51.js";
6
6
  import { useCommand as S } from "./index52.js";
7
7
  import { useNotification as x } from "./index53.js";
8
- import { deferNonBlocking as A } from "./index64.js";
8
+ import { deferNonBlocking as A } from "./index65.js";
9
9
  function R(s) {
10
10
  const r = `[${s}]`;
11
11
  return {