linear-grab 0.12.1 → 0.12.2
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/README.md +1 -1
- package/dist/index.global.js +3 -3
- package/dist/linear-grab.js +269 -224
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -42802,8 +42802,8 @@ function OQ(e) {
|
|
|
42802
42802
|
//#endregion
|
|
42803
42803
|
//#region src/panel/views/ActivityView.tsx
|
|
42804
42804
|
zr();
|
|
42805
|
-
var kQ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\">"), AQ = /*#__PURE__*/ M("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), jQ = /*#__PURE__*/ M("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), MQ = /*#__PURE__*/ M("<div class=\"flex-1 overflow-y-auto\">"), NQ = /*#__PURE__*/ M("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), PQ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">My issues</span><div class=\"flex items-center gap-2\">"), FQ = /*#__PURE__*/ M("<div style=position:absolute;top:0;left:0;width:100%>"), IQ = /*#__PURE__*/ M("<button class=\"w-full cursor-pointer rounded-md px-2 py-1.5 text-left hover:bg-surface-2 transition-colors\"><div class=\"flex items-center gap-1.5 min-w-0\"><span class=\"font-mono text-[11px] text-text-dim shrink-0\"></span><span class=\"truncate text-[12.5px] text-text\"></span></div><div class=\"mt-0.5 flex items-center gap-1.5\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), LQ = /*#__PURE__*/ M("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), RQ = /*#__PURE__*/ M("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), zQ = /*#__PURE__*/ M("<span class=\"truncate text-[12px] font-medium text-text\">"), BQ = /*#__PURE__*/ M("<span class=\"text-[11.5px] text-text-faint\">Loading…"), VQ = /*#__PURE__*/ M("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), HQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-2\">"), UQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Attachments</span><div class=\"flex flex-wrap gap-1.5\">"), WQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), GQ = /*#__PURE__*/ M("<option value=new>Start NEW agent (@<!>)"), KQ = /*#__PURE__*/ M("<option value=comment>Comment only"), qQ = /*#__PURE__*/ M("<span class=\"inline-block min-w-[4ch] text-left\">Send"), JQ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 flex-col gap-1 border-b px-3 py-2\"><div class=\"flex items-center gap-2\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pl-3 pr-4 py-3 flex flex-col gap-3\"></div><div class=\"border-border shrink-0 border-t p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-2\">"), YQ = /*#__PURE__*/ M("<a target=_blank rel=noreferrer class=\"max-w-[200px] truncate text-[11.5px] text-accent hover:underline\">"),
|
|
42806
|
-
function
|
|
42805
|
+
var kQ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\">"), AQ = /*#__PURE__*/ M("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), jQ = /*#__PURE__*/ M("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), MQ = /*#__PURE__*/ M("<div class=\"flex-1 overflow-y-auto\">"), NQ = /*#__PURE__*/ M("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), PQ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">My issues</span><div class=\"flex items-center gap-2\">"), FQ = /*#__PURE__*/ M("<div style=position:absolute;top:0;left:0;width:100%>"), IQ = /*#__PURE__*/ M("<button class=\"w-full cursor-pointer rounded-md px-2 py-1.5 text-left hover:bg-surface-2 transition-colors\"><div class=\"flex items-center gap-1.5 min-w-0\"><span class=\"font-mono text-[11px] text-text-dim shrink-0\"></span><span class=\"truncate text-[12.5px] text-text\"></span></div><div class=\"mt-0.5 flex items-center gap-1.5\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), LQ = /*#__PURE__*/ M("<span class=\"inline-block min-w-[6ch] text-left\">← Back"), RQ = /*#__PURE__*/ M("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), zQ = /*#__PURE__*/ M("<span class=\"truncate text-[12px] font-medium text-text\">"), BQ = /*#__PURE__*/ M("<span class=\"text-[11.5px] text-text-faint\">Loading…"), VQ = /*#__PURE__*/ M("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), HQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-2\">"), UQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Attachments</span><div class=\"flex flex-wrap gap-1.5\">"), WQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), GQ = /*#__PURE__*/ M("<option value=new>Start NEW agent (@<!>)"), KQ = /*#__PURE__*/ M("<option value=comment>Comment only"), qQ = /*#__PURE__*/ M("<span class=\"inline-block min-w-[4ch] text-left\">Send"), JQ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 flex-col gap-1 border-b px-3 py-2\"><div class=\"flex items-center gap-2\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pl-3 pr-4 py-3 flex flex-col gap-3\"></div><div class=\"border-border shrink-0 border-t p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-2\">"), YQ = /*#__PURE__*/ M("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden>🖥</span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><button class=\"hover:bg-surface-2 flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), XQ = /*#__PURE__*/ M("<a target=_blank rel=noreferrer class=\"max-w-[200px] truncate text-[11.5px] text-accent hover:underline\">"), ZQ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-0.5\"><div class=\"flex items-center gap-1.5\"><span class=\"text-[11px] font-medium text-text-dim\"></span><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\"></span></div><div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), QQ = /*#__PURE__*/ M("<option>Steer running agent<!> · "), $Q = /*#__PURE__*/ M("<span class=\"text-[11px] text-text-dim\">"), e$ = /*#__PURE__*/ M("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), t$ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-0.5 border-t border-border pt-1.5 mt-0.5\">"), n$ = /*#__PURE__*/ M("<div class=\"bg-surface border-border rounded-lg border p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-1.5 flex-wrap\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), r$ = /*#__PURE__*/ M("<div class=\"flex items-start gap-1.5\"><span class=\"tabular-nums text-[10px] text-text-faint shrink-0 mt-px\"></span><span class=\"text-[11px] text-text-dim break-words min-w-0\">");
|
|
42806
|
+
function i$() {
|
|
42807
42807
|
let [e, t] = w(null);
|
|
42808
42808
|
return D(() => {
|
|
42809
42809
|
let e = UA();
|
|
@@ -42815,7 +42815,7 @@ function r$() {
|
|
|
42815
42815
|
return e() === null;
|
|
42816
42816
|
},
|
|
42817
42817
|
get fallback() {
|
|
42818
|
-
return A(
|
|
42818
|
+
return A(s$, {
|
|
42819
42819
|
get issueId() {
|
|
42820
42820
|
return e();
|
|
42821
42821
|
},
|
|
@@ -42823,12 +42823,12 @@ function r$() {
|
|
|
42823
42823
|
});
|
|
42824
42824
|
},
|
|
42825
42825
|
get children() {
|
|
42826
|
-
return A(
|
|
42826
|
+
return A(a$, { onSelect: (e) => t(e) });
|
|
42827
42827
|
}
|
|
42828
42828
|
})), n;
|
|
42829
42829
|
})();
|
|
42830
42830
|
}
|
|
42831
|
-
function
|
|
42831
|
+
function a$(e) {
|
|
42832
42832
|
let t, n = vr(() => ({
|
|
42833
42833
|
queryKey: ["my-issues"],
|
|
42834
42834
|
queryFn: uO,
|
|
@@ -42900,7 +42900,7 @@ function i$(e) {
|
|
|
42900
42900
|
let n = O(() => r()[t.index]);
|
|
42901
42901
|
return (() => {
|
|
42902
42902
|
var r = FQ();
|
|
42903
|
-
return N(r, A(
|
|
42903
|
+
return N(r, A(o$, {
|
|
42904
42904
|
get issue() {
|
|
42905
42905
|
return n();
|
|
42906
42906
|
},
|
|
@@ -42915,7 +42915,7 @@ function i$(e) {
|
|
|
42915
42915
|
}), null), a;
|
|
42916
42916
|
})();
|
|
42917
42917
|
}
|
|
42918
|
-
function
|
|
42918
|
+
function o$(e) {
|
|
42919
42919
|
return (() => {
|
|
42920
42920
|
var t = IQ(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
|
|
42921
42921
|
return t.$$click = () => e.onSelect(e.issue.id), N(n, A(vj, { get color() {
|
|
@@ -42947,7 +42947,7 @@ function a$(e) {
|
|
|
42947
42947
|
}), o), N(o, () => Sj(e.issue.updatedAt)), t;
|
|
42948
42948
|
})();
|
|
42949
42949
|
}
|
|
42950
|
-
function
|
|
42950
|
+
function s$(e) {
|
|
42951
42951
|
let t = cr(), n = vr(() => ({
|
|
42952
42952
|
queryKey: ["issue", e.issueId],
|
|
42953
42953
|
queryFn: () => dO(e.issueId),
|
|
@@ -42961,18 +42961,38 @@ function o$(e) {
|
|
|
42961
42961
|
})), i = vr(() => ({
|
|
42962
42962
|
queryKey: ["settings"],
|
|
42963
42963
|
queryFn: wr
|
|
42964
|
-
})),
|
|
42964
|
+
})), a = vr(() => ({
|
|
42965
|
+
queryKey: ["bridge-tasks"],
|
|
42966
|
+
queryFn: DO,
|
|
42967
|
+
refetchInterval: 5e3,
|
|
42968
|
+
retry: 0
|
|
42969
|
+
})), o = O(() => {
|
|
42970
|
+
let e = n.data?.identifier;
|
|
42971
|
+
return e ? a.data?.find((t) => t.title.startsWith(e)) : void 0;
|
|
42972
|
+
}), s = (e) => e.status === "running" ? {
|
|
42973
|
+
word: "Working…",
|
|
42974
|
+
cls: "text-accent"
|
|
42975
|
+
} : e.status === "done" ? {
|
|
42976
|
+
word: "Finished",
|
|
42977
|
+
cls: "text-success"
|
|
42978
|
+
} : e.status === "stopped" ? {
|
|
42979
|
+
word: "Stopped",
|
|
42980
|
+
cls: "text-warn"
|
|
42981
|
+
} : {
|
|
42982
|
+
word: "Error",
|
|
42983
|
+
cls: "text-danger"
|
|
42984
|
+
}, [c, l] = w(""), [u, d] = w(null), f = O(() => n.data ? yO(n.data.comments) : []), [p, m] = w("comment"), h = !1;
|
|
42965
42985
|
D(() => {
|
|
42966
|
-
if (
|
|
42967
|
-
|
|
42968
|
-
let e =
|
|
42969
|
-
e.length ?
|
|
42986
|
+
if (h || !n.data || !i.data) return;
|
|
42987
|
+
h = !0;
|
|
42988
|
+
let e = f();
|
|
42989
|
+
e.length ? m(`thread:${e[0].id}`) : n.data.delegate && i.data.cursorAgentId && m("new");
|
|
42970
42990
|
});
|
|
42971
|
-
let
|
|
42991
|
+
let g = yr(() => ({
|
|
42972
42992
|
mutationFn: async () => {
|
|
42973
|
-
let t =
|
|
42993
|
+
let t = c().trim();
|
|
42974
42994
|
if (!t) throw Error("Message is empty");
|
|
42975
|
-
let n = i.data ?? {}, r =
|
|
42995
|
+
let n = i.data ?? {}, r = p();
|
|
42976
42996
|
r.startsWith("thread:") ? await _O(e.issueId, t, r.slice(7)) : r === "new" && n.cursorAgentId ? await vO(e.issueId, t, {
|
|
42977
42997
|
name: n.cursorAgentName,
|
|
42978
42998
|
displayName: n.cursorAgentName ?? "Cursor",
|
|
@@ -42980,15 +43000,15 @@ function o$(e) {
|
|
|
42980
43000
|
}) : await _O(e.issueId, t);
|
|
42981
43001
|
},
|
|
42982
43002
|
onSuccess: () => {
|
|
42983
|
-
|
|
43003
|
+
l(""), d(null), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), SQ();
|
|
42984
43004
|
},
|
|
42985
43005
|
onError: (e) => {
|
|
42986
|
-
|
|
43006
|
+
d(e.message ?? "Failed to send");
|
|
42987
43007
|
}
|
|
42988
|
-
})),
|
|
43008
|
+
})), _ = O(() => n.data), v = O(() => r.data ?? []);
|
|
42989
43009
|
return (() => {
|
|
42990
|
-
var t = JQ(), r = t.firstChild,
|
|
42991
|
-
return N(
|
|
43010
|
+
var t = JQ(), r = t.firstChild, a = r.firstChild, d = r.nextSibling, h = d.nextSibling, y = h.firstChild;
|
|
43011
|
+
return N(a, A(lj, {
|
|
42992
43012
|
class: "min-w-[68px] shrink-0 text-[11px]",
|
|
42993
43013
|
get onClick() {
|
|
42994
43014
|
return e.onBack;
|
|
@@ -42996,67 +43016,92 @@ function o$(e) {
|
|
|
42996
43016
|
get children() {
|
|
42997
43017
|
return LQ();
|
|
42998
43018
|
}
|
|
42999
|
-
}), null), N(
|
|
43019
|
+
}), null), N(a, A(j, {
|
|
43000
43020
|
get when() {
|
|
43001
|
-
return
|
|
43021
|
+
return _();
|
|
43002
43022
|
},
|
|
43003
43023
|
get children() {
|
|
43004
43024
|
return [(() => {
|
|
43005
43025
|
var e = RQ();
|
|
43006
|
-
return N(e, () =>
|
|
43026
|
+
return N(e, () => _().identifier), e;
|
|
43007
43027
|
})(), (() => {
|
|
43008
43028
|
var e = zQ();
|
|
43009
|
-
return N(e, () =>
|
|
43029
|
+
return N(e, () => _().title), e;
|
|
43010
43030
|
})()];
|
|
43011
43031
|
}
|
|
43012
|
-
}), null), N(
|
|
43032
|
+
}), null), N(a, A(j, {
|
|
43013
43033
|
get when() {
|
|
43014
|
-
return et(() => !!n.isPending)() && !
|
|
43034
|
+
return et(() => !!n.isPending)() && !_();
|
|
43015
43035
|
},
|
|
43016
43036
|
get children() {
|
|
43017
43037
|
return BQ();
|
|
43018
43038
|
}
|
|
43019
43039
|
}), null), N(r, A(j, {
|
|
43020
43040
|
get when() {
|
|
43021
|
-
return
|
|
43041
|
+
return _();
|
|
43022
43042
|
},
|
|
43023
43043
|
get children() {
|
|
43024
43044
|
var e = VQ(), t = e.firstChild;
|
|
43025
43045
|
return N(e, A(vj, { get color() {
|
|
43026
|
-
return
|
|
43027
|
-
} }), t), N(t, () =>
|
|
43046
|
+
return _().state.color;
|
|
43047
|
+
} }), t), N(t, () => _().state.name), N(e, A(mj, {
|
|
43028
43048
|
get href() {
|
|
43029
|
-
return
|
|
43049
|
+
return _().url;
|
|
43030
43050
|
},
|
|
43031
43051
|
class: "ml-auto shrink-0",
|
|
43032
43052
|
children: "Open in Linear"
|
|
43033
43053
|
}), null), e;
|
|
43034
43054
|
}
|
|
43035
|
-
}), null), N(
|
|
43055
|
+
}), null), N(d, A(j, {
|
|
43036
43056
|
get when() {
|
|
43037
|
-
return
|
|
43057
|
+
return o();
|
|
43058
|
+
},
|
|
43059
|
+
children: (e) => {
|
|
43060
|
+
let t = () => s(e());
|
|
43061
|
+
return (() => {
|
|
43062
|
+
var n = YQ(), r = n.firstChild, i = r.firstChild.firstChild.nextSibling.nextSibling.nextSibling;
|
|
43063
|
+
i.firstChild;
|
|
43064
|
+
var a = r.nextSibling, o = a.firstChild, s = o.nextSibling;
|
|
43065
|
+
return N(i, () => Sj(e().startedAt), null), N(r, A(_j, { get children() {
|
|
43066
|
+
return e().model ?? "default";
|
|
43067
|
+
} }), null), a.$$click = () => GA("local"), N(a, A(j, {
|
|
43068
|
+
get when() {
|
|
43069
|
+
return e().status === "running";
|
|
43070
|
+
},
|
|
43071
|
+
get children() {
|
|
43072
|
+
return A(uj, { size: 12 });
|
|
43073
|
+
}
|
|
43074
|
+
}), o), N(o, () => t().word), N(s, (() => {
|
|
43075
|
+
var t = et(() => e().status === "done");
|
|
43076
|
+
return () => t() ? e().result ?? e().lastText : e().lastText;
|
|
43077
|
+
})()), E(() => ct(o, `shrink-0 text-[11.5px] font-medium ${t().cls}`)), n;
|
|
43078
|
+
})();
|
|
43079
|
+
}
|
|
43080
|
+
}), null), N(d, A(j, {
|
|
43081
|
+
get when() {
|
|
43082
|
+
return v().length > 0;
|
|
43038
43083
|
},
|
|
43039
43084
|
get children() {
|
|
43040
43085
|
var e = HQ();
|
|
43041
43086
|
return N(e, A(Ge, {
|
|
43042
43087
|
get each() {
|
|
43043
|
-
return
|
|
43088
|
+
return v();
|
|
43044
43089
|
},
|
|
43045
|
-
children: (e) => A(
|
|
43090
|
+
children: (e) => A(c$, { session: e })
|
|
43046
43091
|
})), e;
|
|
43047
43092
|
}
|
|
43048
|
-
}), null), N(
|
|
43093
|
+
}), null), N(d, A(j, {
|
|
43049
43094
|
get when() {
|
|
43050
|
-
return et(() => !!
|
|
43095
|
+
return et(() => !!_())() && _().attachments.length > 0;
|
|
43051
43096
|
},
|
|
43052
43097
|
get children() {
|
|
43053
43098
|
var e = UQ(), t = e.firstChild.nextSibling;
|
|
43054
43099
|
return N(t, A(Ge, {
|
|
43055
43100
|
get each() {
|
|
43056
|
-
return
|
|
43101
|
+
return _().attachments;
|
|
43057
43102
|
},
|
|
43058
43103
|
children: (e) => (() => {
|
|
43059
|
-
var t =
|
|
43104
|
+
var t = XQ();
|
|
43060
43105
|
return N(t, () => e.title), E((n) => {
|
|
43061
43106
|
var r = e.url, i = e.title;
|
|
43062
43107
|
return r !== n.e && at(t, "href", n.e = r), i !== n.t && at(t, "title", n.t = i), n;
|
|
@@ -43067,18 +43112,18 @@ function o$(e) {
|
|
|
43067
43112
|
})()
|
|
43068
43113
|
})), e;
|
|
43069
43114
|
}
|
|
43070
|
-
}), null), N(
|
|
43115
|
+
}), null), N(d, A(j, {
|
|
43071
43116
|
get when() {
|
|
43072
|
-
return et(() => !!
|
|
43117
|
+
return et(() => !!_())() && _().comments.length > 0;
|
|
43073
43118
|
},
|
|
43074
43119
|
get children() {
|
|
43075
43120
|
var e = WQ();
|
|
43076
43121
|
return e.firstChild, N(e, A(Ge, {
|
|
43077
43122
|
get each() {
|
|
43078
|
-
return
|
|
43123
|
+
return _().comments;
|
|
43079
43124
|
},
|
|
43080
43125
|
children: (e) => (() => {
|
|
43081
|
-
var t =
|
|
43126
|
+
var t = ZQ(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling;
|
|
43082
43127
|
return N(r, () => e.user?.displayName ?? e.user?.name ?? "Unknown"), N(n, A(j, {
|
|
43083
43128
|
get when() {
|
|
43084
43129
|
return e.user?.app;
|
|
@@ -43090,9 +43135,9 @@ function o$(e) {
|
|
|
43090
43135
|
})()
|
|
43091
43136
|
}), null), e;
|
|
43092
43137
|
}
|
|
43093
|
-
}), null), N(
|
|
43138
|
+
}), null), N(d, A(j, {
|
|
43094
43139
|
get when() {
|
|
43095
|
-
return et(() => !!(
|
|
43140
|
+
return et(() => !!(_() && _().comments.length === 0))() && v().length === 0;
|
|
43096
43141
|
},
|
|
43097
43142
|
get children() {
|
|
43098
43143
|
return A(yj, {
|
|
@@ -43100,9 +43145,9 @@ function o$(e) {
|
|
|
43100
43145
|
children: "Comments and agent sessions will appear here."
|
|
43101
43146
|
});
|
|
43102
43147
|
}
|
|
43103
|
-
}), null), N(
|
|
43148
|
+
}), null), N(d, A(j, {
|
|
43104
43149
|
get when() {
|
|
43105
|
-
return et(() => !!n.isError)() && !
|
|
43150
|
+
return et(() => !!n.isError)() && !_();
|
|
43106
43151
|
},
|
|
43107
43152
|
get children() {
|
|
43108
43153
|
return A(yj, {
|
|
@@ -43112,43 +43157,43 @@ function o$(e) {
|
|
|
43112
43157
|
}
|
|
43113
43158
|
});
|
|
43114
43159
|
}
|
|
43115
|
-
}), null), N(
|
|
43160
|
+
}), null), N(h, A(j, {
|
|
43116
43161
|
get when() {
|
|
43117
|
-
return
|
|
43162
|
+
return u();
|
|
43118
43163
|
},
|
|
43119
43164
|
get children() {
|
|
43120
43165
|
return A(bj, { get message() {
|
|
43121
|
-
return
|
|
43166
|
+
return u();
|
|
43122
43167
|
} });
|
|
43123
43168
|
}
|
|
43124
|
-
}),
|
|
43169
|
+
}), y), N(h, A(fj, {
|
|
43125
43170
|
rows: 2,
|
|
43126
43171
|
placeholder: "Reply — steer the agent or add context…",
|
|
43127
43172
|
get value() {
|
|
43128
|
-
return
|
|
43173
|
+
return c();
|
|
43129
43174
|
},
|
|
43130
|
-
onInput: (e) =>
|
|
43175
|
+
onInput: (e) => l(e.target.value),
|
|
43131
43176
|
get disabled() {
|
|
43132
|
-
return
|
|
43177
|
+
return g.isPending;
|
|
43133
43178
|
}
|
|
43134
|
-
}),
|
|
43179
|
+
}), y), N(y, A(pj, {
|
|
43135
43180
|
class: "min-w-0 flex-1",
|
|
43136
43181
|
get value() {
|
|
43137
|
-
return
|
|
43182
|
+
return p();
|
|
43138
43183
|
},
|
|
43139
|
-
onChange: (e) =>
|
|
43184
|
+
onChange: (e) => m(e.currentTarget.value),
|
|
43140
43185
|
get children() {
|
|
43141
43186
|
return [
|
|
43142
43187
|
A(Ge, {
|
|
43143
43188
|
get each() {
|
|
43144
|
-
return
|
|
43189
|
+
return f();
|
|
43145
43190
|
},
|
|
43146
43191
|
children: (e, t) => (() => {
|
|
43147
|
-
var n =
|
|
43192
|
+
var n = QQ(), r = n.firstChild.nextSibling;
|
|
43148
43193
|
return r.nextSibling, N(n, (() => {
|
|
43149
|
-
var e = et(() =>
|
|
43194
|
+
var e = et(() => f().length > 1);
|
|
43150
43195
|
return () => e() ? ` #${t() + 1}` : "";
|
|
43151
|
-
})(), r), N(n, () => Sj(e.createdAt), null), E(() => n.selected =
|
|
43196
|
+
})(), r), N(n, () => Sj(e.createdAt), null), E(() => n.selected = p() === `thread:${e.id}`), E(() => n.value = `thread:${e.id}`), n;
|
|
43152
43197
|
})()
|
|
43153
43198
|
}),
|
|
43154
43199
|
A(j, {
|
|
@@ -43157,38 +43202,38 @@ function o$(e) {
|
|
|
43157
43202
|
},
|
|
43158
43203
|
get children() {
|
|
43159
43204
|
var e = GQ(), t = e.firstChild.nextSibling;
|
|
43160
|
-
return t.nextSibling, N(e, () => i.data?.cursorAgentName ?? "Cursor", t), E(() => e.selected =
|
|
43205
|
+
return t.nextSibling, N(e, () => i.data?.cursorAgentName ?? "Cursor", t), E(() => e.selected = p() === "new"), e;
|
|
43161
43206
|
}
|
|
43162
43207
|
}),
|
|
43163
43208
|
(() => {
|
|
43164
43209
|
var e = KQ();
|
|
43165
|
-
return E(() => e.selected =
|
|
43210
|
+
return E(() => e.selected = p() === "comment"), e;
|
|
43166
43211
|
})()
|
|
43167
43212
|
];
|
|
43168
43213
|
}
|
|
43169
|
-
}), null), N(
|
|
43214
|
+
}), null), N(y, A(lj, {
|
|
43170
43215
|
class: "min-w-[52px] shrink-0",
|
|
43171
43216
|
variant: "primary",
|
|
43172
43217
|
get loading() {
|
|
43173
|
-
return
|
|
43218
|
+
return g.isPending;
|
|
43174
43219
|
},
|
|
43175
43220
|
get disabled() {
|
|
43176
|
-
return
|
|
43221
|
+
return c().trim().length === 0;
|
|
43177
43222
|
},
|
|
43178
|
-
onClick: () =>
|
|
43223
|
+
onClick: () => g.mutate(),
|
|
43179
43224
|
get children() {
|
|
43180
43225
|
return qQ();
|
|
43181
43226
|
}
|
|
43182
43227
|
}), null), t;
|
|
43183
43228
|
})();
|
|
43184
43229
|
}
|
|
43185
|
-
function
|
|
43230
|
+
function c$(e) {
|
|
43186
43231
|
let t = O(() => {
|
|
43187
43232
|
let t = e.session.status;
|
|
43188
43233
|
return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
|
|
43189
43234
|
}), n = O(() => e.session.activities.slice(-10));
|
|
43190
43235
|
return (() => {
|
|
43191
|
-
var r =
|
|
43236
|
+
var r = n$(), i = r.firstChild, a = i.firstChild;
|
|
43192
43237
|
return N(i, A(_j, {
|
|
43193
43238
|
get color() {
|
|
43194
43239
|
return t();
|
|
@@ -43201,7 +43246,7 @@ function s$(e) {
|
|
|
43201
43246
|
return e.session.appUser?.displayName;
|
|
43202
43247
|
},
|
|
43203
43248
|
get children() {
|
|
43204
|
-
var t =
|
|
43249
|
+
var t = $Q();
|
|
43205
43250
|
return N(t, () => e.session.appUser.displayName), t;
|
|
43206
43251
|
}
|
|
43207
43252
|
}), a), N(a, () => Sj(e.session.updatedAt)), N(r, A(j, {
|
|
@@ -43209,7 +43254,7 @@ function s$(e) {
|
|
|
43209
43254
|
return e.session.summary;
|
|
43210
43255
|
},
|
|
43211
43256
|
get children() {
|
|
43212
|
-
var t = $
|
|
43257
|
+
var t = e$();
|
|
43213
43258
|
return N(t, () => e.session.summary), t;
|
|
43214
43259
|
}
|
|
43215
43260
|
}), null), N(r, A(j, {
|
|
@@ -43217,7 +43262,7 @@ function s$(e) {
|
|
|
43217
43262
|
return n().length > 0;
|
|
43218
43263
|
},
|
|
43219
43264
|
get children() {
|
|
43220
|
-
var e =
|
|
43265
|
+
var e = t$();
|
|
43221
43266
|
return N(e, A(Ge, {
|
|
43222
43267
|
get each() {
|
|
43223
43268
|
return n();
|
|
@@ -43225,7 +43270,7 @@ function s$(e) {
|
|
|
43225
43270
|
children: (e) => {
|
|
43226
43271
|
let t = e.content, n = String(t?.body ?? t?.text ?? t?.type ?? JSON.stringify(t)).slice(0, 300);
|
|
43227
43272
|
return (() => {
|
|
43228
|
-
var t =
|
|
43273
|
+
var t = r$(), r = t.firstChild, i = r.nextSibling;
|
|
43229
43274
|
return N(r, () => Sj(e.createdAt)), N(i, n), t;
|
|
43230
43275
|
})();
|
|
43231
43276
|
}
|
|
@@ -43237,7 +43282,7 @@ function s$(e) {
|
|
|
43237
43282
|
it(["click"]);
|
|
43238
43283
|
//#endregion
|
|
43239
43284
|
//#region src/panel/views/LocalView.tsx
|
|
43240
|
-
var
|
|
43285
|
+
var l$ = /*#__PURE__*/ M("<div class=\"border-accent/40 bg-accent-soft self-end rounded-lg border px-2.5 py-1.5\"><p class=\"text-accent mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase\">You</p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), u$ = /*#__PURE__*/ M("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), d$ = /*#__PURE__*/ M("<p>"), f$ = /*#__PURE__*/ M("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running · "), p$ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1.5\">"), m$ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Local Claude Code</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), h$ = /*#__PURE__*/ M("<span class=\"bg-surface-2 border-border font-mono mt-2 block rounded-md border px-2 py-1.5 text-[11px] select-all\">npx linear-grab-bridge"), g$ = /*#__PURE__*/ M("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), _$ = /*#__PURE__*/ M("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), v$ = /*#__PURE__*/ M("<span class=\"text-success text-[12px] leading-none\">✓"), y$ = /*#__PURE__*/ M("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), b$ = /*#__PURE__*/ M("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), x$ = /*#__PURE__*/ M("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), S$ = /*#__PURE__*/ M("<div class=\"border-border bg-bg flex flex-col gap-1 rounded-md border p-2\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text-dim text-[10.5px] font-semibold tracking-wide uppercase\">Changes</span><span class=\"ml-auto shrink-0 text-[10.5px] tabular-nums\"><span class=text-success>+</span> <span class=text-danger>−"), C$ = /*#__PURE__*/ M("<div class=\"border-border bg-bg flex max-h-80 flex-col gap-1.5 overflow-y-auto rounded-md border py-2 pl-2 pr-3\">"), w$ = /*#__PURE__*/ M("<span class=\"inline-block min-w-[4ch] text-center\">Send"), T$ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"text-text-faint min-w-0 truncate text-[10.5px]\">"), E$ = /*#__PURE__*/ M("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text min-w-0 truncate text-[12.5px] font-medium\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim text-[11.5px] leading-snug break-words\"></p><div class=\"flex flex-wrap items-center gap-1.5\"></div><div class=\"flex items-center gap-1\">"), D$ = /*#__PURE__*/ M("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), O$ = /*#__PURE__*/ M("<div class=\"flex min-w-0 items-center gap-1.5\">"), k$ = /*#__PURE__*/ M("<option>"), A$ = /*#__PURE__*/ M("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), j$ = /*#__PURE__*/ M("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M2.5 3.5 6 7 2.5 10.5M7.5 12.5h6\">"), M$ = /*#__PURE__*/ M("<span class=text-success>+"), N$ = /*#__PURE__*/ M("<span class=text-danger>−"), P$ = /*#__PURE__*/ M("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"shrink-0 text-[10px] tabular-nums\">"), F$ = /*#__PURE__*/ M("<span class=text-text-faint>bin"), I$ = /*#__PURE__*/ M("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"text-success shrink-0 text-[10px]\">new"), L$ = /*#__PURE__*/ M("<div class=\"flex min-w-0 items-center gap-1.5 pt-0.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11px] hover:underline\">"), R$ = /*#__PURE__*/ M("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), z$ = [
|
|
43241
43286
|
{
|
|
43242
43287
|
id: "",
|
|
43243
43288
|
label: "Default model"
|
|
@@ -43258,8 +43303,8 @@ var c$ = /*#__PURE__*/ M("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
43258
43303
|
id: "haiku",
|
|
43259
43304
|
label: "Haiku"
|
|
43260
43305
|
}
|
|
43261
|
-
],
|
|
43262
|
-
function
|
|
43306
|
+
], B$ = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
43307
|
+
function V$() {
|
|
43263
43308
|
let e = cr(), t = vr(() => ({
|
|
43264
43309
|
queryKey: ["bridge-health"],
|
|
43265
43310
|
queryFn: EO,
|
|
@@ -43319,18 +43364,18 @@ function B$() {
|
|
|
43319
43364
|
}, S = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", ee = (e) => {
|
|
43320
43365
|
let t = e.line.kind;
|
|
43321
43366
|
return t === "user" ? (() => {
|
|
43322
|
-
var t =
|
|
43367
|
+
var t = l$(), n = t.firstChild.nextSibling;
|
|
43323
43368
|
return E(() => n.innerHTML = OQ(e.line.text)), t;
|
|
43324
43369
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
43325
|
-
var n =
|
|
43370
|
+
var n = u$(), r = n.firstChild, i = r.nextSibling;
|
|
43326
43371
|
return ct(n, `bg-surface rounded-lg border px-2.5 py-1.5 ${t === "result" ? "border-success/40" : "border-border"}`), ct(r, `mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase ${t === "result" ? "text-success" : "text-text-faint"}`), N(r, t === "result" ? "Result" : "Claude"), E(() => i.innerHTML = OQ(e.line.text)), n;
|
|
43327
43372
|
})() : (() => {
|
|
43328
|
-
var n =
|
|
43373
|
+
var n = d$();
|
|
43329
43374
|
return ct(n, `font-mono px-1 text-[10px] leading-relaxed break-words ${t === "subagent" ? "text-warn" : t === "stderr" ? "text-danger" : "text-text-faint"}`), N(n, () => e.line.text), n;
|
|
43330
43375
|
})();
|
|
43331
43376
|
};
|
|
43332
43377
|
return (() => {
|
|
43333
|
-
var e =
|
|
43378
|
+
var e = m$(), a = e.firstChild;
|
|
43334
43379
|
a.firstChild;
|
|
43335
43380
|
var l = a.nextSibling;
|
|
43336
43381
|
return N(a, A(j, {
|
|
@@ -43344,7 +43389,7 @@ function B$() {
|
|
|
43344
43389
|
});
|
|
43345
43390
|
},
|
|
43346
43391
|
get children() {
|
|
43347
|
-
var e =
|
|
43392
|
+
var e = f$(), n = e.firstChild;
|
|
43348
43393
|
return N(e, () => t.data.active, n), N(e, () => t.data.cwd.split("/").slice(-2).join("/"), null), E(() => at(e, "title", t.data?.cwd)), e;
|
|
43349
43394
|
}
|
|
43350
43395
|
}), null), N(l, A(j, {
|
|
@@ -43357,7 +43402,7 @@ function B$() {
|
|
|
43357
43402
|
get children() {
|
|
43358
43403
|
return [
|
|
43359
43404
|
"Start it in your repo's terminal:",
|
|
43360
|
-
|
|
43405
|
+
h$(),
|
|
43361
43406
|
"Then delegate from the Draft tab (\"Local Claude Code\") or watch tasks here. Sessions stay interactive — send follow-ups, switch models, interrupt, resume in your terminal. History persists across restarts."
|
|
43362
43407
|
];
|
|
43363
43408
|
}
|
|
@@ -43375,20 +43420,20 @@ function B$() {
|
|
|
43375
43420
|
});
|
|
43376
43421
|
},
|
|
43377
43422
|
get children() {
|
|
43378
|
-
var e =
|
|
43423
|
+
var e = p$();
|
|
43379
43424
|
return N(e, A(Ge, {
|
|
43380
43425
|
get each() {
|
|
43381
43426
|
return n.data;
|
|
43382
43427
|
},
|
|
43383
43428
|
children: (e) => (() => {
|
|
43384
|
-
var t =
|
|
43429
|
+
var t = E$(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, b = n.nextSibling, C = b.nextSibling, w = C.nextSibling;
|
|
43385
43430
|
return N(n, A(j, {
|
|
43386
43431
|
get when() {
|
|
43387
43432
|
return e.status === "running";
|
|
43388
43433
|
},
|
|
43389
43434
|
get fallback() {
|
|
43390
43435
|
return (() => {
|
|
43391
|
-
var t =
|
|
43436
|
+
var t = D$();
|
|
43392
43437
|
return E((n) => ft(t, "background", S(e.status))), t;
|
|
43393
43438
|
})();
|
|
43394
43439
|
},
|
|
@@ -43441,8 +43486,8 @@ function B$() {
|
|
|
43441
43486
|
return e.usage;
|
|
43442
43487
|
},
|
|
43443
43488
|
get children() {
|
|
43444
|
-
var t =
|
|
43445
|
-
return n.nextSibling, N(t, () =>
|
|
43489
|
+
var t = g$(), n = t.firstChild.nextSibling;
|
|
43490
|
+
return n.nextSibling, N(t, () => B$(e.usage.contextTokens), n), N(t, () => B$(e.usage.outputTokens), null), N(t, (() => {
|
|
43446
43491
|
var t = et(() => !!e.usage.costUsd);
|
|
43447
43492
|
return () => t() ? ` · $${e.usage.costUsd.toFixed(2)}` : "";
|
|
43448
43493
|
})(), null), t;
|
|
@@ -43452,7 +43497,7 @@ function B$() {
|
|
|
43452
43497
|
return o(e);
|
|
43453
43498
|
},
|
|
43454
43499
|
children: (e) => (() => {
|
|
43455
|
-
var t =
|
|
43500
|
+
var t = O$();
|
|
43456
43501
|
return N(t, A(_j, { get children() {
|
|
43457
43502
|
return e().state.name;
|
|
43458
43503
|
} }), null), N(t, A(mj, {
|
|
@@ -43467,7 +43512,7 @@ function B$() {
|
|
|
43467
43512
|
return et(() => !!e.worktree)() && !e.worktree.removed;
|
|
43468
43513
|
},
|
|
43469
43514
|
get children() {
|
|
43470
|
-
var t =
|
|
43515
|
+
var t = _$(), n = t.firstChild;
|
|
43471
43516
|
return N(t, A(_j, {
|
|
43472
43517
|
class: "text-warn",
|
|
43473
43518
|
children: "⎇ worktree"
|
|
@@ -43503,9 +43548,9 @@ function B$() {
|
|
|
43503
43548
|
title: "Model — applies from the next message",
|
|
43504
43549
|
get children() {
|
|
43505
43550
|
return A(Ge, {
|
|
43506
|
-
each:
|
|
43551
|
+
each: z$,
|
|
43507
43552
|
children: (t) => (() => {
|
|
43508
|
-
var n =
|
|
43553
|
+
var n = k$();
|
|
43509
43554
|
return N(n, () => t.label), E(() => n.selected = (e.pendingModel ?? e.model ?? "") === t.id), E(() => n.value = t.id), n;
|
|
43510
43555
|
})()
|
|
43511
43556
|
});
|
|
@@ -43520,7 +43565,7 @@ function B$() {
|
|
|
43520
43565
|
title: "Open the issue's Activity thread",
|
|
43521
43566
|
onClick: () => GA("activity", e().id),
|
|
43522
43567
|
get children() {
|
|
43523
|
-
return
|
|
43568
|
+
return A$();
|
|
43524
43569
|
}
|
|
43525
43570
|
})
|
|
43526
43571
|
}), null), N(w, A(lj, {
|
|
@@ -43539,10 +43584,10 @@ function B$() {
|
|
|
43539
43584
|
return y() === e.id;
|
|
43540
43585
|
},
|
|
43541
43586
|
get fallback() {
|
|
43542
|
-
return
|
|
43587
|
+
return j$();
|
|
43543
43588
|
},
|
|
43544
43589
|
get children() {
|
|
43545
|
-
return
|
|
43590
|
+
return v$();
|
|
43546
43591
|
}
|
|
43547
43592
|
});
|
|
43548
43593
|
}
|
|
@@ -43554,7 +43599,7 @@ function B$() {
|
|
|
43554
43599
|
},
|
|
43555
43600
|
onClick: () => i(r() === e.id ? null : e.id),
|
|
43556
43601
|
get children() {
|
|
43557
|
-
return
|
|
43602
|
+
return y$();
|
|
43558
43603
|
}
|
|
43559
43604
|
}), null), N(w, A(j, {
|
|
43560
43605
|
get when() {
|
|
@@ -43570,7 +43615,7 @@ function B$() {
|
|
|
43570
43615
|
title: "Interrupt — the session stays resumable",
|
|
43571
43616
|
onClick: () => u.mutate(e.id),
|
|
43572
43617
|
get children() {
|
|
43573
|
-
return
|
|
43618
|
+
return b$();
|
|
43574
43619
|
}
|
|
43575
43620
|
});
|
|
43576
43621
|
}
|
|
@@ -43585,7 +43630,7 @@ function B$() {
|
|
|
43585
43630
|
return et(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
43586
43631
|
},
|
|
43587
43632
|
get children() {
|
|
43588
|
-
var e =
|
|
43633
|
+
var e = S$(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
43589
43634
|
r.firstChild;
|
|
43590
43635
|
var i = r.nextSibling.nextSibling;
|
|
43591
43636
|
return i.firstChild, N(t, A(j, {
|
|
@@ -43593,7 +43638,7 @@ function B$() {
|
|
|
43593
43638
|
return c.data.branch;
|
|
43594
43639
|
},
|
|
43595
43640
|
get children() {
|
|
43596
|
-
var e =
|
|
43641
|
+
var e = x$();
|
|
43597
43642
|
return N(e, () => c.data.branch), e;
|
|
43598
43643
|
}
|
|
43599
43644
|
}), n), N(r, () => c.data.totalAdded, null), N(i, () => c.data.totalDeleted, null), N(e, A(Ge, {
|
|
@@ -43601,23 +43646,23 @@ function B$() {
|
|
|
43601
43646
|
return c.data.files;
|
|
43602
43647
|
},
|
|
43603
43648
|
children: (e) => (() => {
|
|
43604
|
-
var t =
|
|
43649
|
+
var t = P$(), n = t.firstChild, r = n.nextSibling;
|
|
43605
43650
|
return N(n, () => e.path), N(r, A(j, {
|
|
43606
43651
|
get when() {
|
|
43607
43652
|
return !e.binary;
|
|
43608
43653
|
},
|
|
43609
43654
|
get fallback() {
|
|
43610
|
-
return
|
|
43655
|
+
return F$();
|
|
43611
43656
|
},
|
|
43612
43657
|
get children() {
|
|
43613
43658
|
return [
|
|
43614
43659
|
(() => {
|
|
43615
|
-
var t =
|
|
43660
|
+
var t = M$();
|
|
43616
43661
|
return t.firstChild, N(t, () => e.added, null), t;
|
|
43617
43662
|
})(),
|
|
43618
43663
|
" ",
|
|
43619
43664
|
(() => {
|
|
43620
|
-
var t =
|
|
43665
|
+
var t = N$();
|
|
43621
43666
|
return t.firstChild, N(t, () => e.deleted, null), t;
|
|
43622
43667
|
})()
|
|
43623
43668
|
];
|
|
@@ -43629,7 +43674,7 @@ function B$() {
|
|
|
43629
43674
|
return c.data.untracked;
|
|
43630
43675
|
},
|
|
43631
43676
|
children: (e) => (() => {
|
|
43632
|
-
var t =
|
|
43677
|
+
var t = I$(), n = t.firstChild;
|
|
43633
43678
|
return at(n, "title", e), N(n, e), t;
|
|
43634
43679
|
})()
|
|
43635
43680
|
}), null), N(e, A(Ge, {
|
|
@@ -43637,7 +43682,7 @@ function B$() {
|
|
|
43637
43682
|
return c.data.prs;
|
|
43638
43683
|
},
|
|
43639
43684
|
children: (e) => (() => {
|
|
43640
|
-
var t =
|
|
43685
|
+
var t = L$(), n = t.firstChild;
|
|
43641
43686
|
return N(t, A(_j, {
|
|
43642
43687
|
class: "text-accent",
|
|
43643
43688
|
get children() {
|
|
@@ -43655,7 +43700,7 @@ function B$() {
|
|
|
43655
43700
|
}
|
|
43656
43701
|
}),
|
|
43657
43702
|
(() => {
|
|
43658
|
-
var e =
|
|
43703
|
+
var e = C$();
|
|
43659
43704
|
return e.addEventListener("scroll", v), mt((e) => {
|
|
43660
43705
|
g = e, _ = !0;
|
|
43661
43706
|
}, e), N(e, A(j, {
|
|
@@ -43663,7 +43708,7 @@ function B$() {
|
|
|
43663
43708
|
return (s.data?.tail ?? []).length > 0;
|
|
43664
43709
|
},
|
|
43665
43710
|
get fallback() {
|
|
43666
|
-
return
|
|
43711
|
+
return R$();
|
|
43667
43712
|
},
|
|
43668
43713
|
get children() {
|
|
43669
43714
|
return A(Ke, {
|
|
@@ -43678,7 +43723,7 @@ function B$() {
|
|
|
43678
43723
|
})), e;
|
|
43679
43724
|
})(),
|
|
43680
43725
|
(() => {
|
|
43681
|
-
var t =
|
|
43726
|
+
var t = T$(), n = t.firstChild, r = n.firstChild;
|
|
43682
43727
|
return N(t, A(fj, {
|
|
43683
43728
|
rows: 2,
|
|
43684
43729
|
get placeholder() {
|
|
@@ -43705,7 +43750,7 @@ function B$() {
|
|
|
43705
43750
|
text: d().trim()
|
|
43706
43751
|
}),
|
|
43707
43752
|
get children() {
|
|
43708
|
-
return
|
|
43753
|
+
return w$();
|
|
43709
43754
|
}
|
|
43710
43755
|
}), null), t;
|
|
43711
43756
|
})()
|
|
@@ -43722,13 +43767,13 @@ function B$() {
|
|
|
43722
43767
|
}
|
|
43723
43768
|
//#endregion
|
|
43724
43769
|
//#region src/panel/views/PrsView.tsx
|
|
43725
|
-
var
|
|
43726
|
-
function
|
|
43770
|
+
var H$ = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1.5\">"), U$ = /*#__PURE__*/ M("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Pull requests</span><span class=\"text-text-faint text-[10.5px] tabular-nums\"> open from your issues</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), W$ = /*#__PURE__*/ M("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), G$ = /*#__PURE__*/ M("<span class=\"text-success text-[12px] leading-none\">✓"), K$ = /*#__PURE__*/ M("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><a target=_blank rel=noreferrer class=\"text-accent truncate text-[12.5px] font-medium hover:underline\"></a><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text-dim truncate text-[11.5px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 flex-wrap items-center gap-1.5\"><div class=\"ml-auto flex shrink-0 items-center gap-1\">"), q$ = /*#__PURE__*/ M("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), J$ = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
43771
|
+
function Y$(e) {
|
|
43727
43772
|
let t = vr(() => ({
|
|
43728
43773
|
queryKey: ["my-issues"],
|
|
43729
43774
|
queryFn: uO,
|
|
43730
43775
|
refetchInterval: 15e3
|
|
43731
|
-
})), n = O(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
43776
|
+
})), n = O(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => J$.test(e.url)).map((t) => ({
|
|
43732
43777
|
issue: e,
|
|
43733
43778
|
attachment: t
|
|
43734
43779
|
})))), [r, i] = w(null), a = async (e) => {
|
|
@@ -43737,7 +43782,7 @@ function J$(e) {
|
|
|
43737
43782
|
} catch {}
|
|
43738
43783
|
};
|
|
43739
43784
|
return (() => {
|
|
43740
|
-
var i =
|
|
43785
|
+
var i = U$(), o = i.firstChild, s = o.firstChild.nextSibling, c = s.firstChild, l = o.nextSibling;
|
|
43741
43786
|
return N(s, () => n().length, c), N(l, A(j, {
|
|
43742
43787
|
get when() {
|
|
43743
43788
|
return n().length > 0;
|
|
@@ -43751,13 +43796,13 @@ function J$(e) {
|
|
|
43751
43796
|
});
|
|
43752
43797
|
},
|
|
43753
43798
|
get children() {
|
|
43754
|
-
var t =
|
|
43799
|
+
var t = H$();
|
|
43755
43800
|
return N(t, A(Ge, {
|
|
43756
43801
|
get each() {
|
|
43757
43802
|
return n();
|
|
43758
43803
|
},
|
|
43759
43804
|
children: (t) => (() => {
|
|
43760
|
-
var n =
|
|
43805
|
+
var n = K$(), i = n.firstChild, o = i.nextSibling, s = o.firstChild, c = s.nextSibling, l = c.nextSibling, u = o.nextSibling, d = u.firstChild;
|
|
43761
43806
|
return N(i, () => t.attachment.title || t.attachment.url), N(o, A(vj, { get color() {
|
|
43762
43807
|
return t.issue.state.color;
|
|
43763
43808
|
} }), s), N(s, () => t.issue.identifier), N(c, () => t.issue.title), N(l, () => Sj(t.issue.updatedAt)), N(u, A(_j, { get children() {
|
|
@@ -43790,7 +43835,7 @@ function J$(e) {
|
|
|
43790
43835
|
GA("activity", t.issue.id), e.onOpenIssue();
|
|
43791
43836
|
},
|
|
43792
43837
|
get children() {
|
|
43793
|
-
return
|
|
43838
|
+
return W$();
|
|
43794
43839
|
}
|
|
43795
43840
|
}), null), N(d, A(lj, {
|
|
43796
43841
|
variant: "ghost",
|
|
@@ -43804,10 +43849,10 @@ function J$(e) {
|
|
|
43804
43849
|
return r() === t.attachment.id;
|
|
43805
43850
|
},
|
|
43806
43851
|
get fallback() {
|
|
43807
|
-
return
|
|
43852
|
+
return q$();
|
|
43808
43853
|
},
|
|
43809
43854
|
get children() {
|
|
43810
|
-
return
|
|
43855
|
+
return G$();
|
|
43811
43856
|
}
|
|
43812
43857
|
});
|
|
43813
43858
|
}
|
|
@@ -43827,13 +43872,13 @@ function J$(e) {
|
|
|
43827
43872
|
//#endregion
|
|
43828
43873
|
//#region src/lib/linear/auth.ts
|
|
43829
43874
|
zr();
|
|
43830
|
-
function
|
|
43875
|
+
function X$(e) {
|
|
43831
43876
|
let t = "";
|
|
43832
43877
|
for (let n of e) t += String.fromCharCode(n);
|
|
43833
43878
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
43834
43879
|
}
|
|
43835
|
-
async function
|
|
43836
|
-
let t =
|
|
43880
|
+
async function Z$(e) {
|
|
43881
|
+
let t = X$(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = X$(new Uint8Array(n)), i = X$(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
43837
43882
|
o.searchParams.set("client_id", e), o.searchParams.set("redirect_uri", a), o.searchParams.set("response_type", "code"), o.searchParams.set("scope", "read,write"), o.searchParams.set("state", i), o.searchParams.set("code_challenge", r), o.searchParams.set("code_challenge_method", "S256");
|
|
43838
43883
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
43839
43884
|
url: o.toString(),
|
|
@@ -43861,15 +43906,15 @@ async function X$(e) {
|
|
|
43861
43906
|
linearOauthClientId: e
|
|
43862
43907
|
});
|
|
43863
43908
|
}
|
|
43864
|
-
async function
|
|
43909
|
+
async function Q$() {
|
|
43865
43910
|
await Tr({
|
|
43866
43911
|
linearAccessToken: void 0,
|
|
43867
43912
|
linearApiKey: void 0
|
|
43868
43913
|
});
|
|
43869
43914
|
}
|
|
43870
43915
|
zr(), xr(), Nx(), mD();
|
|
43871
|
-
var
|
|
43872
|
-
function
|
|
43916
|
+
var $$ = /*#__PURE__*/ M("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), e1 = /*#__PURE__*/ M("<span class=\"text-text-faint text-[10.5px] leading-snug\">Cloud: picking an element opens the panel to draft & delegate to the Cursor agent. Local (react-grab style): picking auto-copies the element's context — source, stack, and your skills/memory paths — straight to the clipboard for a local Claude Code or Cursor session; the panel stays out of the way. Both share the same picker; switch anytime."), t1 = /*#__PURE__*/ M("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Element screenshots"), n1 = /*#__PURE__*/ M("<span class=\"text-text-faint text-[10.5px] leading-snug\">Captures a highlighted screenshot of each picked element and attaches it to the issue. Costs a beat on huge pages — with this off, picking is instant (pure react-grab speed)."), r1 = /*#__PURE__*/ M("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), i1 = /*#__PURE__*/ M("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), a1 = /*#__PURE__*/ M("<option value>Select a team…"), o1 = /*#__PURE__*/ M("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), s1 = /*#__PURE__*/ M("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), c1 = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1.5\">"), l1 = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Mode</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">Beside page squeezes the app next to the panel, DevTools-style — nothing gets covered. Also toggleable from the dock icon in the panel header."), u1 = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), d1 = /*#__PURE__*/ M("<option value>Select a channel…"), f1 = /*#__PURE__*/ M("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Announce new issues on create"), p1 = /*#__PURE__*/ M("<span class=\"text-text-faint text-[10.5px] leading-snug\">⚠️ Tokens are embedded in issue Agent-instructions so agents can post the finished demo — everyone who can read the issue can read them. Use single-channel-scoped bots."), m1 = /*#__PURE__*/ M("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Provider preference</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"><button>Auto</button><button>OpenAI</button><button>Anthropic"), h1 = /*#__PURE__*/ M("<p class=\"text-text-dim text-[11px]\">"), g1 = /*#__PURE__*/ M("<div class=min-h-[2lh]>"), _1 = /*#__PURE__*/ M("<ol class=\"text-text-faint flex list-decimal flex-col gap-1 pl-4 text-[11px] leading-relaxed\"><li>Pick an element on your running dev app.</li><li>Draft the issue (AI optional).</li><li>Create + delegate — Cursor's cloud agent fixes it and opens a PR.</li><li>Track and steer it from Activity."), v1 = /*#__PURE__*/ M("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), y1 = /*#__PURE__*/ M("<button>"), b1 = /*#__PURE__*/ M("<div class=\"flex gap-1.5\">"), x1 = /*#__PURE__*/ M("<p class=\"text-text-faint text-center text-[10.5px]\">or"), S1 = /*#__PURE__*/ M("<span class=\"text-text-faint text-[10.5px] leading-snug\">Register this callback URL in your Linear OAuth app config:<br><span class=\"font-mono text-[10.5px] break-all\">"), C1 = /*#__PURE__*/ M("<div class=\"flex flex-col gap-3\">"), w1 = /*#__PURE__*/ M("<span class=text-text-dim>Connected — verifying…"), T1 = /*#__PURE__*/ M("<option> (<!>)"), E1 = /*#__PURE__*/ M("<option value>Select the agent…"), D1 = /*#__PURE__*/ M("<option>"), O1 = /*#__PURE__*/ M("<option>#"), k1 = /*#__PURE__*/ M("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
43917
|
+
function A1() {
|
|
43873
43918
|
let e = cr(), t = vr(() => ({
|
|
43874
43919
|
queryKey: ["settings"],
|
|
43875
43920
|
queryFn: wr,
|
|
@@ -43914,7 +43959,7 @@ function k1() {
|
|
|
43914
43959
|
}
|
|
43915
43960
|
v(!0), b("");
|
|
43916
43961
|
try {
|
|
43917
|
-
await
|
|
43962
|
+
await Z$(t), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
|
|
43918
43963
|
} catch (e) {
|
|
43919
43964
|
b(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
43920
43965
|
} finally {
|
|
@@ -43925,7 +43970,7 @@ function k1() {
|
|
|
43925
43970
|
async function C() {
|
|
43926
43971
|
ee(!0);
|
|
43927
43972
|
try {
|
|
43928
|
-
await
|
|
43973
|
+
await Q$(), await e.invalidateQueries({ queryKey: ["settings"] }), await e.invalidateQueries({ queryKey: ["viewer"] }), await e.invalidateQueries({ queryKey: ["teams"] }), await e.invalidateQueries({ queryKey: ["agents"] }), await e.invalidateQueries({ queryKey: ["my-issues"] });
|
|
43929
43974
|
} finally {
|
|
43930
43975
|
ee(!1);
|
|
43931
43976
|
}
|
|
@@ -43941,12 +43986,12 @@ function k1() {
|
|
|
43941
43986
|
return e ? `Drafting with ${e} — ${jx[e].fast} (fast) / ${jx[e].best} (best)` : null;
|
|
43942
43987
|
});
|
|
43943
43988
|
return (() => {
|
|
43944
|
-
var e =
|
|
43989
|
+
var e = v1();
|
|
43945
43990
|
return N(e, A(gj, {
|
|
43946
43991
|
title: "Workflow",
|
|
43947
43992
|
get children() {
|
|
43948
43993
|
return [(() => {
|
|
43949
|
-
var e =
|
|
43994
|
+
var e = $$();
|
|
43950
43995
|
return N(e, A(Ge, {
|
|
43951
43996
|
each: [{
|
|
43952
43997
|
id: "cloud",
|
|
@@ -43956,19 +44001,19 @@ function k1() {
|
|
|
43956
44001
|
label: "Local · clipboard"
|
|
43957
44002
|
}],
|
|
43958
44003
|
children: (e) => (() => {
|
|
43959
|
-
var t =
|
|
44004
|
+
var t = y1();
|
|
43960
44005
|
return t.$$click = () => void r({ workflowMode: e.id }), N(t, () => e.label), E(() => ct(t, `flex-1 rounded-[5px] px-2 py-1 text-[11.5px] font-medium transition-colors ${(n().workflowMode ?? "cloud") === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
43961
44006
|
})()
|
|
43962
44007
|
})), e;
|
|
43963
|
-
})(),
|
|
44008
|
+
})(), e1()];
|
|
43964
44009
|
}
|
|
43965
44010
|
}), null), N(e, A(gj, {
|
|
43966
44011
|
title: "Capture",
|
|
43967
44012
|
get children() {
|
|
43968
44013
|
return [(() => {
|
|
43969
|
-
var e =
|
|
44014
|
+
var e = t1(), t = e.firstChild;
|
|
43970
44015
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), E(() => t.checked = !!n().captureShots), e;
|
|
43971
|
-
})(),
|
|
44016
|
+
})(), n1()];
|
|
43972
44017
|
}
|
|
43973
44018
|
}), null), N(e, A(gj, {
|
|
43974
44019
|
title: "Linear",
|
|
@@ -43979,13 +44024,13 @@ function k1() {
|
|
|
43979
44024
|
},
|
|
43980
44025
|
get fallback() {
|
|
43981
44026
|
return (() => {
|
|
43982
|
-
var e =
|
|
44027
|
+
var e = C1();
|
|
43983
44028
|
return N(e, A(hj, {
|
|
43984
44029
|
label: "Personal API key",
|
|
43985
44030
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
43986
44031
|
get children() {
|
|
43987
44032
|
return [(() => {
|
|
43988
|
-
var e =
|
|
44033
|
+
var e = b1();
|
|
43989
44034
|
return N(e, A(dj, {
|
|
43990
44035
|
type: "password",
|
|
43991
44036
|
placeholder: "lin_api_…",
|
|
@@ -44022,12 +44067,12 @@ function k1() {
|
|
|
44022
44067
|
}), null), N(e, A(j, {
|
|
44023
44068
|
when: br,
|
|
44024
44069
|
get children() {
|
|
44025
|
-
return [
|
|
44070
|
+
return [x1(), A(hj, {
|
|
44026
44071
|
label: "OAuth client ID",
|
|
44027
44072
|
get children() {
|
|
44028
44073
|
return [
|
|
44029
44074
|
(() => {
|
|
44030
|
-
var e =
|
|
44075
|
+
var e = b1();
|
|
44031
44076
|
return N(e, A(dj, {
|
|
44032
44077
|
placeholder: "your-client-id",
|
|
44033
44078
|
get value() {
|
|
@@ -44055,7 +44100,7 @@ function k1() {
|
|
|
44055
44100
|
}
|
|
44056
44101
|
}),
|
|
44057
44102
|
(() => {
|
|
44058
|
-
var e =
|
|
44103
|
+
var e = S1(), t = e.firstChild.nextSibling.nextSibling;
|
|
44059
44104
|
return N(t, T), e;
|
|
44060
44105
|
})()
|
|
44061
44106
|
];
|
|
@@ -44066,13 +44111,13 @@ function k1() {
|
|
|
44066
44111
|
})();
|
|
44067
44112
|
},
|
|
44068
44113
|
get children() {
|
|
44069
|
-
var e =
|
|
44114
|
+
var e = i1(), t = e.firstChild;
|
|
44070
44115
|
return N(t, A(j, {
|
|
44071
44116
|
get when() {
|
|
44072
44117
|
return !a.isLoading;
|
|
44073
44118
|
},
|
|
44074
44119
|
get fallback() {
|
|
44075
|
-
return
|
|
44120
|
+
return w1();
|
|
44076
44121
|
},
|
|
44077
44122
|
get children() {
|
|
44078
44123
|
return A(j, {
|
|
@@ -44085,7 +44130,7 @@ function k1() {
|
|
|
44085
44130
|
return a.isError;
|
|
44086
44131
|
},
|
|
44087
44132
|
get fallback() {
|
|
44088
|
-
return
|
|
44133
|
+
return w1();
|
|
44089
44134
|
},
|
|
44090
44135
|
get children() {
|
|
44091
44136
|
return A(bj, { message: "Key rejected — reconnect" });
|
|
@@ -44093,7 +44138,7 @@ function k1() {
|
|
|
44093
44138
|
});
|
|
44094
44139
|
},
|
|
44095
44140
|
get children() {
|
|
44096
|
-
var e =
|
|
44141
|
+
var e = r1(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
44097
44142
|
return N(t, () => a.data.name), N(n, () => a.data.email), e;
|
|
44098
44143
|
}
|
|
44099
44144
|
});
|
|
@@ -44134,7 +44179,7 @@ function k1() {
|
|
|
44134
44179
|
return o.isLoading;
|
|
44135
44180
|
},
|
|
44136
44181
|
get children() {
|
|
44137
|
-
return [
|
|
44182
|
+
return [a1(), A(j, {
|
|
44138
44183
|
get when() {
|
|
44139
44184
|
return o.data;
|
|
44140
44185
|
},
|
|
@@ -44144,7 +44189,7 @@ function k1() {
|
|
|
44144
44189
|
return o.data;
|
|
44145
44190
|
},
|
|
44146
44191
|
children: (e) => (() => {
|
|
44147
|
-
var t =
|
|
44192
|
+
var t = T1(), r = t.firstChild, i = r.nextSibling;
|
|
44148
44193
|
return i.nextSibling, N(t, () => e.name, r), N(t, () => e.key, i), E(() => t.selected = e.id === n().defaultTeamId), E(() => t.value = e.id), t;
|
|
44149
44194
|
})()
|
|
44150
44195
|
});
|
|
@@ -44188,7 +44233,7 @@ function k1() {
|
|
|
44188
44233
|
return s.isLoading;
|
|
44189
44234
|
},
|
|
44190
44235
|
get children() {
|
|
44191
|
-
return [
|
|
44236
|
+
return [E1(), A(j, {
|
|
44192
44237
|
get when() {
|
|
44193
44238
|
return s.data;
|
|
44194
44239
|
},
|
|
@@ -44198,7 +44243,7 @@ function k1() {
|
|
|
44198
44243
|
return s.data;
|
|
44199
44244
|
},
|
|
44200
44245
|
children: (e) => (() => {
|
|
44201
|
-
var t =
|
|
44246
|
+
var t = D1();
|
|
44202
44247
|
return N(t, () => e.displayName), E(() => t.selected = e.id === n().cursorAgentId), E(() => t.value = e.id), t;
|
|
44203
44248
|
})()
|
|
44204
44249
|
});
|
|
@@ -44208,7 +44253,7 @@ function k1() {
|
|
|
44208
44253
|
});
|
|
44209
44254
|
},
|
|
44210
44255
|
get children() {
|
|
44211
|
-
return
|
|
44256
|
+
return o1();
|
|
44212
44257
|
}
|
|
44213
44258
|
});
|
|
44214
44259
|
}
|
|
@@ -44256,7 +44301,7 @@ function k1() {
|
|
|
44256
44301
|
onBlur: (e) => {
|
|
44257
44302
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
44258
44303
|
}
|
|
44259
|
-
}),
|
|
44304
|
+
}), s1()];
|
|
44260
44305
|
}
|
|
44261
44306
|
}),
|
|
44262
44307
|
A(hj, {
|
|
@@ -44313,7 +44358,7 @@ function k1() {
|
|
|
44313
44358
|
label: "Test account",
|
|
44314
44359
|
hint: "The cloud agent logs into the app with this while testing and recording its demo. Added to every issue's Agent instructions. Use a throwaway account — it's visible to everyone who can read the issue.",
|
|
44315
44360
|
get children() {
|
|
44316
|
-
var e =
|
|
44361
|
+
var e = c1();
|
|
44317
44362
|
return N(e, A(dj, {
|
|
44318
44363
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
44319
44364
|
get value() {
|
|
@@ -44345,7 +44390,7 @@ function k1() {
|
|
|
44345
44390
|
title: "Panel",
|
|
44346
44391
|
get children() {
|
|
44347
44392
|
return [(() => {
|
|
44348
|
-
var e =
|
|
44393
|
+
var e = l1(), t = e.firstChild.nextSibling;
|
|
44349
44394
|
return N(t, A(Ge, {
|
|
44350
44395
|
each: [{
|
|
44351
44396
|
id: "overlay",
|
|
@@ -44355,7 +44400,7 @@ function k1() {
|
|
|
44355
44400
|
label: "Beside page"
|
|
44356
44401
|
}],
|
|
44357
44402
|
children: (e) => (() => {
|
|
44358
|
-
var t =
|
|
44403
|
+
var t = y1();
|
|
44359
44404
|
return t.$$click = () => void r({
|
|
44360
44405
|
panelMode: e.id,
|
|
44361
44406
|
panelPos: void 0
|
|
@@ -44363,11 +44408,11 @@ function k1() {
|
|
|
44363
44408
|
})()
|
|
44364
44409
|
})), e;
|
|
44365
44410
|
})(), (() => {
|
|
44366
|
-
var e =
|
|
44411
|
+
var e = u1(), t = e.firstChild.nextSibling;
|
|
44367
44412
|
return N(t, A(Ge, {
|
|
44368
44413
|
each: ["left", "right"],
|
|
44369
44414
|
children: (e) => (() => {
|
|
44370
|
-
var t =
|
|
44415
|
+
var t = y1();
|
|
44371
44416
|
return t.$$click = () => void r({ panelSide: e }), N(t, e === "left" ? "Left" : "Right"), E(() => ct(t, `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${(n().panelSide ?? "right") === e ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
44372
44417
|
})()
|
|
44373
44418
|
})), e;
|
|
@@ -44479,12 +44524,12 @@ function k1() {
|
|
|
44479
44524
|
});
|
|
44480
44525
|
},
|
|
44481
44526
|
get children() {
|
|
44482
|
-
return [
|
|
44527
|
+
return [d1(), A(Ge, {
|
|
44483
44528
|
get each() {
|
|
44484
44529
|
return D.data ?? [];
|
|
44485
44530
|
},
|
|
44486
44531
|
children: (e) => (() => {
|
|
44487
|
-
var t =
|
|
44532
|
+
var t = O1();
|
|
44488
44533
|
return t.firstChild, N(t, () => e.name, null), E(() => t.selected = e.id === n().slackChannelId), E(() => t.value = e.id), t;
|
|
44489
44534
|
})()
|
|
44490
44535
|
})];
|
|
@@ -44535,10 +44580,10 @@ function k1() {
|
|
|
44535
44580
|
}
|
|
44536
44581
|
}),
|
|
44537
44582
|
(() => {
|
|
44538
|
-
var e =
|
|
44583
|
+
var e = f1(), t = e.firstChild;
|
|
44539
44584
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), E(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
44540
44585
|
})(),
|
|
44541
|
-
|
|
44586
|
+
p1()
|
|
44542
44587
|
];
|
|
44543
44588
|
}
|
|
44544
44589
|
}), null), N(e, A(gj, {
|
|
@@ -44576,7 +44621,7 @@ function k1() {
|
|
|
44576
44621
|
}
|
|
44577
44622
|
}),
|
|
44578
44623
|
(() => {
|
|
44579
|
-
var e =
|
|
44624
|
+
var e = m1(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
44580
44625
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), E((e) => {
|
|
44581
44626
|
var r = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${n().preferredProvider === void 0 ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`, o = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors disabled:cursor-not-allowed ${n().preferredProvider === "openai" ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer disabled:text-text-faint"}`, s = !n().openaiKey, c = `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors disabled:cursor-not-allowed ${n().preferredProvider === "anthropic" ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer disabled:text-text-faint"}`, l = !n().anthropicKey;
|
|
44582
44627
|
return r !== e.e && ct(t, e.e = r), o !== e.t && ct(i, e.t = o), s !== e.a && (i.disabled = e.a = s), c !== e.o && ct(a, e.o = c), l !== e.i && (a.disabled = e.i = l), e;
|
|
@@ -44589,16 +44634,16 @@ function k1() {
|
|
|
44589
44634
|
}), e;
|
|
44590
44635
|
})(),
|
|
44591
44636
|
(() => {
|
|
44592
|
-
var e =
|
|
44637
|
+
var e = g1();
|
|
44593
44638
|
return N(e, A(j, {
|
|
44594
44639
|
get when() {
|
|
44595
44640
|
return ne();
|
|
44596
44641
|
},
|
|
44597
44642
|
get fallback() {
|
|
44598
|
-
return
|
|
44643
|
+
return k1();
|
|
44599
44644
|
},
|
|
44600
44645
|
get children() {
|
|
44601
|
-
var e =
|
|
44646
|
+
var e = h1();
|
|
44602
44647
|
return N(e, ne), e;
|
|
44603
44648
|
}
|
|
44604
44649
|
})), e;
|
|
@@ -44608,7 +44653,7 @@ function k1() {
|
|
|
44608
44653
|
}), null), N(e, A(gj, {
|
|
44609
44654
|
title: "How it works",
|
|
44610
44655
|
get children() {
|
|
44611
|
-
return
|
|
44656
|
+
return _1();
|
|
44612
44657
|
}
|
|
44613
44658
|
}), null), e;
|
|
44614
44659
|
})();
|
|
@@ -44616,38 +44661,38 @@ function k1() {
|
|
|
44616
44661
|
it(["click"]);
|
|
44617
44662
|
//#endregion
|
|
44618
44663
|
//#region src/lib/idbCache.ts
|
|
44619
|
-
var
|
|
44664
|
+
var j1 = "linear-grab", M1 = "queries", N1 = [
|
|
44620
44665
|
"my-issues",
|
|
44621
44666
|
"issue",
|
|
44622
44667
|
"sessions",
|
|
44623
44668
|
"teams",
|
|
44624
44669
|
"agents"
|
|
44625
44670
|
];
|
|
44626
|
-
function
|
|
44671
|
+
function P1() {
|
|
44627
44672
|
return new Promise((e) => {
|
|
44628
44673
|
try {
|
|
44629
|
-
let t = indexedDB.open(
|
|
44630
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
44674
|
+
let t = indexedDB.open(j1, 1);
|
|
44675
|
+
t.onupgradeneeded = () => t.result.createObjectStore(M1), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
44631
44676
|
} catch {
|
|
44632
44677
|
e(null);
|
|
44633
44678
|
}
|
|
44634
44679
|
});
|
|
44635
44680
|
}
|
|
44636
|
-
function
|
|
44637
|
-
return typeof e[0] == "string" &&
|
|
44681
|
+
function F1(e) {
|
|
44682
|
+
return typeof e[0] == "string" && N1.includes(e[0]);
|
|
44638
44683
|
}
|
|
44639
|
-
async function
|
|
44640
|
-
let t = await
|
|
44684
|
+
async function I1(e) {
|
|
44685
|
+
let t = await P1();
|
|
44641
44686
|
if (!t) return () => {};
|
|
44642
44687
|
await new Promise((n) => {
|
|
44643
44688
|
try {
|
|
44644
|
-
let r = t.transaction(
|
|
44689
|
+
let r = t.transaction(M1, "readonly").objectStore(M1).openCursor();
|
|
44645
44690
|
r.onsuccess = () => {
|
|
44646
44691
|
let t = r.result;
|
|
44647
44692
|
if (!t) return n();
|
|
44648
44693
|
try {
|
|
44649
44694
|
let { queryKey: n, data: r } = t.value;
|
|
44650
|
-
|
|
44695
|
+
F1(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
44651
44696
|
} catch {}
|
|
44652
44697
|
t.continue();
|
|
44653
44698
|
}, r.onerror = () => n();
|
|
@@ -44658,14 +44703,14 @@ async function F1(e) {
|
|
|
44658
44703
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
44659
44704
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
44660
44705
|
let { queryKey: i, queryHash: a } = r.query;
|
|
44661
|
-
if (!
|
|
44706
|
+
if (!F1(i)) return;
|
|
44662
44707
|
let o = n.get(a);
|
|
44663
44708
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
44664
44709
|
n.delete(a);
|
|
44665
44710
|
try {
|
|
44666
44711
|
let n = e.getQueryData(i);
|
|
44667
44712
|
if (n === void 0) return;
|
|
44668
|
-
t.transaction(
|
|
44713
|
+
t.transaction(M1, "readwrite").objectStore(M1).put({
|
|
44669
44714
|
queryKey: i,
|
|
44670
44715
|
data: n
|
|
44671
44716
|
}, a);
|
|
@@ -44681,7 +44726,7 @@ async function F1(e) {
|
|
|
44681
44726
|
//#endregion
|
|
44682
44727
|
//#region src/panel/App.tsx
|
|
44683
44728
|
zr();
|
|
44684
|
-
var
|
|
44729
|
+
var L1 = /*#__PURE__*/ M("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hidden><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3541-.0443L12.6587 18.074Z\">"), R1 = /*#__PURE__*/ M("<button><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><rect x=1.5 y=2.5 width=13 height=11 rx=1.5></rect><path d=\"M10 2.5v11\">"), z1 = /*#__PURE__*/ M("<button aria-label=\"Minimize to launcher\"title=\"Minimize to launcher\"class=\"text-text-dim hover:text-text hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md text-[15px] leading-none transition-colors\">–"), B1 = /*#__PURE__*/ M("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), V1 = /*#__PURE__*/ M("<button>"), H1 = [
|
|
44685
44730
|
{
|
|
44686
44731
|
id: "draft",
|
|
44687
44732
|
label: "Draft"
|
|
@@ -44706,14 +44751,14 @@ var I1 = /*#__PURE__*/ M("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
44706
44751
|
id: "settings",
|
|
44707
44752
|
label: "Settings"
|
|
44708
44753
|
}
|
|
44709
|
-
],
|
|
44754
|
+
], U1 = new _r({ defaultOptions: { queries: {
|
|
44710
44755
|
retry: 1,
|
|
44711
44756
|
refetchOnWindowFocus: !1,
|
|
44712
44757
|
staleTime: 5e3
|
|
44713
44758
|
} } });
|
|
44714
|
-
function
|
|
44759
|
+
function W1(e) {
|
|
44715
44760
|
return (() => {
|
|
44716
|
-
var t =
|
|
44761
|
+
var t = L1();
|
|
44717
44762
|
return E((n) => {
|
|
44718
44763
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
44719
44764
|
return r !== n.e && at(t, "width", n.e = r), i !== n.t && at(t, "height", n.t = i), n;
|
|
@@ -44723,28 +44768,28 @@ function U1(e) {
|
|
|
44723
44768
|
}), t;
|
|
44724
44769
|
})();
|
|
44725
44770
|
}
|
|
44726
|
-
function
|
|
44771
|
+
function G1(e) {
|
|
44727
44772
|
let [t, n] = w("draft"), r = () => {
|
|
44728
|
-
|
|
44773
|
+
U1.invalidateQueries({ queryKey: ["grab"] }), n("capture"), e.onGrab?.();
|
|
44729
44774
|
};
|
|
44730
44775
|
return D(() => {
|
|
44731
44776
|
let e = VA();
|
|
44732
44777
|
e && n(e);
|
|
44733
44778
|
}), ae(() => {
|
|
44734
|
-
let e =
|
|
44735
|
-
e === "settings" &&
|
|
44779
|
+
let e = I1(U1), t = CZ(r), n = jr((e) => {
|
|
44780
|
+
e === "settings" && U1.invalidateQueries({ queryKey: ["settings"] }), e === "grab" && r();
|
|
44736
44781
|
});
|
|
44737
44782
|
oe(() => {
|
|
44738
44783
|
t(), n(), e.then((e) => e());
|
|
44739
44784
|
});
|
|
44740
44785
|
}), A(lr, {
|
|
44741
|
-
client:
|
|
44786
|
+
client: U1,
|
|
44742
44787
|
get children() {
|
|
44743
|
-
var r =
|
|
44744
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), N(a, A(
|
|
44745
|
-
each:
|
|
44788
|
+
var r = B1(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = i.nextSibling.firstChild, c = s.nextSibling, l = c.nextSibling, u = l.nextSibling, d = u.nextSibling, f = d.nextSibling;
|
|
44789
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), N(a, A(W1, { size: 14 })), N(o, A(Ge, {
|
|
44790
|
+
each: H1,
|
|
44746
44791
|
children: (e) => (() => {
|
|
44747
|
-
var r =
|
|
44792
|
+
var r = V1();
|
|
44748
44793
|
return r.$$click = () => n(e.id), N(r, () => e.label), E(() => ct(r, `h-6 shrink-0 rounded-md px-2 text-[12px] font-medium whitespace-nowrap transition-colors ${t() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), r;
|
|
44749
44794
|
})()
|
|
44750
44795
|
})), N(i, A(j, {
|
|
@@ -44752,7 +44797,7 @@ function W1(e) {
|
|
|
44752
44797
|
return e.onTogglePin;
|
|
44753
44798
|
},
|
|
44754
44799
|
get children() {
|
|
44755
|
-
var t =
|
|
44800
|
+
var t = R1();
|
|
44756
44801
|
return t.$$click = () => e.onTogglePin?.(), E((n) => {
|
|
44757
44802
|
var r = e.pinned ? "Switch to overlay" : "Dock beside page", i = e.pinned ? "Overlay the page" : "Dock beside page (squeezes the app, DevTools-style)", a = `hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md transition-colors ${e.pinned ? "text-accent" : "text-text-dim hover:text-text"}`;
|
|
44758
44803
|
return r !== n.e && at(t, "aria-label", n.e = r), i !== n.t && at(t, "title", n.t = i), a !== n.a && ct(t, n.a = a), n;
|
|
@@ -44767,10 +44812,10 @@ function W1(e) {
|
|
|
44767
44812
|
return e.onClose;
|
|
44768
44813
|
},
|
|
44769
44814
|
get children() {
|
|
44770
|
-
var t =
|
|
44815
|
+
var t = z1();
|
|
44771
44816
|
return t.$$click = () => e.onClose?.(), t;
|
|
44772
44817
|
}
|
|
44773
|
-
}), null), N(s, A(Qj, { onCreated: () => n("activity") })), N(c, A(KZ, {})), N(l, A(
|
|
44818
|
+
}), null), N(s, A(Qj, { onCreated: () => n("activity") })), N(c, A(KZ, {})), N(l, A(i$, {})), N(u, A(V$, {})), N(d, A(Y$, { onOpenIssue: () => n("activity") })), N(f, A(A1, {})), E((n) => {
|
|
44774
44819
|
var r = `border-border bg-surface flex shrink-0 items-center gap-1 border-b px-2 py-1.5 select-none ${e.onHeaderPointerDown ? "cursor-grab active:cursor-grabbing" : ""}`, a = t() !== "draft", o = t() !== "capture", p = t() !== "activity", m = t() !== "local", h = t() !== "prs", g = t() !== "settings";
|
|
44775
44820
|
return r !== n.e && ct(i, n.e = r), a !== n.t && s.classList.toggle("hidden", n.t = a), o !== n.a && c.classList.toggle("hidden", n.a = o), p !== n.o && l.classList.toggle("hidden", n.o = p), m !== n.i && u.classList.toggle("hidden", n.i = m), h !== n.n && d.classList.toggle("hidden", n.n = h), g !== n.s && f.classList.toggle("hidden", n.s = g), n;
|
|
44776
44821
|
}, {
|
|
@@ -44788,12 +44833,12 @@ function W1(e) {
|
|
|
44788
44833
|
it(["pointerdown", "click"]);
|
|
44789
44834
|
//#endregion
|
|
44790
44835
|
//#region src/styles/app.css?inline
|
|
44791
|
-
var G1 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
44836
|
+
var K1 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[68px\\]{min-width:68px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
44792
44837
|
//#endregion
|
|
44793
44838
|
//#region src/page/index.tsx
|
|
44794
44839
|
zr();
|
|
44795
|
-
var
|
|
44796
|
-
function
|
|
44840
|
+
var q1 = /*#__PURE__*/ M("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), J1 = /*#__PURE__*/ M("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), Y1 = /*#__PURE__*/ M("<button class=\"bg-accent hover:bg-accent-hover h-7 cursor-pointer rounded-full px-2.5 text-[11px] font-medium text-white transition-colors\"><span class=\"inline-block min-w-[4ch] text-center\">Stop"), X1 = /*#__PURE__*/ M("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), Z1 = /*#__PURE__*/ M("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), Q1 = /*#__PURE__*/ M("<div class=\"fixed z-[2147483646] select-none\"><div class=\"bg-surface border-border text-text flex h-9 cursor-grab items-center gap-1 rounded-full border py-1 pr-1 pl-2.5 font-sans shadow-lg active:cursor-grabbing\">"), $1 = /*#__PURE__*/ M("<div><div title=\"Drag to resize\">"), e0 = /*#__PURE__*/ M("<button title=\"Open Linear Grab\"aria-label=\"Open Linear Grab\"class=\"text-accent hover:opacity-80 inline-flex cursor-pointer items-center gap-1.5\">"), t0 = /*#__PURE__*/ M("<span class=\"bg-border h-4 w-px\"aria-hidden>"), n0 = /*#__PURE__*/ M("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), r0 = /*#__PURE__*/ M("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), i0 = /*#__PURE__*/ M("<button title=\"Running agents\"aria-label=\"Running agents\"class=\"hover:bg-surface-2 flex h-7 cursor-pointer items-center gap-1.5 rounded-full px-2 transition-colors\"><span aria-hidden></span><span>"), a0 = /*#__PURE__*/ M("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), o0 = /*#__PURE__*/ M("<button class=\"hover:bg-surface-2 flex w-full cursor-pointer flex-col gap-0.5 rounded-md px-1.5 py-1.5 text-left transition-colors\"><span class=\"flex min-w-0 items-center gap-1.5\"><span aria-hidden class=\"size-1.5 shrink-0 rounded-full\"></span><span class=\"font-mono text-text-dim shrink-0 text-[10.5px]\"></span><span class=\"text-text truncate text-[11.5px]\"></span></span><span class=\"text-text-faint pl-3 text-[10.5px] tabular-nums\"> · <!> · ");
|
|
44841
|
+
function s0(e = {}) {
|
|
44797
44842
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
44798
44843
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
44799
44844
|
let t = () => {
|
|
@@ -44801,17 +44846,17 @@ function o0(e = {}) {
|
|
|
44801
44846
|
let t = document.createElement("div");
|
|
44802
44847
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
44803
44848
|
let n = t.attachShadow({ mode: "open" }), r = document.createElement("style");
|
|
44804
|
-
r.textContent =
|
|
44849
|
+
r.textContent = K1, n.appendChild(r);
|
|
44805
44850
|
let i = document.createElement("div");
|
|
44806
44851
|
n.appendChild(i);
|
|
44807
|
-
let a = () => i.setAttribute("data-theme",
|
|
44808
|
-
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), rt(() => A(
|
|
44852
|
+
let a = () => i.setAttribute("data-theme", c0());
|
|
44853
|
+
a(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", a), rt(() => A(m0, { get defaultOpen() {
|
|
44809
44854
|
return e.defaultOpen ?? !1;
|
|
44810
44855
|
} }), i);
|
|
44811
44856
|
};
|
|
44812
44857
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
44813
44858
|
}
|
|
44814
|
-
function
|
|
44859
|
+
function c0() {
|
|
44815
44860
|
try {
|
|
44816
44861
|
let e = [document.body, document.documentElement];
|
|
44817
44862
|
for (let t of e) {
|
|
@@ -44821,11 +44866,11 @@ function s0() {
|
|
|
44821
44866
|
} catch {}
|
|
44822
44867
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
44823
44868
|
}
|
|
44824
|
-
var
|
|
44825
|
-
function
|
|
44869
|
+
var l0 = 130, u0 = 36, d0 = 380, f0 = 280, p0 = 720;
|
|
44870
|
+
function m0(e) {
|
|
44826
44871
|
let [t, n] = w(e.defaultOpen), [r, i] = w("right"), [a, o] = w({
|
|
44827
|
-
x: Math.max(8, window.innerWidth -
|
|
44828
|
-
y: Math.max(8, window.innerHeight -
|
|
44872
|
+
x: Math.max(8, window.innerWidth - l0 - 24),
|
|
44873
|
+
y: Math.max(8, window.innerHeight - u0 - 20)
|
|
44829
44874
|
}), [s, c] = w({
|
|
44830
44875
|
running: [],
|
|
44831
44876
|
review: []
|
|
@@ -44840,12 +44885,12 @@ function p0(e) {
|
|
|
44840
44885
|
let t = Math.floor(e / 1e3);
|
|
44841
44886
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
44842
44887
|
}, [v, y] = w(null), b = (e) => ({
|
|
44843
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
44844
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
44888
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - l0 - 8),
|
|
44889
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - u0 - 8)
|
|
44845
44890
|
}), x = (e) => ({
|
|
44846
44891
|
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
44847
44892
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
44848
|
-
}), [S, ee] = w(!1), [C, T] = w("cloud"), [O, te] = w(!1), [ne, k] = w(
|
|
44893
|
+
}), [S, ee] = w(!1), [C, T] = w("cloud"), [O, te] = w(!1), [ne, k] = w(d0), re = (e) => Math.min(p0, Math.max(f0, Math.min(e, window.innerWidth - 60)));
|
|
44849
44894
|
D(() => {
|
|
44850
44895
|
let e = document.documentElement, n = t() && S();
|
|
44851
44896
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
@@ -44953,7 +44998,7 @@ function p0(e) {
|
|
|
44953
44998
|
return !t();
|
|
44954
44999
|
},
|
|
44955
45000
|
get children() {
|
|
44956
|
-
var e =
|
|
45001
|
+
var e = Q1(), t = e.firstChild;
|
|
44957
45002
|
return t.$$pointerdown = ce, N(t, A(j, {
|
|
44958
45003
|
get when() {
|
|
44959
45004
|
return p() === "recording";
|
|
@@ -44961,14 +45006,14 @@ function p0(e) {
|
|
|
44961
45006
|
get fallback() {
|
|
44962
45007
|
return [
|
|
44963
45008
|
(() => {
|
|
44964
|
-
var e =
|
|
45009
|
+
var e = e0();
|
|
44965
45010
|
return e.$$click = () => {
|
|
44966
45011
|
se || (f(!1), n(!0));
|
|
44967
|
-
}, N(e, A(
|
|
45012
|
+
}, N(e, A(W1, { size: 13 })), e;
|
|
44968
45013
|
})(),
|
|
44969
|
-
|
|
45014
|
+
t0(),
|
|
44970
45015
|
(() => {
|
|
44971
|
-
var e =
|
|
45016
|
+
var e = i0(), t = e.firstChild, n = t.nextSibling;
|
|
44972
45017
|
return e.$$click = () => {
|
|
44973
45018
|
se || f((e) => !e);
|
|
44974
45019
|
}, N(n, (() => {
|
|
@@ -44979,8 +45024,8 @@ function p0(e) {
|
|
|
44979
45024
|
return et(() => !O())() && u().length > 0;
|
|
44980
45025
|
},
|
|
44981
45026
|
get children() {
|
|
44982
|
-
return [
|
|
44983
|
-
var e =
|
|
45027
|
+
return [n0(), (() => {
|
|
45028
|
+
var e = r0(), t = e.firstChild;
|
|
44984
45029
|
return N(e, () => u().length, t), e;
|
|
44985
45030
|
})()];
|
|
44986
45031
|
}
|
|
@@ -44996,13 +45041,13 @@ function p0(e) {
|
|
|
44996
45041
|
},
|
|
44997
45042
|
get children() {
|
|
44998
45043
|
return [
|
|
44999
|
-
|
|
45044
|
+
q1(),
|
|
45000
45045
|
(() => {
|
|
45001
|
-
var e =
|
|
45046
|
+
var e = J1();
|
|
45002
45047
|
return N(e, () => _(h())), e;
|
|
45003
45048
|
})(),
|
|
45004
45049
|
(() => {
|
|
45005
|
-
var e =
|
|
45050
|
+
var e = Y1();
|
|
45006
45051
|
return e.$$click = () => {
|
|
45007
45052
|
se || QD();
|
|
45008
45053
|
}, e;
|
|
@@ -45014,17 +45059,17 @@ function p0(e) {
|
|
|
45014
45059
|
return d();
|
|
45015
45060
|
},
|
|
45016
45061
|
get children() {
|
|
45017
|
-
var e =
|
|
45062
|
+
var e = Z1(), t = e.firstChild;
|
|
45018
45063
|
return N(e, A(j, {
|
|
45019
45064
|
get when() {
|
|
45020
45065
|
return u().length > 0;
|
|
45021
45066
|
},
|
|
45022
45067
|
get children() {
|
|
45023
|
-
return [
|
|
45068
|
+
return [X1(), A(Ge, {
|
|
45024
45069
|
get each() {
|
|
45025
45070
|
return u();
|
|
45026
45071
|
},
|
|
45027
|
-
children: (e) => A(
|
|
45072
|
+
children: (e) => A(h0, {
|
|
45028
45073
|
agent: e,
|
|
45029
45074
|
review: !0,
|
|
45030
45075
|
onOpen: ue
|
|
@@ -45036,14 +45081,14 @@ function p0(e) {
|
|
|
45036
45081
|
return l().length > 0;
|
|
45037
45082
|
},
|
|
45038
45083
|
get fallback() {
|
|
45039
|
-
return
|
|
45084
|
+
return a0();
|
|
45040
45085
|
},
|
|
45041
45086
|
get children() {
|
|
45042
45087
|
return A(Ge, {
|
|
45043
45088
|
get each() {
|
|
45044
45089
|
return l();
|
|
45045
45090
|
},
|
|
45046
|
-
children: (e) => A(
|
|
45091
|
+
children: (e) => A(h0, {
|
|
45047
45092
|
agent: e,
|
|
45048
45093
|
onOpen: ue
|
|
45049
45094
|
})
|
|
@@ -45064,8 +45109,8 @@ function p0(e) {
|
|
|
45064
45109
|
return t();
|
|
45065
45110
|
},
|
|
45066
45111
|
get children() {
|
|
45067
|
-
var e =
|
|
45068
|
-
return t.$$pointerdown = de, N(e, A(
|
|
45112
|
+
var e = $1(), t = e.firstChild;
|
|
45113
|
+
return t.$$pointerdown = de, N(e, A(G1, {
|
|
45069
45114
|
onGrab: () => n(!0),
|
|
45070
45115
|
onClose: () => n(!1),
|
|
45071
45116
|
get onHeaderPointerDown() {
|
|
@@ -45093,19 +45138,19 @@ function p0(e) {
|
|
|
45093
45138
|
}
|
|
45094
45139
|
})];
|
|
45095
45140
|
}
|
|
45096
|
-
function
|
|
45141
|
+
function h0(e) {
|
|
45097
45142
|
return (() => {
|
|
45098
|
-
var t =
|
|
45143
|
+
var t = o0(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
45099
45144
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), N(i, () => e.agent.identifier), N(a, () => e.agent.title), N(o, (() => {
|
|
45100
45145
|
var t = et(() => !!e.review);
|
|
45101
45146
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
45102
|
-
})(), s), N(o, () => e.agent.delegateName, c), N(o, () =>
|
|
45147
|
+
})(), s), N(o, () => e.agent.delegateName, c), N(o, () => g0(e.agent.updatedAt), null), E((t) => ft(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
45103
45148
|
})();
|
|
45104
45149
|
}
|
|
45105
|
-
function
|
|
45150
|
+
function g0(e) {
|
|
45106
45151
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
45107
45152
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
45108
45153
|
}
|
|
45109
45154
|
it(["pointerdown", "click"]);
|
|
45110
45155
|
//#endregion
|
|
45111
|
-
export {
|
|
45156
|
+
export { s0 as init };
|