linear-grab 0.25.0 → 0.25.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/linear-grab-bridge.mjs +16 -3
- package/bin/slop-scan.global.js +3 -3
- package/dist/index.global.js +7 -7
- package/dist/linear-grab.js +352 -259
- package/dist/slop-scan.global.js +3 -3
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -46479,9 +46479,10 @@ var r4 = (e) => getComputedStyle(e), i4 = {
|
|
|
46479
46479
|
check(e) {
|
|
46480
46480
|
let t = [];
|
|
46481
46481
|
for (let n of e.els) {
|
|
46482
|
-
|
|
46483
|
-
|
|
46484
|
-
|
|
46482
|
+
let r = e.css(n).overflowX;
|
|
46483
|
+
if (r !== "auto" && r !== "scroll" || n.clientWidth < 24 || n.scrollWidth <= n.clientWidth + 8) continue;
|
|
46484
|
+
let i = typeof n.className == "string" ? n.className : "";
|
|
46485
|
+
/scroll-fade-x(-js)?/.test(i) || J2(n, e.css(n)) || t.push(W2(this, n, `horizontal scroller (scrollWidth ${n.scrollWidth} > clientWidth ${n.clientWidth}) with no fade`));
|
|
46485
46486
|
}
|
|
46486
46487
|
return t;
|
|
46487
46488
|
}
|
|
@@ -46549,16 +46550,36 @@ var r4 = (e) => getComputedStyle(e), i4 = {
|
|
|
46549
46550
|
severity: "warn",
|
|
46550
46551
|
description: "Part 5: raw hex only for the status trio (#50E3C2/#EE0000/#F5A623) — a saturated non-token color on small UI text.",
|
|
46551
46552
|
check(e) {
|
|
46552
|
-
let t = [];
|
|
46553
|
-
for (let
|
|
46554
|
-
|
|
46555
|
-
|
|
46556
|
-
|
|
46557
|
-
|
|
46558
|
-
let
|
|
46559
|
-
if (
|
|
46560
|
-
let
|
|
46561
|
-
|
|
46553
|
+
let t = [], n = /* @__PURE__ */ new Set();
|
|
46554
|
+
for (let e of Z2) {
|
|
46555
|
+
let t = q2(`rgb(${parseInt(e.slice(1, 3), 16)}, ${parseInt(e.slice(3, 5), 16)}, ${parseInt(e.slice(5, 7), 16)})`);
|
|
46556
|
+
t && n.add(t);
|
|
46557
|
+
}
|
|
46558
|
+
try {
|
|
46559
|
+
let t = e.root, r = t.documentElement;
|
|
46560
|
+
if (r && t.body) {
|
|
46561
|
+
let i = e.css(r), a = t.createElement("span");
|
|
46562
|
+
a.style.display = "none", t.body.appendChild(a);
|
|
46563
|
+
for (let e = 0; e < i.length; e++) {
|
|
46564
|
+
let t = i[e];
|
|
46565
|
+
if (!t.startsWith("--")) continue;
|
|
46566
|
+
let r = i.getPropertyValue(t).trim();
|
|
46567
|
+
if (!r || r.length > 40 || (a.style.color = "", a.style.color = r, !a.style.color)) continue;
|
|
46568
|
+
let o = q2(getComputedStyle(a).color);
|
|
46569
|
+
o && n.add(o);
|
|
46570
|
+
}
|
|
46571
|
+
a.remove();
|
|
46572
|
+
}
|
|
46573
|
+
} catch {}
|
|
46574
|
+
for (let r of e.els) {
|
|
46575
|
+
if (!O4(r)) continue;
|
|
46576
|
+
let i = (r.getAttribute("style") ?? "").match(/#[0-9a-fA-F]{6}/g) ?? [], a = e.css(r);
|
|
46577
|
+
if ((parseFloat(a.fontSize) || 0) >= 16) continue;
|
|
46578
|
+
for (let e of i) Z2.has(e.toLowerCase()) || t.push(W2(this, r, `hardcoded ${e} (not the brand status trio)`));
|
|
46579
|
+
let o = q2(a.color);
|
|
46580
|
+
if (o && i.length === 0 && !n.has(o)) {
|
|
46581
|
+
let [e, n, i] = o.split(",").map((e) => parseFloat(e));
|
|
46582
|
+
Number.isFinite(e) && k4(e, n, i) && t.push(W2(this, r, `saturated non-token color ${a.color} on small UI text`));
|
|
46562
46583
|
}
|
|
46563
46584
|
}
|
|
46564
46585
|
return t;
|
|
@@ -46687,8 +46708,8 @@ var r4 = (e) => getComputedStyle(e), i4 = {
|
|
|
46687
46708
|
t.push(W2(this, n, "interactive control with cursor:text"));
|
|
46688
46709
|
continue;
|
|
46689
46710
|
}
|
|
46690
|
-
if (r === "pointer" && n.matches("p, h1, h2, h3, h4, h5, h6, span
|
|
46691
|
-
if (n.closest("button, a, [role=\"button\"], [onclick]") || n.matches("button, a, [role=\"button\"]")) continue;
|
|
46711
|
+
if (r === "pointer" && n.matches("p, h1, h2, h3, h4, h5, h6, span")) {
|
|
46712
|
+
if (n.closest("button, a, [role=\"button\"], [onclick], label") || n.matches("button, a, [role=\"button\"]")) continue;
|
|
46692
46713
|
t.push(W2(this, n, `static ${n.tagName.toLowerCase()} with cursor:pointer and no interactive ancestor`));
|
|
46693
46714
|
}
|
|
46694
46715
|
}
|
|
@@ -46838,21 +46859,30 @@ function j4(e = typeof document < "u" ? document : {}) {
|
|
|
46838
46859
|
return n || (n = getComputedStyle(e), t.set(e, n)), n;
|
|
46839
46860
|
};
|
|
46840
46861
|
r4 = n;
|
|
46841
|
-
let r = Array.from(e.querySelectorAll("*")), i = [], a = e.documentElement ?? null, o = e.body ?? null;
|
|
46862
|
+
let r = Array.from(e.querySelectorAll("*")), i = [], a = e.documentElement ?? null, o = e.body ?? null, s = (a?.getBoundingClientRect().width ?? 0) > 0;
|
|
46842
46863
|
for (let e of r) {
|
|
46843
46864
|
if (e === a || e === o || e.closest("#linear-grab-root, #claude-agent-glow-border, [id^=\"react-scan\"]")) continue;
|
|
46844
46865
|
let t = G2(e);
|
|
46845
|
-
|
|
46866
|
+
if (s) {
|
|
46867
|
+
if (t.width < 2 || t.height < 2) continue;
|
|
46868
|
+
} else if (t.width === 0 && t.height === 0 && e.children.length === 0) continue;
|
|
46869
|
+
i.push(e);
|
|
46846
46870
|
}
|
|
46847
|
-
let
|
|
46871
|
+
let c = {
|
|
46848
46872
|
root: e,
|
|
46849
46873
|
els: i,
|
|
46850
46874
|
css: n
|
|
46851
|
-
},
|
|
46875
|
+
}, l = [];
|
|
46852
46876
|
for (let e of [...E4, ...D4]) try {
|
|
46853
|
-
|
|
46877
|
+
l.push(...e.check(c));
|
|
46854
46878
|
} catch {}
|
|
46855
|
-
|
|
46879
|
+
r4 = (e) => getComputedStyle(e);
|
|
46880
|
+
let u = /* @__PURE__ */ new Map();
|
|
46881
|
+
for (let e of l) {
|
|
46882
|
+
let t = `${e.ruleId}|${e.selector}|${e.evidence}`, n = u.get(t);
|
|
46883
|
+
n ? n.count = (n.count ?? 1) + 1 : u.set(t, e);
|
|
46884
|
+
}
|
|
46885
|
+
return [...u.values()];
|
|
46856
46886
|
}
|
|
46857
46887
|
function M4(e) {
|
|
46858
46888
|
let t = /* @__PURE__ */ new Map();
|
|
@@ -46865,9 +46895,12 @@ function M4(e) {
|
|
|
46865
46895
|
return n === r ? t[1].length === e[1].length ? e[0].localeCompare(t[0]) : t[1].length - e[1].length : n - r;
|
|
46866
46896
|
}), r = e.length, i = e.filter((e) => e.severity === "error").length, a = new Set(e.map((e) => e.page).filter(Boolean)).size > 1, o = [`# Slop scan — ${i} error${i === 1 ? "" : "s"}, ${r - i} warn (${r} total)`, ""];
|
|
46867
46897
|
for (let [e, t] of n) {
|
|
46868
|
-
let n = t[0];
|
|
46869
|
-
o.push(`## ${e} — ${n.severity} ×${
|
|
46870
|
-
for (let e of t)
|
|
46898
|
+
let n = t[0], r = t.reduce((e, t) => e + (t.count ?? 1), 0);
|
|
46899
|
+
o.push(`## ${e} — ${n.severity} ×${r} [${n.part}]`), o.push(n.description);
|
|
46900
|
+
for (let e of t) {
|
|
46901
|
+
let t = e.component || e.source ? ` — ${[e.component, e.source].filter(Boolean).join(" @ ")}` : "", n = (e.count ?? 1) > 1 ? ` ×${e.count}` : "";
|
|
46902
|
+
o.push(`- ${a && e.page ? `\`${e.page}\` ` : ""}\`${e.selector}\`${n} — ${e.evidence}${t}`);
|
|
46903
|
+
}
|
|
46871
46904
|
o.push("");
|
|
46872
46905
|
}
|
|
46873
46906
|
return o.join("\n");
|
|
@@ -46896,7 +46929,10 @@ function N4(e) {
|
|
|
46896
46929
|
" The scan already excludes them; do not \"fix\" them.",
|
|
46897
46930
|
"5. 'unverifiable' warnings mean the token collapsed to the anti-pattern this",
|
|
46898
46931
|
" theme — verify the intent in BOTH themes, do not just silence it.",
|
|
46899
|
-
"6.
|
|
46932
|
+
"6. Findings carry `Component @ file:line` when the fiber source resolved.",
|
|
46933
|
+
" When one file:line repeats across many components it is the nearest-",
|
|
46934
|
+
" debug-fiber fallback — locate the real code by the selector classes.",
|
|
46935
|
+
"7. PROOF REQUIRED: after the change I will re-run the scan — it must show 0",
|
|
46900
46936
|
" errors. State what you changed per token/variant; do not claim done blind.",
|
|
46901
46937
|
"",
|
|
46902
46938
|
"---",
|
|
@@ -46921,9 +46957,42 @@ function R4() {
|
|
|
46921
46957
|
}));
|
|
46922
46958
|
P4 = [...t, ...P4.filter((t) => t.page !== e)];
|
|
46923
46959
|
for (let e of F4) e(P4);
|
|
46924
|
-
return z4(t)
|
|
46960
|
+
return z4(t).then(() => {
|
|
46961
|
+
P4 = [...P4];
|
|
46962
|
+
for (let e of F4) e(P4);
|
|
46963
|
+
B4(t);
|
|
46964
|
+
}), t;
|
|
46925
46965
|
}
|
|
46926
|
-
function z4(e) {
|
|
46966
|
+
async function z4(e) {
|
|
46967
|
+
let t = null;
|
|
46968
|
+
try {
|
|
46969
|
+
t = (await Promise.resolve().then(() => (RZ(), AZ))).getGlobalApi() ?? null;
|
|
46970
|
+
} catch {
|
|
46971
|
+
return;
|
|
46972
|
+
}
|
|
46973
|
+
if (!t) return;
|
|
46974
|
+
let n = /* @__PURE__ */ new Map();
|
|
46975
|
+
for (let t of e) {
|
|
46976
|
+
let e = t.el?.deref();
|
|
46977
|
+
if (!e) continue;
|
|
46978
|
+
let r = n.get(e);
|
|
46979
|
+
r ? r.push(t) : n.set(e, [t]);
|
|
46980
|
+
}
|
|
46981
|
+
let r = 300;
|
|
46982
|
+
for (let [e, i] of n) {
|
|
46983
|
+
if (r-- <= 0) break;
|
|
46984
|
+
let n = null, a = null;
|
|
46985
|
+
try {
|
|
46986
|
+
n = t.getDisplayName?.(e) ?? null;
|
|
46987
|
+
} catch {}
|
|
46988
|
+
try {
|
|
46989
|
+
let n = await t.getSource?.(e);
|
|
46990
|
+
n?.filePath && (a = `${n.filePath}${n.lineNumber == null ? "" : `:${n.lineNumber}`}`);
|
|
46991
|
+
} catch {}
|
|
46992
|
+
if (!(!n && !a)) for (let e of i) e.component = n, e.source = a;
|
|
46993
|
+
}
|
|
46994
|
+
}
|
|
46995
|
+
function B4(e) {
|
|
46927
46996
|
if (e.length === 0) return;
|
|
46928
46997
|
let t = Date.now(), n = e.slice(0, 200).map(({ el: e, ...n }) => ({
|
|
46929
46998
|
kind: "slop-scan",
|
|
@@ -46937,59 +47006,59 @@ function z4(e) {
|
|
|
46937
47006
|
keepalive: !0
|
|
46938
47007
|
})).catch(() => {});
|
|
46939
47008
|
}
|
|
46940
|
-
var
|
|
47009
|
+
var V4 = !1;
|
|
46941
47010
|
try {
|
|
46942
|
-
|
|
47011
|
+
V4 = localStorage.getItem("linear-grab:slop-live") === "1";
|
|
46943
47012
|
} catch {}
|
|
46944
|
-
var
|
|
46945
|
-
function
|
|
46946
|
-
return
|
|
47013
|
+
var H4 = /* @__PURE__ */ new Set();
|
|
47014
|
+
function U4() {
|
|
47015
|
+
return V4;
|
|
46947
47016
|
}
|
|
46948
|
-
function
|
|
46949
|
-
|
|
47017
|
+
function W4(e) {
|
|
47018
|
+
V4 = e;
|
|
46950
47019
|
try {
|
|
46951
47020
|
localStorage.setItem("linear-grab:slop-live", e ? "1" : "0");
|
|
46952
47021
|
} catch {}
|
|
46953
|
-
for (let t of
|
|
46954
|
-
e &&
|
|
47022
|
+
for (let t of H4) t(e);
|
|
47023
|
+
e && q4(300);
|
|
46955
47024
|
}
|
|
46956
|
-
function
|
|
46957
|
-
return
|
|
47025
|
+
function G4(e) {
|
|
47026
|
+
return H4.add(e), e(V4), () => void H4.delete(e);
|
|
46958
47027
|
}
|
|
46959
|
-
var
|
|
46960
|
-
function
|
|
46961
|
-
|
|
46962
|
-
if (
|
|
47028
|
+
var K4 = null;
|
|
47029
|
+
function q4(e) {
|
|
47030
|
+
K4 && clearTimeout(K4), K4 = setTimeout(() => {
|
|
47031
|
+
if (K4 = null, V4) try {
|
|
46963
47032
|
R4();
|
|
46964
47033
|
} catch {}
|
|
46965
47034
|
}, e);
|
|
46966
47035
|
}
|
|
46967
|
-
var
|
|
46968
|
-
function
|
|
46969
|
-
if (
|
|
46970
|
-
|
|
47036
|
+
var J4 = !1;
|
|
47037
|
+
function Y4() {
|
|
47038
|
+
if (J4 || typeof window > "u") return;
|
|
47039
|
+
J4 = !0;
|
|
46971
47040
|
let e = location.pathname;
|
|
46972
47041
|
setInterval(() => {
|
|
46973
|
-
location.pathname !== e && (e = location.pathname,
|
|
47042
|
+
location.pathname !== e && (e = location.pathname, V4 && q4(1e3));
|
|
46974
47043
|
}, 500);
|
|
46975
47044
|
}
|
|
46976
47045
|
//#endregion
|
|
46977
47046
|
//#region src/panel/views/DesignView.tsx
|
|
46978
|
-
var
|
|
46979
|
-
function
|
|
47047
|
+
var X4 = /*#__PURE__*/ P("<span class=\"inline-block min-w-[7ch] text-center\">Extract"), Z4 = /*#__PURE__*/ P("<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>"), Q4 = /*#__PURE__*/ P("<span class=\"text-success text-[12px] leading-none\">✓"), $4 = /*#__PURE__*/ P("<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\">"), e3 = /*#__PURE__*/ P("<div class=\"flex items-center justify-end gap-1 px-1\">"), t3 = /*#__PURE__*/ P("<span class=\"relative inline-flex items-center justify-center\"><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3.5 y=3 width=3.2 height=10 rx=1></rect><rect x=9.3 y=3 width=3.2 height=10 rx=1></rect></svg><span class=\"bg-success absolute -top-0.5 -right-0.5 size-1.5 animate-pulse rounded-full\"aria-hidden>"), n3 = /*#__PURE__*/ P("<span class=\"inline-block min-w-[5ch] text-center\">Audit"), r3 = /*#__PURE__*/ P("<div class=\"flex max-h-72 flex-col gap-1.5 overflow-y-auto pr-2\">"), i3 = /*#__PURE__*/ P("<span class=\"text-[12px] leading-none\">✓"), a3 = /*#__PURE__*/ P("<div class=\"flex items-center gap-1 px-1\">"), o3 = /*#__PURE__*/ P("<span class=\"text-text-faint font-normal tabular-nums\"> · <!> pages"), s3 = /*#__PURE__*/ P("<span class=\"inline-block min-w-[4ch] text-center\">Scan"), c3 = /*#__PURE__*/ P("<div class=\"flex items-center gap-1 px-1\"><button class=\"border-border cursor-pointer rounded-full border px-2 py-0.5 text-[10px] font-medium tabular-nums\"> errors</button><button class=\"border-border cursor-pointer rounded-full border px-2 py-0.5 text-[10px] font-medium tabular-nums\"> warns"), l3 = /*#__PURE__*/ P("<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.</p></div></div><div class=\"border-border mt-1 flex flex-col gap-2 border-t pt-3\"><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\">CSS slowdowns</p><p class=\"text-text-faint text-[10.5px] leading-snug\">Transitions/delays over the 100ms house cap (§42) on interactive elements — feedback that animates instead of being instant. Live hits appear as you use the app; Audit sweeps the whole page.</p></div><div class=\"flex shrink-0 items-center gap-1\"></div></div></div><div class=\"border-border mt-1 flex flex-col gap-2 border-t pt-3\"><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\">Slop scan</p><p class=\"text-text-faint text-[10.5px] leading-snug\">Design-contract drift — Linear-primitives rules checked against the live DOM. Results accumulate per page as you navigate; re-scanning a page overwrites only that page's findings.</p></div><div class=\"flex shrink-0 items-center gap-1\">"), u3 = /*#__PURE__*/ P("<p class=\"text-text mt-1 text-[11px] font-semibold\">Interaction states"), d3 = /*#__PURE__*/ P("<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>"), f3 = /*#__PURE__*/ P("<span class=\"text-warn text-[10.5px] font-medium tabular-nums\">s · <!> states"), p3 = /*#__PURE__*/ P("<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\">"), m3 = /*#__PURE__*/ P("<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\">"), h3 = /*#__PURE__*/ P("<span class=text-text-faint> ×"), g3 = /*#__PURE__*/ P("<div class=\"flex flex-col gap-0.5\"><p class=\"text-text text-[11px] font-medium\">"), _3 = /*#__PURE__*/ P("<span class=text-accent> ← var(<!>)"), v3 = /*#__PURE__*/ P("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: "), y3 = /*#__PURE__*/ P("<div class=\"flex flex-col gap-0.5\"><p class=\"text-warn text-[10.5px] font-medium\"> — "), b3 = /*#__PURE__*/ P("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: <!> → "), x3 = /*#__PURE__*/ P("<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>"), S3 = /*#__PURE__*/ P("<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\">"), C3 = /*#__PURE__*/ P("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.5v11l9-5.5z\">"), w3 = /*#__PURE__*/ P("<p class=\"text-text-faint px-1 text-[10.5px]\">Nothing caught yet — interact with the app, or run Audit."), T3 = /*#__PURE__*/ P("<span class=\"text-text-dim font-mono text-[10px] break-all\">"), E3 = /*#__PURE__*/ P("<span class=\"text-danger text-[10px] leading-snug\">⚠ layout/paint transition: "), D3 = /*#__PURE__*/ P("<span class=\"text-danger text-[10px] leading-snug\">⚠ ease-in easing: "), O3 = /*#__PURE__*/ P("<div class=\"bg-surface border-border flex flex-col gap-0.5 rounded-lg border p-2\"><div class=\"flex items-center gap-2\"><span class=\"text-warn shrink-0 text-[10px] font-semibold tracking-wide uppercase\"></span><span class=\"text-accent min-w-0 truncate font-mono text-[11.5px]\"></span><span class=\"text-text ml-auto shrink-0 text-[11px] font-medium tabular-nums\">ms</span></div><span class=\"text-text-dim text-[10px] leading-snug\"></span><span class=\"text-text-faint text-[10px] leading-snug\">"), k3 = /*#__PURE__*/ P("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M8 1.5 9.6 6l4.4 1.6L9.6 9.2 8 13.7 6.4 9.2 2 7.6 6.4 6Z\"></path><path d=\"M13 11.5l.6 1.7 1.7.6-1.7.6-.6 1.7-.6-1.7-1.7-.6 1.7-.6Z\">"), A3 = /*#__PURE__*/ P("<p class=\"text-text-faint px-1 text-[10.5px]\">No scan yet — click Scan to audit this page against the contract."), j3 = /*#__PURE__*/ P("<div class=\"border-border flex flex-col gap-1 border-t px-2 py-1.5\"><p class=\"text-text-dim text-[10px] leading-snug\">"), M3 = /*#__PURE__*/ P("<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 py-1.5 text-left\"><span class=\"size-1.5 shrink-0 rounded-full\"aria-hidden></span><span class=\"text-accent min-w-0 truncate font-mono text-[11.5px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\">×</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\">"), N3 = /*#__PURE__*/ P("<span class=text-accent> "), P3 = /*#__PURE__*/ P("<span class=\"text-text-faint tabular-nums\"> ×"), F3 = /*#__PURE__*/ P("<button class=\"hover:bg-surface-2 flex w-full cursor-pointer flex-col gap-0.5 rounded px-1 py-0.5 text-left\"title=\"Reveal on the page\"><span class=\"text-text min-w-0 truncate font-mono text-[10.5px]\"></span><span class=\"text-text-faint font-mono text-[10px] leading-snug break-all\">"), I3 = "linear-grab:genomes:v1", L3 = 30;
|
|
47048
|
+
function R3() {
|
|
46980
47049
|
try {
|
|
46981
|
-
return JSON.parse(localStorage.getItem(
|
|
47050
|
+
return JSON.parse(localStorage.getItem(I3) ?? "[]");
|
|
46982
47051
|
} catch {
|
|
46983
47052
|
return [];
|
|
46984
47053
|
}
|
|
46985
47054
|
}
|
|
46986
|
-
function
|
|
47055
|
+
function z3(e) {
|
|
46987
47056
|
try {
|
|
46988
|
-
localStorage.setItem(
|
|
47057
|
+
localStorage.setItem(I3, JSON.stringify(e.slice(0, L3)));
|
|
46989
47058
|
} catch {}
|
|
46990
47059
|
}
|
|
46991
|
-
var
|
|
46992
|
-
function
|
|
47060
|
+
var B3 = /* @__PURE__ */ new Map();
|
|
47061
|
+
function V3(e) {
|
|
46993
47062
|
let t = e.el?.deref();
|
|
46994
47063
|
if (!(t instanceof HTMLElement) || !t.isConnected) return !1;
|
|
46995
47064
|
t.scrollIntoView({
|
|
@@ -47001,8 +47070,8 @@ function z3(e) {
|
|
|
47001
47070
|
t.style.outline = n, t.style.outlineOffset = r;
|
|
47002
47071
|
}, 1400), !0;
|
|
47003
47072
|
}
|
|
47004
|
-
function
|
|
47005
|
-
let [e, t] = T(
|
|
47073
|
+
function H3() {
|
|
47074
|
+
let [e, t] = T(R3()), [n, r] = T(null), [i, a] = T(null), [o, s] = T(null), [c, l] = T(null), [u, d] = T(null), [f, p] = T({
|
|
47006
47075
|
active: !1,
|
|
47007
47076
|
msLeft: 0,
|
|
47008
47077
|
total: 0,
|
|
@@ -47034,8 +47103,8 @@ function B3() {
|
|
|
47034
47103
|
}
|
|
47035
47104
|
}, [k, ee] = T([]);
|
|
47036
47105
|
ie(I4(ee));
|
|
47037
|
-
let [A, j] = T(
|
|
47038
|
-
ie(
|
|
47106
|
+
let [A, j] = T(U4());
|
|
47107
|
+
ie(G4(j));
|
|
47039
47108
|
let [te, ne] = T(!1), [re, ae] = T(null), [oe, se] = T(!0), [ce, le] = T(!0), [ue, de] = T(!1), [fe, pe] = T(!1), me = () => {
|
|
47040
47109
|
l(null), ne(!0);
|
|
47041
47110
|
try {
|
|
@@ -47067,14 +47136,14 @@ function B3() {
|
|
|
47067
47136
|
l("Clipboard was blocked — click Copy again.");
|
|
47068
47137
|
}
|
|
47069
47138
|
}, Ce = (e) => {
|
|
47070
|
-
t(e),
|
|
47139
|
+
t(e), z3(e);
|
|
47071
47140
|
}, we = async () => {
|
|
47072
47141
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
47073
47142
|
try {
|
|
47074
47143
|
let t = await u2();
|
|
47075
47144
|
if (!t) return;
|
|
47076
47145
|
let n = await e2(t), i = Date.now();
|
|
47077
|
-
|
|
47146
|
+
B3.set(i, new WeakRef(t)), Ce([{
|
|
47078
47147
|
id: i,
|
|
47079
47148
|
genome: n
|
|
47080
47149
|
}, ...e()]), r(i);
|
|
@@ -47086,10 +47155,10 @@ function B3() {
|
|
|
47086
47155
|
}, Te = async (t) => {
|
|
47087
47156
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
47088
47157
|
try {
|
|
47089
|
-
let n =
|
|
47158
|
+
let n = B3.get(t.id)?.deref() ?? null;
|
|
47090
47159
|
if (!n || !n.isConnected) {
|
|
47091
47160
|
if (n = await u2(), !n) return;
|
|
47092
|
-
|
|
47161
|
+
B3.set(t.id, new WeakRef(n));
|
|
47093
47162
|
}
|
|
47094
47163
|
let r = await c2(n, 8e3, (e) => s(Math.ceil(e / 1e3)));
|
|
47095
47164
|
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."), Ce(e().map((e) => e.id === t.id ? {
|
|
@@ -47111,7 +47180,7 @@ function B3() {
|
|
|
47111
47180
|
l("Clipboard was blocked — click Copy again.");
|
|
47112
47181
|
}
|
|
47113
47182
|
}, De = (t) => {
|
|
47114
|
-
|
|
47183
|
+
B3.delete(t), Ce(e().filter((e) => e.id !== t));
|
|
47115
47184
|
}, [Oe, ke] = T(!1), Ae = async () => {
|
|
47116
47185
|
try {
|
|
47117
47186
|
let t = e().map((e) => l2(e.genome)).join("\n\n---\n\n");
|
|
@@ -47120,10 +47189,10 @@ function B3() {
|
|
|
47120
47189
|
l("Clipboard was blocked — click Copy again.");
|
|
47121
47190
|
}
|
|
47122
47191
|
}, je = () => {
|
|
47123
|
-
|
|
47192
|
+
B3.clear(), Ce([]), r(null);
|
|
47124
47193
|
};
|
|
47125
47194
|
return (() => {
|
|
47126
|
-
var t =
|
|
47195
|
+
var t = l3(), a = t.firstChild;
|
|
47127
47196
|
a.firstChild;
|
|
47128
47197
|
var o = a.nextSibling, s = o.firstChild.firstChild.nextSibling, d = o.nextSibling, p = d.firstChild.firstChild, h = p.firstChild;
|
|
47129
47198
|
h.firstChild;
|
|
@@ -47136,7 +47205,7 @@ function B3() {
|
|
|
47136
47205
|
},
|
|
47137
47206
|
onClick: () => void we(),
|
|
47138
47207
|
get children() {
|
|
47139
|
-
return
|
|
47208
|
+
return X4();
|
|
47140
47209
|
}
|
|
47141
47210
|
}), null), F(t, M(N, {
|
|
47142
47211
|
get when() {
|
|
@@ -47159,7 +47228,7 @@ function B3() {
|
|
|
47159
47228
|
},
|
|
47160
47229
|
get children() {
|
|
47161
47230
|
return [(() => {
|
|
47162
|
-
var t =
|
|
47231
|
+
var t = Z4();
|
|
47163
47232
|
return t.firstChild, F(t, M(Ue, {
|
|
47164
47233
|
get each() {
|
|
47165
47234
|
return e();
|
|
@@ -47167,7 +47236,7 @@ function B3() {
|
|
|
47167
47236
|
children: (e) => {
|
|
47168
47237
|
let t = () => n() === e.id;
|
|
47169
47238
|
return (() => {
|
|
47170
|
-
var n =
|
|
47239
|
+
var n = m3(), a = n.firstChild, o = a.nextSibling, s = o.firstChild, c = s.firstChild, l = c.nextSibling, d = l.firstChild, p = d.nextSibling;
|
|
47171
47240
|
p.nextSibling;
|
|
47172
47241
|
var m = l.nextSibling;
|
|
47173
47242
|
return s.$$click = () => r(t() ? null : e.id), F(c, () => e.genome.title), F(l, () => e.genome.nodes.length, d), F(l, (() => {
|
|
@@ -47178,19 +47247,19 @@ function B3() {
|
|
|
47178
47247
|
return t();
|
|
47179
47248
|
},
|
|
47180
47249
|
get children() {
|
|
47181
|
-
var t =
|
|
47250
|
+
var t = p3(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
47182
47251
|
return F(n, () => e.genome.pageUrl), F(r, M(Ue, {
|
|
47183
47252
|
get each() {
|
|
47184
47253
|
return e.genome.nodes;
|
|
47185
47254
|
},
|
|
47186
47255
|
children: (e) => (() => {
|
|
47187
|
-
var t =
|
|
47256
|
+
var t = g3(), n = t.firstChild;
|
|
47188
47257
|
return F(n, () => e.label, null), F(n, M(N, {
|
|
47189
47258
|
get when() {
|
|
47190
47259
|
return e.count > 1;
|
|
47191
47260
|
},
|
|
47192
47261
|
get children() {
|
|
47193
|
-
var t =
|
|
47262
|
+
var t = h3();
|
|
47194
47263
|
return t.firstChild, F(t, () => e.count, null), t;
|
|
47195
47264
|
}
|
|
47196
47265
|
}), null), F(t, M(Ue, {
|
|
@@ -47198,13 +47267,13 @@ function B3() {
|
|
|
47198
47267
|
return Object.entries(e.styles);
|
|
47199
47268
|
},
|
|
47200
47269
|
children: ([t, n]) => (() => {
|
|
47201
|
-
var r =
|
|
47270
|
+
var r = v3(), i = r.firstChild;
|
|
47202
47271
|
return F(r, t, i), F(r, n, null), F(r, M(N, {
|
|
47203
47272
|
get when() {
|
|
47204
47273
|
return e.tokens[t];
|
|
47205
47274
|
},
|
|
47206
47275
|
get children() {
|
|
47207
|
-
var n =
|
|
47276
|
+
var n = _3(), r = n.firstChild.nextSibling;
|
|
47208
47277
|
return r.nextSibling, F(n, () => e.tokens[t], r), n;
|
|
47209
47278
|
}
|
|
47210
47279
|
}), null), r;
|
|
@@ -47216,18 +47285,18 @@ function B3() {
|
|
|
47216
47285
|
return e.genome.states.length > 0;
|
|
47217
47286
|
},
|
|
47218
47287
|
get children() {
|
|
47219
|
-
return [
|
|
47288
|
+
return [u3(), M(Ue, {
|
|
47220
47289
|
get each() {
|
|
47221
47290
|
return e.genome.states;
|
|
47222
47291
|
},
|
|
47223
47292
|
children: (e) => (() => {
|
|
47224
|
-
var t =
|
|
47293
|
+
var t = y3(), n = t.firstChild, r = n.firstChild;
|
|
47225
47294
|
return F(n, () => e.label, r), F(n, () => e.trigger, null), F(t, M(Ue, {
|
|
47226
47295
|
get each() {
|
|
47227
47296
|
return Object.entries(e.changed);
|
|
47228
47297
|
},
|
|
47229
47298
|
children: ([e, t]) => (() => {
|
|
47230
|
-
var n =
|
|
47299
|
+
var n = b3(), r = n.firstChild, i = r.nextSibling;
|
|
47231
47300
|
return i.nextSibling, F(n, e, r), F(n, () => t.from, i), F(n, () => t.to, null), n;
|
|
47232
47301
|
})()
|
|
47233
47302
|
}), null), t;
|
|
@@ -47249,7 +47318,7 @@ function B3() {
|
|
|
47249
47318
|
"aria-label": "Capture interaction states",
|
|
47250
47319
|
onClick: () => void Te(e),
|
|
47251
47320
|
get children() {
|
|
47252
|
-
return
|
|
47321
|
+
return x3();
|
|
47253
47322
|
}
|
|
47254
47323
|
});
|
|
47255
47324
|
},
|
|
@@ -47263,10 +47332,10 @@ function B3() {
|
|
|
47263
47332
|
"aria-label": "Stop recording states",
|
|
47264
47333
|
onClick: () => o2(),
|
|
47265
47334
|
get children() {
|
|
47266
|
-
return
|
|
47335
|
+
return d3();
|
|
47267
47336
|
}
|
|
47268
47337
|
}), (() => {
|
|
47269
|
-
var e =
|
|
47338
|
+
var e = f3(), t = e.firstChild, n = t.nextSibling;
|
|
47270
47339
|
return n.nextSibling, F(e, () => Math.ceil(f().msLeft / 1e3), t), F(e, () => f().total, n), e;
|
|
47271
47340
|
})()];
|
|
47272
47341
|
}
|
|
@@ -47284,10 +47353,10 @@ function B3() {
|
|
|
47284
47353
|
return u() === e.id;
|
|
47285
47354
|
},
|
|
47286
47355
|
get fallback() {
|
|
47287
|
-
return
|
|
47356
|
+
return S3();
|
|
47288
47357
|
},
|
|
47289
47358
|
get children() {
|
|
47290
|
-
return
|
|
47359
|
+
return Q4();
|
|
47291
47360
|
}
|
|
47292
47361
|
});
|
|
47293
47362
|
}
|
|
@@ -47298,7 +47367,7 @@ function B3() {
|
|
|
47298
47367
|
"aria-label": "Delete genome",
|
|
47299
47368
|
onClick: () => De(e.id),
|
|
47300
47369
|
get children() {
|
|
47301
|
-
return
|
|
47370
|
+
return $4();
|
|
47302
47371
|
}
|
|
47303
47372
|
}), null), t;
|
|
47304
47373
|
}
|
|
@@ -47313,7 +47382,7 @@ function B3() {
|
|
|
47313
47382
|
}
|
|
47314
47383
|
}), null), t;
|
|
47315
47384
|
})(), (() => {
|
|
47316
|
-
var e =
|
|
47385
|
+
var e = e3();
|
|
47317
47386
|
return F(e, M(kj, {
|
|
47318
47387
|
class: "size-7 px-0",
|
|
47319
47388
|
variant: "ghost",
|
|
@@ -47328,10 +47397,10 @@ function B3() {
|
|
|
47328
47397
|
return Oe();
|
|
47329
47398
|
},
|
|
47330
47399
|
get fallback() {
|
|
47331
|
-
return
|
|
47400
|
+
return S3();
|
|
47332
47401
|
},
|
|
47333
47402
|
get children() {
|
|
47334
|
-
return
|
|
47403
|
+
return Q4();
|
|
47335
47404
|
}
|
|
47336
47405
|
});
|
|
47337
47406
|
}
|
|
@@ -47342,7 +47411,7 @@ function B3() {
|
|
|
47342
47411
|
"aria-label": "Delete all genomes",
|
|
47343
47412
|
onClick: je,
|
|
47344
47413
|
get children() {
|
|
47345
|
-
return
|
|
47414
|
+
return $4();
|
|
47346
47415
|
}
|
|
47347
47416
|
}), null), e;
|
|
47348
47417
|
})()];
|
|
@@ -47363,10 +47432,10 @@ function B3() {
|
|
|
47363
47432
|
return g();
|
|
47364
47433
|
},
|
|
47365
47434
|
get fallback() {
|
|
47366
|
-
return
|
|
47435
|
+
return C3();
|
|
47367
47436
|
},
|
|
47368
47437
|
get children() {
|
|
47369
|
-
return
|
|
47438
|
+
return t3();
|
|
47370
47439
|
}
|
|
47371
47440
|
});
|
|
47372
47441
|
}
|
|
@@ -47378,24 +47447,24 @@ function B3() {
|
|
|
47378
47447
|
},
|
|
47379
47448
|
onClick: () => void S(),
|
|
47380
47449
|
get children() {
|
|
47381
|
-
return
|
|
47450
|
+
return n3();
|
|
47382
47451
|
}
|
|
47383
47452
|
}), null), F(o, M(N, {
|
|
47384
47453
|
get when() {
|
|
47385
47454
|
return m().length > 0;
|
|
47386
47455
|
},
|
|
47387
47456
|
get fallback() {
|
|
47388
|
-
return
|
|
47457
|
+
return w3();
|
|
47389
47458
|
},
|
|
47390
47459
|
get children() {
|
|
47391
47460
|
return [(() => {
|
|
47392
|
-
var e =
|
|
47461
|
+
var e = r3();
|
|
47393
47462
|
return F(e, M(Ue, {
|
|
47394
47463
|
get each() {
|
|
47395
47464
|
return m();
|
|
47396
47465
|
},
|
|
47397
47466
|
children: (e) => (() => {
|
|
47398
|
-
var t =
|
|
47467
|
+
var t = O3(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = a.firstChild, s = n.nextSibling, c = s.nextSibling;
|
|
47399
47468
|
return F(r, () => e.mode === "live" ? "live" : "audit"), F(i, () => e.component ?? e.element, null), F(i, M(N, {
|
|
47400
47469
|
get when() {
|
|
47401
47470
|
return e.count > 1;
|
|
@@ -47411,7 +47480,7 @@ function B3() {
|
|
|
47411
47480
|
return e.source;
|
|
47412
47481
|
},
|
|
47413
47482
|
get children() {
|
|
47414
|
-
var t =
|
|
47483
|
+
var t = T3();
|
|
47415
47484
|
return F(t, () => e.source), t;
|
|
47416
47485
|
}
|
|
47417
47486
|
}), s), F(s, () => e.properties.join(", "), null), F(s, M(N, {
|
|
@@ -47430,7 +47499,7 @@ function B3() {
|
|
|
47430
47499
|
return e.jankProps?.length;
|
|
47431
47500
|
},
|
|
47432
47501
|
get children() {
|
|
47433
|
-
var t =
|
|
47502
|
+
var t = E3();
|
|
47434
47503
|
return t.firstChild, F(t, () => e.jankProps.join(", "), null), t;
|
|
47435
47504
|
}
|
|
47436
47505
|
}), c), F(t, M(N, {
|
|
@@ -47438,14 +47507,14 @@ function B3() {
|
|
|
47438
47507
|
return e.easing;
|
|
47439
47508
|
},
|
|
47440
47509
|
get children() {
|
|
47441
|
-
var t =
|
|
47510
|
+
var t = D3();
|
|
47442
47511
|
return t.firstChild, F(t, () => e.easing, null), t;
|
|
47443
47512
|
}
|
|
47444
47513
|
}), c), F(c, () => e.suggestion), t;
|
|
47445
47514
|
})()
|
|
47446
47515
|
})), e;
|
|
47447
47516
|
})(), (() => {
|
|
47448
|
-
var e =
|
|
47517
|
+
var e = a3();
|
|
47449
47518
|
return F(e, M(kj, {
|
|
47450
47519
|
class: "size-7 px-0",
|
|
47451
47520
|
variant: "primary",
|
|
@@ -47460,10 +47529,10 @@ function B3() {
|
|
|
47460
47529
|
return w();
|
|
47461
47530
|
},
|
|
47462
47531
|
get fallback() {
|
|
47463
|
-
return
|
|
47532
|
+
return k3();
|
|
47464
47533
|
},
|
|
47465
47534
|
get children() {
|
|
47466
|
-
return
|
|
47535
|
+
return i3();
|
|
47467
47536
|
}
|
|
47468
47537
|
});
|
|
47469
47538
|
}
|
|
@@ -47481,10 +47550,10 @@ function B3() {
|
|
|
47481
47550
|
return b();
|
|
47482
47551
|
},
|
|
47483
47552
|
get fallback() {
|
|
47484
|
-
return
|
|
47553
|
+
return S3();
|
|
47485
47554
|
},
|
|
47486
47555
|
get children() {
|
|
47487
|
-
return
|
|
47556
|
+
return Q4();
|
|
47488
47557
|
}
|
|
47489
47558
|
});
|
|
47490
47559
|
}
|
|
@@ -47495,7 +47564,7 @@ function B3() {
|
|
|
47495
47564
|
"aria-label": "Clear all findings",
|
|
47496
47565
|
onClick: M2,
|
|
47497
47566
|
get children() {
|
|
47498
|
-
return
|
|
47567
|
+
return $4();
|
|
47499
47568
|
}
|
|
47500
47569
|
}), null), e;
|
|
47501
47570
|
})()];
|
|
@@ -47505,7 +47574,7 @@ function B3() {
|
|
|
47505
47574
|
return ge() > 1;
|
|
47506
47575
|
},
|
|
47507
47576
|
get children() {
|
|
47508
|
-
var e =
|
|
47577
|
+
var e = o3(), t = e.firstChild.nextSibling;
|
|
47509
47578
|
return t.nextSibling, F(e, ge, t), e;
|
|
47510
47579
|
}
|
|
47511
47580
|
}), null), F(_, M(kj, {
|
|
@@ -47517,17 +47586,17 @@ function B3() {
|
|
|
47517
47586
|
get "aria-label"() {
|
|
47518
47587
|
return A() ? "Pause live scan" : "Start live scan";
|
|
47519
47588
|
},
|
|
47520
|
-
onClick: () =>
|
|
47589
|
+
onClick: () => W4(!A()),
|
|
47521
47590
|
get children() {
|
|
47522
47591
|
return M(N, {
|
|
47523
47592
|
get when() {
|
|
47524
47593
|
return A();
|
|
47525
47594
|
},
|
|
47526
47595
|
get fallback() {
|
|
47527
|
-
return
|
|
47596
|
+
return C3();
|
|
47528
47597
|
},
|
|
47529
47598
|
get children() {
|
|
47530
|
-
return
|
|
47599
|
+
return t3();
|
|
47531
47600
|
}
|
|
47532
47601
|
});
|
|
47533
47602
|
}
|
|
@@ -47540,19 +47609,19 @@ function B3() {
|
|
|
47540
47609
|
title: "Scan this page — cumulative: keeps other pages' findings, replaces this page's",
|
|
47541
47610
|
onClick: me,
|
|
47542
47611
|
get children() {
|
|
47543
|
-
return
|
|
47612
|
+
return s3();
|
|
47544
47613
|
}
|
|
47545
47614
|
}), null), F(d, M(N, {
|
|
47546
47615
|
get when() {
|
|
47547
47616
|
return k().length > 0;
|
|
47548
47617
|
},
|
|
47549
47618
|
get fallback() {
|
|
47550
|
-
return
|
|
47619
|
+
return A3();
|
|
47551
47620
|
},
|
|
47552
47621
|
get children() {
|
|
47553
47622
|
return [
|
|
47554
47623
|
(() => {
|
|
47555
|
-
var e =
|
|
47624
|
+
var e = c3(), t = e.firstChild, n = t.firstChild, r = t.nextSibling, i = r.firstChild;
|
|
47556
47625
|
return t.$$click = () => se(!oe()), F(t, ye, n), r.$$click = () => le(!ce()), F(r, be, i), D((e) => {
|
|
47557
47626
|
var n = {
|
|
47558
47627
|
"text-danger bg-danger/10 border-danger/40": oe(),
|
|
@@ -47570,7 +47639,7 @@ function B3() {
|
|
|
47570
47639
|
}), e;
|
|
47571
47640
|
})(),
|
|
47572
47641
|
(() => {
|
|
47573
|
-
var e =
|
|
47642
|
+
var e = r3();
|
|
47574
47643
|
return F(e, M(Ue, {
|
|
47575
47644
|
get each() {
|
|
47576
47645
|
return ve();
|
|
@@ -47578,30 +47647,54 @@ function B3() {
|
|
|
47578
47647
|
children: (e) => {
|
|
47579
47648
|
let t = e[0], n = () => re() === t.ruleId;
|
|
47580
47649
|
return (() => {
|
|
47581
|
-
var r =
|
|
47650
|
+
var r = M3(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = o.nextSibling;
|
|
47582
47651
|
s.firstChild;
|
|
47583
47652
|
var c = s.nextSibling;
|
|
47584
|
-
return i.$$click = () => ae(n() ? null : t.ruleId), F(o, () => t.ruleId), F(s, () => e.
|
|
47653
|
+
return i.$$click = () => ae(n() ? null : t.ruleId), F(o, () => t.ruleId), F(s, () => e.reduce((e, t) => e + (t.count ?? 1), 0), null), F(r, M(N, {
|
|
47585
47654
|
get when() {
|
|
47586
47655
|
return n();
|
|
47587
47656
|
},
|
|
47588
47657
|
get children() {
|
|
47589
|
-
var n =
|
|
47658
|
+
var n = j3(), r = n.firstChild;
|
|
47590
47659
|
return F(r, () => t.description), F(n, M(Ue, {
|
|
47591
47660
|
each: e,
|
|
47592
47661
|
children: (e) => (() => {
|
|
47593
|
-
var t =
|
|
47662
|
+
var t = F3(), n = t.firstChild, r = n.nextSibling;
|
|
47594
47663
|
return t.$$click = () => {
|
|
47595
|
-
|
|
47664
|
+
V3(e) || l(e.page === location.pathname ? "Element is gone — run Scan again." : `This finding is on ${e.page} — navigate there to reveal it.`);
|
|
47596
47665
|
}, F(n, M(N, {
|
|
47597
47666
|
get when() {
|
|
47598
47667
|
return ge() > 1;
|
|
47599
47668
|
},
|
|
47600
47669
|
get children() {
|
|
47601
|
-
var t =
|
|
47670
|
+
var t = N3(), n = t.firstChild;
|
|
47602
47671
|
return F(t, () => e.page, n), t;
|
|
47603
47672
|
}
|
|
47604
|
-
}), null), F(n, (
|
|
47673
|
+
}), null), F(n, M(N, {
|
|
47674
|
+
get when() {
|
|
47675
|
+
return e.component;
|
|
47676
|
+
},
|
|
47677
|
+
get children() {
|
|
47678
|
+
var t = N3(), n = t.firstChild;
|
|
47679
|
+
return F(t, () => e.component, n), t;
|
|
47680
|
+
}
|
|
47681
|
+
}), null), F(n, () => e.selector, null), F(n, M(N, {
|
|
47682
|
+
get when() {
|
|
47683
|
+
return (e.count ?? 1) > 1;
|
|
47684
|
+
},
|
|
47685
|
+
get children() {
|
|
47686
|
+
var t = P3();
|
|
47687
|
+
return t.firstChild, F(t, () => e.count, null), t;
|
|
47688
|
+
}
|
|
47689
|
+
}), null), F(t, M(N, {
|
|
47690
|
+
get when() {
|
|
47691
|
+
return e.source;
|
|
47692
|
+
},
|
|
47693
|
+
get children() {
|
|
47694
|
+
var t = T3();
|
|
47695
|
+
return F(t, () => e.source), t;
|
|
47696
|
+
}
|
|
47697
|
+
}), r), F(r, () => e.evidence), t;
|
|
47605
47698
|
})()
|
|
47606
47699
|
}), null), n;
|
|
47607
47700
|
}
|
|
@@ -47618,7 +47711,7 @@ function B3() {
|
|
|
47618
47711
|
})), e;
|
|
47619
47712
|
})(),
|
|
47620
47713
|
(() => {
|
|
47621
|
-
var e =
|
|
47714
|
+
var e = a3();
|
|
47622
47715
|
return F(e, M(kj, {
|
|
47623
47716
|
class: "size-7 px-0",
|
|
47624
47717
|
variant: "primary",
|
|
@@ -47633,10 +47726,10 @@ function B3() {
|
|
|
47633
47726
|
return fe();
|
|
47634
47727
|
},
|
|
47635
47728
|
get fallback() {
|
|
47636
|
-
return
|
|
47729
|
+
return k3();
|
|
47637
47730
|
},
|
|
47638
47731
|
get children() {
|
|
47639
|
-
return
|
|
47732
|
+
return i3();
|
|
47640
47733
|
}
|
|
47641
47734
|
});
|
|
47642
47735
|
}
|
|
@@ -47654,10 +47747,10 @@ function B3() {
|
|
|
47654
47747
|
return ue();
|
|
47655
47748
|
},
|
|
47656
47749
|
get fallback() {
|
|
47657
|
-
return
|
|
47750
|
+
return S3();
|
|
47658
47751
|
},
|
|
47659
47752
|
get children() {
|
|
47660
|
-
return
|
|
47753
|
+
return Q4();
|
|
47661
47754
|
}
|
|
47662
47755
|
});
|
|
47663
47756
|
}
|
|
@@ -47668,7 +47761,7 @@ function B3() {
|
|
|
47668
47761
|
"aria-label": "Clear scan results",
|
|
47669
47762
|
onClick: he,
|
|
47670
47763
|
get children() {
|
|
47671
|
-
return
|
|
47764
|
+
return $4();
|
|
47672
47765
|
}
|
|
47673
47766
|
}), null), e;
|
|
47674
47767
|
})()
|
|
@@ -47680,7 +47773,7 @@ function B3() {
|
|
|
47680
47773
|
nt(["click"]);
|
|
47681
47774
|
//#endregion
|
|
47682
47775
|
//#region src/lib/projectConfig.ts
|
|
47683
|
-
var
|
|
47776
|
+
var U3 = [
|
|
47684
47777
|
"defaultTeamId",
|
|
47685
47778
|
"defaultProjectId",
|
|
47686
47779
|
"defaultLabelIds",
|
|
@@ -47695,29 +47788,29 @@ var V3 = [
|
|
|
47695
47788
|
"issueTemplate",
|
|
47696
47789
|
"testUsername"
|
|
47697
47790
|
];
|
|
47698
|
-
function
|
|
47791
|
+
function W3(e) {
|
|
47699
47792
|
let t = {};
|
|
47700
|
-
for (let n of
|
|
47793
|
+
for (let n of U3) {
|
|
47701
47794
|
let r = e[n];
|
|
47702
47795
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
47703
47796
|
}
|
|
47704
47797
|
return t;
|
|
47705
47798
|
}
|
|
47706
|
-
function
|
|
47799
|
+
function G3(e, t) {
|
|
47707
47800
|
let n = {};
|
|
47708
|
-
for (let r of
|
|
47801
|
+
for (let r of U3) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
47709
47802
|
return Object.keys(n).length ? n : null;
|
|
47710
47803
|
}
|
|
47711
47804
|
//#endregion
|
|
47712
47805
|
//#region src/lib/linear/auth.ts
|
|
47713
47806
|
zr();
|
|
47714
|
-
function
|
|
47807
|
+
function K3(e) {
|
|
47715
47808
|
let t = "";
|
|
47716
47809
|
for (let n of e) t += String.fromCharCode(n);
|
|
47717
47810
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
47718
47811
|
}
|
|
47719
|
-
async function
|
|
47720
|
-
let t =
|
|
47812
|
+
async function q3(e) {
|
|
47813
|
+
let t = K3(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = K3(new Uint8Array(n)), i = K3(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
47721
47814
|
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");
|
|
47722
47815
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
47723
47816
|
url: o.toString(),
|
|
@@ -47745,15 +47838,15 @@ async function G3(e) {
|
|
|
47745
47838
|
linearOauthClientId: e
|
|
47746
47839
|
});
|
|
47747
47840
|
}
|
|
47748
|
-
async function
|
|
47841
|
+
async function J3() {
|
|
47749
47842
|
await Tr({
|
|
47750
47843
|
linearAccessToken: void 0,
|
|
47751
47844
|
linearApiKey: void 0
|
|
47752
47845
|
});
|
|
47753
47846
|
}
|
|
47754
47847
|
zr(), xr(), Fx(), gD();
|
|
47755
|
-
var
|
|
47756
|
-
function
|
|
47848
|
+
var Y3 = /*#__PURE__*/ P("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), X3 = /*#__PURE__*/ P("<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."), Z3 = /*#__PURE__*/ P("<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"), Q3 = /*#__PURE__*/ P("<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)."), $3 = /*#__PURE__*/ P("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), e6 = /*#__PURE__*/ P("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), t6 = /*#__PURE__*/ P("<option value>Select a team…"), n6 = /*#__PURE__*/ P("<option value>No project"), r6 = /*#__PURE__*/ P("<div class=\"flex flex-wrap gap-1\">"), i6 = /*#__PURE__*/ P("<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."), a6 = /*#__PURE__*/ P("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), o6 = /*#__PURE__*/ P("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), s6 = /*#__PURE__*/ P("<div class=\"flex flex-col gap-1.5\">"), c6 = /*#__PURE__*/ P("<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."), l6 = /*#__PURE__*/ P("<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."), u6 = /*#__PURE__*/ P("<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."), d6 = /*#__PURE__*/ P("<span class=\"inline-block min-w-[10ch] text-center\">"), f6 = /*#__PURE__*/ P("<div class=\"flex items-center gap-2\">"), p6 = /*#__PURE__*/ P("<option value>Select a channel…"), m6 = /*#__PURE__*/ P("<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"), h6 = /*#__PURE__*/ P("<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."), g6 = /*#__PURE__*/ P("<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"), _6 = /*#__PURE__*/ P("<p class=\"text-text-dim text-[11px]\">"), v6 = /*#__PURE__*/ P("<div class=min-h-[2lh]>"), y6 = /*#__PURE__*/ P("<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."), b6 = /*#__PURE__*/ P("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), x6 = /*#__PURE__*/ P("<button>"), S6 = /*#__PURE__*/ P("<div class=\"flex gap-1.5\">"), C6 = /*#__PURE__*/ P("<p class=\"text-text-faint text-center text-[10.5px]\">or"), w6 = /*#__PURE__*/ P("<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\">"), T6 = /*#__PURE__*/ P("<div class=\"flex flex-col gap-3\">"), E6 = /*#__PURE__*/ P("<span class=text-text-dim>Connected — verifying…"), D6 = /*#__PURE__*/ P("<option> (<!>)"), O6 = /*#__PURE__*/ P("<option>"), k6 = /*#__PURE__*/ P("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), A6 = /*#__PURE__*/ P("<option value>Select the agent…"), j6 = /*#__PURE__*/ P("<option>#"), M6 = /*#__PURE__*/ P("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
47849
|
+
function N6() {
|
|
47757
47850
|
let e = or(), t = gr(() => ({
|
|
47758
47851
|
queryKey: ["settings"],
|
|
47759
47852
|
queryFn: wr,
|
|
@@ -47781,13 +47874,13 @@ function j6() {
|
|
|
47781
47874
|
retry: 0
|
|
47782
47875
|
})), [l, u] = T(!1), d = async () => {
|
|
47783
47876
|
try {
|
|
47784
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
47877
|
+
await navigator.clipboard.writeText(JSON.stringify(W3(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
47785
47878
|
} catch {}
|
|
47786
47879
|
}, f = () => {
|
|
47787
47880
|
let e = c.data?.projectConfig;
|
|
47788
47881
|
if (!e) return;
|
|
47789
47882
|
let t = {};
|
|
47790
|
-
for (let n of
|
|
47883
|
+
for (let n of U3) e[n] !== void 0 && (t[n] = e[n]);
|
|
47791
47884
|
r(t);
|
|
47792
47885
|
}, p = gr(() => ({
|
|
47793
47886
|
queryKey: ["linear-labels"],
|
|
@@ -47820,7 +47913,7 @@ function j6() {
|
|
|
47820
47913
|
}
|
|
47821
47914
|
E(!0), ee("");
|
|
47822
47915
|
try {
|
|
47823
|
-
await
|
|
47916
|
+
await q3(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"] });
|
|
47824
47917
|
} catch (e) {
|
|
47825
47918
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
47826
47919
|
} finally {
|
|
@@ -47831,7 +47924,7 @@ function j6() {
|
|
|
47831
47924
|
async function ne() {
|
|
47832
47925
|
te(!0);
|
|
47833
47926
|
try {
|
|
47834
|
-
await
|
|
47927
|
+
await J3(), 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"] });
|
|
47835
47928
|
} finally {
|
|
47836
47929
|
te(!1);
|
|
47837
47930
|
}
|
|
@@ -47847,12 +47940,12 @@ function j6() {
|
|
|
47847
47940
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
47848
47941
|
});
|
|
47849
47942
|
return (() => {
|
|
47850
|
-
var e =
|
|
47943
|
+
var e = b6();
|
|
47851
47944
|
return F(e, M(Rj, {
|
|
47852
47945
|
title: "Workflow",
|
|
47853
47946
|
get children() {
|
|
47854
47947
|
return [(() => {
|
|
47855
|
-
var e =
|
|
47948
|
+
var e = Y3();
|
|
47856
47949
|
return F(e, M(Ue, {
|
|
47857
47950
|
each: [{
|
|
47858
47951
|
id: "cloud",
|
|
@@ -47862,19 +47955,19 @@ function j6() {
|
|
|
47862
47955
|
label: "Local · clipboard"
|
|
47863
47956
|
}],
|
|
47864
47957
|
children: (e) => (() => {
|
|
47865
|
-
var t =
|
|
47958
|
+
var t = x6();
|
|
47866
47959
|
return t.$$click = () => void r({ workflowMode: e.id }), F(t, () => e.label), D(() => ot(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;
|
|
47867
47960
|
})()
|
|
47868
47961
|
})), e;
|
|
47869
|
-
})(),
|
|
47962
|
+
})(), X3()];
|
|
47870
47963
|
}
|
|
47871
47964
|
}), null), F(e, M(Rj, {
|
|
47872
47965
|
title: "Capture",
|
|
47873
47966
|
get children() {
|
|
47874
47967
|
return [(() => {
|
|
47875
|
-
var e =
|
|
47968
|
+
var e = Z3(), t = e.firstChild;
|
|
47876
47969
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
47877
|
-
})(),
|
|
47970
|
+
})(), Q3()];
|
|
47878
47971
|
}
|
|
47879
47972
|
}), null), F(e, M(Rj, {
|
|
47880
47973
|
title: "Linear",
|
|
@@ -47885,13 +47978,13 @@ function j6() {
|
|
|
47885
47978
|
},
|
|
47886
47979
|
get fallback() {
|
|
47887
47980
|
return (() => {
|
|
47888
|
-
var e =
|
|
47981
|
+
var e = T6();
|
|
47889
47982
|
return F(e, M(Lj, {
|
|
47890
47983
|
label: "Personal API key",
|
|
47891
47984
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
47892
47985
|
get children() {
|
|
47893
47986
|
return [(() => {
|
|
47894
|
-
var e =
|
|
47987
|
+
var e = S6();
|
|
47895
47988
|
return F(e, M(jj, {
|
|
47896
47989
|
type: "password",
|
|
47897
47990
|
placeholder: "lin_api_…",
|
|
@@ -47928,12 +48021,12 @@ function j6() {
|
|
|
47928
48021
|
}), null), F(e, M(N, {
|
|
47929
48022
|
when: br,
|
|
47930
48023
|
get children() {
|
|
47931
|
-
return [
|
|
48024
|
+
return [C6(), M(Lj, {
|
|
47932
48025
|
label: "OAuth client ID",
|
|
47933
48026
|
get children() {
|
|
47934
48027
|
return [
|
|
47935
48028
|
(() => {
|
|
47936
|
-
var e =
|
|
48029
|
+
var e = S6();
|
|
47937
48030
|
return F(e, M(jj, {
|
|
47938
48031
|
placeholder: "your-client-id",
|
|
47939
48032
|
get value() {
|
|
@@ -47961,7 +48054,7 @@ function j6() {
|
|
|
47961
48054
|
}
|
|
47962
48055
|
}),
|
|
47963
48056
|
(() => {
|
|
47964
|
-
var e =
|
|
48057
|
+
var e = w6(), t = e.firstChild.nextSibling.nextSibling;
|
|
47965
48058
|
return F(t, re), e;
|
|
47966
48059
|
})()
|
|
47967
48060
|
];
|
|
@@ -47972,13 +48065,13 @@ function j6() {
|
|
|
47972
48065
|
})();
|
|
47973
48066
|
},
|
|
47974
48067
|
get children() {
|
|
47975
|
-
var e =
|
|
48068
|
+
var e = e6(), t = e.firstChild;
|
|
47976
48069
|
return F(t, M(N, {
|
|
47977
48070
|
get when() {
|
|
47978
48071
|
return !a.isLoading;
|
|
47979
48072
|
},
|
|
47980
48073
|
get fallback() {
|
|
47981
|
-
return
|
|
48074
|
+
return E6();
|
|
47982
48075
|
},
|
|
47983
48076
|
get children() {
|
|
47984
48077
|
return M(N, {
|
|
@@ -47991,7 +48084,7 @@ function j6() {
|
|
|
47991
48084
|
return a.isError;
|
|
47992
48085
|
},
|
|
47993
48086
|
get fallback() {
|
|
47994
|
-
return
|
|
48087
|
+
return E6();
|
|
47995
48088
|
},
|
|
47996
48089
|
get children() {
|
|
47997
48090
|
return M(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -47999,7 +48092,7 @@ function j6() {
|
|
|
47999
48092
|
});
|
|
48000
48093
|
},
|
|
48001
48094
|
get children() {
|
|
48002
|
-
var e =
|
|
48095
|
+
var e = $3(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
48003
48096
|
return F(t, () => a.data.name), F(n, () => a.data.email), e;
|
|
48004
48097
|
}
|
|
48005
48098
|
});
|
|
@@ -48040,7 +48133,7 @@ function j6() {
|
|
|
48040
48133
|
return o.isLoading;
|
|
48041
48134
|
},
|
|
48042
48135
|
get children() {
|
|
48043
|
-
return [
|
|
48136
|
+
return [t6(), M(N, {
|
|
48044
48137
|
get when() {
|
|
48045
48138
|
return o.data;
|
|
48046
48139
|
},
|
|
@@ -48050,7 +48143,7 @@ function j6() {
|
|
|
48050
48143
|
return o.data;
|
|
48051
48144
|
},
|
|
48052
48145
|
children: (e) => (() => {
|
|
48053
|
-
var t =
|
|
48146
|
+
var t = D6(), r = t.firstChild, i = r.nextSibling;
|
|
48054
48147
|
return i.nextSibling, F(t, () => e.name, r), F(t, () => e.key, i), D(() => t.selected = e.id === n().defaultTeamId), D(() => t.value = e.id), t;
|
|
48055
48148
|
})()
|
|
48056
48149
|
});
|
|
@@ -48074,14 +48167,14 @@ function j6() {
|
|
|
48074
48167
|
},
|
|
48075
48168
|
get children() {
|
|
48076
48169
|
return [(() => {
|
|
48077
|
-
var e =
|
|
48170
|
+
var e = n6();
|
|
48078
48171
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
48079
48172
|
})(), M(Ue, {
|
|
48080
48173
|
get each() {
|
|
48081
48174
|
return s.data ?? [];
|
|
48082
48175
|
},
|
|
48083
48176
|
children: (e) => (() => {
|
|
48084
|
-
var t =
|
|
48177
|
+
var t = O6();
|
|
48085
48178
|
return F(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
48086
48179
|
})()
|
|
48087
48180
|
})];
|
|
@@ -48093,7 +48186,7 @@ function j6() {
|
|
|
48093
48186
|
label: "Default labels",
|
|
48094
48187
|
hint: "Applied to every issue created from the panel.",
|
|
48095
48188
|
get children() {
|
|
48096
|
-
var e =
|
|
48189
|
+
var e = r6();
|
|
48097
48190
|
return F(e, M(Ue, {
|
|
48098
48191
|
get each() {
|
|
48099
48192
|
return p.data ?? [];
|
|
@@ -48101,7 +48194,7 @@ function j6() {
|
|
|
48101
48194
|
children: (e) => {
|
|
48102
48195
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
48103
48196
|
return (() => {
|
|
48104
|
-
var i =
|
|
48197
|
+
var i = k6(), a = i.firstChild;
|
|
48105
48198
|
return i.$$click = () => {
|
|
48106
48199
|
let i = n().defaultLabelIds ?? [];
|
|
48107
48200
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -48118,7 +48211,7 @@ function j6() {
|
|
|
48118
48211
|
}
|
|
48119
48212
|
}),
|
|
48120
48213
|
(() => {
|
|
48121
|
-
var e =
|
|
48214
|
+
var e = i6(), t = e.firstChild;
|
|
48122
48215
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
48123
48216
|
})(),
|
|
48124
48217
|
M(Lj, {
|
|
@@ -48168,7 +48261,7 @@ function j6() {
|
|
|
48168
48261
|
return m.isLoading;
|
|
48169
48262
|
},
|
|
48170
48263
|
get children() {
|
|
48171
|
-
return [
|
|
48264
|
+
return [A6(), M(N, {
|
|
48172
48265
|
get when() {
|
|
48173
48266
|
return m.data;
|
|
48174
48267
|
},
|
|
@@ -48178,7 +48271,7 @@ function j6() {
|
|
|
48178
48271
|
return m.data;
|
|
48179
48272
|
},
|
|
48180
48273
|
children: (e) => (() => {
|
|
48181
|
-
var t =
|
|
48274
|
+
var t = O6();
|
|
48182
48275
|
return F(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
48183
48276
|
})()
|
|
48184
48277
|
});
|
|
@@ -48188,7 +48281,7 @@ function j6() {
|
|
|
48188
48281
|
});
|
|
48189
48282
|
},
|
|
48190
48283
|
get children() {
|
|
48191
|
-
return
|
|
48284
|
+
return a6();
|
|
48192
48285
|
}
|
|
48193
48286
|
});
|
|
48194
48287
|
}
|
|
@@ -48236,7 +48329,7 @@ function j6() {
|
|
|
48236
48329
|
onBlur: (e) => {
|
|
48237
48330
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
48238
48331
|
}
|
|
48239
|
-
}),
|
|
48332
|
+
}), o6()];
|
|
48240
48333
|
}
|
|
48241
48334
|
}),
|
|
48242
48335
|
M(Lj, {
|
|
@@ -48293,7 +48386,7 @@ function j6() {
|
|
|
48293
48386
|
label: "Test account",
|
|
48294
48387
|
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.",
|
|
48295
48388
|
get children() {
|
|
48296
|
-
var e =
|
|
48389
|
+
var e = s6();
|
|
48297
48390
|
return F(e, M(jj, {
|
|
48298
48391
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
48299
48392
|
get value() {
|
|
@@ -48325,7 +48418,7 @@ function j6() {
|
|
|
48325
48418
|
title: "Panel",
|
|
48326
48419
|
get children() {
|
|
48327
48420
|
return [(() => {
|
|
48328
|
-
var e =
|
|
48421
|
+
var e = c6(), t = e.firstChild.nextSibling;
|
|
48329
48422
|
return F(t, M(Ue, {
|
|
48330
48423
|
each: [{
|
|
48331
48424
|
id: "overlay",
|
|
@@ -48335,7 +48428,7 @@ function j6() {
|
|
|
48335
48428
|
label: "Beside page"
|
|
48336
48429
|
}],
|
|
48337
48430
|
children: (e) => (() => {
|
|
48338
|
-
var t =
|
|
48431
|
+
var t = x6();
|
|
48339
48432
|
return t.$$click = () => void r({
|
|
48340
48433
|
panelMode: e.id,
|
|
48341
48434
|
panelPos: void 0
|
|
@@ -48343,11 +48436,11 @@ function j6() {
|
|
|
48343
48436
|
})()
|
|
48344
48437
|
})), e;
|
|
48345
48438
|
})(), (() => {
|
|
48346
|
-
var e =
|
|
48439
|
+
var e = l6(), t = e.firstChild.nextSibling;
|
|
48347
48440
|
return F(t, M(Ue, {
|
|
48348
48441
|
each: ["left", "right"],
|
|
48349
48442
|
children: (e) => (() => {
|
|
48350
|
-
var t =
|
|
48443
|
+
var t = x6();
|
|
48351
48444
|
return t.$$click = () => void r({ panelSide: e }), F(t, e === "left" ? "Left" : "Right"), D(() => ot(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;
|
|
48352
48445
|
})()
|
|
48353
48446
|
})), e;
|
|
@@ -48377,8 +48470,8 @@ function j6() {
|
|
|
48377
48470
|
}), null), F(e, M(Rj, {
|
|
48378
48471
|
title: "Project config (.lineargrab.json)",
|
|
48379
48472
|
get children() {
|
|
48380
|
-
return [
|
|
48381
|
-
var e =
|
|
48473
|
+
return [u6(), (() => {
|
|
48474
|
+
var e = f6();
|
|
48382
48475
|
return F(e, M(N, {
|
|
48383
48476
|
get when() {
|
|
48384
48477
|
return c.data?.projectConfig;
|
|
@@ -48409,7 +48502,7 @@ function j6() {
|
|
|
48409
48502
|
},
|
|
48410
48503
|
onClick: () => void d(),
|
|
48411
48504
|
get children() {
|
|
48412
|
-
var e =
|
|
48505
|
+
var e = d6();
|
|
48413
48506
|
return F(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
48414
48507
|
}
|
|
48415
48508
|
}), null), e;
|
|
@@ -48500,12 +48593,12 @@ function j6() {
|
|
|
48500
48593
|
});
|
|
48501
48594
|
},
|
|
48502
48595
|
get children() {
|
|
48503
|
-
return [
|
|
48596
|
+
return [p6(), M(Ue, {
|
|
48504
48597
|
get each() {
|
|
48505
48598
|
return ie.data ?? [];
|
|
48506
48599
|
},
|
|
48507
48600
|
children: (e) => (() => {
|
|
48508
|
-
var t =
|
|
48601
|
+
var t = j6();
|
|
48509
48602
|
return t.firstChild, F(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
48510
48603
|
})()
|
|
48511
48604
|
})];
|
|
@@ -48556,10 +48649,10 @@ function j6() {
|
|
|
48556
48649
|
}
|
|
48557
48650
|
}),
|
|
48558
48651
|
(() => {
|
|
48559
|
-
var e =
|
|
48652
|
+
var e = m6(), t = e.firstChild;
|
|
48560
48653
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
48561
48654
|
})(),
|
|
48562
|
-
|
|
48655
|
+
h6()
|
|
48563
48656
|
];
|
|
48564
48657
|
}
|
|
48565
48658
|
}), null), F(e, M(Rj, {
|
|
@@ -48597,7 +48690,7 @@ function j6() {
|
|
|
48597
48690
|
}
|
|
48598
48691
|
}),
|
|
48599
48692
|
(() => {
|
|
48600
|
-
var e =
|
|
48693
|
+
var e = g6(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
48601
48694
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
48602
48695
|
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;
|
|
48603
48696
|
return r !== e.e && ot(t, e.e = r), o !== e.t && ot(i, e.t = o), s !== e.a && (i.disabled = e.a = s), c !== e.o && ot(a, e.o = c), l !== e.i && (a.disabled = e.i = l), e;
|
|
@@ -48610,16 +48703,16 @@ function j6() {
|
|
|
48610
48703
|
}), e;
|
|
48611
48704
|
})(),
|
|
48612
48705
|
(() => {
|
|
48613
|
-
var e =
|
|
48706
|
+
var e = v6();
|
|
48614
48707
|
return F(e, M(N, {
|
|
48615
48708
|
get when() {
|
|
48616
48709
|
return oe();
|
|
48617
48710
|
},
|
|
48618
48711
|
get fallback() {
|
|
48619
|
-
return
|
|
48712
|
+
return M6();
|
|
48620
48713
|
},
|
|
48621
48714
|
get children() {
|
|
48622
|
-
var e =
|
|
48715
|
+
var e = _6();
|
|
48623
48716
|
return F(e, oe), e;
|
|
48624
48717
|
}
|
|
48625
48718
|
})), e;
|
|
@@ -48629,7 +48722,7 @@ function j6() {
|
|
|
48629
48722
|
}), null), F(e, M(Rj, {
|
|
48630
48723
|
title: "How it works",
|
|
48631
48724
|
get children() {
|
|
48632
|
-
return
|
|
48725
|
+
return y6();
|
|
48633
48726
|
}
|
|
48634
48727
|
}), null), e;
|
|
48635
48728
|
})();
|
|
@@ -48637,38 +48730,38 @@ function j6() {
|
|
|
48637
48730
|
nt(["click"]);
|
|
48638
48731
|
//#endregion
|
|
48639
48732
|
//#region src/lib/idbCache.ts
|
|
48640
|
-
var
|
|
48733
|
+
var P6 = "linear-grab", F6 = "queries", I6 = [
|
|
48641
48734
|
"my-issues",
|
|
48642
48735
|
"issue",
|
|
48643
48736
|
"sessions",
|
|
48644
48737
|
"teams",
|
|
48645
48738
|
"agents"
|
|
48646
48739
|
];
|
|
48647
|
-
function
|
|
48740
|
+
function L6() {
|
|
48648
48741
|
return new Promise((e) => {
|
|
48649
48742
|
try {
|
|
48650
|
-
let t = indexedDB.open(
|
|
48651
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
48743
|
+
let t = indexedDB.open(P6, 1);
|
|
48744
|
+
t.onupgradeneeded = () => t.result.createObjectStore(F6), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
48652
48745
|
} catch {
|
|
48653
48746
|
e(null);
|
|
48654
48747
|
}
|
|
48655
48748
|
});
|
|
48656
48749
|
}
|
|
48657
|
-
function
|
|
48658
|
-
return typeof e[0] == "string" &&
|
|
48750
|
+
function R6(e) {
|
|
48751
|
+
return typeof e[0] == "string" && I6.includes(e[0]);
|
|
48659
48752
|
}
|
|
48660
|
-
async function
|
|
48661
|
-
let t = await
|
|
48753
|
+
async function z6(e) {
|
|
48754
|
+
let t = await L6();
|
|
48662
48755
|
if (!t) return () => {};
|
|
48663
48756
|
await new Promise((n) => {
|
|
48664
48757
|
try {
|
|
48665
|
-
let r = t.transaction(
|
|
48758
|
+
let r = t.transaction(F6, "readonly").objectStore(F6).openCursor();
|
|
48666
48759
|
r.onsuccess = () => {
|
|
48667
48760
|
let t = r.result;
|
|
48668
48761
|
if (!t) return n();
|
|
48669
48762
|
try {
|
|
48670
48763
|
let { queryKey: n, data: r } = t.value;
|
|
48671
|
-
|
|
48764
|
+
R6(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
48672
48765
|
} catch {}
|
|
48673
48766
|
t.continue();
|
|
48674
48767
|
}, r.onerror = () => n();
|
|
@@ -48679,14 +48772,14 @@ async function L6(e) {
|
|
|
48679
48772
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
48680
48773
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
48681
48774
|
let { queryKey: i, queryHash: a } = r.query;
|
|
48682
|
-
if (!
|
|
48775
|
+
if (!R6(i)) return;
|
|
48683
48776
|
let o = n.get(a);
|
|
48684
48777
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
48685
48778
|
n.delete(a);
|
|
48686
48779
|
try {
|
|
48687
48780
|
let n = e.getQueryData(i);
|
|
48688
48781
|
if (n === void 0) return;
|
|
48689
|
-
t.transaction(
|
|
48782
|
+
t.transaction(F6, "readwrite").objectStore(F6).put({
|
|
48690
48783
|
queryKey: i,
|
|
48691
48784
|
data: n
|
|
48692
48785
|
}, a);
|
|
@@ -48702,7 +48795,7 @@ async function L6(e) {
|
|
|
48702
48795
|
//#endregion
|
|
48703
48796
|
//#region src/panel/App.tsx
|
|
48704
48797
|
zr();
|
|
48705
|
-
var
|
|
48798
|
+
var B6 = /*#__PURE__*/ P("<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\">"), V6 = /*#__PURE__*/ P("<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\">"), H6 = /*#__PURE__*/ P("<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\">–"), U6 = /*#__PURE__*/ P("<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>"), W6 = /*#__PURE__*/ P("<button>"), G6 = [
|
|
48706
48799
|
{
|
|
48707
48800
|
id: "draft",
|
|
48708
48801
|
label: "Draft"
|
|
@@ -48739,35 +48832,35 @@ var R6 = /*#__PURE__*/ P("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
48739
48832
|
id: "settings",
|
|
48740
48833
|
label: "Settings"
|
|
48741
48834
|
}
|
|
48742
|
-
],
|
|
48743
|
-
function
|
|
48744
|
-
if (
|
|
48745
|
-
|
|
48835
|
+
], K6 = /* @__PURE__ */ new Set();
|
|
48836
|
+
function q6(e, t, n) {
|
|
48837
|
+
if (K6.has(e) || typeof Notification > "u") return;
|
|
48838
|
+
K6.add(e);
|
|
48746
48839
|
let r = () => new Notification(t, { body: n });
|
|
48747
48840
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
48748
48841
|
}
|
|
48749
|
-
function
|
|
48842
|
+
function J6() {
|
|
48750
48843
|
setInterval(() => {
|
|
48751
48844
|
NO().then((e) => {
|
|
48752
48845
|
for (let t of e) {
|
|
48753
48846
|
if (t.status !== "running") continue;
|
|
48754
48847
|
let e = t.lastEventAt ?? t.startedAt;
|
|
48755
|
-
Date.now() - e > 10 * 6e4 &&
|
|
48848
|
+
Date.now() - e > 10 * 6e4 && q6(`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.`);
|
|
48756
48849
|
}
|
|
48757
48850
|
}).catch(() => {}), gO().then((e) => {
|
|
48758
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
48851
|
+
for (let t of e) /awaitingInput|elicit/i.test(t.status) && q6(`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.`);
|
|
48759
48852
|
}).catch(() => {});
|
|
48760
48853
|
}, 6e4);
|
|
48761
48854
|
}
|
|
48762
|
-
|
|
48763
|
-
var
|
|
48855
|
+
J6();
|
|
48856
|
+
var Y6 = new hr({ defaultOptions: { queries: {
|
|
48764
48857
|
retry: 1,
|
|
48765
48858
|
refetchOnWindowFocus: !1,
|
|
48766
48859
|
staleTime: 5e3
|
|
48767
48860
|
} } });
|
|
48768
|
-
function
|
|
48861
|
+
function X6(e) {
|
|
48769
48862
|
return (() => {
|
|
48770
|
-
var t =
|
|
48863
|
+
var t = B6();
|
|
48771
48864
|
return D((n) => {
|
|
48772
48865
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
48773
48866
|
return r !== n.e && rt(t, "width", n.e = r), i !== n.t && rt(t, "height", n.t = i), n;
|
|
@@ -48777,36 +48870,36 @@ function J6(e) {
|
|
|
48777
48870
|
}), t;
|
|
48778
48871
|
})();
|
|
48779
48872
|
}
|
|
48780
|
-
function
|
|
48873
|
+
function Z6(e) {
|
|
48781
48874
|
let [t, n] = T("draft"), r = () => {
|
|
48782
|
-
|
|
48875
|
+
Y6.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
48783
48876
|
};
|
|
48784
48877
|
return O(() => {
|
|
48785
48878
|
let e = nj();
|
|
48786
48879
|
e && n(e);
|
|
48787
48880
|
}), re(() => {
|
|
48788
|
-
let e =
|
|
48881
|
+
let e = z6(Y6), t = XZ(r), n = () => {
|
|
48789
48882
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
48790
48883
|
if (!e.projectConfig) return;
|
|
48791
|
-
let t =
|
|
48884
|
+
let t = G3(await wr(), e.projectConfig);
|
|
48792
48885
|
t && await Tr(t);
|
|
48793
48886
|
}).catch(() => {});
|
|
48794
48887
|
};
|
|
48795
48888
|
n();
|
|
48796
48889
|
let i = jr((e) => {
|
|
48797
|
-
e === "settings" && (
|
|
48890
|
+
e === "settings" && (Y6.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
48798
48891
|
});
|
|
48799
48892
|
ie(() => {
|
|
48800
48893
|
t(), i(), e.then((e) => e());
|
|
48801
48894
|
});
|
|
48802
48895
|
}), M(sr, {
|
|
48803
|
-
client:
|
|
48896
|
+
client: Y6,
|
|
48804
48897
|
get children() {
|
|
48805
|
-
var r =
|
|
48806
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), F(a, M(
|
|
48807
|
-
each:
|
|
48898
|
+
var r = U6(), 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;
|
|
48899
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), F(a, M(X6, { size: 14 })), F(o, M(Ue, {
|
|
48900
|
+
each: G6,
|
|
48808
48901
|
children: (e) => (() => {
|
|
48809
|
-
var r =
|
|
48902
|
+
var r = W6();
|
|
48810
48903
|
return r.$$click = () => n(e.id), F(r, () => e.label), D(() => ot(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;
|
|
48811
48904
|
})()
|
|
48812
48905
|
})), F(i, M(N, {
|
|
@@ -48814,7 +48907,7 @@ function Y6(e) {
|
|
|
48814
48907
|
return e.onTogglePin;
|
|
48815
48908
|
},
|
|
48816
48909
|
get children() {
|
|
48817
|
-
var t =
|
|
48910
|
+
var t = V6();
|
|
48818
48911
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
48819
48912
|
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"}`;
|
|
48820
48913
|
return r !== n.e && rt(t, "aria-label", n.e = r), i !== n.t && rt(t, "title", n.t = i), a !== n.a && ot(t, n.a = a), n;
|
|
@@ -48829,10 +48922,10 @@ function Y6(e) {
|
|
|
48829
48922
|
return e.onClose;
|
|
48830
48923
|
},
|
|
48831
48924
|
get children() {
|
|
48832
|
-
var t =
|
|
48925
|
+
var t = H6();
|
|
48833
48926
|
return t.$$click = () => e.onClose?.(), t;
|
|
48834
48927
|
}
|
|
48835
|
-
}), null), F(s, M(wM, { onCreated: () => n("activity") })), F(c, M(TQ, {})), F(l, M(_1, {})), F(u, M(B1, {})), F(d, M(P1, {})), F(f, M(T0, {})), F(p, M(B0, { onOpenIssue: () => n("activity") })), F(m, M(
|
|
48928
|
+
}), null), F(s, M(wM, { onCreated: () => n("activity") })), F(c, M(TQ, {})), F(l, M(_1, {})), F(u, M(B1, {})), F(d, M(P1, {})), F(f, M(T0, {})), F(p, M(B0, { onOpenIssue: () => n("activity") })), F(m, M(H3, {})), F(h, M(N6, {})), D((n) => {
|
|
48836
48929
|
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";
|
|
48837
48930
|
return r !== n.e && ot(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;
|
|
48838
48931
|
}, {
|
|
@@ -48853,16 +48946,16 @@ function Y6(e) {
|
|
|
48853
48946
|
nt(["pointerdown", "click"]);
|
|
48854
48947
|
//#endregion
|
|
48855
48948
|
//#region src/styles/app.css?inline
|
|
48856
|
-
var X6 = "/*! 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-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 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-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-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-72{max-height:calc(var(--spacing) * 72)}.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-\\[Npx\\]{width:Npx}.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-danger{border-color:var(--color-danger)}.border-danger\\/40{border-color:#eb575766}@supports (color:color-mix(in lab, red, red)){.border-danger\\/40{border-color:color-mix(in oklab, var(--color-danger) 40%, transparent)}}.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-danger\\/10{background-color:#eb57571a}@supports (color:color-mix(in lab, red, red)){.bg-danger\\/10{background-color:color-mix(in oklab, var(--color-danger) 10%, transparent)}}.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)}.bg-warn\\/10{background-color:#f2c94c1a}@supports (color:color-mix(in lab, red, red)){.bg-warn\\/10{background-color:color-mix(in oklab, var(--color-warn) 10%, transparent)}}.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-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.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)}.active\\:transition-none:active{transition-property:none}.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)}}.data-\\[state\\=on\\]\\:transition-none[data-state=on],.data-\\[state\\=open\\]\\:transition-none[data-state=open],.data-\\[state\\=…\\]\\:transition-none[data-state=…]{transition-property:none}}: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}}";
|
|
48949
|
+
var Q6 = "/*! 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-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.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-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-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-72{max-height:calc(var(--spacing) * 72)}.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-\\[Npx\\]{width:Npx}.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-danger{border-color:var(--color-danger)}.border-danger\\/40{border-color:#eb575766}@supports (color:color-mix(in lab, red, red)){.border-danger\\/40{border-color:color-mix(in oklab, var(--color-danger) 40%, transparent)}}.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-danger\\/10{background-color:#eb57571a}@supports (color:color-mix(in lab, red, red)){.bg-danger\\/10{background-color:color-mix(in oklab, var(--color-danger) 10%, transparent)}}.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)}.bg-warn\\/10{background-color:#f2c94c1a}@supports (color:color-mix(in lab, red, red)){.bg-warn\\/10{background-color:color-mix(in oklab, var(--color-warn) 10%, transparent)}}.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-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.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)}.active\\:transition-none:active{transition-property:none}.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)}}.data-\\[state\\=on\\]\\:transition-none[data-state=on],.data-\\[state\\=open\\]\\:transition-none[data-state=open],.data-\\[state\\=…\\]\\:transition-none[data-state=…]{transition-property:none}}: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}}";
|
|
48857
48950
|
//#endregion
|
|
48858
48951
|
//#region src/page/index.tsx
|
|
48859
48952
|
zr();
|
|
48860
|
-
var
|
|
48861
|
-
function
|
|
48953
|
+
var $6 = /*#__PURE__*/ P("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), e8 = /*#__PURE__*/ P("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), t8 = /*#__PURE__*/ P("<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"), n8 = /*#__PURE__*/ P("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), r8 = /*#__PURE__*/ P("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), i8 = /*#__PURE__*/ P("<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\">"), a8 = /*#__PURE__*/ P("<div><div title=\"Drag to resize\">"), o8 = /*#__PURE__*/ P("<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\">"), s8 = /*#__PURE__*/ P("<span class=\"bg-border h-4 w-px\"aria-hidden>"), c8 = /*#__PURE__*/ P("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), l8 = /*#__PURE__*/ P("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), u8 = /*#__PURE__*/ P("<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>"), d8 = /*#__PURE__*/ P("<span aria-hidden class=\"bg-accent size-2 shrink-0 animate-pulse rounded-full\">"), f8 = /*#__PURE__*/ P("<span class=\"text-text min-w-[3ch] text-[11px] font-medium tabular-nums\">s"), p8 = /*#__PURE__*/ P("<span class=\"text-text-dim min-w-[7ch] text-[11px] tabular-nums\"> states"), m8 = /*#__PURE__*/ P("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), h8 = /*#__PURE__*/ P("<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\"> · <!> · ");
|
|
48954
|
+
function g8(e = {}) {
|
|
48862
48955
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
48863
48956
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
48864
48957
|
let t = () => {
|
|
48865
|
-
lk(), z2(),
|
|
48958
|
+
lk(), z2(), Y4(), JZ();
|
|
48866
48959
|
let t = document.createElement("div");
|
|
48867
48960
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
48868
48961
|
let n = (e) => {
|
|
@@ -48890,17 +48983,17 @@ function m8(e = {}) {
|
|
|
48890
48983
|
"keypress"
|
|
48891
48984
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
48892
48985
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
48893
|
-
i.textContent =
|
|
48986
|
+
i.textContent = Q6, r.appendChild(i);
|
|
48894
48987
|
let a = document.createElement("div");
|
|
48895
48988
|
r.appendChild(a);
|
|
48896
|
-
let o = () => a.setAttribute("data-theme",
|
|
48897
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), tt(() => M(
|
|
48989
|
+
let o = () => a.setAttribute("data-theme", _8());
|
|
48990
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), tt(() => M(C8, { get defaultOpen() {
|
|
48898
48991
|
return e.defaultOpen ?? !1;
|
|
48899
48992
|
} }), a);
|
|
48900
48993
|
};
|
|
48901
48994
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
48902
48995
|
}
|
|
48903
|
-
function
|
|
48996
|
+
function _8() {
|
|
48904
48997
|
try {
|
|
48905
48998
|
let e = [document.body, document.documentElement];
|
|
48906
48999
|
for (let t of e) {
|
|
@@ -48910,11 +49003,11 @@ function h8() {
|
|
|
48910
49003
|
} catch {}
|
|
48911
49004
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
48912
49005
|
}
|
|
48913
|
-
var
|
|
48914
|
-
function
|
|
49006
|
+
var v8 = 130, y8 = 36, b8 = 380, x8 = 280, S8 = 720;
|
|
49007
|
+
function C8(e) {
|
|
48915
49008
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
48916
|
-
x: Math.max(8, window.innerWidth -
|
|
48917
|
-
y: Math.max(8, window.innerHeight -
|
|
49009
|
+
x: Math.max(8, window.innerWidth - v8 - 24),
|
|
49010
|
+
y: Math.max(8, window.innerHeight - y8 - 20)
|
|
48918
49011
|
}), [s, c] = T({
|
|
48919
49012
|
running: [],
|
|
48920
49013
|
review: []
|
|
@@ -48934,15 +49027,15 @@ function x8(e) {
|
|
|
48934
49027
|
let t = Math.floor(e / 1e3);
|
|
48935
49028
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
48936
49029
|
}, [b, x] = T(null), S = (e) => ({
|
|
48937
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
48938
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
49030
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - v8 - 8),
|
|
49031
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - y8 - 8)
|
|
48939
49032
|
}), C = (e) => ({
|
|
48940
49033
|
x: Math.min(Math.max(8 - (te() - 80), e.x), window.innerWidth - 80),
|
|
48941
49034
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
48942
|
-
}), [w, E] = T(!1), [k, ee] = T("cloud"), [A, j] = T(!1), [te, ne] = T(
|
|
49035
|
+
}), [w, E] = T(!1), [k, ee] = T("cloud"), [A, j] = T(!1), [te, ne] = T(b8), ae = (e) => Math.min(S8, Math.max(x8, Math.min(e, window.innerWidth - 60)));
|
|
48943
49036
|
O(() => {
|
|
48944
49037
|
let e = document.documentElement, n = t() && w();
|
|
48945
|
-
e.style.
|
|
49038
|
+
e.style.marginRight = n && r() === "right" ? `${te()}px` : "", e.style.marginLeft = n && r() === "left" ? `${te()}px` : "";
|
|
48946
49039
|
}), ie(() => {
|
|
48947
49040
|
document.documentElement.style.marginRight = "", document.documentElement.style.marginLeft = "";
|
|
48948
49041
|
});
|
|
@@ -49053,7 +49146,7 @@ function x8(e) {
|
|
|
49053
49146
|
return !t();
|
|
49054
49147
|
},
|
|
49055
49148
|
get children() {
|
|
49056
|
-
var e =
|
|
49149
|
+
var e = i8(), t = e.firstChild;
|
|
49057
49150
|
return t.$$click = () => {
|
|
49058
49151
|
se || p() === "recording" || h().active || (f(!1), n(!0));
|
|
49059
49152
|
}, t.$$pointerdown = ce, F(t, M(N, {
|
|
@@ -49063,14 +49156,14 @@ function x8(e) {
|
|
|
49063
49156
|
get fallback() {
|
|
49064
49157
|
return [
|
|
49065
49158
|
(() => {
|
|
49066
|
-
var e =
|
|
49159
|
+
var e = o8();
|
|
49067
49160
|
return e.$$click = () => {
|
|
49068
49161
|
se || (f(!1), n(!0));
|
|
49069
|
-
}, F(e, M(
|
|
49162
|
+
}, F(e, M(X6, { size: 13 })), e;
|
|
49070
49163
|
})(),
|
|
49071
|
-
|
|
49164
|
+
s8(),
|
|
49072
49165
|
(() => {
|
|
49073
|
-
var e =
|
|
49166
|
+
var e = u8(), t = e.firstChild, n = t.nextSibling;
|
|
49074
49167
|
return e.$$click = (e) => {
|
|
49075
49168
|
e.stopPropagation(), !se && f((e) => !e);
|
|
49076
49169
|
}, F(n, (() => {
|
|
@@ -49081,8 +49174,8 @@ function x8(e) {
|
|
|
49081
49174
|
return Qe(() => !A())() && u().length > 0;
|
|
49082
49175
|
},
|
|
49083
49176
|
get children() {
|
|
49084
|
-
return [
|
|
49085
|
-
var e =
|
|
49177
|
+
return [c8(), (() => {
|
|
49178
|
+
var e = l8(), t = e.firstChild;
|
|
49086
49179
|
return F(e, () => u().length, t), e;
|
|
49087
49180
|
})()];
|
|
49088
49181
|
}
|
|
@@ -49103,17 +49196,17 @@ function x8(e) {
|
|
|
49103
49196
|
},
|
|
49104
49197
|
get fallback() {
|
|
49105
49198
|
return [
|
|
49106
|
-
|
|
49199
|
+
d8(),
|
|
49107
49200
|
(() => {
|
|
49108
|
-
var e =
|
|
49201
|
+
var e = f8(), t = e.firstChild;
|
|
49109
49202
|
return F(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
49110
49203
|
})(),
|
|
49111
49204
|
(() => {
|
|
49112
|
-
var e =
|
|
49205
|
+
var e = p8(), t = e.firstChild;
|
|
49113
49206
|
return F(e, () => h().total, t), D(() => rt(e, "title", Object.entries(h().byTrigger).map(([e, t]) => `${t} ${e}`).join(" · ") || "hover / open the component to record its states")), e;
|
|
49114
49207
|
})(),
|
|
49115
49208
|
(() => {
|
|
49116
|
-
var e =
|
|
49209
|
+
var e = t8();
|
|
49117
49210
|
return e.$$click = (e) => {
|
|
49118
49211
|
e.stopPropagation(), !se && o2();
|
|
49119
49212
|
}, e;
|
|
@@ -49122,13 +49215,13 @@ function x8(e) {
|
|
|
49122
49215
|
},
|
|
49123
49216
|
get children() {
|
|
49124
49217
|
return [
|
|
49125
|
-
|
|
49218
|
+
$6(),
|
|
49126
49219
|
(() => {
|
|
49127
|
-
var e =
|
|
49220
|
+
var e = e8();
|
|
49128
49221
|
return F(e, () => y(_())), e;
|
|
49129
49222
|
})(),
|
|
49130
49223
|
(() => {
|
|
49131
|
-
var e =
|
|
49224
|
+
var e = t8();
|
|
49132
49225
|
return e.$$click = () => {
|
|
49133
49226
|
se || eO();
|
|
49134
49227
|
}, e;
|
|
@@ -49142,17 +49235,17 @@ function x8(e) {
|
|
|
49142
49235
|
return d();
|
|
49143
49236
|
},
|
|
49144
49237
|
get children() {
|
|
49145
|
-
var e =
|
|
49238
|
+
var e = r8(), t = e.firstChild;
|
|
49146
49239
|
return F(e, M(N, {
|
|
49147
49240
|
get when() {
|
|
49148
49241
|
return u().length > 0;
|
|
49149
49242
|
},
|
|
49150
49243
|
get children() {
|
|
49151
|
-
return [
|
|
49244
|
+
return [n8(), M(Ue, {
|
|
49152
49245
|
get each() {
|
|
49153
49246
|
return u();
|
|
49154
49247
|
},
|
|
49155
|
-
children: (e) => M(
|
|
49248
|
+
children: (e) => M(w8, {
|
|
49156
49249
|
agent: e,
|
|
49157
49250
|
review: !0,
|
|
49158
49251
|
onOpen: ue
|
|
@@ -49164,14 +49257,14 @@ function x8(e) {
|
|
|
49164
49257
|
return l().length > 0;
|
|
49165
49258
|
},
|
|
49166
49259
|
get fallback() {
|
|
49167
|
-
return
|
|
49260
|
+
return m8();
|
|
49168
49261
|
},
|
|
49169
49262
|
get children() {
|
|
49170
49263
|
return M(Ue, {
|
|
49171
49264
|
get each() {
|
|
49172
49265
|
return l();
|
|
49173
49266
|
},
|
|
49174
|
-
children: (e) => M(
|
|
49267
|
+
children: (e) => M(w8, {
|
|
49175
49268
|
agent: e,
|
|
49176
49269
|
onOpen: ue
|
|
49177
49270
|
})
|
|
@@ -49192,8 +49285,8 @@ function x8(e) {
|
|
|
49192
49285
|
return t();
|
|
49193
49286
|
},
|
|
49194
49287
|
get children() {
|
|
49195
|
-
var e =
|
|
49196
|
-
return t.$$pointerdown = de, F(e, M(
|
|
49288
|
+
var e = a8(), t = e.firstChild;
|
|
49289
|
+
return t.$$pointerdown = de, F(e, M(Z6, {
|
|
49197
49290
|
onGrab: () => n(!0),
|
|
49198
49291
|
onClose: () => n(!1),
|
|
49199
49292
|
get onHeaderPointerDown() {
|
|
@@ -49221,19 +49314,19 @@ function x8(e) {
|
|
|
49221
49314
|
}
|
|
49222
49315
|
})];
|
|
49223
49316
|
}
|
|
49224
|
-
function
|
|
49317
|
+
function w8(e) {
|
|
49225
49318
|
return (() => {
|
|
49226
|
-
var t =
|
|
49319
|
+
var t = h8(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
49227
49320
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), F(i, () => e.agent.identifier), F(a, () => e.agent.title), F(o, (() => {
|
|
49228
49321
|
var t = Qe(() => !!e.review);
|
|
49229
49322
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
49230
|
-
})(), s), F(o, () => e.agent.delegateName, c), F(o, () =>
|
|
49323
|
+
})(), s), F(o, () => e.agent.delegateName, c), F(o, () => T8(e.agent.updatedAt), null), D((t) => ut(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
49231
49324
|
})();
|
|
49232
49325
|
}
|
|
49233
|
-
function
|
|
49326
|
+
function T8(e) {
|
|
49234
49327
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
49235
49328
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
49236
49329
|
}
|
|
49237
49330
|
nt(["pointerdown", "click"]);
|
|
49238
49331
|
//#endregion
|
|
49239
|
-
export {
|
|
49332
|
+
export { g8 as init };
|