linear-grab 0.22.1 → 0.22.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.global.js +5 -5
- package/dist/linear-grab.js +397 -271
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -45784,7 +45784,30 @@ async function e2(e) {
|
|
|
45784
45784
|
states: []
|
|
45785
45785
|
};
|
|
45786
45786
|
}
|
|
45787
|
-
|
|
45787
|
+
var t2 = {
|
|
45788
|
+
active: !1,
|
|
45789
|
+
msLeft: 0,
|
|
45790
|
+
total: 0,
|
|
45791
|
+
byTrigger: {}
|
|
45792
|
+
}, n2 = /* @__PURE__ */ new Set();
|
|
45793
|
+
function r2(e) {
|
|
45794
|
+
t2 = {
|
|
45795
|
+
...t2,
|
|
45796
|
+
...e
|
|
45797
|
+
};
|
|
45798
|
+
for (let e of n2) e(t2);
|
|
45799
|
+
}
|
|
45800
|
+
function i2(e) {
|
|
45801
|
+
return n2.add(e), e(t2), () => void n2.delete(e);
|
|
45802
|
+
}
|
|
45803
|
+
var a2 = null;
|
|
45804
|
+
function o2() {
|
|
45805
|
+
a2?.();
|
|
45806
|
+
}
|
|
45807
|
+
function s2(e) {
|
|
45808
|
+
return e === "hover" || e === "focus" ? e : "open";
|
|
45809
|
+
}
|
|
45810
|
+
async function c2(e, t, n) {
|
|
45788
45811
|
let r = q0(), i = await X0(), a = [], o = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Map(), c = (e) => Q0(e, r).styles, l = (e) => {
|
|
45789
45812
|
if (!(s.size >= 120)) {
|
|
45790
45813
|
s.set(e, c(e));
|
|
@@ -45805,11 +45828,20 @@ async function t2(e, t, n) {
|
|
|
45805
45828
|
}
|
|
45806
45829
|
if (Object.keys(l).length === 0) return;
|
|
45807
45830
|
let u = Z0(e, i), d = `${t}|${u}|${Object.keys(l).join(",")}`;
|
|
45808
|
-
|
|
45831
|
+
if (o.has(d)) return;
|
|
45832
|
+
o.add(d), a.push({
|
|
45809
45833
|
trigger: t,
|
|
45810
45834
|
label: u,
|
|
45811
45835
|
changed: l
|
|
45812
|
-
})
|
|
45836
|
+
});
|
|
45837
|
+
let f = s2(t);
|
|
45838
|
+
r2({
|
|
45839
|
+
total: t2.total + 1,
|
|
45840
|
+
byTrigger: {
|
|
45841
|
+
...t2.byTrigger,
|
|
45842
|
+
[f]: (t2.byTrigger[f] ?? 0) + 1
|
|
45843
|
+
}
|
|
45844
|
+
});
|
|
45813
45845
|
}, d = (e) => {
|
|
45814
45846
|
let t = e.target;
|
|
45815
45847
|
t instanceof Element && s.has(t) && setTimeout(() => u(t, "hover"), 50);
|
|
@@ -45854,20 +45886,39 @@ async function t2(e, t, n) {
|
|
|
45854
45886
|
trigger: "appeared (portal/open)",
|
|
45855
45887
|
label: n,
|
|
45856
45888
|
changed: c
|
|
45889
|
+
}), r2({
|
|
45890
|
+
total: t2.total + 1,
|
|
45891
|
+
byTrigger: {
|
|
45892
|
+
...t2.byTrigger,
|
|
45893
|
+
open: (t2.byTrigger.open ?? 0) + 1
|
|
45894
|
+
}
|
|
45857
45895
|
});
|
|
45858
45896
|
}, 50);
|
|
45859
45897
|
});
|
|
45860
45898
|
m.observe(document.body, {
|
|
45861
45899
|
childList: !0,
|
|
45862
45900
|
subtree: !1
|
|
45901
|
+
}), r2({
|
|
45902
|
+
active: !0,
|
|
45903
|
+
msLeft: t,
|
|
45904
|
+
total: 0,
|
|
45905
|
+
byTrigger: {}
|
|
45863
45906
|
});
|
|
45864
45907
|
let h = setInterval(() => {
|
|
45865
45908
|
let e = t - (Date.now() - g);
|
|
45866
|
-
n?.(Math.max(0, e));
|
|
45909
|
+
n?.(Math.max(0, e)), r2({ msLeft: Math.max(0, e) });
|
|
45867
45910
|
}, 250), g = Date.now();
|
|
45868
|
-
return await new Promise((e) =>
|
|
45911
|
+
return await new Promise((e) => {
|
|
45912
|
+
let n = setTimeout(e, t);
|
|
45913
|
+
a2 = () => {
|
|
45914
|
+
clearTimeout(n), e();
|
|
45915
|
+
};
|
|
45916
|
+
}), a2 = null, r2({
|
|
45917
|
+
active: !1,
|
|
45918
|
+
msLeft: 0
|
|
45919
|
+
}), clearInterval(h), e.removeEventListener("pointerover", d, !0), e.removeEventListener("focusin", f, !0), p.disconnect(), m.disconnect(), a;
|
|
45869
45920
|
}
|
|
45870
|
-
function
|
|
45921
|
+
function l2(e) {
|
|
45871
45922
|
let t = [
|
|
45872
45923
|
`# Design genome: ${e.title}`,
|
|
45873
45924
|
`Extracted from ${e.pageUrl}`,
|
|
@@ -45888,7 +45939,7 @@ function n2(e) {
|
|
|
45888
45939
|
}
|
|
45889
45940
|
return t.join("\n");
|
|
45890
45941
|
}
|
|
45891
|
-
function
|
|
45942
|
+
function u2() {
|
|
45892
45943
|
return new Promise((e) => {
|
|
45893
45944
|
let t = document.createElement("div");
|
|
45894
45945
|
t.style.cssText = "position:fixed;z-index:2147483647;pointer-events:none;border:1.5px solid #5e6ad2;border-radius:4px;background:rgba(94,106,210,0.08);display:none;", document.body.appendChild(t);
|
|
@@ -45915,48 +45966,55 @@ function r2() {
|
|
|
45915
45966
|
}
|
|
45916
45967
|
//#endregion
|
|
45917
45968
|
//#region src/panel/views/DesignView.tsx
|
|
45918
|
-
var
|
|
45919
|
-
function
|
|
45969
|
+
var d2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[7ch] text-center\">Extract"), f2 = /*#__PURE__*/ N("<div class=\"relative flex flex-col gap-2 pl-4\"><div class=\"bg-border absolute top-1 bottom-1 left-[5px] w-px\"aria-hidden>"), p2 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-3 overflow-y-auto pt-3 pb-4 pr-3 pl-2\"><div class=\"flex items-center justify-between gap-2 px-1\"><div class=min-w-0><p class=\"text-text text-[12.5px] font-semibold\">Design genomes</p><p class=\"text-text-faint text-[10.5px] leading-snug\">Point at a component → get its structure, tokens and interaction states as a spec you can hand to an agent."), m2 = /*#__PURE__*/ N("<p class=\"text-text mt-1 text-[11px] font-semibold\">Interaction states"), h2 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"aria-hidden><rect x=3.5 y=3.5 width=9 height=9 rx=1.5 fill=currentColor>"), g2 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px] font-medium tabular-nums\">s · <!> states"), _2 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), v2 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M4 4l8 8M12 4l-8 8\">"), y2 = /*#__PURE__*/ N("<div class=\"border-border flex flex-col gap-2 border-t px-2.5 py-2\"><p class=\"text-text-faint truncate text-[10px]\"></p><div class=\"flex max-h-64 flex-col gap-2 overflow-y-auto pr-2\"></div><div class=\"flex items-center gap-1\">"), b2 = /*#__PURE__*/ N("<div class=relative><span class=\"border-border bg-surface absolute top-3 -left-[13.5px] size-[9px] rounded-full border\"aria-hidden></span><div class=\"bg-surface border-border flex flex-col rounded-lg border\"><button class=\"flex w-full cursor-pointer items-center gap-2 px-2.5 py-2 text-left\"><span class=\"text-accent min-w-0 truncate font-mono text-[12px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"> roles<!> · </span><svg width=10 height=10 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 class=\"text-text-faint shrink-0 transition-transform\"aria-hidden><path d=\"m4 6 4 4 4-4\">"), x2 = /*#__PURE__*/ N("<span class=text-text-faint> ×"), S2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-text text-[11px] font-medium\">"), C2 = /*#__PURE__*/ N("<span class=text-accent> ← var(<!>)"), w2 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: "), T2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-warn text-[10.5px] font-medium\"> — "), E2 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: <!> → "), D2 = /*#__PURE__*/ N("<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=2 fill=currentColor stroke=none>"), O2 = /*#__PURE__*/ N("<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\">"), k2 = "linear-grab:genomes:v1", A2 = 30;
|
|
45970
|
+
function j2() {
|
|
45920
45971
|
try {
|
|
45921
|
-
return JSON.parse(localStorage.getItem(
|
|
45972
|
+
return JSON.parse(localStorage.getItem(k2) ?? "[]");
|
|
45922
45973
|
} catch {
|
|
45923
45974
|
return [];
|
|
45924
45975
|
}
|
|
45925
45976
|
}
|
|
45926
|
-
function
|
|
45977
|
+
function M2(e) {
|
|
45927
45978
|
try {
|
|
45928
|
-
localStorage.setItem(
|
|
45979
|
+
localStorage.setItem(k2, JSON.stringify(e.slice(0, A2)));
|
|
45929
45980
|
} catch {}
|
|
45930
45981
|
}
|
|
45931
|
-
var
|
|
45932
|
-
function
|
|
45933
|
-
let [e, t] = T(
|
|
45934
|
-
|
|
45935
|
-
|
|
45982
|
+
var N2 = /* @__PURE__ */ new Map();
|
|
45983
|
+
function P2() {
|
|
45984
|
+
let [e, t] = T(j2()), [n, r] = T(null), [i, a] = T(null), [o, s] = T(null), [c, l] = T(null), [u, d] = T(null), [f, p] = T({
|
|
45985
|
+
active: !1,
|
|
45986
|
+
msLeft: 0,
|
|
45987
|
+
total: 0,
|
|
45988
|
+
byTrigger: {}
|
|
45989
|
+
});
|
|
45990
|
+
ae(i2(p));
|
|
45991
|
+
let m = (e) => {
|
|
45992
|
+
t(e), M2(e);
|
|
45993
|
+
}, h = async () => {
|
|
45936
45994
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
45937
45995
|
try {
|
|
45938
|
-
let t = await
|
|
45996
|
+
let t = await u2();
|
|
45939
45997
|
if (!t) return;
|
|
45940
45998
|
let n = await e2(t), i = Date.now();
|
|
45941
|
-
|
|
45999
|
+
N2.set(i, new WeakRef(t)), m([{
|
|
45942
46000
|
id: i,
|
|
45943
46001
|
genome: n
|
|
45944
46002
|
}, ...e()]), r(i);
|
|
45945
46003
|
} catch (e) {
|
|
45946
46004
|
l(e instanceof Error ? e.message : String(e));
|
|
45947
46005
|
} finally {
|
|
45948
|
-
a(null), window.dispatchEvent(new CustomEvent(VZ));
|
|
46006
|
+
a(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
45949
46007
|
}
|
|
45950
|
-
},
|
|
46008
|
+
}, g = async (t) => {
|
|
45951
46009
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
45952
46010
|
try {
|
|
45953
|
-
let n =
|
|
46011
|
+
let n = N2.get(t.id)?.deref() ?? null;
|
|
45954
46012
|
if (!n || !n.isConnected) {
|
|
45955
|
-
if (n = await
|
|
45956
|
-
|
|
46013
|
+
if (n = await u2(), !n) return;
|
|
46014
|
+
N2.set(t.id, new WeakRef(n));
|
|
45957
46015
|
}
|
|
45958
|
-
let r = await
|
|
45959
|
-
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."),
|
|
46016
|
+
let r = await c2(n, 8e3, (e) => s(Math.ceil(e / 1e3)));
|
|
46017
|
+
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."), m(e().map((e) => e.id === t.id ? {
|
|
45960
46018
|
...e,
|
|
45961
46019
|
genome: {
|
|
45962
46020
|
...e.genome,
|
|
@@ -45966,36 +46024,28 @@ function C2() {
|
|
|
45966
46024
|
} catch (e) {
|
|
45967
46025
|
l(e instanceof Error ? e.message : String(e));
|
|
45968
46026
|
} finally {
|
|
45969
|
-
a(null), s(null), window.dispatchEvent(new CustomEvent(VZ));
|
|
46027
|
+
a(null), s(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
45970
46028
|
}
|
|
45971
|
-
},
|
|
46029
|
+
}, _ = async (e) => {
|
|
45972
46030
|
try {
|
|
45973
|
-
await navigator.clipboard.writeText(
|
|
46031
|
+
await navigator.clipboard.writeText(l2(e.genome)), d(e.id), setTimeout(() => d(null), 1600);
|
|
45974
46032
|
} catch {
|
|
45975
46033
|
l("Clipboard was blocked — click Copy again.");
|
|
45976
46034
|
}
|
|
45977
|
-
},
|
|
45978
|
-
|
|
46035
|
+
}, v = (t) => {
|
|
46036
|
+
N2.delete(t), m(e().filter((e) => e.id !== t));
|
|
45979
46037
|
};
|
|
45980
46038
|
return (() => {
|
|
45981
|
-
var t =
|
|
46039
|
+
var t = p2(), a = t.firstChild;
|
|
45982
46040
|
return a.firstChild, P(a, j(kj, {
|
|
45983
46041
|
variant: "primary",
|
|
45984
46042
|
class: "h-7 shrink-0 px-2.5 text-[11.5px]",
|
|
45985
46043
|
get loading() {
|
|
45986
46044
|
return i() === "extract";
|
|
45987
46045
|
},
|
|
45988
|
-
onClick: () => void
|
|
45989
|
-
get children() {
|
|
45990
|
-
return i2();
|
|
45991
|
-
}
|
|
45992
|
-
}), null), P(t, j(M, {
|
|
45993
|
-
get when() {
|
|
45994
|
-
return o() !== null;
|
|
45995
|
-
},
|
|
46046
|
+
onClick: () => void h(),
|
|
45996
46047
|
get children() {
|
|
45997
|
-
|
|
45998
|
-
return P(t, o, n), e;
|
|
46048
|
+
return d2();
|
|
45999
46049
|
}
|
|
46000
46050
|
}), null), P(t, j(M, {
|
|
46001
46051
|
get when() {
|
|
@@ -46017,7 +46067,7 @@ function C2() {
|
|
|
46017
46067
|
});
|
|
46018
46068
|
},
|
|
46019
46069
|
get children() {
|
|
46020
|
-
var t =
|
|
46070
|
+
var t = f2();
|
|
46021
46071
|
return t.firstChild, P(t, j(We, {
|
|
46022
46072
|
get each() {
|
|
46023
46073
|
return e();
|
|
@@ -46025,30 +46075,30 @@ function C2() {
|
|
|
46025
46075
|
children: (e) => {
|
|
46026
46076
|
let t = () => n() === e.id;
|
|
46027
46077
|
return (() => {
|
|
46028
|
-
var n =
|
|
46029
|
-
|
|
46030
|
-
var
|
|
46078
|
+
var n = b2(), a = n.firstChild, o = a.nextSibling, s = o.firstChild, c = s.firstChild, l = c.nextSibling, d = l.firstChild, p = d.nextSibling;
|
|
46079
|
+
p.nextSibling;
|
|
46080
|
+
var m = l.nextSibling;
|
|
46031
46081
|
return s.$$click = () => r(t() ? null : e.id), P(c, () => e.genome.title), P(l, () => e.genome.nodes.length, d), P(l, (() => {
|
|
46032
46082
|
var t = $e(() => !!e.genome.states.length);
|
|
46033
46083
|
return () => t() ? ` · ${e.genome.states.length} states` : "";
|
|
46034
|
-
})(),
|
|
46084
|
+
})(), p), P(l, () => Wj(e.genome.extractedAt), null), P(o, j(M, {
|
|
46035
46085
|
get when() {
|
|
46036
46086
|
return t();
|
|
46037
46087
|
},
|
|
46038
46088
|
get children() {
|
|
46039
|
-
var t =
|
|
46089
|
+
var t = y2(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
46040
46090
|
return P(n, () => e.genome.pageUrl), P(r, j(We, {
|
|
46041
46091
|
get each() {
|
|
46042
46092
|
return e.genome.nodes;
|
|
46043
46093
|
},
|
|
46044
46094
|
children: (e) => (() => {
|
|
46045
|
-
var t =
|
|
46095
|
+
var t = S2(), n = t.firstChild;
|
|
46046
46096
|
return P(n, () => e.label, null), P(n, j(M, {
|
|
46047
46097
|
get when() {
|
|
46048
46098
|
return e.count > 1;
|
|
46049
46099
|
},
|
|
46050
46100
|
get children() {
|
|
46051
|
-
var t =
|
|
46101
|
+
var t = x2();
|
|
46052
46102
|
return t.firstChild, P(t, () => e.count, null), t;
|
|
46053
46103
|
}
|
|
46054
46104
|
}), null), P(t, j(We, {
|
|
@@ -46056,13 +46106,13 @@ function C2() {
|
|
|
46056
46106
|
return Object.entries(e.styles);
|
|
46057
46107
|
},
|
|
46058
46108
|
children: ([t, n]) => (() => {
|
|
46059
|
-
var r =
|
|
46109
|
+
var r = w2(), i = r.firstChild;
|
|
46060
46110
|
return P(r, t, i), P(r, n, null), P(r, j(M, {
|
|
46061
46111
|
get when() {
|
|
46062
46112
|
return e.tokens[t];
|
|
46063
46113
|
},
|
|
46064
46114
|
get children() {
|
|
46065
|
-
var n =
|
|
46115
|
+
var n = C2(), r = n.firstChild.nextSibling;
|
|
46066
46116
|
return r.nextSibling, P(n, () => e.tokens[t], r), n;
|
|
46067
46117
|
}
|
|
46068
46118
|
}), null), r;
|
|
@@ -46074,52 +46124,95 @@ function C2() {
|
|
|
46074
46124
|
return e.genome.states.length > 0;
|
|
46075
46125
|
},
|
|
46076
46126
|
get children() {
|
|
46077
|
-
return [
|
|
46127
|
+
return [m2(), j(We, {
|
|
46078
46128
|
get each() {
|
|
46079
46129
|
return e.genome.states;
|
|
46080
46130
|
},
|
|
46081
46131
|
children: (e) => (() => {
|
|
46082
|
-
var t =
|
|
46132
|
+
var t = T2(), n = t.firstChild, r = n.firstChild;
|
|
46083
46133
|
return P(n, () => e.label, r), P(n, () => e.trigger, null), P(t, j(We, {
|
|
46084
46134
|
get each() {
|
|
46085
46135
|
return Object.entries(e.changed);
|
|
46086
46136
|
},
|
|
46087
46137
|
children: ([e, t]) => (() => {
|
|
46088
|
-
var n =
|
|
46138
|
+
var n = E2(), r = n.firstChild, i = r.nextSibling;
|
|
46089
46139
|
return i.nextSibling, P(n, e, r), P(n, () => t.from, i), P(n, () => t.to, null), n;
|
|
46090
46140
|
})()
|
|
46091
46141
|
}), null), t;
|
|
46092
46142
|
})()
|
|
46093
46143
|
})];
|
|
46094
46144
|
}
|
|
46095
|
-
}), null), P(a, j(
|
|
46096
|
-
|
|
46097
|
-
|
|
46098
|
-
get loading() {
|
|
46099
|
-
return i() === e.id;
|
|
46145
|
+
}), null), P(a, j(M, {
|
|
46146
|
+
get when() {
|
|
46147
|
+
return $e(() => i() === e.id)() && f().active;
|
|
46100
46148
|
},
|
|
46101
|
-
|
|
46102
|
-
|
|
46103
|
-
|
|
46149
|
+
get fallback() {
|
|
46150
|
+
return j(kj, {
|
|
46151
|
+
class: "size-7 px-0",
|
|
46152
|
+
variant: "ghost",
|
|
46153
|
+
get loading() {
|
|
46154
|
+
return i() === e.id;
|
|
46155
|
+
},
|
|
46156
|
+
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46157
|
+
"aria-label": "Capture interaction states",
|
|
46158
|
+
onClick: () => void g(e),
|
|
46159
|
+
get children() {
|
|
46160
|
+
return D2();
|
|
46161
|
+
}
|
|
46162
|
+
});
|
|
46163
|
+
},
|
|
46164
|
+
get children() {
|
|
46165
|
+
return [j(kj, {
|
|
46166
|
+
class: "text-danger size-7 px-0",
|
|
46167
|
+
variant: "ghost",
|
|
46168
|
+
get title() {
|
|
46169
|
+
return `Stop recording — ${Math.ceil(f().msLeft / 1e3)}s left · ${f().total} captured`;
|
|
46170
|
+
},
|
|
46171
|
+
"aria-label": "Stop recording states",
|
|
46172
|
+
onClick: () => o2(),
|
|
46173
|
+
get children() {
|
|
46174
|
+
return h2();
|
|
46175
|
+
}
|
|
46176
|
+
}), (() => {
|
|
46177
|
+
var e = g2(), t = e.firstChild, n = t.nextSibling;
|
|
46178
|
+
return n.nextSibling, P(e, () => Math.ceil(f().msLeft / 1e3), t), P(e, () => f().total, n), e;
|
|
46179
|
+
})()];
|
|
46180
|
+
}
|
|
46104
46181
|
}), null), P(a, j(kj, {
|
|
46105
|
-
class: "
|
|
46182
|
+
class: "size-7 px-0",
|
|
46106
46183
|
variant: "ghost",
|
|
46107
|
-
title
|
|
46108
|
-
|
|
46184
|
+
get title() {
|
|
46185
|
+
return u() === e.id ? "Copied!" : "Copy spec — markdown for an agent or issue";
|
|
46186
|
+
},
|
|
46187
|
+
"aria-label": "Copy genome spec",
|
|
46188
|
+
onClick: () => void _(e),
|
|
46109
46189
|
get children() {
|
|
46110
|
-
|
|
46111
|
-
|
|
46190
|
+
return j(M, {
|
|
46191
|
+
get when() {
|
|
46192
|
+
return u() === e.id;
|
|
46193
|
+
},
|
|
46194
|
+
get fallback() {
|
|
46195
|
+
return O2();
|
|
46196
|
+
},
|
|
46197
|
+
get children() {
|
|
46198
|
+
return _2();
|
|
46199
|
+
}
|
|
46200
|
+
});
|
|
46112
46201
|
}
|
|
46113
46202
|
}), null), P(a, j(kj, {
|
|
46114
|
-
class: "text-danger ml-auto
|
|
46203
|
+
class: "text-danger ml-auto size-7 px-0",
|
|
46115
46204
|
variant: "ghost",
|
|
46116
|
-
|
|
46117
|
-
|
|
46205
|
+
title: "Delete this genome",
|
|
46206
|
+
"aria-label": "Delete genome",
|
|
46207
|
+
onClick: () => v(e.id),
|
|
46208
|
+
get children() {
|
|
46209
|
+
return v2();
|
|
46210
|
+
}
|
|
46118
46211
|
}), null), t;
|
|
46119
46212
|
}
|
|
46120
46213
|
}), null), D((e) => {
|
|
46121
46214
|
var n = { "bg-accent border-accent": t() }, r = !!t();
|
|
46122
|
-
return e.e = lt(a, n, e.e), r !== e.t &&
|
|
46215
|
+
return e.e = lt(a, n, e.e), r !== e.t && m.classList.toggle("rotate-180", e.t = r), e;
|
|
46123
46216
|
}, {
|
|
46124
46217
|
e: void 0,
|
|
46125
46218
|
t: void 0
|
|
@@ -46134,7 +46227,7 @@ function C2() {
|
|
|
46134
46227
|
rt(["click"]);
|
|
46135
46228
|
//#endregion
|
|
46136
46229
|
//#region src/lib/projectConfig.ts
|
|
46137
|
-
var
|
|
46230
|
+
var F2 = [
|
|
46138
46231
|
"defaultTeamId",
|
|
46139
46232
|
"defaultProjectId",
|
|
46140
46233
|
"defaultLabelIds",
|
|
@@ -46149,29 +46242,29 @@ var w2 = [
|
|
|
46149
46242
|
"issueTemplate",
|
|
46150
46243
|
"testUsername"
|
|
46151
46244
|
];
|
|
46152
|
-
function
|
|
46245
|
+
function I2(e) {
|
|
46153
46246
|
let t = {};
|
|
46154
|
-
for (let n of
|
|
46247
|
+
for (let n of F2) {
|
|
46155
46248
|
let r = e[n];
|
|
46156
46249
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
46157
46250
|
}
|
|
46158
46251
|
return t;
|
|
46159
46252
|
}
|
|
46160
|
-
function
|
|
46253
|
+
function L2(e, t) {
|
|
46161
46254
|
let n = {};
|
|
46162
|
-
for (let r of
|
|
46255
|
+
for (let r of F2) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
46163
46256
|
return Object.keys(n).length ? n : null;
|
|
46164
46257
|
}
|
|
46165
46258
|
//#endregion
|
|
46166
46259
|
//#region src/lib/linear/auth.ts
|
|
46167
46260
|
Br();
|
|
46168
|
-
function
|
|
46261
|
+
function R2(e) {
|
|
46169
46262
|
let t = "";
|
|
46170
46263
|
for (let n of e) t += String.fromCharCode(n);
|
|
46171
46264
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
46172
46265
|
}
|
|
46173
|
-
async function
|
|
46174
|
-
let t =
|
|
46266
|
+
async function z2(e) {
|
|
46267
|
+
let t = R2(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = R2(new Uint8Array(n)), i = R2(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
46175
46268
|
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");
|
|
46176
46269
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
46177
46270
|
url: o.toString(),
|
|
@@ -46199,15 +46292,15 @@ async function O2(e) {
|
|
|
46199
46292
|
linearOauthClientId: e
|
|
46200
46293
|
});
|
|
46201
46294
|
}
|
|
46202
|
-
async function
|
|
46295
|
+
async function B2() {
|
|
46203
46296
|
await Er({
|
|
46204
46297
|
linearAccessToken: void 0,
|
|
46205
46298
|
linearApiKey: void 0
|
|
46206
46299
|
});
|
|
46207
46300
|
}
|
|
46208
46301
|
Br(), Sr(), Fx(), gD();
|
|
46209
|
-
var
|
|
46210
|
-
function
|
|
46302
|
+
var V2 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), H2 = /*#__PURE__*/ N("<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."), U2 = /*#__PURE__*/ N("<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"), W2 = /*#__PURE__*/ N("<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)."), G2 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), K2 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), q2 = /*#__PURE__*/ N("<option value>Select a team…"), J2 = /*#__PURE__*/ N("<option value>No project"), Y2 = /*#__PURE__*/ N("<div class=\"flex flex-wrap gap-1\">"), X2 = /*#__PURE__*/ N("<label class=\"flex items-start gap-2\"><input type=checkbox class=\"accent-accent mt-0.5\"><span class=\"flex flex-col gap-0.5\"><span class=text-[12px]>Let agents close out Linear themselves</span><span class=\"text-text-faint text-[10.5px] leading-snug\">Embeds your Linear API key + raw GraphQL closeout recipes in every issue's Agent instructions — cloud agent VMs have no authenticated Linear MCP, so without this they can't comment, attach media, or move the issue. The key is visible to anyone who can read the issue."), Z2 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), Q2 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), $2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), e4 = /*#__PURE__*/ N("<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."), t4 = /*#__PURE__*/ N("<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."), n4 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[10.5px] leading-snug\">A committed <code>.lineargrab.json</code> at the repo root (where the bridge runs) shares team/project/labels, skills, staging branch, and workflow defaults with every machine and teammate — it seeds any setting you haven't set locally. Secrets never belong in it."), r4 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), i4 = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\">"), a4 = /*#__PURE__*/ N("<option value>Select a channel…"), o4 = /*#__PURE__*/ N("<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"), s4 = /*#__PURE__*/ N("<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."), c4 = /*#__PURE__*/ N("<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"), l4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), u4 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), d4 = /*#__PURE__*/ N("<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."), f4 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), p4 = /*#__PURE__*/ N("<button>"), m4 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), h4 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), g4 = /*#__PURE__*/ N("<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\">"), _4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), v4 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), y4 = /*#__PURE__*/ N("<option> (<!>)"), b4 = /*#__PURE__*/ N("<option>"), x4 = /*#__PURE__*/ N("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), S4 = /*#__PURE__*/ N("<option value>Select the agent…"), C4 = /*#__PURE__*/ N("<option>#"), w4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
46303
|
+
function T4() {
|
|
46211
46304
|
let e = sr(), t = _r(() => ({
|
|
46212
46305
|
queryKey: ["settings"],
|
|
46213
46306
|
queryFn: Tr,
|
|
@@ -46235,13 +46328,13 @@ function m4() {
|
|
|
46235
46328
|
retry: 0
|
|
46236
46329
|
})), [l, u] = T(!1), d = async () => {
|
|
46237
46330
|
try {
|
|
46238
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
46331
|
+
await navigator.clipboard.writeText(JSON.stringify(I2(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
46239
46332
|
} catch {}
|
|
46240
46333
|
}, f = () => {
|
|
46241
46334
|
let e = c.data?.projectConfig;
|
|
46242
46335
|
if (!e) return;
|
|
46243
46336
|
let t = {};
|
|
46244
|
-
for (let n of
|
|
46337
|
+
for (let n of F2) e[n] !== void 0 && (t[n] = e[n]);
|
|
46245
46338
|
r(t);
|
|
46246
46339
|
}, p = _r(() => ({
|
|
46247
46340
|
queryKey: ["linear-labels"],
|
|
@@ -46274,7 +46367,7 @@ function m4() {
|
|
|
46274
46367
|
}
|
|
46275
46368
|
E(!0), ee("");
|
|
46276
46369
|
try {
|
|
46277
|
-
await
|
|
46370
|
+
await z2(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"] });
|
|
46278
46371
|
} catch (e) {
|
|
46279
46372
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
46280
46373
|
} finally {
|
|
@@ -46285,7 +46378,7 @@ function m4() {
|
|
|
46285
46378
|
async function re() {
|
|
46286
46379
|
ne(!0);
|
|
46287
46380
|
try {
|
|
46288
|
-
await
|
|
46381
|
+
await B2(), 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"] });
|
|
46289
46382
|
} finally {
|
|
46290
46383
|
ne(!1);
|
|
46291
46384
|
}
|
|
@@ -46301,12 +46394,12 @@ function m4() {
|
|
|
46301
46394
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
46302
46395
|
});
|
|
46303
46396
|
return (() => {
|
|
46304
|
-
var e =
|
|
46397
|
+
var e = f4();
|
|
46305
46398
|
return P(e, j(Rj, {
|
|
46306
46399
|
title: "Workflow",
|
|
46307
46400
|
get children() {
|
|
46308
46401
|
return [(() => {
|
|
46309
|
-
var e =
|
|
46402
|
+
var e = V2();
|
|
46310
46403
|
return P(e, j(We, {
|
|
46311
46404
|
each: [{
|
|
46312
46405
|
id: "cloud",
|
|
@@ -46316,19 +46409,19 @@ function m4() {
|
|
|
46316
46409
|
label: "Local · clipboard"
|
|
46317
46410
|
}],
|
|
46318
46411
|
children: (e) => (() => {
|
|
46319
|
-
var t =
|
|
46412
|
+
var t = p4();
|
|
46320
46413
|
return t.$$click = () => void r({ workflowMode: e.id }), P(t, () => e.label), D(() => st(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;
|
|
46321
46414
|
})()
|
|
46322
46415
|
})), e;
|
|
46323
|
-
})(),
|
|
46416
|
+
})(), H2()];
|
|
46324
46417
|
}
|
|
46325
46418
|
}), null), P(e, j(Rj, {
|
|
46326
46419
|
title: "Capture",
|
|
46327
46420
|
get children() {
|
|
46328
46421
|
return [(() => {
|
|
46329
|
-
var e =
|
|
46422
|
+
var e = U2(), t = e.firstChild;
|
|
46330
46423
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
46331
|
-
})(),
|
|
46424
|
+
})(), W2()];
|
|
46332
46425
|
}
|
|
46333
46426
|
}), null), P(e, j(Rj, {
|
|
46334
46427
|
title: "Linear",
|
|
@@ -46339,13 +46432,13 @@ function m4() {
|
|
|
46339
46432
|
},
|
|
46340
46433
|
get fallback() {
|
|
46341
46434
|
return (() => {
|
|
46342
|
-
var e =
|
|
46435
|
+
var e = _4();
|
|
46343
46436
|
return P(e, j(Lj, {
|
|
46344
46437
|
label: "Personal API key",
|
|
46345
46438
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
46346
46439
|
get children() {
|
|
46347
46440
|
return [(() => {
|
|
46348
|
-
var e =
|
|
46441
|
+
var e = m4();
|
|
46349
46442
|
return P(e, j(jj, {
|
|
46350
46443
|
type: "password",
|
|
46351
46444
|
placeholder: "lin_api_…",
|
|
@@ -46382,12 +46475,12 @@ function m4() {
|
|
|
46382
46475
|
}), null), P(e, j(M, {
|
|
46383
46476
|
when: xr,
|
|
46384
46477
|
get children() {
|
|
46385
|
-
return [
|
|
46478
|
+
return [h4(), j(Lj, {
|
|
46386
46479
|
label: "OAuth client ID",
|
|
46387
46480
|
get children() {
|
|
46388
46481
|
return [
|
|
46389
46482
|
(() => {
|
|
46390
|
-
var e =
|
|
46483
|
+
var e = m4();
|
|
46391
46484
|
return P(e, j(jj, {
|
|
46392
46485
|
placeholder: "your-client-id",
|
|
46393
46486
|
get value() {
|
|
@@ -46415,7 +46508,7 @@ function m4() {
|
|
|
46415
46508
|
}
|
|
46416
46509
|
}),
|
|
46417
46510
|
(() => {
|
|
46418
|
-
var e =
|
|
46511
|
+
var e = g4(), t = e.firstChild.nextSibling.nextSibling;
|
|
46419
46512
|
return P(t, ie), e;
|
|
46420
46513
|
})()
|
|
46421
46514
|
];
|
|
@@ -46426,13 +46519,13 @@ function m4() {
|
|
|
46426
46519
|
})();
|
|
46427
46520
|
},
|
|
46428
46521
|
get children() {
|
|
46429
|
-
var e =
|
|
46522
|
+
var e = K2(), t = e.firstChild;
|
|
46430
46523
|
return P(t, j(M, {
|
|
46431
46524
|
get when() {
|
|
46432
46525
|
return !a.isLoading;
|
|
46433
46526
|
},
|
|
46434
46527
|
get fallback() {
|
|
46435
|
-
return
|
|
46528
|
+
return v4();
|
|
46436
46529
|
},
|
|
46437
46530
|
get children() {
|
|
46438
46531
|
return j(M, {
|
|
@@ -46445,7 +46538,7 @@ function m4() {
|
|
|
46445
46538
|
return a.isError;
|
|
46446
46539
|
},
|
|
46447
46540
|
get fallback() {
|
|
46448
|
-
return
|
|
46541
|
+
return v4();
|
|
46449
46542
|
},
|
|
46450
46543
|
get children() {
|
|
46451
46544
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -46453,7 +46546,7 @@ function m4() {
|
|
|
46453
46546
|
});
|
|
46454
46547
|
},
|
|
46455
46548
|
get children() {
|
|
46456
|
-
var e =
|
|
46549
|
+
var e = G2(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
46457
46550
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
46458
46551
|
}
|
|
46459
46552
|
});
|
|
@@ -46494,7 +46587,7 @@ function m4() {
|
|
|
46494
46587
|
return o.isLoading;
|
|
46495
46588
|
},
|
|
46496
46589
|
get children() {
|
|
46497
|
-
return [
|
|
46590
|
+
return [q2(), j(M, {
|
|
46498
46591
|
get when() {
|
|
46499
46592
|
return o.data;
|
|
46500
46593
|
},
|
|
@@ -46504,7 +46597,7 @@ function m4() {
|
|
|
46504
46597
|
return o.data;
|
|
46505
46598
|
},
|
|
46506
46599
|
children: (e) => (() => {
|
|
46507
|
-
var t =
|
|
46600
|
+
var t = y4(), r = t.firstChild, i = r.nextSibling;
|
|
46508
46601
|
return i.nextSibling, P(t, () => e.name, r), P(t, () => e.key, i), D(() => t.selected = e.id === n().defaultTeamId), D(() => t.value = e.id), t;
|
|
46509
46602
|
})()
|
|
46510
46603
|
});
|
|
@@ -46528,14 +46621,14 @@ function m4() {
|
|
|
46528
46621
|
},
|
|
46529
46622
|
get children() {
|
|
46530
46623
|
return [(() => {
|
|
46531
|
-
var e =
|
|
46624
|
+
var e = J2();
|
|
46532
46625
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
46533
46626
|
})(), j(We, {
|
|
46534
46627
|
get each() {
|
|
46535
46628
|
return s.data ?? [];
|
|
46536
46629
|
},
|
|
46537
46630
|
children: (e) => (() => {
|
|
46538
|
-
var t =
|
|
46631
|
+
var t = b4();
|
|
46539
46632
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
46540
46633
|
})()
|
|
46541
46634
|
})];
|
|
@@ -46547,7 +46640,7 @@ function m4() {
|
|
|
46547
46640
|
label: "Default labels",
|
|
46548
46641
|
hint: "Applied to every issue created from the panel.",
|
|
46549
46642
|
get children() {
|
|
46550
|
-
var e =
|
|
46643
|
+
var e = Y2();
|
|
46551
46644
|
return P(e, j(We, {
|
|
46552
46645
|
get each() {
|
|
46553
46646
|
return p.data ?? [];
|
|
@@ -46555,7 +46648,7 @@ function m4() {
|
|
|
46555
46648
|
children: (e) => {
|
|
46556
46649
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
46557
46650
|
return (() => {
|
|
46558
|
-
var i =
|
|
46651
|
+
var i = x4(), a = i.firstChild;
|
|
46559
46652
|
return i.$$click = () => {
|
|
46560
46653
|
let i = n().defaultLabelIds ?? [];
|
|
46561
46654
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -46572,7 +46665,7 @@ function m4() {
|
|
|
46572
46665
|
}
|
|
46573
46666
|
}),
|
|
46574
46667
|
(() => {
|
|
46575
|
-
var e =
|
|
46668
|
+
var e = X2(), t = e.firstChild;
|
|
46576
46669
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
46577
46670
|
})(),
|
|
46578
46671
|
j(Lj, {
|
|
@@ -46622,7 +46715,7 @@ function m4() {
|
|
|
46622
46715
|
return m.isLoading;
|
|
46623
46716
|
},
|
|
46624
46717
|
get children() {
|
|
46625
|
-
return [
|
|
46718
|
+
return [S4(), j(M, {
|
|
46626
46719
|
get when() {
|
|
46627
46720
|
return m.data;
|
|
46628
46721
|
},
|
|
@@ -46632,7 +46725,7 @@ function m4() {
|
|
|
46632
46725
|
return m.data;
|
|
46633
46726
|
},
|
|
46634
46727
|
children: (e) => (() => {
|
|
46635
|
-
var t =
|
|
46728
|
+
var t = b4();
|
|
46636
46729
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
46637
46730
|
})()
|
|
46638
46731
|
});
|
|
@@ -46642,7 +46735,7 @@ function m4() {
|
|
|
46642
46735
|
});
|
|
46643
46736
|
},
|
|
46644
46737
|
get children() {
|
|
46645
|
-
return
|
|
46738
|
+
return Z2();
|
|
46646
46739
|
}
|
|
46647
46740
|
});
|
|
46648
46741
|
}
|
|
@@ -46690,7 +46783,7 @@ function m4() {
|
|
|
46690
46783
|
onBlur: (e) => {
|
|
46691
46784
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
46692
46785
|
}
|
|
46693
|
-
}),
|
|
46786
|
+
}), Q2()];
|
|
46694
46787
|
}
|
|
46695
46788
|
}),
|
|
46696
46789
|
j(Lj, {
|
|
@@ -46747,7 +46840,7 @@ function m4() {
|
|
|
46747
46840
|
label: "Test account",
|
|
46748
46841
|
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.",
|
|
46749
46842
|
get children() {
|
|
46750
|
-
var e =
|
|
46843
|
+
var e = $2();
|
|
46751
46844
|
return P(e, j(jj, {
|
|
46752
46845
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
46753
46846
|
get value() {
|
|
@@ -46779,7 +46872,7 @@ function m4() {
|
|
|
46779
46872
|
title: "Panel",
|
|
46780
46873
|
get children() {
|
|
46781
46874
|
return [(() => {
|
|
46782
|
-
var e =
|
|
46875
|
+
var e = e4(), t = e.firstChild.nextSibling;
|
|
46783
46876
|
return P(t, j(We, {
|
|
46784
46877
|
each: [{
|
|
46785
46878
|
id: "overlay",
|
|
@@ -46789,7 +46882,7 @@ function m4() {
|
|
|
46789
46882
|
label: "Beside page"
|
|
46790
46883
|
}],
|
|
46791
46884
|
children: (e) => (() => {
|
|
46792
|
-
var t =
|
|
46885
|
+
var t = p4();
|
|
46793
46886
|
return t.$$click = () => void r({
|
|
46794
46887
|
panelMode: e.id,
|
|
46795
46888
|
panelPos: void 0
|
|
@@ -46797,11 +46890,11 @@ function m4() {
|
|
|
46797
46890
|
})()
|
|
46798
46891
|
})), e;
|
|
46799
46892
|
})(), (() => {
|
|
46800
|
-
var e =
|
|
46893
|
+
var e = t4(), t = e.firstChild.nextSibling;
|
|
46801
46894
|
return P(t, j(We, {
|
|
46802
46895
|
each: ["left", "right"],
|
|
46803
46896
|
children: (e) => (() => {
|
|
46804
|
-
var t =
|
|
46897
|
+
var t = p4();
|
|
46805
46898
|
return t.$$click = () => void r({ panelSide: e }), P(t, e === "left" ? "Left" : "Right"), D(() => st(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;
|
|
46806
46899
|
})()
|
|
46807
46900
|
})), e;
|
|
@@ -46831,8 +46924,8 @@ function m4() {
|
|
|
46831
46924
|
}), null), P(e, j(Rj, {
|
|
46832
46925
|
title: "Project config (.lineargrab.json)",
|
|
46833
46926
|
get children() {
|
|
46834
|
-
return [
|
|
46835
|
-
var e =
|
|
46927
|
+
return [n4(), (() => {
|
|
46928
|
+
var e = i4();
|
|
46836
46929
|
return P(e, j(M, {
|
|
46837
46930
|
get when() {
|
|
46838
46931
|
return c.data?.projectConfig;
|
|
@@ -46863,7 +46956,7 @@ function m4() {
|
|
|
46863
46956
|
},
|
|
46864
46957
|
onClick: () => void d(),
|
|
46865
46958
|
get children() {
|
|
46866
|
-
var e =
|
|
46959
|
+
var e = r4();
|
|
46867
46960
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
46868
46961
|
}
|
|
46869
46962
|
}), null), e;
|
|
@@ -46954,12 +47047,12 @@ function m4() {
|
|
|
46954
47047
|
});
|
|
46955
47048
|
},
|
|
46956
47049
|
get children() {
|
|
46957
|
-
return [
|
|
47050
|
+
return [a4(), j(We, {
|
|
46958
47051
|
get each() {
|
|
46959
47052
|
return ae.data ?? [];
|
|
46960
47053
|
},
|
|
46961
47054
|
children: (e) => (() => {
|
|
46962
|
-
var t =
|
|
47055
|
+
var t = C4();
|
|
46963
47056
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
46964
47057
|
})()
|
|
46965
47058
|
})];
|
|
@@ -47010,10 +47103,10 @@ function m4() {
|
|
|
47010
47103
|
}
|
|
47011
47104
|
}),
|
|
47012
47105
|
(() => {
|
|
47013
|
-
var e =
|
|
47106
|
+
var e = o4(), t = e.firstChild;
|
|
47014
47107
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
47015
47108
|
})(),
|
|
47016
|
-
|
|
47109
|
+
s4()
|
|
47017
47110
|
];
|
|
47018
47111
|
}
|
|
47019
47112
|
}), null), P(e, j(Rj, {
|
|
@@ -47051,7 +47144,7 @@ function m4() {
|
|
|
47051
47144
|
}
|
|
47052
47145
|
}),
|
|
47053
47146
|
(() => {
|
|
47054
|
-
var e =
|
|
47147
|
+
var e = c4(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
47055
47148
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
47056
47149
|
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;
|
|
47057
47150
|
return r !== e.e && st(t, e.e = r), o !== e.t && st(i, e.t = o), s !== e.a && (i.disabled = e.a = s), c !== e.o && st(a, e.o = c), l !== e.i && (a.disabled = e.i = l), e;
|
|
@@ -47064,16 +47157,16 @@ function m4() {
|
|
|
47064
47157
|
}), e;
|
|
47065
47158
|
})(),
|
|
47066
47159
|
(() => {
|
|
47067
|
-
var e =
|
|
47160
|
+
var e = u4();
|
|
47068
47161
|
return P(e, j(M, {
|
|
47069
47162
|
get when() {
|
|
47070
47163
|
return se();
|
|
47071
47164
|
},
|
|
47072
47165
|
get fallback() {
|
|
47073
|
-
return
|
|
47166
|
+
return w4();
|
|
47074
47167
|
},
|
|
47075
47168
|
get children() {
|
|
47076
|
-
var e =
|
|
47169
|
+
var e = l4();
|
|
47077
47170
|
return P(e, se), e;
|
|
47078
47171
|
}
|
|
47079
47172
|
})), e;
|
|
@@ -47083,7 +47176,7 @@ function m4() {
|
|
|
47083
47176
|
}), null), P(e, j(Rj, {
|
|
47084
47177
|
title: "How it works",
|
|
47085
47178
|
get children() {
|
|
47086
|
-
return
|
|
47179
|
+
return d4();
|
|
47087
47180
|
}
|
|
47088
47181
|
}), null), e;
|
|
47089
47182
|
})();
|
|
@@ -47091,38 +47184,38 @@ function m4() {
|
|
|
47091
47184
|
rt(["click"]);
|
|
47092
47185
|
//#endregion
|
|
47093
47186
|
//#region src/lib/idbCache.ts
|
|
47094
|
-
var
|
|
47187
|
+
var E4 = "linear-grab", D4 = "queries", O4 = [
|
|
47095
47188
|
"my-issues",
|
|
47096
47189
|
"issue",
|
|
47097
47190
|
"sessions",
|
|
47098
47191
|
"teams",
|
|
47099
47192
|
"agents"
|
|
47100
47193
|
];
|
|
47101
|
-
function
|
|
47194
|
+
function k4() {
|
|
47102
47195
|
return new Promise((e) => {
|
|
47103
47196
|
try {
|
|
47104
|
-
let t = indexedDB.open(
|
|
47105
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
47197
|
+
let t = indexedDB.open(E4, 1);
|
|
47198
|
+
t.onupgradeneeded = () => t.result.createObjectStore(D4), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
47106
47199
|
} catch {
|
|
47107
47200
|
e(null);
|
|
47108
47201
|
}
|
|
47109
47202
|
});
|
|
47110
47203
|
}
|
|
47111
|
-
function
|
|
47112
|
-
return typeof e[0] == "string" &&
|
|
47204
|
+
function A4(e) {
|
|
47205
|
+
return typeof e[0] == "string" && O4.includes(e[0]);
|
|
47113
47206
|
}
|
|
47114
|
-
async function
|
|
47115
|
-
let t = await
|
|
47207
|
+
async function j4(e) {
|
|
47208
|
+
let t = await k4();
|
|
47116
47209
|
if (!t) return () => {};
|
|
47117
47210
|
await new Promise((n) => {
|
|
47118
47211
|
try {
|
|
47119
|
-
let r = t.transaction(
|
|
47212
|
+
let r = t.transaction(D4, "readonly").objectStore(D4).openCursor();
|
|
47120
47213
|
r.onsuccess = () => {
|
|
47121
47214
|
let t = r.result;
|
|
47122
47215
|
if (!t) return n();
|
|
47123
47216
|
try {
|
|
47124
47217
|
let { queryKey: n, data: r } = t.value;
|
|
47125
|
-
|
|
47218
|
+
A4(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
47126
47219
|
} catch {}
|
|
47127
47220
|
t.continue();
|
|
47128
47221
|
}, r.onerror = () => n();
|
|
@@ -47133,14 +47226,14 @@ async function b4(e) {
|
|
|
47133
47226
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
47134
47227
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
47135
47228
|
let { queryKey: i, queryHash: a } = r.query;
|
|
47136
|
-
if (!
|
|
47229
|
+
if (!A4(i)) return;
|
|
47137
47230
|
let o = n.get(a);
|
|
47138
47231
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
47139
47232
|
n.delete(a);
|
|
47140
47233
|
try {
|
|
47141
47234
|
let n = e.getQueryData(i);
|
|
47142
47235
|
if (n === void 0) return;
|
|
47143
|
-
t.transaction(
|
|
47236
|
+
t.transaction(D4, "readwrite").objectStore(D4).put({
|
|
47144
47237
|
queryKey: i,
|
|
47145
47238
|
data: n
|
|
47146
47239
|
}, a);
|
|
@@ -47156,7 +47249,7 @@ async function b4(e) {
|
|
|
47156
47249
|
//#endregion
|
|
47157
47250
|
//#region src/panel/App.tsx
|
|
47158
47251
|
Br();
|
|
47159
|
-
var
|
|
47252
|
+
var M4 = /*#__PURE__*/ N("<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\">"), N4 = /*#__PURE__*/ N("<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\">"), P4 = /*#__PURE__*/ N("<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\">–"), F4 = /*#__PURE__*/ N("<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></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), I4 = /*#__PURE__*/ N("<button>"), L4 = [
|
|
47160
47253
|
{
|
|
47161
47254
|
id: "draft",
|
|
47162
47255
|
label: "Draft"
|
|
@@ -47193,35 +47286,35 @@ var x4 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
47193
47286
|
id: "settings",
|
|
47194
47287
|
label: "Settings"
|
|
47195
47288
|
}
|
|
47196
|
-
],
|
|
47197
|
-
function
|
|
47198
|
-
if (
|
|
47199
|
-
|
|
47289
|
+
], R4 = /* @__PURE__ */ new Set();
|
|
47290
|
+
function z4(e, t, n) {
|
|
47291
|
+
if (R4.has(e) || typeof Notification > "u") return;
|
|
47292
|
+
R4.add(e);
|
|
47200
47293
|
let r = () => new Notification(t, { body: n });
|
|
47201
47294
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
47202
47295
|
}
|
|
47203
|
-
function
|
|
47296
|
+
function B4() {
|
|
47204
47297
|
setInterval(() => {
|
|
47205
47298
|
NO().then((e) => {
|
|
47206
47299
|
for (let t of e) {
|
|
47207
47300
|
if (t.status !== "running") continue;
|
|
47208
47301
|
let e = t.lastEventAt ?? t.startedAt;
|
|
47209
|
-
Date.now() - e > 10 * 6e4 &&
|
|
47302
|
+
Date.now() - e > 10 * 6e4 && z4(`local-stuck:${t.id}:${e}`, "Local agent may be stuck", `${t.title.slice(0, 80)} — no output for ${Math.round((Date.now() - e) / 6e4)}m. Nudge or interrupt it in the Local tab.`);
|
|
47210
47303
|
}
|
|
47211
47304
|
}).catch(() => {}), gO().then((e) => {
|
|
47212
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
47305
|
+
for (let t of e) /awaitingInput|elicit/i.test(t.status) && z4(`cloud-input:${t.id}`, "Cloud agent needs input", `${t.issue?.identifier ?? "Session"} — ${t.issue?.title?.slice(0, 80) ?? "a Cursor agent"} is waiting for you.`);
|
|
47213
47306
|
}).catch(() => {});
|
|
47214
47307
|
}, 6e4);
|
|
47215
47308
|
}
|
|
47216
|
-
|
|
47217
|
-
var
|
|
47309
|
+
B4();
|
|
47310
|
+
var V4 = new gr({ defaultOptions: { queries: {
|
|
47218
47311
|
retry: 1,
|
|
47219
47312
|
refetchOnWindowFocus: !1,
|
|
47220
47313
|
staleTime: 5e3
|
|
47221
47314
|
} } });
|
|
47222
|
-
function
|
|
47315
|
+
function H4(e) {
|
|
47223
47316
|
return (() => {
|
|
47224
|
-
var t =
|
|
47317
|
+
var t = M4();
|
|
47225
47318
|
return D((n) => {
|
|
47226
47319
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
47227
47320
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -47231,36 +47324,36 @@ function j4(e) {
|
|
|
47231
47324
|
}), t;
|
|
47232
47325
|
})();
|
|
47233
47326
|
}
|
|
47234
|
-
function
|
|
47327
|
+
function U4(e) {
|
|
47235
47328
|
let [t, n] = T("draft"), r = () => {
|
|
47236
|
-
|
|
47329
|
+
V4.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
47237
47330
|
};
|
|
47238
47331
|
return O(() => {
|
|
47239
47332
|
let e = nj();
|
|
47240
47333
|
e && n(e);
|
|
47241
47334
|
}), ie(() => {
|
|
47242
|
-
let e =
|
|
47335
|
+
let e = j4(V4), t = XZ(r), n = () => {
|
|
47243
47336
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
47244
47337
|
if (!e.projectConfig) return;
|
|
47245
|
-
let t =
|
|
47338
|
+
let t = L2(await Tr(), e.projectConfig);
|
|
47246
47339
|
t && await Er(t);
|
|
47247
47340
|
}).catch(() => {});
|
|
47248
47341
|
};
|
|
47249
47342
|
n();
|
|
47250
47343
|
let i = Mr((e) => {
|
|
47251
|
-
e === "settings" && (
|
|
47344
|
+
e === "settings" && (V4.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
47252
47345
|
});
|
|
47253
47346
|
ae(() => {
|
|
47254
47347
|
t(), i(), e.then((e) => e());
|
|
47255
47348
|
});
|
|
47256
47349
|
}), j(cr, {
|
|
47257
|
-
client:
|
|
47350
|
+
client: V4,
|
|
47258
47351
|
get children() {
|
|
47259
|
-
var r =
|
|
47260
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
47261
|
-
each:
|
|
47352
|
+
var r = F4(), 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, p = f.nextSibling, m = p.nextSibling, h = m.nextSibling;
|
|
47353
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(H4, { size: 14 })), P(o, j(We, {
|
|
47354
|
+
each: L4,
|
|
47262
47355
|
children: (e) => (() => {
|
|
47263
|
-
var r =
|
|
47356
|
+
var r = I4();
|
|
47264
47357
|
return r.$$click = () => n(e.id), P(r, () => e.label), D(() => st(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;
|
|
47265
47358
|
})()
|
|
47266
47359
|
})), P(i, j(M, {
|
|
@@ -47268,7 +47361,7 @@ function M4(e) {
|
|
|
47268
47361
|
return e.onTogglePin;
|
|
47269
47362
|
},
|
|
47270
47363
|
get children() {
|
|
47271
|
-
var t =
|
|
47364
|
+
var t = N4();
|
|
47272
47365
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
47273
47366
|
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"}`;
|
|
47274
47367
|
return r !== n.e && it(t, "aria-label", n.e = r), i !== n.t && it(t, "title", n.t = i), a !== n.a && st(t, n.a = a), n;
|
|
@@ -47283,10 +47376,10 @@ function M4(e) {
|
|
|
47283
47376
|
return e.onClose;
|
|
47284
47377
|
},
|
|
47285
47378
|
get children() {
|
|
47286
|
-
var t =
|
|
47379
|
+
var t = P4();
|
|
47287
47380
|
return t.$$click = () => e.onClose?.(), t;
|
|
47288
47381
|
}
|
|
47289
|
-
}), null), P(s, j(wM, { onCreated: () => n("activity") })), P(c, j(TQ, {})), P(l, j(_1, {})), P(u, j(B1, {})), P(d, j(P1, {})), P(f, j(T0, {})), P(p, j(B0, { onOpenIssue: () => n("activity") })), P(m, j(
|
|
47382
|
+
}), null), P(s, j(wM, { onCreated: () => n("activity") })), P(c, j(TQ, {})), P(l, j(_1, {})), P(u, j(B1, {})), P(d, j(P1, {})), P(f, j(T0, {})), P(p, j(B0, { onOpenIssue: () => n("activity") })), P(m, j(P2, {})), P(h, j(T4, {})), D((n) => {
|
|
47290
47383
|
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", g = t() !== "activity", _ = t() !== "running", v = t() !== "cloud", y = t() !== "local", b = t() !== "prs", x = t() !== "design", S = t() !== "settings";
|
|
47291
47384
|
return r !== n.e && st(i, n.e = r), a !== n.t && s.classList.toggle("hidden", n.t = a), o !== n.a && c.classList.toggle("hidden", n.a = o), g !== n.o && l.classList.toggle("hidden", n.o = g), _ !== n.i && u.classList.toggle("hidden", n.i = _), v !== n.n && d.classList.toggle("hidden", n.n = v), y !== n.s && f.classList.toggle("hidden", n.s = y), b !== n.h && p.classList.toggle("hidden", n.h = b), x !== n.r && m.classList.toggle("hidden", n.r = x), S !== n.d && h.classList.toggle("hidden", n.d = S), n;
|
|
47292
47385
|
}, {
|
|
@@ -47307,12 +47400,12 @@ function M4(e) {
|
|
|
47307
47400
|
rt(["pointerdown", "click"]);
|
|
47308
47401
|
//#endregion
|
|
47309
47402
|
//#region src/styles/app.css?inline
|
|
47310
|
-
var N4 = "/*! 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-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.-left-\\[13\\.5px\\]{left:-13.5px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-\\[5px\\]{left:5px}.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-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.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-\\[9px\\]{width:9px;height:9px}.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-16{height:calc(var(--spacing) * 16)}.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-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.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-\\[110px\\]{max-width:110px}.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-\\[7ch\\]{min-width:7ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.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-auto{overflow:auto}.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-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.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}.object-cover{object-fit:cover}.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-1\\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.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-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.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}.align-middle{vertical-align:middle}.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-accent:hover{color:var(--color-accent)}.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}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.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 lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.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}}";
|
|
47403
|
+
var W4 = "/*! 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-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.-left-\\[13\\.5px\\]{left:-13.5px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-\\[5px\\]{left:5px}.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-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.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-\\[9px\\]{width:9px;height:9px}.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-16{height:calc(var(--spacing) * 16)}.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-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.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-\\[110px\\]{max-width:110px}.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-\\[3ch\\]{min-width:3ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[7ch\\]{min-width:7ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.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-auto{overflow:auto}.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-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.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}.object-cover{object-fit:cover}.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-1\\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.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-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.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}.align-middle{vertical-align:middle}.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-accent:hover{color:var(--color-accent)}.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}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.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 lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.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}}";
|
|
47311
47404
|
//#endregion
|
|
47312
47405
|
//#region src/page/index.tsx
|
|
47313
47406
|
Br();
|
|
47314
|
-
var
|
|
47315
|
-
function
|
|
47407
|
+
var G4 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), K4 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), q4 = /*#__PURE__*/ N("<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"), J4 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), Y4 = /*#__PURE__*/ N("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), X4 = /*#__PURE__*/ N("<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\">"), Z4 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), Q4 = /*#__PURE__*/ N("<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\">"), $4 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), e3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), t3 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), n3 = /*#__PURE__*/ N("<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>"), r3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-accent size-2 shrink-0 animate-pulse rounded-full\">"), i3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[3ch] text-[11px] font-medium tabular-nums\">s"), a3 = /*#__PURE__*/ N("<span class=\"text-text-dim min-w-[7ch] text-[11px] tabular-nums\"> states"), o3 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), s3 = /*#__PURE__*/ N("<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\"> · <!> · ");
|
|
47408
|
+
function c3(e = {}) {
|
|
47316
47409
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
47317
47410
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
47318
47411
|
let t = () => {
|
|
@@ -47344,17 +47437,17 @@ function J4(e = {}) {
|
|
|
47344
47437
|
"keypress"
|
|
47345
47438
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
47346
47439
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
47347
|
-
i.textContent =
|
|
47440
|
+
i.textContent = W4, r.appendChild(i);
|
|
47348
47441
|
let a = document.createElement("div");
|
|
47349
47442
|
r.appendChild(a);
|
|
47350
|
-
let o = () => a.setAttribute("data-theme",
|
|
47351
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
47443
|
+
let o = () => a.setAttribute("data-theme", l3());
|
|
47444
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(h3, { get defaultOpen() {
|
|
47352
47445
|
return e.defaultOpen ?? !1;
|
|
47353
47446
|
} }), a);
|
|
47354
47447
|
};
|
|
47355
47448
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
47356
47449
|
}
|
|
47357
|
-
function
|
|
47450
|
+
function l3() {
|
|
47358
47451
|
try {
|
|
47359
47452
|
let e = [document.body, document.documentElement];
|
|
47360
47453
|
for (let t of e) {
|
|
@@ -47364,133 +47457,140 @@ function Y4() {
|
|
|
47364
47457
|
} catch {}
|
|
47365
47458
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
47366
47459
|
}
|
|
47367
|
-
var
|
|
47368
|
-
function
|
|
47460
|
+
var u3 = 130, d3 = 36, f3 = 380, p3 = 280, m3 = 720;
|
|
47461
|
+
function h3(e) {
|
|
47369
47462
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
47370
|
-
x: Math.max(8, window.innerWidth -
|
|
47371
|
-
y: Math.max(8, window.innerHeight -
|
|
47463
|
+
x: Math.max(8, window.innerWidth - u3 - 24),
|
|
47464
|
+
y: Math.max(8, window.innerHeight - d3 - 20)
|
|
47372
47465
|
}), [s, c] = T({
|
|
47373
47466
|
running: [],
|
|
47374
47467
|
review: []
|
|
47375
|
-
}), l = () => s().running, u = () => s().review, [d, f] = T(!1), [p, m] = T(HD().phase), [h, g] = T(
|
|
47468
|
+
}), l = () => s().running, u = () => s().review, [d, f] = T(!1), [p, m] = T(HD().phase), [h, g] = T({
|
|
47469
|
+
active: !1,
|
|
47470
|
+
msLeft: 0,
|
|
47471
|
+
total: 0,
|
|
47472
|
+
byTrigger: {}
|
|
47473
|
+
}), [_, v] = T(0);
|
|
47376
47474
|
ie(() => {
|
|
47377
47475
|
let e = setInterval(() => {
|
|
47378
|
-
p() === "recording" &&
|
|
47476
|
+
p() === "recording" && v(Date.now() - (HD().startedAt ?? Date.now()));
|
|
47379
47477
|
}, 250);
|
|
47380
47478
|
ae(() => clearInterval(e));
|
|
47381
47479
|
});
|
|
47382
|
-
let
|
|
47480
|
+
let y = (e) => {
|
|
47383
47481
|
let t = Math.floor(e / 1e3);
|
|
47384
47482
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
47385
|
-
}, [
|
|
47386
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
47387
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
47388
|
-
}),
|
|
47389
|
-
x: Math.min(Math.max(8 - (
|
|
47483
|
+
}, [b, x] = T(null), S = (e) => ({
|
|
47484
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - u3 - 8),
|
|
47485
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - d3 - 8)
|
|
47486
|
+
}), C = (e) => ({
|
|
47487
|
+
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
47390
47488
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
47391
|
-
}), [
|
|
47489
|
+
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(f3), oe = (e) => Math.min(m3, Math.max(p3, Math.min(e, window.innerWidth - 60)));
|
|
47392
47490
|
O(() => {
|
|
47393
|
-
let e = document.documentElement, n = t() &&
|
|
47394
|
-
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${
|
|
47491
|
+
let e = document.documentElement, n = t() && w();
|
|
47492
|
+
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
47395
47493
|
}), ae(() => {
|
|
47396
47494
|
document.documentElement.style.marginRight = "", document.documentElement.style.marginLeft = "";
|
|
47397
47495
|
});
|
|
47398
|
-
let
|
|
47399
|
-
let e = !
|
|
47400
|
-
|
|
47496
|
+
let se = () => {
|
|
47497
|
+
let e = !w();
|
|
47498
|
+
E(e), e && x(null), Er({
|
|
47401
47499
|
panelMode: e ? "pinned" : "overlay",
|
|
47402
47500
|
panelPos: void 0
|
|
47403
47501
|
});
|
|
47404
47502
|
};
|
|
47405
47503
|
ie(() => {
|
|
47406
47504
|
Tr().then((e) => {
|
|
47407
|
-
e.panelSide && i(e.panelSide), e.launcherPos && o(
|
|
47505
|
+
e.panelSide && i(e.panelSide), e.launcherPos && o(S(e.launcherPos)), e.panelPos && x(C(e.panelPos)), e.panelWidth && re(oe(e.panelWidth)), E(e.panelMode === "pinned"), ee(e.workflowMode ?? "cloud");
|
|
47408
47506
|
});
|
|
47409
47507
|
let e = Mr((e) => {
|
|
47410
47508
|
e === "settings" && Tr().then((e) => {
|
|
47411
|
-
i(e.panelSide ?? "right"),
|
|
47412
|
-
}), e === "grab" &&
|
|
47509
|
+
i(e.panelSide ?? "right"), E(e.panelMode === "pinned"), ee(e.workflowMode ?? "cloud");
|
|
47510
|
+
}), e === "grab" && k() !== "local" && n(!0);
|
|
47413
47511
|
}), t = () => {
|
|
47414
|
-
|
|
47512
|
+
A(!0), setTimeout(() => A(!1), 1600);
|
|
47415
47513
|
};
|
|
47416
47514
|
window.addEventListener(zZ, t);
|
|
47417
47515
|
let r = () => {
|
|
47418
|
-
f(!1),
|
|
47516
|
+
f(!1), w() || n(!1);
|
|
47419
47517
|
};
|
|
47420
47518
|
window.addEventListener(BZ, r);
|
|
47421
47519
|
let s = () => n(!0);
|
|
47422
47520
|
window.addEventListener("linear-grab:picker-finished", s), ae(() => {
|
|
47423
47521
|
window.removeEventListener(zZ, t), window.removeEventListener(BZ, r), window.removeEventListener("linear-grab:picker-finished", s);
|
|
47424
47522
|
});
|
|
47425
|
-
let l = e$(c)
|
|
47426
|
-
|
|
47523
|
+
let l = e$(c);
|
|
47524
|
+
ae(i2(g));
|
|
47525
|
+
let u = HD().phase, d = UD((e) => {
|
|
47526
|
+
m(e.phase), e.phase === "recording" && u !== "recording" && !w() && n(!1), e.phase === "ready" && u !== "ready" && (oj("capture"), n(!0)), u = e.phase;
|
|
47427
47527
|
}), p = () => {
|
|
47428
|
-
o(
|
|
47429
|
-
let e =
|
|
47430
|
-
e &&
|
|
47528
|
+
o(S(a()));
|
|
47529
|
+
let e = b();
|
|
47530
|
+
e && x(C(e));
|
|
47431
47531
|
};
|
|
47432
47532
|
window.addEventListener("resize", p), ae(() => {
|
|
47433
47533
|
e(), l(), d(), window.removeEventListener("resize", p);
|
|
47434
47534
|
});
|
|
47435
47535
|
});
|
|
47436
|
-
let
|
|
47536
|
+
let ce = !1, le = (e) => {
|
|
47437
47537
|
if (e.button !== 0) return;
|
|
47438
47538
|
let t = {
|
|
47439
47539
|
x: e.clientX,
|
|
47440
47540
|
y: e.clientY
|
|
47441
47541
|
}, n = a();
|
|
47442
|
-
|
|
47542
|
+
ce = !1;
|
|
47443
47543
|
let r = (e) => {
|
|
47444
47544
|
let r = e.clientX - t.x, i = e.clientY - t.y;
|
|
47445
|
-
Math.abs(r) + Math.abs(i) > 4 && (
|
|
47545
|
+
Math.abs(r) + Math.abs(i) > 4 && (ce = !0), ce && o(S({
|
|
47446
47546
|
x: n.x + r,
|
|
47447
47547
|
y: n.y + i
|
|
47448
47548
|
}));
|
|
47449
47549
|
}, i = () => {
|
|
47450
|
-
window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i),
|
|
47451
|
-
|
|
47550
|
+
window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", i), ce && Er({ launcherPos: a() }), setTimeout(() => {
|
|
47551
|
+
ce = !1;
|
|
47452
47552
|
}, 0);
|
|
47453
47553
|
};
|
|
47454
47554
|
window.addEventListener("pointermove", r), window.addEventListener("pointerup", i);
|
|
47455
|
-
},
|
|
47555
|
+
}, ue = () => a().y > 260, de = (e) => {
|
|
47456
47556
|
f(!1), oj("activity", e), n(!0);
|
|
47457
|
-
},
|
|
47557
|
+
}, fe = (e) => {
|
|
47458
47558
|
if (e.button !== 0) return;
|
|
47459
47559
|
e.preventDefault(), e.stopPropagation();
|
|
47460
|
-
let t = e.clientX, n =
|
|
47461
|
-
let a = e.clientX - t, o = r() === "right" ? -a : a, s =
|
|
47462
|
-
|
|
47560
|
+
let t = e.clientX, n = ne(), i = b(), a = (e) => {
|
|
47561
|
+
let a = e.clientX - t, o = r() === "right" ? -a : a, s = oe(n + o);
|
|
47562
|
+
re(s), i && r() === "right" && x(C({
|
|
47463
47563
|
x: i.x + (n - s),
|
|
47464
47564
|
y: i.y
|
|
47465
47565
|
}));
|
|
47466
47566
|
}, o = () => {
|
|
47467
47567
|
window.removeEventListener("pointermove", a), window.removeEventListener("pointerup", o), Er({
|
|
47468
|
-
panelWidth:
|
|
47469
|
-
...
|
|
47568
|
+
panelWidth: ne(),
|
|
47569
|
+
...b() ? { panelPos: b() } : {}
|
|
47470
47570
|
});
|
|
47471
47571
|
};
|
|
47472
47572
|
window.addEventListener("pointermove", a), window.addEventListener("pointerup", o);
|
|
47473
|
-
},
|
|
47573
|
+
}, pe = (e) => {
|
|
47474
47574
|
if (e.button !== 0) return;
|
|
47475
47575
|
if (e.detail === 2) {
|
|
47476
|
-
|
|
47576
|
+
x(null), Er({ panelPos: void 0 });
|
|
47477
47577
|
return;
|
|
47478
47578
|
}
|
|
47479
47579
|
let t = {
|
|
47480
47580
|
x: e.clientX,
|
|
47481
47581
|
y: e.clientY
|
|
47482
|
-
}, n =
|
|
47483
|
-
x: r() === "right" ? window.innerWidth -
|
|
47582
|
+
}, n = b() ?? {
|
|
47583
|
+
x: r() === "right" ? window.innerWidth - ne() : 0,
|
|
47484
47584
|
y: 0
|
|
47485
47585
|
}, i = !1, a = (e) => {
|
|
47486
47586
|
let r = e.clientX - t.x, a = e.clientY - t.y;
|
|
47487
|
-
Math.abs(r) + Math.abs(a) > 4 && (i = !0), i &&
|
|
47587
|
+
Math.abs(r) + Math.abs(a) > 4 && (i = !0), i && x(C({
|
|
47488
47588
|
x: n.x + r,
|
|
47489
47589
|
y: n.y + a
|
|
47490
47590
|
}));
|
|
47491
47591
|
}, o = () => {
|
|
47492
47592
|
window.removeEventListener("pointermove", a), window.removeEventListener("pointerup", o);
|
|
47493
|
-
let e =
|
|
47593
|
+
let e = b();
|
|
47494
47594
|
i && e && Er({ panelPos: e });
|
|
47495
47595
|
};
|
|
47496
47596
|
window.addEventListener("pointermove", a), window.addEventListener("pointerup", o);
|
|
@@ -47500,41 +47600,41 @@ function t3(e) {
|
|
|
47500
47600
|
return !t();
|
|
47501
47601
|
},
|
|
47502
47602
|
get children() {
|
|
47503
|
-
var e =
|
|
47603
|
+
var e = X4(), t = e.firstChild;
|
|
47504
47604
|
return t.$$click = () => {
|
|
47505
|
-
|
|
47506
|
-
}, t.$$pointerdown =
|
|
47605
|
+
ce || p() === "recording" || h().active || (f(!1), n(!0));
|
|
47606
|
+
}, t.$$pointerdown = le, P(t, j(M, {
|
|
47507
47607
|
get when() {
|
|
47508
|
-
return p() === "recording";
|
|
47608
|
+
return p() === "recording" || h().active;
|
|
47509
47609
|
},
|
|
47510
47610
|
get fallback() {
|
|
47511
47611
|
return [
|
|
47512
47612
|
(() => {
|
|
47513
|
-
var e =
|
|
47613
|
+
var e = Q4();
|
|
47514
47614
|
return e.$$click = () => {
|
|
47515
|
-
|
|
47516
|
-
}, P(e, j(
|
|
47615
|
+
ce || (f(!1), n(!0));
|
|
47616
|
+
}, P(e, j(H4, { size: 13 })), e;
|
|
47517
47617
|
})(),
|
|
47518
|
-
|
|
47618
|
+
$4(),
|
|
47519
47619
|
(() => {
|
|
47520
|
-
var e =
|
|
47620
|
+
var e = n3(), t = e.firstChild, n = t.nextSibling;
|
|
47521
47621
|
return e.$$click = (e) => {
|
|
47522
|
-
e.stopPropagation(), !
|
|
47622
|
+
e.stopPropagation(), !ce && f((e) => !e);
|
|
47523
47623
|
}, P(n, (() => {
|
|
47524
|
-
var e = $e(() => !!
|
|
47624
|
+
var e = $e(() => !!te());
|
|
47525
47625
|
return () => e() ? "Copied ✓" : `${l().length} run`;
|
|
47526
47626
|
})()), P(e, j(M, {
|
|
47527
47627
|
get when() {
|
|
47528
|
-
return $e(() => !
|
|
47628
|
+
return $e(() => !te())() && u().length > 0;
|
|
47529
47629
|
},
|
|
47530
47630
|
get children() {
|
|
47531
|
-
return [
|
|
47532
|
-
var e =
|
|
47631
|
+
return [e3(), (() => {
|
|
47632
|
+
var e = t3(), t = e.firstChild;
|
|
47533
47633
|
return P(e, () => u().length, t), e;
|
|
47534
47634
|
})()];
|
|
47535
47635
|
}
|
|
47536
47636
|
}), null), D((e) => {
|
|
47537
|
-
var r = `size-2 rounded-full ${
|
|
47637
|
+
var r = `size-2 rounded-full ${te() ? "bg-success" : l().length ? "bg-success animate-pulse" : "bg-text-faint"}`, i = `min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums ${te() ? "text-success" : "text-text-dim"}`;
|
|
47538
47638
|
return r !== e.e && st(t, e.e = r), i !== e.t && st(n, e.t = i), e;
|
|
47539
47639
|
}, {
|
|
47540
47640
|
e: void 0,
|
|
@@ -47544,39 +47644,65 @@ function t3(e) {
|
|
|
47544
47644
|
];
|
|
47545
47645
|
},
|
|
47546
47646
|
get children() {
|
|
47547
|
-
return
|
|
47548
|
-
|
|
47549
|
-
|
|
47550
|
-
|
|
47551
|
-
|
|
47552
|
-
|
|
47553
|
-
|
|
47554
|
-
|
|
47555
|
-
|
|
47556
|
-
|
|
47557
|
-
|
|
47558
|
-
|
|
47559
|
-
|
|
47647
|
+
return j(M, {
|
|
47648
|
+
get when() {
|
|
47649
|
+
return p() === "recording";
|
|
47650
|
+
},
|
|
47651
|
+
get fallback() {
|
|
47652
|
+
return [
|
|
47653
|
+
r3(),
|
|
47654
|
+
(() => {
|
|
47655
|
+
var e = i3(), t = e.firstChild;
|
|
47656
|
+
return P(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
47657
|
+
})(),
|
|
47658
|
+
(() => {
|
|
47659
|
+
var e = a3(), t = e.firstChild;
|
|
47660
|
+
return P(e, () => h().total, t), D(() => it(e, "title", Object.entries(h().byTrigger).map(([e, t]) => `${t} ${e}`).join(" · ") || "hover / open the component to record its states")), e;
|
|
47661
|
+
})(),
|
|
47662
|
+
(() => {
|
|
47663
|
+
var e = q4();
|
|
47664
|
+
return e.$$click = (e) => {
|
|
47665
|
+
e.stopPropagation(), !ce && o2();
|
|
47666
|
+
}, e;
|
|
47667
|
+
})()
|
|
47668
|
+
];
|
|
47669
|
+
},
|
|
47670
|
+
get children() {
|
|
47671
|
+
return [
|
|
47672
|
+
G4(),
|
|
47673
|
+
(() => {
|
|
47674
|
+
var e = K4();
|
|
47675
|
+
return P(e, () => y(_())), e;
|
|
47676
|
+
})(),
|
|
47677
|
+
(() => {
|
|
47678
|
+
var e = q4();
|
|
47679
|
+
return e.$$click = () => {
|
|
47680
|
+
ce || eO();
|
|
47681
|
+
}, e;
|
|
47682
|
+
})()
|
|
47683
|
+
];
|
|
47684
|
+
}
|
|
47685
|
+
});
|
|
47560
47686
|
}
|
|
47561
47687
|
})), P(e, j(M, {
|
|
47562
47688
|
get when() {
|
|
47563
47689
|
return d();
|
|
47564
47690
|
},
|
|
47565
47691
|
get children() {
|
|
47566
|
-
var e =
|
|
47692
|
+
var e = Y4(), t = e.firstChild;
|
|
47567
47693
|
return P(e, j(M, {
|
|
47568
47694
|
get when() {
|
|
47569
47695
|
return u().length > 0;
|
|
47570
47696
|
},
|
|
47571
47697
|
get children() {
|
|
47572
|
-
return [
|
|
47698
|
+
return [J4(), j(We, {
|
|
47573
47699
|
get each() {
|
|
47574
47700
|
return u();
|
|
47575
47701
|
},
|
|
47576
|
-
children: (e) => j(
|
|
47702
|
+
children: (e) => j(g3, {
|
|
47577
47703
|
agent: e,
|
|
47578
47704
|
review: !0,
|
|
47579
|
-
onOpen:
|
|
47705
|
+
onOpen: de
|
|
47580
47706
|
})
|
|
47581
47707
|
})];
|
|
47582
47708
|
}
|
|
@@ -47585,20 +47711,20 @@ function t3(e) {
|
|
|
47585
47711
|
return l().length > 0;
|
|
47586
47712
|
},
|
|
47587
47713
|
get fallback() {
|
|
47588
|
-
return
|
|
47714
|
+
return o3();
|
|
47589
47715
|
},
|
|
47590
47716
|
get children() {
|
|
47591
47717
|
return j(We, {
|
|
47592
47718
|
get each() {
|
|
47593
47719
|
return l();
|
|
47594
47720
|
},
|
|
47595
|
-
children: (e) => j(
|
|
47721
|
+
children: (e) => j(g3, {
|
|
47596
47722
|
agent: e,
|
|
47597
|
-
onOpen:
|
|
47723
|
+
onOpen: de
|
|
47598
47724
|
})
|
|
47599
47725
|
});
|
|
47600
47726
|
}
|
|
47601
|
-
}), null), D(() => st(e, `bg-surface border-border absolute w-72 rounded-lg border p-1.5 font-sans shadow-2xl ${
|
|
47727
|
+
}), null), D(() => st(e, `bg-surface border-border absolute w-72 rounded-lg border p-1.5 font-sans shadow-2xl ${ue() ? "bottom-full mb-2" : "top-full mt-2"} ${a().x > window.innerWidth - 300 ? "right-0" : "left-0"}`)), e;
|
|
47602
47728
|
}
|
|
47603
47729
|
}), null), D((t) => {
|
|
47604
47730
|
var n = `${a().x}px`, r = `${a().y}px`;
|
|
@@ -47613,23 +47739,23 @@ function t3(e) {
|
|
|
47613
47739
|
return t();
|
|
47614
47740
|
},
|
|
47615
47741
|
get children() {
|
|
47616
|
-
var e =
|
|
47617
|
-
return t.$$pointerdown =
|
|
47742
|
+
var e = Z4(), t = e.firstChild;
|
|
47743
|
+
return t.$$pointerdown = fe, P(e, j(U4, {
|
|
47618
47744
|
onGrab: () => n(!0),
|
|
47619
47745
|
onClose: () => n(!1),
|
|
47620
47746
|
get onHeaderPointerDown() {
|
|
47621
|
-
return
|
|
47747
|
+
return w() ? void 0 : pe;
|
|
47622
47748
|
},
|
|
47623
47749
|
get pinned() {
|
|
47624
|
-
return
|
|
47750
|
+
return w();
|
|
47625
47751
|
},
|
|
47626
|
-
onTogglePin:
|
|
47752
|
+
onTogglePin: se
|
|
47627
47753
|
}), null), D((n) => {
|
|
47628
|
-
var i = `bg-bg text-text border-border fixed z-[2147483645] flex max-w-[100vw] flex-col overflow-hidden font-sans text-[13px] antialiased ${
|
|
47629
|
-
width: `${
|
|
47630
|
-
...!
|
|
47631
|
-
left: `${
|
|
47632
|
-
top: `${
|
|
47754
|
+
var i = `bg-bg text-text border-border fixed z-[2147483645] flex max-w-[100vw] flex-col overflow-hidden font-sans text-[13px] antialiased ${w() ? "" : "shadow-2xl"} ${!w() && b() ? "rounded-xl border" : r() === "right" ? "top-0 right-0 h-screen border-l" : "top-0 left-0 h-screen border-r"}`, a = {
|
|
47755
|
+
width: `${ne()}px`,
|
|
47756
|
+
...!w() && b() ? {
|
|
47757
|
+
left: `${b().x}px`,
|
|
47758
|
+
top: `${b().y}px`,
|
|
47633
47759
|
height: `${Math.min(680, window.innerHeight - 16)}px`
|
|
47634
47760
|
} : {}
|
|
47635
47761
|
}, o = `hover:bg-accent/50 active:bg-accent absolute top-0 z-10 h-full w-1 cursor-col-resize transition-colors ${r() === "right" ? "left-0" : "right-0"}`;
|
|
@@ -47642,19 +47768,19 @@ function t3(e) {
|
|
|
47642
47768
|
}
|
|
47643
47769
|
})];
|
|
47644
47770
|
}
|
|
47645
|
-
function
|
|
47771
|
+
function g3(e) {
|
|
47646
47772
|
return (() => {
|
|
47647
|
-
var t =
|
|
47773
|
+
var t = s3(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
47648
47774
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
47649
47775
|
var t = $e(() => !!e.review);
|
|
47650
47776
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
47651
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
47777
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => _3(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
47652
47778
|
})();
|
|
47653
47779
|
}
|
|
47654
|
-
function
|
|
47780
|
+
function _3(e) {
|
|
47655
47781
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
47656
47782
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
47657
47783
|
}
|
|
47658
47784
|
rt(["pointerdown", "click"]);
|
|
47659
47785
|
//#endregion
|
|
47660
|
-
export {
|
|
47786
|
+
export { c3 as init };
|