@floegence/floe-webapp-core 0.39.10 → 0.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/layout/ActivityBar.js +1 -1
- package/dist/components/layout/Panel.js +14 -14
- package/dist/components/layout/TopBar.js +13 -13
- package/dist/components/notes/useNotesOverlayModel.d.ts +2 -2
- package/dist/components/ui/Card.js +60 -60
- package/dist/floe.css +15 -9
- package/dist/styles/themes/classicSemanticTokens.js +25 -23
- package/dist/styles/themes/presets.d.ts +11 -2
- package/dist/styles/themes/presets.js +78 -14
- package/dist/styles/tokens.d.ts +42 -42
- package/dist/styles/tokens.js +28 -28
- package/dist/styles.css +1 -1
- package/dist/themes/dark.css +27 -21
- package/dist/themes/light.css +13 -9
- package/dist/themes/shell-presets.generated.css +150 -0
- package/dist/ui.css +1 -1
- package/package.json +1 -1
|
@@ -97,7 +97,7 @@ function w(t) {
|
|
|
97
97
|
})()), g(() => h(e, y("absolute top-0.5 right-0.5 min-w-3.5 h-3.5 px-1", "flex items-center justify-center", "text-[9px] font-medium rounded-full", "bg-activity-bar-badge text-activity-bar-badge-foreground"))), e;
|
|
98
98
|
}
|
|
99
99
|
}), null), g((e) => {
|
|
100
|
-
var a = y("relative w-full aspect-square flex items-center justify-center cursor-pointer", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-inset", t.isActive ? "text-activity-bar-foreground-active bg-accent
|
|
100
|
+
var a = y("relative w-full aspect-square flex items-center justify-center cursor-pointer", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-inset", t.isActive ? "text-activity-bar-foreground-active bg-accent" : "text-activity-bar-foreground transition-[color,background-color] duration-100 hover:text-activity-bar-foreground-active hover:bg-accent/50"), n = t.item.label, o = t.isActive, f = b(), C = t.item.ariaControls, A = t.item.ariaHasPopup;
|
|
101
101
|
return a !== e.e && h(i, e.e = a), n !== e.t && u(i, "aria-label", e.t = n), o !== e.a && u(i, "aria-pressed", e.a = o), f !== e.o && u(i, "aria-expanded", e.o = f), C !== e.i && u(i, "aria-controls", e.i = C), A !== e.n && u(i, "aria-haspopup", e.n = A), e;
|
|
102
102
|
}, {
|
|
103
103
|
e: void 0,
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { insert as t, effect as n, className as l, memo as
|
|
1
|
+
import { insert as t, effect as n, className as l, memo as u, template as a } from "solid-js/web";
|
|
2
2
|
import "solid-js";
|
|
3
|
-
import { cn as
|
|
4
|
-
var o = /* @__PURE__ */ a("<div>"),
|
|
3
|
+
import { cn as i } from "../../utils/cn.js";
|
|
4
|
+
var o = /* @__PURE__ */ a("<div>"), m = /* @__PURE__ */ a("<div><span class=truncate>"), s = /* @__PURE__ */ a('<div class="flex items-center gap-1 ml-2">');
|
|
5
5
|
function $(r) {
|
|
6
6
|
return (() => {
|
|
7
7
|
var e = o();
|
|
8
|
-
return t(e, () => r.children), n(() => l(e,
|
|
8
|
+
return t(e, () => r.children), n(() => l(e, i("flex flex-col h-full overflow-hidden", "bg-card text-card-foreground", r.class))), e;
|
|
9
9
|
})();
|
|
10
10
|
}
|
|
11
|
-
function
|
|
11
|
+
function h(r) {
|
|
12
12
|
return (() => {
|
|
13
|
-
var e =
|
|
13
|
+
var e = m(), d = e.firstChild;
|
|
14
14
|
return t(d, () => r.children), t(e, (() => {
|
|
15
|
-
var f =
|
|
15
|
+
var f = u(() => !!r.actions);
|
|
16
16
|
return () => f() && (() => {
|
|
17
|
-
var
|
|
18
|
-
return t(
|
|
17
|
+
var c = s();
|
|
18
|
+
return t(c, () => r.actions), c;
|
|
19
19
|
})();
|
|
20
|
-
})(), null), n(() => l(e,
|
|
20
|
+
})(), null), n(() => l(e, i("flex items-center justify-between px-3 py-1.5", "border-b border-border", "text-xs font-medium tracking-tight", r.class))), e;
|
|
21
21
|
})();
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function b(r) {
|
|
24
24
|
return (() => {
|
|
25
25
|
var e = o();
|
|
26
|
-
return t(e, () => r.children), n(() => l(e,
|
|
26
|
+
return t(e, () => r.children), n(() => l(e, i("flex-1 overflow-auto", !r.noPadding && "p-3", r.class))), e;
|
|
27
27
|
})();
|
|
28
28
|
}
|
|
29
29
|
export {
|
|
30
30
|
$ as Panel,
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
b as PanelContent,
|
|
32
|
+
h as PanelHeader
|
|
33
33
|
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { insert as t, createComponent as
|
|
2
|
-
import { Show as
|
|
3
|
-
import { cn as
|
|
1
|
+
import { insert as t, createComponent as s, effect as y, className as h, setAttribute as $, template as l, delegateEvents as _ } from "solid-js/web";
|
|
2
|
+
import { Show as x } from "solid-js";
|
|
3
|
+
import { cn as v } from "../../utils/cn.js";
|
|
4
4
|
import { useCommand as w } from "../../context/CommandContext.js";
|
|
5
5
|
import { Search as C } from "../icons/index.js";
|
|
6
6
|
import { useResolvedFloeConfig as S } from "../../context/FloeConfigContext.js";
|
|
7
|
-
var B = /* @__PURE__ */
|
|
7
|
+
var B = /* @__PURE__ */ l('<span class="font-medium text-[11px] tracking-tight hidden sm:inline">'), E = /* @__PURE__ */ l('<kbd class="hidden md:inline text-[10px] px-1 py-0.5 rounded bg-background/60 border border-border/40 font-mono shrink-0 leading-none">'), F = /* @__PURE__ */ l('<header data-floe-shell-slot=top-bar style=border-bottom-color:var(--top-bar-border)><div class="h-10 flex items-center gap-2 px-3"><div class="flex items-center gap-2 flex-shrink-0"></div><button type=button><span class="flex-1 text-left hidden sm:inline truncate"></span></button><div class="flex items-center gap-0.5">'), j = /* @__PURE__ */ l('<div class="w-6 h-6 rounded bg-primary flex items-center justify-center text-primary-foreground text-xs font-bold">F');
|
|
8
8
|
function R(o) {
|
|
9
9
|
const c = w(), a = S(), n = () => a.config.commands.palette.enabled;
|
|
10
10
|
return (() => {
|
|
11
|
-
var
|
|
12
|
-
return t(
|
|
11
|
+
var i = F(), p = i.firstChild, d = p.firstChild, r = d.nextSibling, m = r.firstChild, k = r.nextSibling;
|
|
12
|
+
return t(d, () => o.logo || j(), null), t(d, s(x, {
|
|
13
13
|
get when() {
|
|
14
14
|
return o.title;
|
|
15
15
|
},
|
|
@@ -17,9 +17,9 @@ function R(o) {
|
|
|
17
17
|
var e = B();
|
|
18
18
|
return t(e, () => o.title), e;
|
|
19
19
|
}
|
|
20
|
-
}), null), r.$$click = () => n() && c.open(), t(r,
|
|
21
|
-
class: "w-3
|
|
22
|
-
}), m), t(m, () => a.config.strings.topBar.searchPlaceholder), t(r,
|
|
20
|
+
}), null), r.$$click = () => n() && c.open(), t(r, s(C, {
|
|
21
|
+
class: "w-3 h-3 shrink-0"
|
|
22
|
+
}), m), t(m, () => a.config.strings.topBar.searchPlaceholder), t(r, s(x, {
|
|
23
23
|
get when() {
|
|
24
24
|
return n();
|
|
25
25
|
},
|
|
@@ -28,19 +28,19 @@ function R(o) {
|
|
|
28
28
|
return t(e, () => c.getKeybindDisplay(a.config.commands.palette.keybind)), e;
|
|
29
29
|
}
|
|
30
30
|
}), null), t(k, () => o.actions), y((e) => {
|
|
31
|
-
var b =
|
|
31
|
+
var b = v(
|
|
32
32
|
// Safe-area padding must not be applied on a fixed-height element (border-box),
|
|
33
33
|
// otherwise the content gets squeezed on iOS notch devices.
|
|
34
34
|
"shrink-0 bg-background border-b border-border safe-top safe-left safe-right",
|
|
35
35
|
o.class
|
|
36
|
-
), f = o.ariaLabel, u = !n(), g =
|
|
37
|
-
return b !== e.e && h(
|
|
36
|
+
), f = o.ariaLabel, u = !n(), g = v("flex-1 max-w-sm flex items-center gap-2 h-[26px] px-2.5", n() ? "cursor-pointer" : "cursor-not-allowed", "text-[11px] text-muted-foreground tracking-tight", "bg-muted/30 hover:bg-muted/60 rounded-md", "border border-border/40 hover:border-border/70", "transition-colors duration-100", "focus:outline-none focus-visible:ring-1 focus-visible:ring-ring", !n() && "opacity-50 hover:bg-muted/30");
|
|
37
|
+
return b !== e.e && h(i, e.e = b), f !== e.t && $(i, "aria-label", e.t = f), u !== e.a && (r.disabled = e.a = u), g !== e.o && h(r, e.o = g), e;
|
|
38
38
|
}, {
|
|
39
39
|
e: void 0,
|
|
40
40
|
t: void 0,
|
|
41
41
|
a: void 0,
|
|
42
42
|
o: void 0
|
|
43
|
-
}),
|
|
43
|
+
}), i;
|
|
44
44
|
})();
|
|
45
45
|
}
|
|
46
46
|
_(["click"]);
|
|
@@ -191,10 +191,10 @@ export declare function useNotesOverlayModel(options: UseNotesOverlayModelOption
|
|
|
191
191
|
}> | undefined>;
|
|
192
192
|
draftTitle: import("solid-js").Accessor<string>;
|
|
193
193
|
draftBody: import("solid-js").Accessor<string>;
|
|
194
|
-
draftColor: import("solid-js").Accessor<"
|
|
194
|
+
draftColor: import("solid-js").Accessor<"graphite" | "azure" | "coral" | "sage" | "amber" | "rose">;
|
|
195
195
|
setDraftTitle: import("solid-js").Setter<string>;
|
|
196
196
|
setDraftBody: import("solid-js").Setter<string>;
|
|
197
|
-
setDraftColor: import("solid-js").Setter<"
|
|
197
|
+
setDraftColor: import("solid-js").Setter<"graphite" | "azure" | "coral" | "sage" | "amber" | "rose">;
|
|
198
198
|
close: () => void;
|
|
199
199
|
save: () => Promise<void>;
|
|
200
200
|
};
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { spread as
|
|
2
|
-
import { splitProps as
|
|
1
|
+
import { spread as v, mergeProps as b, insert as i, effect as A, setStyleProperty as z, className as L, memo as R, template as g, use as E, delegateEvents as H } from "solid-js/web";
|
|
2
|
+
import { splitProps as h, createSignal as F, onCleanup as q } from "solid-js";
|
|
3
3
|
import { cn as f } from "../../utils/cn.js";
|
|
4
|
-
var W = /* @__PURE__ */
|
|
4
|
+
var W = /* @__PURE__ */ g('<div style="background-size:200% 200%;animation:gradient-shift 3s ease infinite">'), D = /* @__PURE__ */ g('<div class="absolute inset-[1px] rounded-[7px] bg-card">'), G = /* @__PURE__ */ g('<div class="pointer-events-none absolute inset-0 opacity-0 transition-opacity duration-300 group-hover:opacity-100">'), N = /* @__PURE__ */ g('<div class="absolute inset-0 -translate-x-full animate-[shimmer_2s_infinite]"style="background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--primary) 12%, transparent), transparent)">'), Z = /* @__PURE__ */ g("<div><div>"), k = /* @__PURE__ */ g("<div>"), J = /* @__PURE__ */ g("<h3>"), K = /* @__PURE__ */ g("<p>"), O = /* @__PURE__ */ g('<div><div class="relative z-10"style=transform:translateZ(20px)>'), Q = /* @__PURE__ */ g('<div class="pointer-events-none absolute inset-0 z-20 opacity-0 transition-opacity duration-300">'), U = /* @__PURE__ */ g('<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__ */ g('<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
|
-
const [e, o] =
|
|
7
|
-
let u,
|
|
6
|
+
const [e, o] = h(l, ["variant", "enableTilt", "gradientColors", "glowColor", "class", "children", "style"]), r = () => e.variant ?? "default", [d, m] = F({});
|
|
7
|
+
let u, a = null, _ = 0, y = 0;
|
|
8
8
|
const p = () => {
|
|
9
|
-
if (
|
|
10
|
-
const t = u.getBoundingClientRect(),
|
|
9
|
+
if (a = null, !u || !e.enableTilt && r() !== "spotlight") return;
|
|
10
|
+
const t = u.getBoundingClientRect(), s = _ - t.left, c = y - t.top;
|
|
11
11
|
if (e.enableTilt) {
|
|
12
|
-
const
|
|
12
|
+
const w = t.width / 2, Y = t.height / 2, B = (c - Y) / 10, I = (w - s) / 10;
|
|
13
13
|
m({
|
|
14
14
|
transform: `perspective(1000px) rotateX(${B}deg) rotateY(${I}deg) scale3d(1.02, 1.02, 1.02)`
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
17
|
r() === "spotlight" && X({
|
|
18
|
-
x:
|
|
18
|
+
x: s,
|
|
19
19
|
y: c
|
|
20
20
|
});
|
|
21
21
|
}, M = (t) => {
|
|
22
|
-
if (u && !(!e.enableTilt && r() !== "spotlight") && (_ = t.clientX, y = t.clientY,
|
|
22
|
+
if (u && !(!e.enableTilt && r() !== "spotlight") && (_ = t.clientX, y = t.clientY, a === null)) {
|
|
23
23
|
if (typeof requestAnimationFrame > "u") {
|
|
24
24
|
p();
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
|
|
27
|
+
a = requestAnimationFrame(p);
|
|
28
28
|
}
|
|
29
29
|
}, S = () => {
|
|
30
|
-
|
|
30
|
+
a !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(a), a = null), e.enableTilt && m({
|
|
31
31
|
transform: "perspective(1000px) rotateX(0deg) rotateY(0deg) scale3d(1, 1, 1)"
|
|
32
32
|
});
|
|
33
|
-
}, [
|
|
33
|
+
}, [C, X] = F({
|
|
34
34
|
x: 0,
|
|
35
35
|
y: 0
|
|
36
36
|
});
|
|
37
37
|
q(() => {
|
|
38
|
-
|
|
38
|
+
a !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(a), a = null);
|
|
39
39
|
});
|
|
40
40
|
const T = "rounded-lg transition-all duration-300 ease-out", P = {
|
|
41
41
|
default: "bg-card border border-border shadow-sm hover:shadow-md",
|
|
@@ -45,32 +45,32 @@ function ne(l) {
|
|
|
45
45
|
spotlight: "relative bg-card border border-border overflow-hidden",
|
|
46
46
|
shimmer: "relative bg-card border border-border overflow-hidden",
|
|
47
47
|
glow: "bg-card border border-border shadow-sm"
|
|
48
|
-
},
|
|
48
|
+
}, j = () => {
|
|
49
49
|
if (r() !== "gradient-border") return null;
|
|
50
50
|
const t = e.gradientColors ?? "from-primary via-accent to-secondary";
|
|
51
51
|
return [(() => {
|
|
52
|
-
var
|
|
53
|
-
return A(() =>
|
|
52
|
+
var s = W();
|
|
53
|
+
return A(() => L(s, f("absolute inset-0 bg-gradient-to-r opacity-75", t, "animate-[gradient-rotate_3s_linear_infinite]"))), s;
|
|
54
54
|
})(), D()];
|
|
55
55
|
}, n = () => r() !== "spotlight" ? null : (() => {
|
|
56
56
|
var t = G();
|
|
57
|
-
return A((
|
|
58
|
-
400px circle at ${
|
|
57
|
+
return A((s) => z(t, "background", `radial-gradient(
|
|
58
|
+
400px circle at ${C().x}px ${C().y}px,
|
|
59
59
|
color-mix(in srgb, var(--primary) 18%, transparent),
|
|
60
60
|
transparent 40%
|
|
61
61
|
)`)), t;
|
|
62
62
|
})(), x = () => r() !== "shimmer" ? null : N(), $ = () => {
|
|
63
63
|
if (r() !== "glow") return {};
|
|
64
|
-
const t = e.glowColor ?? "var(--
|
|
64
|
+
const t = e.glowColor ?? "var(--glow)";
|
|
65
65
|
return {
|
|
66
|
-
"box-shadow": `0 0 0 1px ${t}
|
|
66
|
+
"box-shadow": [`0 0 0 1px color-mix(in srgb, ${t} 55%, transparent)`, `0 0 16px -4px color-mix(in srgb, ${t} 50%, transparent)`, `0 0 28px -8px color-mix(in srgb, ${t} 28%, transparent)`].join(", ")
|
|
67
67
|
};
|
|
68
68
|
};
|
|
69
69
|
return (() => {
|
|
70
|
-
var t = Z(),
|
|
70
|
+
var t = Z(), s = t.firstChild;
|
|
71
71
|
t.addEventListener("mouseleave", S), t.$$mousemove = M;
|
|
72
72
|
var c = u;
|
|
73
|
-
return typeof c == "function" ?
|
|
73
|
+
return typeof c == "function" ? E(c, t) : u = t, v(t, b({
|
|
74
74
|
get class() {
|
|
75
75
|
return f(T, P[r()], r() === "spotlight" && "group", e.class);
|
|
76
76
|
},
|
|
@@ -82,14 +82,14 @@ function ne(l) {
|
|
|
82
82
|
"transform-style": "preserve-3d"
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
-
}, o), !1, !0), i(t,
|
|
85
|
+
}, o), !1, !0), i(t, j, s), i(t, n, s), i(t, x, s), i(s, () => e.children), A(() => L(s, f("relative z-10", r() === "gradient-border" && "relative"))), t;
|
|
86
86
|
})();
|
|
87
87
|
}
|
|
88
88
|
function le(l) {
|
|
89
|
-
const [e, o] =
|
|
89
|
+
const [e, o] = h(l, ["class", "children"]);
|
|
90
90
|
return (() => {
|
|
91
91
|
var r = k();
|
|
92
|
-
return
|
|
92
|
+
return v(r, b({
|
|
93
93
|
get class() {
|
|
94
94
|
return f("flex flex-col space-y-1.5 p-4", e.class);
|
|
95
95
|
}
|
|
@@ -97,32 +97,32 @@ function le(l) {
|
|
|
97
97
|
})();
|
|
98
98
|
}
|
|
99
99
|
function oe(l) {
|
|
100
|
-
const [e, o] =
|
|
100
|
+
const [e, o] = h(l, ["class", "children"]);
|
|
101
101
|
return (() => {
|
|
102
102
|
var r = J();
|
|
103
|
-
return
|
|
103
|
+
return v(r, b({
|
|
104
104
|
get class() {
|
|
105
105
|
return f("text-sm font-semibold leading-none tracking-tight", e.class);
|
|
106
106
|
}
|
|
107
107
|
}, o), !1, !0), i(r, () => e.children), r;
|
|
108
108
|
})();
|
|
109
109
|
}
|
|
110
|
-
function
|
|
111
|
-
const [e, o] =
|
|
110
|
+
function se(l) {
|
|
111
|
+
const [e, o] = h(l, ["class", "children"]);
|
|
112
112
|
return (() => {
|
|
113
113
|
var r = K();
|
|
114
|
-
return
|
|
114
|
+
return v(r, b({
|
|
115
115
|
get class() {
|
|
116
116
|
return f("text-xs text-muted-foreground", e.class);
|
|
117
117
|
}
|
|
118
118
|
}, o), !1, !0), i(r, () => e.children), r;
|
|
119
119
|
})();
|
|
120
120
|
}
|
|
121
|
-
function
|
|
122
|
-
const [e, o] =
|
|
121
|
+
function ae(l) {
|
|
122
|
+
const [e, o] = h(l, ["class", "children"]);
|
|
123
123
|
return (() => {
|
|
124
124
|
var r = k();
|
|
125
|
-
return
|
|
125
|
+
return v(r, b({
|
|
126
126
|
get class() {
|
|
127
127
|
return f("p-4 pt-0", e.class);
|
|
128
128
|
}
|
|
@@ -130,10 +130,10 @@ function se(l) {
|
|
|
130
130
|
})();
|
|
131
131
|
}
|
|
132
132
|
function ie(l) {
|
|
133
|
-
const [e, o] =
|
|
133
|
+
const [e, o] = h(l, ["class", "children"]);
|
|
134
134
|
return (() => {
|
|
135
135
|
var r = k();
|
|
136
|
-
return
|
|
136
|
+
return v(r, b({
|
|
137
137
|
get class() {
|
|
138
138
|
return f("flex items-center p-4 pt-0", e.class);
|
|
139
139
|
}
|
|
@@ -141,15 +141,15 @@ function ie(l) {
|
|
|
141
141
|
})();
|
|
142
142
|
}
|
|
143
143
|
function de(l) {
|
|
144
|
-
const [e, o] =
|
|
144
|
+
const [e, o] = h(l, ["intensity", "shine", "borderGlow", "class", "children", "style"]), [r, d] = F(""), [m, u] = F({
|
|
145
145
|
x: 50,
|
|
146
146
|
y: 50
|
|
147
|
-
}), [
|
|
147
|
+
}), [a, _] = F(!1);
|
|
148
148
|
let y, p = null, M = 0, S = 0;
|
|
149
|
-
const
|
|
149
|
+
const C = () => e.intensity ?? 10, X = () => {
|
|
150
150
|
if (p = null, !y) return;
|
|
151
|
-
const n = y.getBoundingClientRect(), x = M - n.left, $ = S - n.top, t = n.width / 2,
|
|
152
|
-
d(`perspective(1000px) rotateX(${-c}deg) rotateY(${
|
|
151
|
+
const n = y.getBoundingClientRect(), x = M - n.left, $ = S - n.top, t = n.width / 2, s = n.height / 2, c = ($ - s) / s * C(), w = (t - x) / t * C();
|
|
152
|
+
d(`perspective(1000px) rotateX(${-c}deg) rotateY(${w}deg)`), e.shine && u({
|
|
153
153
|
x: x / n.width * 100,
|
|
154
154
|
y: $ / n.height * 100
|
|
155
155
|
});
|
|
@@ -161,18 +161,18 @@ function de(l) {
|
|
|
161
161
|
}
|
|
162
162
|
p = requestAnimationFrame(X);
|
|
163
163
|
}
|
|
164
|
-
}, P = () => _(!0),
|
|
164
|
+
}, P = () => _(!0), j = () => {
|
|
165
165
|
p !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(p), p = null), _(!1), d("perspective(1000px) rotateX(0deg) rotateY(0deg)");
|
|
166
166
|
};
|
|
167
167
|
return q(() => {
|
|
168
168
|
p !== null && typeof cancelAnimationFrame < "u" && (cancelAnimationFrame(p), p = null);
|
|
169
169
|
}), (() => {
|
|
170
170
|
var n = O(), x = n.firstChild;
|
|
171
|
-
n.addEventListener("mouseleave",
|
|
171
|
+
n.addEventListener("mouseleave", j), n.addEventListener("mouseenter", P), n.$$mousemove = T;
|
|
172
172
|
var $ = y;
|
|
173
|
-
return typeof $ == "function" ?
|
|
173
|
+
return typeof $ == "function" ? E($, n) : y = n, v(n, b({
|
|
174
174
|
get class() {
|
|
175
|
-
return f("relative rounded-xl bg-card border border-border overflow-hidden", "transition-all duration-200 ease-out", e.borderGlow &&
|
|
175
|
+
return f("relative rounded-xl bg-card border border-border overflow-hidden", "transition-all duration-200 ease-out", e.borderGlow && a() && "shadow-[0_0_18px_-6px_var(--glow)]", e.class);
|
|
176
176
|
},
|
|
177
177
|
get style() {
|
|
178
178
|
return {
|
|
@@ -184,27 +184,27 @@ function de(l) {
|
|
|
184
184
|
}, o), !1, !0), i(n, (() => {
|
|
185
185
|
var t = R(() => !!e.shine);
|
|
186
186
|
return () => t() && (() => {
|
|
187
|
-
var
|
|
187
|
+
var s = Q();
|
|
188
188
|
return A((c) => {
|
|
189
|
-
var
|
|
189
|
+
var w = !!a(), Y = `radial-gradient(
|
|
190
190
|
circle at ${m().x}% ${m().y}%,
|
|
191
191
|
color-mix(in srgb, var(--primary) 18%, transparent) 0%,
|
|
192
192
|
transparent 50%
|
|
193
193
|
)`;
|
|
194
|
-
return
|
|
194
|
+
return w !== c.e && s.classList.toggle("opacity-100", c.e = w), Y !== c.t && z(s, "background", c.t = Y), c;
|
|
195
195
|
}, {
|
|
196
196
|
e: void 0,
|
|
197
197
|
t: void 0
|
|
198
|
-
}),
|
|
198
|
+
}), s;
|
|
199
199
|
})();
|
|
200
200
|
})(), x), i(x, () => e.children), n;
|
|
201
201
|
})();
|
|
202
202
|
}
|
|
203
203
|
function ce(l) {
|
|
204
|
-
const [e, o] =
|
|
204
|
+
const [e, o] = h(l, ["duration", "borderWidth", "colors", "class", "children", "style"]), r = () => e.duration ?? 3, d = () => e.borderWidth ?? 2;
|
|
205
205
|
return (() => {
|
|
206
|
-
var m = U(), u = m.firstChild,
|
|
207
|
-
return
|
|
206
|
+
var m = U(), u = m.firstChild, a = u.nextSibling;
|
|
207
|
+
return v(m, b({
|
|
208
208
|
get class() {
|
|
209
209
|
return f("relative rounded-xl p-[2px] overflow-hidden", e.class);
|
|
210
210
|
},
|
|
@@ -214,14 +214,14 @@ function ce(l) {
|
|
|
214
214
|
padding: `${d()}px`
|
|
215
215
|
};
|
|
216
216
|
}
|
|
217
|
-
}, o), !1, !0), i(
|
|
217
|
+
}, o), !1, !0), i(a, () => e.children), A((_) => z(u, "animation", `spin ${r()}s linear infinite`)), m;
|
|
218
218
|
})();
|
|
219
219
|
}
|
|
220
220
|
function ue(l) {
|
|
221
|
-
const [e, o] =
|
|
221
|
+
const [e, o] = h(l, ["color", "pulse", "class", "children", "style"]), r = () => e.color ?? "var(--glow)";
|
|
222
222
|
return (() => {
|
|
223
223
|
var d = k();
|
|
224
|
-
return
|
|
224
|
+
return v(d, b({
|
|
225
225
|
get class() {
|
|
226
226
|
return f("relative rounded-xl bg-card border-2 transition-shadow duration-300", e.pulse && "animate-pulse", e.class);
|
|
227
227
|
},
|
|
@@ -229,19 +229,19 @@ function ue(l) {
|
|
|
229
229
|
return {
|
|
230
230
|
...typeof e.style == "object" ? e.style : {},
|
|
231
231
|
"border-color": r(),
|
|
232
|
-
"box-shadow": `0 0
|
|
232
|
+
"box-shadow": [`0 0 4px color-mix(in srgb, ${r()} 80%, transparent)`, `0 0 14px color-mix(in srgb, ${r()} 50%, transparent)`, `0 0 28px color-mix(in srgb, ${r()} 30%, transparent)`, `inset 0 0 14px color-mix(in srgb, ${r()} 10%, transparent)`].join(", ")
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
235
|
}, o), !1, !0), i(d, () => e.children), d;
|
|
236
236
|
})();
|
|
237
237
|
}
|
|
238
238
|
function pe(l) {
|
|
239
|
-
const [e, o] =
|
|
239
|
+
const [e, o] = h(l, ["class", "children", "style"]);
|
|
240
240
|
return (() => {
|
|
241
241
|
var r = V(), d = r.firstChild, m = d.firstChild;
|
|
242
242
|
m.nextSibling;
|
|
243
243
|
var u = d.nextSibling;
|
|
244
|
-
return
|
|
244
|
+
return v(r, b({
|
|
245
245
|
get class() {
|
|
246
246
|
return f("relative rounded-2xl bg-card/80 backdrop-blur-sm border border-border overflow-hidden", e.class);
|
|
247
247
|
},
|
|
@@ -255,8 +255,8 @@ H(["mousemove"]);
|
|
|
255
255
|
export {
|
|
256
256
|
ce as AnimatedBorderCard,
|
|
257
257
|
ne as Card,
|
|
258
|
-
|
|
259
|
-
|
|
258
|
+
ae as CardContent,
|
|
259
|
+
se as CardDescription,
|
|
260
260
|
ie as CardFooter,
|
|
261
261
|
le as CardHeader,
|
|
262
262
|
oe as CardTitle,
|
package/dist/floe.css
CHANGED
|
@@ -174,6 +174,7 @@
|
|
|
174
174
|
.bg-muted\/20 { background-color: color-mix(in srgb, var(--muted) 20%, transparent); }
|
|
175
175
|
.bg-muted\/30 { background-color: color-mix(in srgb, var(--muted) 30%, transparent); }
|
|
176
176
|
.bg-muted\/40 { background-color: color-mix(in srgb, var(--muted) 40%, transparent); }
|
|
177
|
+
.hover\:bg-muted\/30:hover { background-color: color-mix(in srgb, var(--muted) 30%, transparent); }
|
|
177
178
|
.bg-muted\/50 { background-color: color-mix(in srgb, var(--muted) 50%, transparent); }
|
|
178
179
|
.bg-muted\/70 { background-color: color-mix(in srgb, var(--muted) 70%, transparent); }
|
|
179
180
|
.bg-muted\/80 { background-color: color-mix(in srgb, var(--muted) 80%, transparent); }
|
|
@@ -219,17 +220,18 @@
|
|
|
219
220
|
.hover\:bg-muted\/50:hover { background-color: color-mix(in srgb, var(--muted) 50%, transparent); }
|
|
220
221
|
.hover\:bg-muted\/60:hover { background-color: color-mix(in srgb, var(--muted) 60%, transparent); }
|
|
221
222
|
.hover\:bg-muted\/70:hover { background-color: color-mix(in srgb, var(--muted) 70%, transparent); }
|
|
222
|
-
.hover\:bg-muted\/80:hover { background-color: color-mix(in srgb, var(--muted) 80%, transparent); }
|
|
223
|
-
.hover\:bg-accent\/40:hover { background-color: color-mix(in srgb, var(--accent) 40%, transparent); }
|
|
223
|
+
.hover\:bg-muted\/80:hover { background-color: color-mix(in srgb, var(--muted) 80%, transparent); } .hover\:bg-accent\/40:hover { background-color: color-mix(in srgb, var(--accent) 40%, transparent); }
|
|
224
224
|
.hover\:bg-accent\/60:hover { background-color: color-mix(in srgb, var(--accent) 60%, transparent); }
|
|
225
225
|
.hover\:bg-sidebar-accent\/80:hover { background-color: color-mix(in srgb, var(--sidebar-accent) 80%, transparent); }
|
|
226
226
|
.hover\:bg-sidebar-accent\/60:hover { background-color: color-mix(in srgb, var(--sidebar-accent) 60%, transparent); }
|
|
227
227
|
.hover\:bg-error\/10:hover { background-color: color-mix(in srgb, var(--error) 10%, transparent); }
|
|
228
228
|
.hover\:border-border\/50:hover { border-color: color-mix(in srgb, var(--border) 50%, transparent); }
|
|
229
|
+
.hover\:border-border\/70:hover { border-color: color-mix(in srgb, var(--border) 70%, transparent); }
|
|
229
230
|
.hover\:border-primary\/50:hover { border-color: color-mix(in srgb, var(--primary) 50%, transparent); }
|
|
230
231
|
.hover\:border-muted-foreground\/50:hover { border-color: color-mix(in srgb, var(--muted-foreground) 50%, transparent); }
|
|
231
232
|
.hover\:text-primary:hover { color: var(--primary); }
|
|
232
233
|
.border-border\/50 { border-color: color-mix(in srgb, var(--border) 50%, transparent); }
|
|
234
|
+
.border-border\/40 { border-color: color-mix(in srgb, var(--border) 40%, transparent); }
|
|
233
235
|
.disabled\:hover\:bg-muted\/50:disabled:hover { background-color: color-mix(in srgb, var(--muted) 50%, transparent); }
|
|
234
236
|
.disabled\:hover\:text-muted-foreground:disabled:hover { color: var(--muted-foreground); }
|
|
235
237
|
|
|
@@ -249,12 +251,12 @@
|
|
|
249
251
|
* {
|
|
250
252
|
border-color: var(--border);
|
|
251
253
|
scrollbar-width: thin;
|
|
252
|
-
scrollbar-color: var(--muted) transparent;
|
|
254
|
+
scrollbar-color: color-mix(in srgb, var(--muted-foreground) 28%, transparent) transparent;
|
|
253
255
|
}
|
|
254
256
|
|
|
255
257
|
*::-webkit-scrollbar {
|
|
256
|
-
width: 0.
|
|
257
|
-
height: 0.
|
|
258
|
+
width: 0.375rem;
|
|
259
|
+
height: 0.375rem;
|
|
258
260
|
}
|
|
259
261
|
|
|
260
262
|
*::-webkit-scrollbar-track {
|
|
@@ -262,12 +264,12 @@
|
|
|
262
264
|
}
|
|
263
265
|
|
|
264
266
|
*::-webkit-scrollbar-thumb {
|
|
265
|
-
background: var(--muted);
|
|
267
|
+
background: color-mix(in srgb, var(--muted-foreground) 28%, transparent);
|
|
266
268
|
border-radius: 9999px;
|
|
267
269
|
}
|
|
268
270
|
|
|
269
271
|
*::-webkit-scrollbar-thumb:hover {
|
|
270
|
-
background: color-mix(in srgb, var(--muted-foreground)
|
|
272
|
+
background: color-mix(in srgb, var(--muted-foreground) 48%, transparent);
|
|
271
273
|
}
|
|
272
274
|
|
|
273
275
|
html {
|
|
@@ -749,9 +751,13 @@
|
|
|
749
751
|
|
|
750
752
|
@keyframes glow-pulse {
|
|
751
753
|
0%, 100% {
|
|
752
|
-
box-shadow:
|
|
754
|
+
box-shadow:
|
|
755
|
+
0 0 4px color-mix(in srgb, var(--glow) 70%, transparent),
|
|
756
|
+
0 0 14px color-mix(in srgb, var(--glow) 45%, transparent);
|
|
753
757
|
}
|
|
754
758
|
50% {
|
|
755
|
-
box-shadow:
|
|
759
|
+
box-shadow:
|
|
760
|
+
0 0 12px color-mix(in srgb, var(--glow) 70%, transparent),
|
|
761
|
+
0 0 28px color-mix(in srgb, var(--glow) 38%, transparent);
|
|
756
762
|
}
|
|
757
763
|
}
|
|
@@ -18,7 +18,7 @@ const n = {
|
|
|
18
18
|
"--secondary-foreground": "hsl(214 25% 25%)",
|
|
19
19
|
"--muted": "hsl(36 15% 94%)",
|
|
20
20
|
"--muted-foreground": "hsl(215 16% 42%)",
|
|
21
|
-
"--accent": "hsl(34
|
|
21
|
+
"--accent": "hsl(34 9% 85%)",
|
|
22
22
|
"--accent-foreground": "hsl(214 26% 17%)",
|
|
23
23
|
"--border": "hsl(35 13% 82%)",
|
|
24
24
|
"--input": "hsl(37 15% 76%)",
|
|
@@ -46,16 +46,16 @@ const n = {
|
|
|
46
46
|
"--highlight-block-error-accent": "oklch(0.55 0.16 25)",
|
|
47
47
|
"--highlight-block-note-accent": "oklch(0.52 0.16 285)",
|
|
48
48
|
"--highlight-block-tip-accent": "oklch(0.52 0.12 175)",
|
|
49
|
-
"--sidebar": "hsl(
|
|
49
|
+
"--sidebar": "hsl(34 13% 90%)",
|
|
50
50
|
"--sidebar-foreground": "hsl(214 26% 17%)",
|
|
51
51
|
"--sidebar-primary": "hsl(214 26% 17%)",
|
|
52
52
|
"--sidebar-primary-foreground": "hsl(36 100% 99%)",
|
|
53
|
-
"--sidebar-accent": "hsl(34
|
|
53
|
+
"--sidebar-accent": "hsl(34 9% 84%)",
|
|
54
54
|
"--sidebar-accent-foreground": "hsl(214 26% 17%)",
|
|
55
|
-
"--sidebar-border": "hsl(33
|
|
55
|
+
"--sidebar-border": "hsl(33 9% 82%)",
|
|
56
56
|
"--sidebar-ring": "hsl(214 26% 17%)",
|
|
57
|
-
"--activity-bar": "hsl(
|
|
58
|
-
"--activity-bar-foreground": "hsl(215
|
|
57
|
+
"--activity-bar": "hsl(34 11% 90%)",
|
|
58
|
+
"--activity-bar-foreground": "hsl(215 14% 46%)",
|
|
59
59
|
"--activity-bar-foreground-active": "hsl(214 26% 17%)",
|
|
60
60
|
"--activity-bar-badge": "hsl(214 26% 17%)",
|
|
61
61
|
"--activity-bar-badge-foreground": "hsl(36 100% 99%)",
|
|
@@ -71,29 +71,30 @@ const n = {
|
|
|
71
71
|
"--selection-on-primary-bg": "hsl(38 92% 50%)",
|
|
72
72
|
"--selection-on-primary-fg": "hsl(214 26% 17%)",
|
|
73
73
|
"--selection-code-bg": "hsl(212 100% 67%)",
|
|
74
|
-
"--selection-code-fg": "hsl(220 20% 8%)"
|
|
74
|
+
"--selection-code-fg": "hsl(220 20% 8%)",
|
|
75
|
+
"--glow": "hsl(214 26% 17%)"
|
|
75
76
|
}, i = {
|
|
76
77
|
"--background": "hsl(222 30% 8%)",
|
|
77
78
|
"--foreground": "hsl(210 20% 98%)",
|
|
78
79
|
"--primary": "hsl(210 20% 98%)",
|
|
79
80
|
"--primary-foreground": "hsl(222 30% 10%)",
|
|
80
|
-
"--secondary": "hsl(220
|
|
81
|
+
"--secondary": "hsl(220 18% 15%)",
|
|
81
82
|
"--secondary-foreground": "hsl(210 20% 98%)",
|
|
82
|
-
"--muted": "hsl(220
|
|
83
|
-
"--muted-foreground": "hsl(215
|
|
84
|
-
"--accent": "hsl(220
|
|
83
|
+
"--muted": "hsl(220 16% 16%)",
|
|
84
|
+
"--muted-foreground": "hsl(215 16% 56%)",
|
|
85
|
+
"--accent": "hsl(220 14% 19%)",
|
|
85
86
|
"--accent-foreground": "hsl(210 20% 98%)",
|
|
86
|
-
"--border": "hsl(220
|
|
87
|
-
"--input": "hsl(220
|
|
87
|
+
"--border": "hsl(220 16% 20%)",
|
|
88
|
+
"--input": "hsl(220 18% 15%)",
|
|
88
89
|
"--ring": "hsl(215 25% 70%)",
|
|
89
|
-
"--chrome-border": "
|
|
90
|
+
"--chrome-border": "hsl(220 16% 13%)",
|
|
90
91
|
"--top-bar-border": "var(--chrome-border)",
|
|
91
92
|
"--activity-bar-border": "var(--chrome-border)",
|
|
92
93
|
"--bottom-bar-border": "var(--chrome-border)",
|
|
93
94
|
"--terminal-panel-border": "var(--chrome-border)",
|
|
94
|
-
"--card": "hsl(
|
|
95
|
+
"--card": "hsl(220 20% 13%)",
|
|
95
96
|
"--card-foreground": "hsl(210 20% 98%)",
|
|
96
|
-
"--popover": "hsl(
|
|
97
|
+
"--popover": "hsl(220 18% 15%)",
|
|
97
98
|
"--popover-foreground": "hsl(210 20% 98%)",
|
|
98
99
|
"--success": "oklch(0.72 0.19 150)",
|
|
99
100
|
"--success-foreground": "hsl(222 30% 10%)",
|
|
@@ -109,17 +110,17 @@ const n = {
|
|
|
109
110
|
"--highlight-block-error-accent": "oklch(0.6 0.14 25)",
|
|
110
111
|
"--highlight-block-note-accent": "oklch(0.62 0.14 285)",
|
|
111
112
|
"--highlight-block-tip-accent": "oklch(0.6 0.1 175)",
|
|
112
|
-
"--sidebar": "hsl(
|
|
113
|
+
"--sidebar": "hsl(221 22% 11%)",
|
|
113
114
|
"--sidebar-foreground": "hsl(210 20% 98%)",
|
|
114
115
|
"--sidebar-primary": "hsl(217 80% 55%)",
|
|
115
116
|
"--sidebar-primary-foreground": "hsl(0 0% 100%)",
|
|
116
|
-
"--sidebar-accent": "hsl(220
|
|
117
|
+
"--sidebar-accent": "hsl(220 14% 19%)",
|
|
117
118
|
"--sidebar-accent-foreground": "hsl(210 20% 98%)",
|
|
118
|
-
"--sidebar-border": "hsl(220
|
|
119
|
+
"--sidebar-border": "hsl(220 16% 13%)",
|
|
119
120
|
"--sidebar-ring": "hsl(217 80% 55%)",
|
|
120
|
-
"--activity-bar": "hsl(222
|
|
121
|
-
"--activity-bar-foreground": "hsl(215
|
|
122
|
-
"--activity-bar-foreground-active": "hsl(210 20%
|
|
121
|
+
"--activity-bar": "hsl(222 28% 7%)",
|
|
122
|
+
"--activity-bar-foreground": "hsl(215 16% 50%)",
|
|
123
|
+
"--activity-bar-foreground-active": "hsl(210 20% 96%)",
|
|
123
124
|
"--activity-bar-badge": "hsl(217 80% 55%)",
|
|
124
125
|
"--activity-bar-badge-foreground": "hsl(0 0% 100%)",
|
|
125
126
|
"--terminal-background": "hsl(222 32% 7%)",
|
|
@@ -134,7 +135,8 @@ const n = {
|
|
|
134
135
|
"--selection-on-primary-bg": "hsl(215 80% 35%)",
|
|
135
136
|
"--selection-on-primary-fg": "hsl(0 0% 100%)",
|
|
136
137
|
"--selection-code-bg": "hsl(212 100% 67%)",
|
|
137
|
-
"--selection-code-fg": "hsl(220 20% 8%)"
|
|
138
|
+
"--selection-code-fg": "hsl(220 20% 8%)",
|
|
139
|
+
"--glow": "hsl(217 65% 52%)"
|
|
138
140
|
}, t = a(n), d = a(i);
|
|
139
141
|
export {
|
|
140
142
|
d as CLASSIC_DARK_SEMANTIC_TOKENS,
|