linear-grab 0.21.2 → 0.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.global.js +10 -10
- package/dist/linear-grab.js +447 -417
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -41846,7 +41846,37 @@ function XZ(e) {
|
|
|
41846
41846
|
}
|
|
41847
41847
|
//#endregion
|
|
41848
41848
|
//#region src/lib/regionCapture.ts
|
|
41849
|
-
|
|
41849
|
+
var ZZ = 2500;
|
|
41850
|
+
function QZ(e) {
|
|
41851
|
+
let t = e.x + e.w / 2, n = e.y + e.h / 2, r = document.elementFromPoint(t, n) ?? document.body, i = (t) => {
|
|
41852
|
+
let n = t.getBoundingClientRect();
|
|
41853
|
+
return n.left <= e.x && n.top <= e.y && n.right >= e.x + e.w && n.bottom >= e.y + e.h;
|
|
41854
|
+
};
|
|
41855
|
+
for (; r !== document.body && !i(r);) r = r.parentElement ?? document.body;
|
|
41856
|
+
return r;
|
|
41857
|
+
}
|
|
41858
|
+
async function $Z(e) {
|
|
41859
|
+
let t = null, n = document.createElement("video");
|
|
41860
|
+
try {
|
|
41861
|
+
t = await navigator.mediaDevices.getDisplayMedia({
|
|
41862
|
+
video: { displaySurface: "browser" },
|
|
41863
|
+
audio: !1,
|
|
41864
|
+
preferCurrentTab: !0,
|
|
41865
|
+
selfBrowserSurface: "include"
|
|
41866
|
+
}), n.srcObject = t, n.muted = !0, n.playsInline = !0, await n.play(), await new Promise((e) => setTimeout(e, 250));
|
|
41867
|
+
let r = n.videoWidth / window.innerWidth, i = n.videoHeight / window.innerHeight;
|
|
41868
|
+
if (!n.videoWidth || r <= 0 || i <= 0) return null;
|
|
41869
|
+
let a = document.createElement("canvas");
|
|
41870
|
+
a.width = Math.max(1, Math.round(e.w * r)), a.height = Math.max(1, Math.round(e.h * i));
|
|
41871
|
+
let o = a.getContext("2d");
|
|
41872
|
+
return o ? (o.drawImage(n, e.x * r, e.y * i, e.w * r, e.h * i, 0, 0, a.width, a.height), a.toDataURL("image/png")) : null;
|
|
41873
|
+
} catch (e) {
|
|
41874
|
+
return console.warn("[linear-grab] tab-frame region capture failed:", e), null;
|
|
41875
|
+
} finally {
|
|
41876
|
+
n.srcObject = null, t?.getTracks().forEach((e) => e.stop());
|
|
41877
|
+
}
|
|
41878
|
+
}
|
|
41879
|
+
function eQ() {
|
|
41850
41880
|
return new Promise((e) => {
|
|
41851
41881
|
let t = document.createElement("div");
|
|
41852
41882
|
t.style.cssText = "position:fixed;inset:0;z-index:2147483647;cursor:crosshair;user-select:none;";
|
|
@@ -41873,9 +41903,9 @@ function ZZ() {
|
|
|
41873
41903
|
}), t.addEventListener("pointerup", (t) => {
|
|
41874
41904
|
let n = o(t);
|
|
41875
41905
|
if (s(), n.w < 8 || n.h < 8) return e(null);
|
|
41876
|
-
Promise.race([YA(n), new Promise((e) => setTimeout(() => {
|
|
41877
|
-
console.warn("[linear-grab] region capture timed out after
|
|
41878
|
-
},
|
|
41906
|
+
(QZ(n).querySelectorAll("*").length > ZZ ? $Z(n) : Promise.race([YA(n), new Promise((e) => setTimeout(() => {
|
|
41907
|
+
console.warn("[linear-grab] region capture timed out after 4s — trying a tab frame"), e(null);
|
|
41908
|
+
}, 4e3))]).then((e) => e ?? $Z(n))).then((t) => {
|
|
41879
41909
|
if (!t) return e(null);
|
|
41880
41910
|
e({
|
|
41881
41911
|
tagName: "region",
|
|
@@ -41892,10 +41922,10 @@ function ZZ() {
|
|
|
41892
41922
|
});
|
|
41893
41923
|
}
|
|
41894
41924
|
Br(), Sr(), gD();
|
|
41895
|
-
var
|
|
41896
|
-
function
|
|
41925
|
+
var tQ = /*#__PURE__*/ N("<span class=\"text-text-faint ml-auto text-[10.5px] font-normal normal-case tabular-nums\">"), nQ = /*#__PURE__*/ N("<details open class=group><summary class=\"text-text-dim hover:text-text flex cursor-pointer items-center gap-1.5 text-[11px] font-semibold tracking-wide uppercase select-none\"><span aria-hidden class=\"text-text-faint inline-block w-3 text-center transition-transform group-open:rotate-90\">›</span></summary><div class=\"flex flex-col gap-2 pt-2 pl-4\">"), rQ = /*#__PURE__*/ N("<p class=\"text-warn text-[10.5px] leading-snug\">Several captures resolve to the same source — this page region likely renders inside an iframe/canvas the picker can't see into. Use <b>Capture region</b> for visual pointers there."), iQ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[8ch] text-center\">"), aQ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex flex-col gap-1.5\"><span class=\"text-text-faint text-[10.5px] leading-snug\">All elements post into ONE issue. Shift+click / drag selects several at once.</span><div class=\"flex items-center justify-end gap-1.5\">"), oQ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex gap-1.5\">"), sQ = /*#__PURE__*/ N("<span class=text-danger>●"), cQ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><span class=\"text-text-faint text-[10.5px] leading-snug\">Captures your screen as a looping GIF (max 30s) the coding agent can watch. Pick this tab in the share dialog, then reproduce the issue."), lQ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Stop"), uQ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\"></span><span class=\"text-text min-w-[5ch] text-[12px] tabular-nums\"></span><span class=\"text-text-faint text-[10.5px]\">max 0:30"), dQ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center gap-2 rounded-lg border p-2.5\"><span class=\"text-text-dim text-[12px]\">Encoding GIF…"), fQ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-4 overflow-y-auto pt-3 pb-4 pl-3 pr-4\">"), pQ = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), mQ = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M4 4l8 8M12 4l-8 8\">"), hQ = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim break-all text-[11px] leading-snug\">"), gQ = /*#__PURE__*/ N("<img alt=\"Element location screenshot\"class=\"border-border bg-bg max-h-32 w-full rounded-md border object-contain\">"), _Q = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex items-center justify-between gap-2\"><span class=\"font-mono text-accent min-w-0 truncate text-[12px]\"></span><div class=\"flex shrink-0 items-center gap-1\">"), vQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), yQ = /*#__PURE__*/ N("<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><rect x=2 y=2.5 width=12 height=11 rx=1.5></rect><path d=\"m2 10.5 3.5-3 3 2.5 3-2 2.5 2\"></path><circle cx=6 cy=6 r=1 fill=currentColor stroke=none>"), bQ = /*#__PURE__*/ N("<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 2.5v8M4.5 7.5 8 11l3.5-3.5M2.5 13.5h11\">"), xQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M2.5 4h11M6.5 4V2.5h3V4M4 4l.7 9a1.5 1.5 0 0 0 1.5 1.4h3.6A1.5 1.5 0 0 0 11.3 13l.7-9M6.5 7v4.5M9.5 7v4.5\">"), SQ = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-2 rounded-lg border p-2.5\"><img alt=\"Screen recording preview\"class=\"border-border bg-bg max-h-44 w-full rounded-md border object-contain\"><span class=\"text-text-faint text-[10.5px] tabular-nums\"> KB · <!>s · <!>×</span><label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Attach to issue on create</span></label><div class=\"flex items-center gap-1\">"), CQ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M6.5 9.5 9.5 6.5M7.5 4.5 9 3a2.5 2.5 0 0 1 3.5 3.5L11 8M8.5 11.5 7 13a2.5 2.5 0 0 1-3.5-3.5L5 8\">");
|
|
41926
|
+
function wQ(e) {
|
|
41897
41927
|
return (() => {
|
|
41898
|
-
var t =
|
|
41928
|
+
var t = nQ(), n = t.firstChild;
|
|
41899
41929
|
n.firstChild;
|
|
41900
41930
|
var r = n.nextSibling;
|
|
41901
41931
|
return P(n, () => e.title, null), P(n, j(M, {
|
|
@@ -41903,13 +41933,13 @@ function xQ(e) {
|
|
|
41903
41933
|
return e.badge;
|
|
41904
41934
|
},
|
|
41905
41935
|
get children() {
|
|
41906
|
-
var t =
|
|
41936
|
+
var t = tQ();
|
|
41907
41937
|
return P(t, () => e.badge), t;
|
|
41908
41938
|
}
|
|
41909
41939
|
}), null), P(r, () => e.children), t;
|
|
41910
41940
|
})();
|
|
41911
41941
|
}
|
|
41912
|
-
function
|
|
41942
|
+
function TQ() {
|
|
41913
41943
|
let e = sr(), t = _r(() => ({
|
|
41914
41944
|
queryKey: ["grab"],
|
|
41915
41945
|
queryFn: Dr
|
|
@@ -41942,8 +41972,8 @@ function SQ() {
|
|
|
41942
41972
|
}, [y, b] = T(!1), x = async () => {
|
|
41943
41973
|
o(null), b(!0), window.dispatchEvent(new CustomEvent(BZ));
|
|
41944
41974
|
try {
|
|
41945
|
-
let e = await
|
|
41946
|
-
e ? await kr([e]) : o("Region capture failed
|
|
41975
|
+
let e = await eQ();
|
|
41976
|
+
e ? await kr([e]) : o("Region capture failed or was cancelled. On heavy pages a \"share this tab\" prompt appears — pick THIS tab to capture. Details in the console ([linear-grab]).");
|
|
41947
41977
|
} finally {
|
|
41948
41978
|
b(!1), window.dispatchEvent(new CustomEvent("linear-grab:picker-finished"));
|
|
41949
41979
|
}
|
|
@@ -42003,8 +42033,8 @@ function SQ() {
|
|
|
42003
42033
|
}
|
|
42004
42034
|
};
|
|
42005
42035
|
return (() => {
|
|
42006
|
-
var e =
|
|
42007
|
-
return P(e, j(
|
|
42036
|
+
var e = fQ();
|
|
42037
|
+
return P(e, j(wQ, {
|
|
42008
42038
|
title: "Captured elements",
|
|
42009
42039
|
get badge() {
|
|
42010
42040
|
return $e(() => !!r().length)() ? `${r().length}/8` : void 0;
|
|
@@ -42021,13 +42051,13 @@ function SQ() {
|
|
|
42021
42051
|
});
|
|
42022
42052
|
},
|
|
42023
42053
|
get children() {
|
|
42024
|
-
var e =
|
|
42054
|
+
var e = aQ(), t = e.firstChild, n = t.firstChild.nextSibling;
|
|
42025
42055
|
return P(e, j(We, {
|
|
42026
42056
|
get each() {
|
|
42027
42057
|
return r();
|
|
42028
42058
|
},
|
|
42029
42059
|
children: (e) => (() => {
|
|
42030
|
-
var t =
|
|
42060
|
+
var t = _Q(), n = t.firstChild.firstChild, r = n.nextSibling;
|
|
42031
42061
|
return P(n, (() => {
|
|
42032
42062
|
var t = $e(() => !!e.componentName);
|
|
42033
42063
|
return () => t() ? `<${e.componentName}>` : $e(() => !!e.tagName)() ? `<${e.tagName}>` : "Element";
|
|
@@ -42043,10 +42073,10 @@ function SQ() {
|
|
|
42043
42073
|
return h() === e.grabbedAt;
|
|
42044
42074
|
},
|
|
42045
42075
|
get fallback() {
|
|
42046
|
-
return
|
|
42076
|
+
return vQ();
|
|
42047
42077
|
},
|
|
42048
42078
|
get children() {
|
|
42049
|
-
return
|
|
42079
|
+
return pQ();
|
|
42050
42080
|
}
|
|
42051
42081
|
});
|
|
42052
42082
|
}
|
|
@@ -42069,10 +42099,10 @@ function SQ() {
|
|
|
42069
42099
|
return f() === e.grabbedAt;
|
|
42070
42100
|
},
|
|
42071
42101
|
get fallback() {
|
|
42072
|
-
return
|
|
42102
|
+
return yQ();
|
|
42073
42103
|
},
|
|
42074
42104
|
get children() {
|
|
42075
|
-
return
|
|
42105
|
+
return pQ();
|
|
42076
42106
|
}
|
|
42077
42107
|
});
|
|
42078
42108
|
}
|
|
@@ -42085,14 +42115,14 @@ function SQ() {
|
|
|
42085
42115
|
"aria-label": "Remove element",
|
|
42086
42116
|
onClick: () => void v(e.grabbedAt),
|
|
42087
42117
|
get children() {
|
|
42088
|
-
return
|
|
42118
|
+
return mQ();
|
|
42089
42119
|
}
|
|
42090
42120
|
}), null), P(t, j(M, {
|
|
42091
42121
|
get when() {
|
|
42092
42122
|
return e.source?.filePath;
|
|
42093
42123
|
},
|
|
42094
42124
|
get children() {
|
|
42095
|
-
var t =
|
|
42125
|
+
var t = hQ();
|
|
42096
42126
|
return P(t, () => e.source.filePath, null), P(t, (() => {
|
|
42097
42127
|
var t = $e(() => e.source?.lineNumber != null);
|
|
42098
42128
|
return () => t() ? `:${e.source.lineNumber}` : "";
|
|
@@ -42103,7 +42133,7 @@ function SQ() {
|
|
|
42103
42133
|
return e.screenshotDataUrl;
|
|
42104
42134
|
},
|
|
42105
42135
|
get children() {
|
|
42106
|
-
var t =
|
|
42136
|
+
var t = gQ();
|
|
42107
42137
|
return E(() => it(t, "src", e.screenshotDataUrl)), t;
|
|
42108
42138
|
}
|
|
42109
42139
|
}), null), t;
|
|
@@ -42113,7 +42143,7 @@ function SQ() {
|
|
|
42113
42143
|
return new Set(r().filter((e) => e.source?.filePath).map((e) => `${e.source.filePath}:${e.source.lineNumber ?? ""}`)).size < r().filter((e) => e.source?.filePath).length;
|
|
42114
42144
|
},
|
|
42115
42145
|
get children() {
|
|
42116
|
-
return
|
|
42146
|
+
return rQ();
|
|
42117
42147
|
}
|
|
42118
42148
|
}), t), P(n, j(kj, {
|
|
42119
42149
|
class: "h-6 shrink-0 px-2 text-[11px]",
|
|
@@ -42121,7 +42151,7 @@ function SQ() {
|
|
|
42121
42151
|
title: "Copy all captures as plain text — paste into a Claude Code session",
|
|
42122
42152
|
onClick: () => void d(),
|
|
42123
42153
|
get children() {
|
|
42124
|
-
var e =
|
|
42154
|
+
var e = iQ();
|
|
42125
42155
|
return P(e, () => l() ? "Copied ✓" : "Copy all"), e;
|
|
42126
42156
|
}
|
|
42127
42157
|
}), null), P(n, j(kj, {
|
|
@@ -42132,7 +42162,7 @@ function SQ() {
|
|
|
42132
42162
|
}), null), e;
|
|
42133
42163
|
}
|
|
42134
42164
|
}), (() => {
|
|
42135
|
-
var e =
|
|
42165
|
+
var e = oQ(), t = e.firstChild;
|
|
42136
42166
|
return P(t, j(kj, {
|
|
42137
42167
|
variant: "primary",
|
|
42138
42168
|
class: "min-w-0 flex-1",
|
|
@@ -42164,7 +42194,7 @@ function SQ() {
|
|
|
42164
42194
|
}), null), e;
|
|
42165
42195
|
})()];
|
|
42166
42196
|
}
|
|
42167
|
-
}), null), P(e, j(
|
|
42197
|
+
}), null), P(e, j(wQ, {
|
|
42168
42198
|
title: "Recording",
|
|
42169
42199
|
get badge() {
|
|
42170
42200
|
return $e(() => !!S().result)() ? `${(S().result.durationMs / 1e3).toFixed(1)}s` : void 0;
|
|
@@ -42176,12 +42206,12 @@ function SQ() {
|
|
|
42176
42206
|
return S().phase === "idle" || S().phase === "error";
|
|
42177
42207
|
},
|
|
42178
42208
|
get children() {
|
|
42179
|
-
var e =
|
|
42209
|
+
var e = cQ(), t = e.firstChild;
|
|
42180
42210
|
return P(e, j(kj, {
|
|
42181
42211
|
variant: "ghost",
|
|
42182
42212
|
onClick: () => void $D(),
|
|
42183
42213
|
get children() {
|
|
42184
|
-
return [
|
|
42214
|
+
return [sQ(), " Record interaction"];
|
|
42185
42215
|
}
|
|
42186
42216
|
}), t), P(e, j(M, {
|
|
42187
42217
|
get when() {
|
|
@@ -42200,13 +42230,13 @@ function SQ() {
|
|
|
42200
42230
|
return S().phase === "recording";
|
|
42201
42231
|
},
|
|
42202
42232
|
get children() {
|
|
42203
|
-
var e =
|
|
42233
|
+
var e = uQ(), t = e.firstChild.nextSibling;
|
|
42204
42234
|
return t.nextSibling, P(t, () => O(w())), P(e, j(kj, {
|
|
42205
42235
|
variant: "primary",
|
|
42206
42236
|
class: "ml-auto",
|
|
42207
42237
|
onClick: () => void eO(),
|
|
42208
42238
|
get children() {
|
|
42209
|
-
return
|
|
42239
|
+
return lQ();
|
|
42210
42240
|
}
|
|
42211
42241
|
}), null), e;
|
|
42212
42242
|
}
|
|
@@ -42216,7 +42246,7 @@ function SQ() {
|
|
|
42216
42246
|
return S().phase === "processing";
|
|
42217
42247
|
},
|
|
42218
42248
|
get children() {
|
|
42219
|
-
var e =
|
|
42249
|
+
var e = dQ(), t = e.firstChild;
|
|
42220
42250
|
return P(e, j(Aj, {}), t), e;
|
|
42221
42251
|
}
|
|
42222
42252
|
}),
|
|
@@ -42225,7 +42255,7 @@ function SQ() {
|
|
|
42225
42255
|
return $e(() => S().phase === "ready")() && S().result;
|
|
42226
42256
|
},
|
|
42227
42257
|
children: (e) => (() => {
|
|
42228
|
-
var t =
|
|
42258
|
+
var t = SQ(), n = t.firstChild, r = n.nextSibling, a = r.firstChild, o = a.nextSibling, s = o.nextSibling.nextSibling;
|
|
42229
42259
|
s.nextSibling;
|
|
42230
42260
|
var c = r.nextSibling, l = c.firstChild, u = c.nextSibling;
|
|
42231
42261
|
return P(r, () => (e().blob.size / 1024).toFixed(0), a), P(r, () => (e().durationMs / 1e3).toFixed(1), o), P(r, () => e().width, s), P(r, () => e().height, null), l.addEventListener("change", (e) => nO(e.currentTarget.checked)), P(u, j(kj, {
|
|
@@ -42248,10 +42278,10 @@ function SQ() {
|
|
|
42248
42278
|
return te() === "copied";
|
|
42249
42279
|
},
|
|
42250
42280
|
get fallback() {
|
|
42251
|
-
return
|
|
42281
|
+
return CQ();
|
|
42252
42282
|
},
|
|
42253
42283
|
get children() {
|
|
42254
|
-
return
|
|
42284
|
+
return pQ();
|
|
42255
42285
|
}
|
|
42256
42286
|
});
|
|
42257
42287
|
}
|
|
@@ -42270,10 +42300,10 @@ function SQ() {
|
|
|
42270
42300
|
return se() === "copied";
|
|
42271
42301
|
},
|
|
42272
42302
|
get fallback() {
|
|
42273
|
-
return
|
|
42303
|
+
return vQ();
|
|
42274
42304
|
},
|
|
42275
42305
|
get children() {
|
|
42276
|
-
return
|
|
42306
|
+
return pQ();
|
|
42277
42307
|
}
|
|
42278
42308
|
});
|
|
42279
42309
|
}
|
|
@@ -42284,7 +42314,7 @@ function SQ() {
|
|
|
42284
42314
|
"aria-label": "Download GIF",
|
|
42285
42315
|
onClick: oe,
|
|
42286
42316
|
get children() {
|
|
42287
|
-
return
|
|
42317
|
+
return bQ();
|
|
42288
42318
|
}
|
|
42289
42319
|
}), null), P(u, j(kj, {
|
|
42290
42320
|
variant: "danger",
|
|
@@ -42293,7 +42323,7 @@ function SQ() {
|
|
|
42293
42323
|
"aria-label": "Discard recording",
|
|
42294
42324
|
onClick: tO,
|
|
42295
42325
|
get children() {
|
|
42296
|
-
return
|
|
42326
|
+
return xQ();
|
|
42297
42327
|
}
|
|
42298
42328
|
}), null), P(t, j(M, {
|
|
42299
42329
|
get when() {
|
|
@@ -42314,7 +42344,7 @@ function SQ() {
|
|
|
42314
42344
|
}
|
|
42315
42345
|
//#endregion
|
|
42316
42346
|
//#region node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js
|
|
42317
|
-
function
|
|
42347
|
+
function EQ(e, t, n) {
|
|
42318
42348
|
let r = Array(e);
|
|
42319
42349
|
return new Proxy(r, { get(r, i, a) {
|
|
42320
42350
|
if (typeof i == "string") {
|
|
@@ -42344,7 +42374,7 @@ function CQ(e, t, n) {
|
|
|
42344
42374
|
}
|
|
42345
42375
|
//#endregion
|
|
42346
42376
|
//#region node_modules/@tanstack/virtual-core/dist/esm/utils.js
|
|
42347
|
-
function
|
|
42377
|
+
function DQ(e, t, n) {
|
|
42348
42378
|
let r = n.initialDeps ?? [], i, a = !0;
|
|
42349
42379
|
function o() {
|
|
42350
42380
|
let o = e();
|
|
@@ -42354,32 +42384,32 @@ function wQ(e, t, n) {
|
|
|
42354
42384
|
r = e;
|
|
42355
42385
|
}, o;
|
|
42356
42386
|
}
|
|
42357
|
-
function
|
|
42387
|
+
function OQ(e, t) {
|
|
42358
42388
|
if (e === void 0) throw Error(`Unexpected undefined${t ? `: ${t}` : ""}`);
|
|
42359
42389
|
return e;
|
|
42360
42390
|
}
|
|
42361
|
-
var
|
|
42391
|
+
var kQ = (e, t) => Math.abs(e - t) < 1.01, AQ = (e, t, n) => {
|
|
42362
42392
|
let r;
|
|
42363
42393
|
return function(...i) {
|
|
42364
42394
|
e.clearTimeout(r), r = e.setTimeout(() => t.apply(this, i), n);
|
|
42365
42395
|
};
|
|
42366
|
-
},
|
|
42367
|
-
if (
|
|
42368
|
-
if (typeof navigator > "u") return
|
|
42369
|
-
if (/iP(hone|od|ad)/.test(navigator.userAgent)) return
|
|
42396
|
+
}, jQ, MQ = () => {
|
|
42397
|
+
if (jQ !== void 0) return jQ;
|
|
42398
|
+
if (typeof navigator > "u") return jQ = !1;
|
|
42399
|
+
if (/iP(hone|od|ad)/.test(navigator.userAgent)) return jQ = !0;
|
|
42370
42400
|
let e = navigator.maxTouchPoints;
|
|
42371
|
-
return
|
|
42372
|
-
},
|
|
42401
|
+
return jQ = navigator.platform === "MacIntel" && e !== void 0 && e > 0;
|
|
42402
|
+
}, NQ = (e) => {
|
|
42373
42403
|
let { offsetWidth: t, offsetHeight: n } = e;
|
|
42374
42404
|
return {
|
|
42375
42405
|
width: t,
|
|
42376
42406
|
height: n
|
|
42377
42407
|
};
|
|
42378
|
-
},
|
|
42408
|
+
}, PQ = (e) => e, FQ = (e) => {
|
|
42379
42409
|
let t = Math.max(e.startIndex - e.overscan, 0), n = Math.min(e.endIndex + e.overscan, e.count - 1) - t + 1, r = Array(n);
|
|
42380
42410
|
for (let e = 0; e < n; e++) r[e] = t + e;
|
|
42381
42411
|
return r;
|
|
42382
|
-
},
|
|
42412
|
+
}, IQ = (e, t) => {
|
|
42383
42413
|
let n = e.scrollElement;
|
|
42384
42414
|
if (!n) return;
|
|
42385
42415
|
let r = e.targetWindow;
|
|
@@ -42391,7 +42421,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42391
42421
|
height: Math.round(r)
|
|
42392
42422
|
});
|
|
42393
42423
|
};
|
|
42394
|
-
if (i(
|
|
42424
|
+
if (i(NQ(n)), !r.ResizeObserver) return () => {};
|
|
42395
42425
|
let a = new r.ResizeObserver((t) => {
|
|
42396
42426
|
let r = () => {
|
|
42397
42427
|
let e = t[0];
|
|
@@ -42405,28 +42435,28 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42405
42435
|
return;
|
|
42406
42436
|
}
|
|
42407
42437
|
}
|
|
42408
|
-
i(
|
|
42438
|
+
i(NQ(n));
|
|
42409
42439
|
};
|
|
42410
42440
|
e.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(r) : r();
|
|
42411
42441
|
});
|
|
42412
42442
|
return a.observe(n, { box: "border-box" }), () => {
|
|
42413
42443
|
a.unobserve(n);
|
|
42414
42444
|
};
|
|
42415
|
-
},
|
|
42445
|
+
}, LQ = { passive: !0 }, RQ = typeof window > "u" || "onscrollend" in window, zQ = (e, t, n) => {
|
|
42416
42446
|
let r = e.scrollElement;
|
|
42417
42447
|
if (!r) return;
|
|
42418
42448
|
let i = e.targetWindow;
|
|
42419
42449
|
if (!i) return;
|
|
42420
|
-
let a = e.options.useScrollendEvent &&
|
|
42450
|
+
let a = e.options.useScrollendEvent && RQ, o = 0, s = a ? null : AQ(i, () => t(o, !1), e.options.isScrollingResetDelay), c = (e) => () => {
|
|
42421
42451
|
o = n(r), s?.(), t(o, e);
|
|
42422
42452
|
}, l = c(!0), u = c(!1);
|
|
42423
|
-
return r.addEventListener("scroll", l,
|
|
42453
|
+
return r.addEventListener("scroll", l, LQ), a && r.addEventListener("scrollend", u, LQ), () => {
|
|
42424
42454
|
r.removeEventListener("scroll", l), a && r.removeEventListener("scrollend", u);
|
|
42425
42455
|
};
|
|
42426
|
-
},
|
|
42456
|
+
}, BQ = (e, t) => zQ(e, t, (t) => {
|
|
42427
42457
|
let { horizontal: n, isRtl: r } = e.options;
|
|
42428
42458
|
return n ? t.scrollLeft * (r && -1 || 1) : t.scrollTop;
|
|
42429
|
-
}),
|
|
42459
|
+
}), VQ = (e, t, n) => {
|
|
42430
42460
|
if (n.options.useCachedMeasurements) {
|
|
42431
42461
|
let t = n.indexFromElement(e), r = n.options.getItemKey(t);
|
|
42432
42462
|
return n.itemSizeCache.get(r) ?? n.options.estimateSize(t);
|
|
@@ -42440,13 +42470,13 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42440
42470
|
if (i !== void 0) return i;
|
|
42441
42471
|
}
|
|
42442
42472
|
return e[n.options.horizontal ? "offsetWidth" : "offsetHeight"];
|
|
42443
|
-
},
|
|
42473
|
+
}, HQ = (e, { adjustments: t = 0, behavior: n }, r) => {
|
|
42444
42474
|
var i, a;
|
|
42445
42475
|
(a = (i = r.scrollElement)?.scrollTo) == null || a.call(i, {
|
|
42446
42476
|
[r.options.horizontal ? "left" : "top"]: e + t,
|
|
42447
42477
|
behavior: n
|
|
42448
42478
|
});
|
|
42449
|
-
},
|
|
42479
|
+
}, UQ = class {
|
|
42450
42480
|
constructor(e) {
|
|
42451
42481
|
this.unsubs = [], this.scrollElement = null, this.targetWindow = null, this.isScrolling = !1, this.scrollState = null, this.measurementsCache = [], this._flatMeasurements = null, this.itemSizeCache = /* @__PURE__ */ new Map(), this.itemSizeCacheVersion = 0, this.laneAssignments = /* @__PURE__ */ new Map(), this.pendingMin = null, this.prevLanes = void 0, this.lanesChangedFlag = !1, this.lanesSettling = !1, this.pendingScrollAnchor = null, this.scrollRect = null, this.scrollOffset = null, this.scrollDirection = null, this.scrollAdjustments = 0, this._iosDeferredAdjustment = 0, this._iosTouching = !1, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._intendedScrollOffset = null, this.elementsCache = /* @__PURE__ */ new Map(), this.now = () => {
|
|
42452
42482
|
var e;
|
|
@@ -42487,10 +42517,10 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42487
42517
|
scrollPaddingStart: 0,
|
|
42488
42518
|
scrollPaddingEnd: 0,
|
|
42489
42519
|
horizontal: !1,
|
|
42490
|
-
getItemKey:
|
|
42491
|
-
rangeExtractor:
|
|
42520
|
+
getItemKey: PQ,
|
|
42521
|
+
rangeExtractor: FQ,
|
|
42492
42522
|
onChange: () => {},
|
|
42493
|
-
measureElement:
|
|
42523
|
+
measureElement: VQ,
|
|
42494
42524
|
initialRect: {
|
|
42495
42525
|
width: 0,
|
|
42496
42526
|
height: 0
|
|
@@ -42548,7 +42578,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42548
42578
|
}, this.notify = (e) => {
|
|
42549
42579
|
var t, n;
|
|
42550
42580
|
(n = (t = this.options).onChange) == null || n.call(t, this, e);
|
|
42551
|
-
}, this.maybeNotify =
|
|
42581
|
+
}, this.maybeNotify = DQ(() => (this.calculateRange(), [
|
|
42552
42582
|
this.isScrolling,
|
|
42553
42583
|
this.range ? this.range.startIndex : null,
|
|
42554
42584
|
this.range ? this.range.endIndex : null
|
|
@@ -42586,11 +42616,11 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42586
42616
|
let e = this.scrollElement, t = () => {
|
|
42587
42617
|
this._iosTouching = !0, this._iosJustTouchEnded = !1, this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
|
|
42588
42618
|
}, n = () => {
|
|
42589
|
-
this._iosTouching = !1, !(!
|
|
42619
|
+
this._iosTouching = !1, !(!MQ() || this.targetWindow == null) && (this._iosJustTouchEnded = !0, this._iosTouchEndTimerId = this.targetWindow.setTimeout(() => {
|
|
42590
42620
|
this._iosJustTouchEnded = !1, this._iosTouchEndTimerId = null, this._flushIosDeferredIfReady();
|
|
42591
42621
|
}, 150));
|
|
42592
42622
|
};
|
|
42593
|
-
e.addEventListener("touchstart", t,
|
|
42623
|
+
e.addEventListener("touchstart", t, LQ), e.addEventListener("touchend", n, LQ), this.unsubs.push(() => {
|
|
42594
42624
|
e.removeEventListener("touchstart", t), e.removeEventListener("touchend", n), this._iosTouchEndTimerId !== null && this.targetWindow != null && (this.targetWindow.clearTimeout(this._iosTouchEndTimerId), this._iosTouchEndTimerId = null);
|
|
42595
42625
|
});
|
|
42596
42626
|
}
|
|
@@ -42602,7 +42632,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42602
42632
|
let t = this.pendingScrollAnchor;
|
|
42603
42633
|
if (this.pendingScrollAnchor = null, t && this.scrollElement && this.options.enabled) {
|
|
42604
42634
|
let [e, n, r, i] = t;
|
|
42605
|
-
e !== null && !r && (
|
|
42635
|
+
e !== null && !r && (MQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? i !== 0 && (this._iosDeferredAdjustment += i) : this._scrollToOffset(this.getScrollOffset(), {
|
|
42606
42636
|
adjustments: void 0,
|
|
42607
42637
|
behavior: void 0
|
|
42608
42638
|
})), r && this.scrollToEnd({ behavior: r });
|
|
@@ -42616,7 +42646,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42616
42646
|
adjustments: this.scrollAdjustments += n,
|
|
42617
42647
|
behavior: void 0
|
|
42618
42648
|
});
|
|
42619
|
-
}, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions =
|
|
42649
|
+
}, this.rafId = null, this.getSize = () => this.options.enabled ? (this.scrollRect = this.scrollRect ?? this.options.initialRect, this.scrollRect[this.options.horizontal ? "width" : "height"]) : (this.scrollRect = null, 0), this.getScrollOffset = () => this.options.enabled ? (this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset == "function" ? this.options.initialOffset() : this.options.initialOffset), this.scrollOffset) : (this.scrollOffset = null, 0), this.getMeasurementOptions = DQ(() => [
|
|
42620
42650
|
this.options.count,
|
|
42621
42651
|
this.options.paddingStart,
|
|
42622
42652
|
this.options.scrollMargin,
|
|
@@ -42634,7 +42664,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42634
42664
|
lanes: a,
|
|
42635
42665
|
laneAssignmentMode: o,
|
|
42636
42666
|
gap: s
|
|
42637
|
-
}), { key: !1 }), this.getMeasurements =
|
|
42667
|
+
}), { key: !1 }), this.getMeasurements = DQ(() => [this.getMeasurementOptions(), this.itemSizeCacheVersion], ({ count: e, paddingStart: t, scrollMargin: n, getItemKey: r, enabled: i, lanes: a, laneAssignmentMode: o, gap: s }, c) => {
|
|
42638
42668
|
let l = this.itemSizeCache;
|
|
42639
42669
|
if (!i) return this.measurementsCache = [], this.itemSizeCache.clear(), this.laneAssignments.clear(), [];
|
|
42640
42670
|
if (this.laneAssignments.size > e) for (let t of this.laneAssignments.keys()) t >= e && this.laneAssignments.delete(t);
|
|
@@ -42658,7 +42688,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42658
42688
|
let e = r(t), n = l.get(e), i = typeof n == "number" ? n : this.options.estimateSize(t);
|
|
42659
42689
|
a[t * 2] = o, a[t * 2 + 1] = i, o += i + s;
|
|
42660
42690
|
}
|
|
42661
|
-
let c =
|
|
42691
|
+
let c = EQ(e, a, r);
|
|
42662
42692
|
return this.measurementsCache = c, c;
|
|
42663
42693
|
}
|
|
42664
42694
|
let d = this.measurementsCache.slice(0, u), f = Array(a).fill(void 0), p = new Float64Array(a), m = 0;
|
|
@@ -42694,15 +42724,15 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42694
42724
|
}, {
|
|
42695
42725
|
key: !1,
|
|
42696
42726
|
debug: () => this.options.debug
|
|
42697
|
-
}), this.calculateRange =
|
|
42727
|
+
}), this.calculateRange = DQ(() => [
|
|
42698
42728
|
this.getMeasurements(),
|
|
42699
42729
|
this.getSize(),
|
|
42700
42730
|
this.getScrollOffset(),
|
|
42701
42731
|
this.options.lanes
|
|
42702
|
-
], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range =
|
|
42732
|
+
], (e, t, n, r) => e.length === 0 || t === 0 ? (this.range = null, null) : (this.range = KQ(e, t, n, r, r === 1 && this._flatMeasurements != null ? this._flatMeasurements : null), this.range), {
|
|
42703
42733
|
key: !1,
|
|
42704
42734
|
debug: () => this.options.debug
|
|
42705
|
-
}), this.getVirtualIndexes =
|
|
42735
|
+
}), this.getVirtualIndexes = DQ(() => {
|
|
42706
42736
|
let e = null, t = null, n = this.calculateRange();
|
|
42707
42737
|
return n && (e = n.startIndex, t = n.endIndex), this.maybeNotify.updateDeps([
|
|
42708
42738
|
this.isScrolling,
|
|
@@ -42764,7 +42794,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42764
42794
|
}, o, this));
|
|
42765
42795
|
(this.pendingMin === null || e < this.pendingMin) && (this.pendingMin = e), this.itemSizeCache.set(i, t), this.itemSizeCacheVersion++, a ? this.applyScrollAdjustment(this.getTotalSize() - s) : c && this.applyScrollAdjustment(o), this.notify(!1);
|
|
42766
42796
|
}
|
|
42767
|
-
}, this.getVirtualItems =
|
|
42797
|
+
}, this.getVirtualItems = DQ(() => [this.getVirtualIndexes(), this.getMeasurements()], (e, t) => {
|
|
42768
42798
|
let n = [];
|
|
42769
42799
|
for (let r = 0, i = e.length; r < i; r++) {
|
|
42770
42800
|
let i = t[e[r]];
|
|
@@ -42778,7 +42808,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42778
42808
|
let t = this.getMeasurements();
|
|
42779
42809
|
if (t.length === 0) return;
|
|
42780
42810
|
let n = this._flatMeasurements, r = this.options.lanes === 1 && n != null;
|
|
42781
|
-
return
|
|
42811
|
+
return OQ(t[WQ(0, t.length - 1, r ? (e) => n[e * 2] : (e) => OQ(t[e]).start, e)]);
|
|
42782
42812
|
}, this.getMaxScrollOffset = () => {
|
|
42783
42813
|
if (!this.scrollElement) return 0;
|
|
42784
42814
|
if ("scrollHeight" in this.scrollElement) return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;
|
|
@@ -42891,7 +42921,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42891
42921
|
}, this.setOptions(e);
|
|
42892
42922
|
}
|
|
42893
42923
|
applyScrollAdjustment(e, t) {
|
|
42894
|
-
e !== 0 && (
|
|
42924
|
+
e !== 0 && (MQ() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded) ? this._iosDeferredAdjustment += e : (this._scrollToOffset(this.getScrollOffset(), {
|
|
42895
42925
|
adjustments: this.scrollAdjustments += e,
|
|
42896
42926
|
behavior: t
|
|
42897
42927
|
}), this.scrollOffset !== null && (this.scrollOffset += this.scrollAdjustments, this.scrollAdjustments = 0)));
|
|
@@ -42912,7 +42942,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42912
42942
|
return;
|
|
42913
42943
|
}
|
|
42914
42944
|
let e = this.scrollState.index == null ? void 0 : this.getOffsetForIndex(this.scrollState.index, this.scrollState.align), t = e ? e[0] : this.scrollState.lastTargetOffset, n = t !== this.scrollState.lastTargetOffset;
|
|
42915
|
-
if (!n &&
|
|
42945
|
+
if (!n && kQ(t, this.getScrollOffset())) {
|
|
42916
42946
|
if (this.scrollState.stableFrames++, this.scrollState.stableFrames >= 1) {
|
|
42917
42947
|
this.getScrollOffset() !== t && this._scrollToOffset(t, {
|
|
42918
42948
|
adjustments: void 0,
|
|
@@ -42929,7 +42959,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42929
42959
|
}
|
|
42930
42960
|
this.scheduleScrollReconcile();
|
|
42931
42961
|
}
|
|
42932
|
-
},
|
|
42962
|
+
}, WQ = (e, t, n, r) => {
|
|
42933
42963
|
for (; e <= t;) {
|
|
42934
42964
|
let i = (e + t) / 2 | 0, a = n(i);
|
|
42935
42965
|
if (a < r) e = i + 1;
|
|
@@ -42938,7 +42968,7 @@ var EQ = (e, t) => Math.abs(e - t) < 1.01, DQ = (e, t, n) => {
|
|
|
42938
42968
|
}
|
|
42939
42969
|
return e > 0 ? e - 1 : 0;
|
|
42940
42970
|
};
|
|
42941
|
-
function
|
|
42971
|
+
function GQ(e, t, n) {
|
|
42942
42972
|
let r = 0;
|
|
42943
42973
|
for (; r <= t;) {
|
|
42944
42974
|
let i = (r + t) / 2 | 0, a = e[i * 2];
|
|
@@ -42948,21 +42978,21 @@ function HQ(e, t, n) {
|
|
|
42948
42978
|
}
|
|
42949
42979
|
return r > 0 ? r - 1 : 0;
|
|
42950
42980
|
}
|
|
42951
|
-
function
|
|
42981
|
+
function KQ(e, t, n, r, i) {
|
|
42952
42982
|
let a = e.length - 1;
|
|
42953
42983
|
if (e.length <= r) return {
|
|
42954
42984
|
startIndex: 0,
|
|
42955
42985
|
endIndex: a
|
|
42956
42986
|
};
|
|
42957
42987
|
if (r === 1 && i !== null) {
|
|
42958
|
-
let e =
|
|
42988
|
+
let e = GQ(i, a, n), r = e, o = n + t;
|
|
42959
42989
|
for (; r < a && i[r * 2] + i[r * 2 + 1] < o;) r++;
|
|
42960
42990
|
return {
|
|
42961
42991
|
startIndex: e,
|
|
42962
42992
|
endIndex: r
|
|
42963
42993
|
};
|
|
42964
42994
|
}
|
|
42965
|
-
let o =
|
|
42995
|
+
let o = WQ(0, a, (t) => e[t].start, n), s = o;
|
|
42966
42996
|
if (r === 1) for (; s < a && e[s].end < n + t;) s++;
|
|
42967
42997
|
else if (r > 1) {
|
|
42968
42998
|
let i = Array(r).fill(0);
|
|
@@ -42984,8 +43014,8 @@ function UQ(e, t, n, r, i) {
|
|
|
42984
43014
|
}
|
|
42985
43015
|
//#endregion
|
|
42986
43016
|
//#region node_modules/@tanstack/solid-virtual/dist/esm/index.js
|
|
42987
|
-
function
|
|
42988
|
-
let t = Ve(e), n = new
|
|
43017
|
+
function qQ(e) {
|
|
43018
|
+
let t = Ve(e), n = new UQ(t), [r, i] = tr(n.getVirtualItems()), [a, o] = T(n.getTotalSize()), s = new Proxy(n, { get(e, t) {
|
|
42989
43019
|
switch (t) {
|
|
42990
43020
|
case "getVirtualItems": return () => r;
|
|
42991
43021
|
case "getTotalSize": return () => a();
|
|
@@ -43002,29 +43032,29 @@ function WQ(e) {
|
|
|
43002
43032
|
} })), s._willUpdate(), i(ar(n.getVirtualItems(), { key: "index" })), o(n.getTotalSize());
|
|
43003
43033
|
}), s;
|
|
43004
43034
|
}
|
|
43005
|
-
function
|
|
43006
|
-
return
|
|
43007
|
-
observeElementRect:
|
|
43008
|
-
observeElementOffset:
|
|
43009
|
-
scrollToFn:
|
|
43035
|
+
function JQ(e) {
|
|
43036
|
+
return qQ(Ve({
|
|
43037
|
+
observeElementRect: IQ,
|
|
43038
|
+
observeElementOffset: BQ,
|
|
43039
|
+
scrollToFn: HQ
|
|
43010
43040
|
}, e));
|
|
43011
43041
|
}
|
|
43012
43042
|
//#endregion
|
|
43013
43043
|
//#region src/lib/agentWatch.ts
|
|
43014
43044
|
Br();
|
|
43015
|
-
var
|
|
43045
|
+
var YQ = 3e4, XQ = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i, ZQ = {
|
|
43016
43046
|
running: [],
|
|
43017
43047
|
review: []
|
|
43018
|
-
},
|
|
43019
|
-
function
|
|
43020
|
-
return
|
|
43021
|
-
|
|
43048
|
+
}, QQ = null, $Q = /* @__PURE__ */ new Set();
|
|
43049
|
+
function e$(e) {
|
|
43050
|
+
return $Q.add(e), QQ || (QQ = setInterval(() => void r$(), YQ), r$()), () => {
|
|
43051
|
+
$Q.delete(e), !$Q.size && QQ && (clearInterval(QQ), QQ = null);
|
|
43022
43052
|
};
|
|
43023
43053
|
}
|
|
43024
|
-
function
|
|
43025
|
-
|
|
43054
|
+
function t$() {
|
|
43055
|
+
r$();
|
|
43026
43056
|
}
|
|
43027
|
-
function $
|
|
43057
|
+
function n$(e) {
|
|
43028
43058
|
return {
|
|
43029
43059
|
id: e.id,
|
|
43030
43060
|
identifier: e.identifier,
|
|
@@ -43033,25 +43063,25 @@ function $Q(e) {
|
|
|
43033
43063
|
stateColor: e.state.color,
|
|
43034
43064
|
delegateName: e.delegate?.displayName ?? "Agent",
|
|
43035
43065
|
updatedAt: e.updatedAt,
|
|
43036
|
-
prUrl: e.attachments?.find((e) =>
|
|
43066
|
+
prUrl: e.attachments?.find((e) => XQ.test(e.url))?.url
|
|
43037
43067
|
};
|
|
43038
43068
|
}
|
|
43039
|
-
async function
|
|
43069
|
+
async function r$() {
|
|
43040
43070
|
try {
|
|
43041
43071
|
let e = await Tr();
|
|
43042
43072
|
if (!e.linearApiKey && !e.linearAccessToken) return;
|
|
43043
|
-
let t = (await fO()).filter((e) => !!e.delegate && e.state.type === "started").map($
|
|
43044
|
-
|
|
43073
|
+
let t = (await fO()).filter((e) => !!e.delegate && e.state.type === "started").map(n$);
|
|
43074
|
+
ZQ = {
|
|
43045
43075
|
running: t.filter((e) => !e.prUrl),
|
|
43046
43076
|
review: t.filter((e) => !!e.prUrl)
|
|
43047
43077
|
};
|
|
43048
|
-
for (let e of
|
|
43078
|
+
for (let e of $Q) e(ZQ);
|
|
43049
43079
|
} catch {}
|
|
43050
43080
|
}
|
|
43051
43081
|
//#endregion
|
|
43052
43082
|
//#region src/panel/components/BuildLogs.tsx
|
|
43053
|
-
var
|
|
43054
|
-
function
|
|
43083
|
+
var i$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M2.5 8a5.5 5.5 0 1 1 1.6 3.9\"></path><path d=\"M2.5 12.5V8.9h3.6\">"), a$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"m2.5 4 3.5 4-3.5 4M8 12.5h5.5\">"), o$ = /*#__PURE__*/ N("<pre class=\"font-mono max-h-56 overflow-auto px-2.5 py-2 pr-3 text-[10px] leading-relaxed whitespace-pre-wrap\"style=background:#0b0c0e;color:#8b8e98>"), s$ = /*#__PURE__*/ N("<div class=\"border-border overflow-clip rounded-lg border\"><div class=\"bg-surface-2 flex h-8 items-center gap-2 pl-2.5 pr-1.5\"><span class=\"text-[11px] font-medium\"></span><span class=\"text-text-faint font-mono text-[10px]\"></span><span class=ml-auto>"), c$ = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), l$ = /*#__PURE__*/ N("<p class=\"text-text-faint px-2.5 py-2 text-[10.5px]\">No deployment URL yet — logs appear once Vercel picks up the branch.");
|
|
43084
|
+
function u$(e) {
|
|
43055
43085
|
let t = sr(), n = _r(() => ({
|
|
43056
43086
|
queryKey: [
|
|
43057
43087
|
"stage-status",
|
|
@@ -43101,14 +43131,14 @@ function s$(e) {
|
|
|
43101
43131
|
};
|
|
43102
43132
|
};
|
|
43103
43133
|
return (() => {
|
|
43104
|
-
var t =
|
|
43134
|
+
var t = s$(), d = t.firstChild, f = d.firstChild, p = f.nextSibling;
|
|
43105
43135
|
return p.nextSibling, P(d, j(M, {
|
|
43106
43136
|
get when() {
|
|
43107
43137
|
return r();
|
|
43108
43138
|
},
|
|
43109
43139
|
get fallback() {
|
|
43110
43140
|
return (() => {
|
|
43111
|
-
var e =
|
|
43141
|
+
var e = c$();
|
|
43112
43142
|
return E((t) => dt(e, "background", u().color)), e;
|
|
43113
43143
|
})();
|
|
43114
43144
|
},
|
|
@@ -43144,7 +43174,7 @@ function s$(e) {
|
|
|
43144
43174
|
"aria-label": "Reset staging branch",
|
|
43145
43175
|
onClick: () => l.mutate(),
|
|
43146
43176
|
get children() {
|
|
43147
|
-
return
|
|
43177
|
+
return i$();
|
|
43148
43178
|
}
|
|
43149
43179
|
}), null), P(d, j(kj, {
|
|
43150
43180
|
variant: "ghost",
|
|
@@ -43157,7 +43187,7 @@ function s$(e) {
|
|
|
43157
43187
|
},
|
|
43158
43188
|
onClick: () => a((e) => !e),
|
|
43159
43189
|
get children() {
|
|
43160
|
-
return
|
|
43190
|
+
return a$();
|
|
43161
43191
|
}
|
|
43162
43192
|
}), null), P(t, j(M, {
|
|
43163
43193
|
get when() {
|
|
@@ -43169,10 +43199,10 @@ function s$(e) {
|
|
|
43169
43199
|
return n.data?.url;
|
|
43170
43200
|
},
|
|
43171
43201
|
get fallback() {
|
|
43172
|
-
return
|
|
43202
|
+
return l$();
|
|
43173
43203
|
},
|
|
43174
43204
|
get children() {
|
|
43175
|
-
var e =
|
|
43205
|
+
var e = o$();
|
|
43176
43206
|
e.addEventListener("scroll", () => {
|
|
43177
43207
|
s && (c = s.scrollTop + s.clientHeight >= s.scrollHeight - 40);
|
|
43178
43208
|
});
|
|
@@ -43197,15 +43227,15 @@ function s$(e) {
|
|
|
43197
43227
|
//#endregion
|
|
43198
43228
|
//#region src/lib/captureShare.ts
|
|
43199
43229
|
Br();
|
|
43200
|
-
function
|
|
43230
|
+
function d$(e, t = 6e3) {
|
|
43201
43231
|
return Promise.race([e, new Promise((e, n) => setTimeout(() => n(/* @__PURE__ */ Error("upload timeout")), t))]);
|
|
43202
43232
|
}
|
|
43203
|
-
async function
|
|
43233
|
+
async function f$() {
|
|
43204
43234
|
let e = [], t = [];
|
|
43205
43235
|
for (let n of await Dr() ?? []) {
|
|
43206
43236
|
let r = n.source?.filePath ? ` — \`${n.source.filePath}${n.source.lineNumber == null ? "" : `:${n.source.lineNumber}`}\`` : "";
|
|
43207
43237
|
if (e.push(`- \`<${n.componentName ?? n.tagName ?? "element"}>\`${r}`), n.screenshotDataUrl) try {
|
|
43208
|
-
let t = await
|
|
43238
|
+
let t = await d$(DO(tj(n.screenshotDataUrl), `capture-${n.grabbedAt}.png`), 15e3);
|
|
43209
43239
|
e.push(` `);
|
|
43210
43240
|
} catch {
|
|
43211
43241
|
t.push("element screenshot upload failed — the ref line still landed");
|
|
@@ -43213,7 +43243,7 @@ async function l$() {
|
|
|
43213
43243
|
}
|
|
43214
43244
|
let n = HD();
|
|
43215
43245
|
if (n.result) try {
|
|
43216
|
-
let t = n.result.assetUrl ?? await
|
|
43246
|
+
let t = n.result.assetUrl ?? await d$(DO(n.result.blob, `recording-${Date.now()}.gif`), 6e4);
|
|
43217
43247
|
rO(t), e.push(``);
|
|
43218
43248
|
} catch (e) {
|
|
43219
43249
|
t.push(`recording upload failed (${e instanceof Error ? e.message : "error"}) — Copy GIF from the Capture tab and paste it instead`);
|
|
@@ -43225,10 +43255,10 @@ async function l$() {
|
|
|
43225
43255
|
}
|
|
43226
43256
|
//#endregion
|
|
43227
43257
|
//#region src/panel/components/markdown.ts
|
|
43228
|
-
function
|
|
43258
|
+
function p$(e) {
|
|
43229
43259
|
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
43230
43260
|
}
|
|
43231
|
-
var
|
|
43261
|
+
var m$ = /^(https?:\/\/|mailto:)/i, h$ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, g$ = /\.(png|jpe?g|gif|webp|avif|svg)(\?|#|$)/i, _$ = class extends HTMLElement {
|
|
43232
43262
|
objectUrl = null;
|
|
43233
43263
|
connectedCallback() {
|
|
43234
43264
|
let e = this.getAttribute("src") ?? "", t = this.getAttribute("alt") ?? "";
|
|
@@ -43255,27 +43285,27 @@ var d$ = /^(https?:\/\/|mailto:)/i, f$ = /\.(mp4|mov|webm|m4v)(\?|#|$)/i, p$ = /
|
|
|
43255
43285
|
this.objectUrl && URL.revokeObjectURL(this.objectUrl);
|
|
43256
43286
|
}
|
|
43257
43287
|
};
|
|
43258
|
-
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media",
|
|
43259
|
-
var
|
|
43260
|
-
function
|
|
43261
|
-
|
|
43288
|
+
typeof customElements < "u" && !customElements.get("lg-media") && customElements.define("lg-media", _$);
|
|
43289
|
+
var v$ = null;
|
|
43290
|
+
function y$(e) {
|
|
43291
|
+
v$ = e ? e.replace(/\/$/, "") : null;
|
|
43262
43292
|
}
|
|
43263
|
-
function
|
|
43293
|
+
function b$(e) {
|
|
43264
43294
|
try {
|
|
43265
|
-
if (
|
|
43295
|
+
if (v$ && new URL(e).hostname.endsWith("uploads.linear.app")) return `${v$}/fetch?url=${encodeURIComponent(e)}`;
|
|
43266
43296
|
} catch {}
|
|
43267
43297
|
return e;
|
|
43268
43298
|
}
|
|
43269
|
-
function
|
|
43299
|
+
function x$(e) {
|
|
43270
43300
|
let t = e;
|
|
43271
43301
|
return t = t.replace(/`([^`]+)`/g, (e, t) => `<code>${t}</code>`), t = t.replace(/!\[([^\]]*)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => {
|
|
43272
|
-
if (!
|
|
43273
|
-
let r =
|
|
43274
|
-
return
|
|
43275
|
-
}), t = t.replace(/\[([^\]]+)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) =>
|
|
43302
|
+
if (!m$.test(n)) return t;
|
|
43303
|
+
let r = b$(n);
|
|
43304
|
+
return h$.test(n) ? `<video controls preload="metadata" src="${r}"></video>` : r !== n && !g$.test(n) ? `<lg-media src="${r}" alt="${t}"></lg-media>` : `<img src="${r}" alt="${t}" loading="lazy" />`;
|
|
43305
|
+
}), t = t.replace(/\[([^\]]+)\]\((?:<)?([^()\s]+?)(?:>)?\)/g, (e, t, n) => m$.test(n) ? `<a href="${n}" target="_blank" rel="noopener noreferrer">${t}</a>` : t), t = t.replace(/<(https?:\/\/[^\s&]+)>/g, "<a href=\"$1\" target=\"_blank\" rel=\"noopener noreferrer\">$1</a>"), t = t.replace(/(^|[\s(])((?:https?:\/\/)[^\s<>()"']+)/g, (e, t, n) => `${t}<a href="${n}" target="_blank" rel="noopener noreferrer">${n}</a>`), t = t.replace(/\*\*([^*]+)\*\*/g, "<strong>$1</strong>"), t = t.replace(/(^|\W)\*([^*\n]+)\*(?=\W|$)/g, "$1<em>$2</em>"), t;
|
|
43276
43306
|
}
|
|
43277
|
-
function
|
|
43278
|
-
let t =
|
|
43307
|
+
function S$(e) {
|
|
43308
|
+
let t = p$(e.trim()).split("\n"), n = [], r = 0;
|
|
43279
43309
|
for (; r < t.length;) {
|
|
43280
43310
|
let e = t[r];
|
|
43281
43311
|
if (!e.trim()) {
|
|
@@ -43290,51 +43320,51 @@ function y$(e) {
|
|
|
43290
43320
|
}
|
|
43291
43321
|
let i = e.match(/^(#{1,6})\s+(.*)$/);
|
|
43292
43322
|
if (i) {
|
|
43293
|
-
n.push(`<h4>${
|
|
43323
|
+
n.push(`<h4>${x$(i[2])}</h4>`), r++;
|
|
43294
43324
|
continue;
|
|
43295
43325
|
}
|
|
43296
43326
|
if (/^\s*[-*]\s+/.test(e)) {
|
|
43297
43327
|
let e = [];
|
|
43298
|
-
for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${
|
|
43328
|
+
for (; r < t.length && /^\s*[-*]\s+/.test(t[r]);) e.push(`<li>${x$(t[r].replace(/^\s*[-*]\s+/, ""))}</li>`), r++;
|
|
43299
43329
|
n.push(`<ul>${e.join("")}</ul>`);
|
|
43300
43330
|
continue;
|
|
43301
43331
|
}
|
|
43302
43332
|
if (/^\s*\d+[.)]\s+/.test(e)) {
|
|
43303
43333
|
let e = [];
|
|
43304
|
-
for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${
|
|
43334
|
+
for (; r < t.length && /^\s*\d+[.)]\s+/.test(t[r]);) e.push(`<li>${x$(t[r].replace(/^\s*\d+[.)]\s+/, ""))}</li>`), r++;
|
|
43305
43335
|
n.push(`<ol>${e.join("")}</ol>`);
|
|
43306
43336
|
continue;
|
|
43307
43337
|
}
|
|
43308
43338
|
let a = [];
|
|
43309
43339
|
for (; r < t.length && t[r].trim() && !/^(#{1,6}\s|```|\s*[-*]\s+|\s*\d+[.)]\s+)/.test(t[r]);) a.push(t[r]), r++;
|
|
43310
|
-
n.push(`<p>${
|
|
43340
|
+
n.push(`<p>${x$(a.join("<br />"))}</p>`);
|
|
43311
43341
|
}
|
|
43312
43342
|
return n.join("");
|
|
43313
43343
|
}
|
|
43314
43344
|
//#endregion
|
|
43315
43345
|
//#region src/panel/views/ActivityView.tsx
|
|
43316
43346
|
Br();
|
|
43317
|
-
var
|
|
43318
|
-
function
|
|
43319
|
-
let t = O(() =>
|
|
43347
|
+
var C$ = /*#__PURE__*/ N("<div class=\"lg-md text-text text-[12px] leading-relaxed break-words\">"), w$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\">"), T$ = /*#__PURE__*/ N("<span class=\"tabular-nums text-[10.5px] text-text-faint\">live · updated "), E$ = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), D$ = /*#__PURE__*/ N("<div class=\"flex-1 overflow-y-auto\">"), O$ = /*#__PURE__*/ N("<div class=\"min-h-0 flex-1 overflow-y-auto pl-2 pr-3\"><div style=position:relative>"), k$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">My issues</span><div class=\"flex items-center gap-2\"></div></div><div class=\"border-border flex shrink-0 items-center gap-1 border-b px-3 py-1.5\">"), A$ = /*#__PURE__*/ N("<button>"), j$ = /*#__PURE__*/ N("<div style=position:absolute;top:0;left:0;width:100%>"), M$ = /*#__PURE__*/ N("<button class=\"w-full cursor-pointer rounded-md px-2 py-1.5 text-left hover:bg-surface-2 transition-colors\"><div class=\"flex items-center gap-1.5 min-w-0\"><span class=\"font-mono text-[11px] text-text-dim shrink-0\"></span><span class=\"truncate text-[12.5px] text-text\"></span></div><div class=\"mt-0.5 flex items-center gap-1.5\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), N$ = /*#__PURE__*/ N("<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=\"M10.5 3.5 6 8l4.5 4.5\">"), P$ = /*#__PURE__*/ N("<span class=\"font-mono text-[11px] text-text-dim shrink-0\">"), F$ = /*#__PURE__*/ N("<span class=\"truncate text-[12px] font-medium text-text\">"), I$ = /*#__PURE__*/ N("<span class=\"text-[11.5px] text-text-faint\">Loading…"), L$ = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\"><span class=\"text-[11px] text-text-dim\">"), R$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2\">"), z$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Attachments</span><div class=\"flex flex-col gap-1\">"), B$ = /*#__PURE__*/ N("<div class=\"flex flex-col gap-2.5\"><span class=\"text-[10.5px] font-semibold uppercase tracking-wide text-text-dim\">Comments"), V$ = /*#__PURE__*/ N("<option value=local>Message local Claude Code session"), H$ = /*#__PURE__*/ N("<option value=new>Start NEW agent (@<!>)"), U$ = /*#__PURE__*/ N("<option value=comment>Comment only"), W$ = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), G$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), K$ = /*#__PURE__*/ N("<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=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), q$ = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-left\">Send"), J$ = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 flex-col gap-1 border-b px-3 py-2\"><div class=\"flex items-center gap-2\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pl-3 pr-4 py-3 flex flex-col gap-3\"></div><div class=\"border-border shrink-0 border-t p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-2\">"), Y$ = /*#__PURE__*/ N("<option selected>"), X$ = /*#__PURE__*/ N("<svg width=10 height=10 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), Z$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.8a.8.8 0 0 1 1.22-.68l8 5.2a.8.8 0 0 1 0 1.36l-8 5.2a.8.8 0 0 1-1.22-.68V2.8Z\">"), Q$ = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"m2.5 4 3.5 4-3.5 4M8 12.5h5.5\">"), $$ = /*#__PURE__*/ N("<div class=\"bg-surface border-border overflow-clip rounded-lg border\"><div class=\"border-border flex h-9 min-w-0 items-center justify-between gap-2 border-b px-3\"><div class=\"flex min-w-0 items-center gap-1.5 text-[11.5px] font-medium\"><span aria-hidden class=\"text-text-dim inline-flex\"></span><span class=\"text-text shrink-0\">Local Claude Code</span><span class=\"text-text-dim shrink-0\">started by you</span><span class=\"text-text-faint shrink-0 tabular-nums\">· </span></div></div><div class=\"flex h-9 items-center gap-1 pr-2\"><button class=\"hover:bg-surface-2 flex h-full min-w-0 flex-1 cursor-pointer items-center gap-2 rounded-md px-3 text-left transition-colors\"title=\"Open the live thread in the Local tab\"><span></span><span class=\"text-text-faint min-w-0 flex-1 truncate text-[11.5px]\"></span><svg width=14 height=14 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=\"text-text-dim shrink-0\"><path d=\"m6 3.5 4.5 4.5L6 12.5\">"), e1 = /*#__PURE__*/ N("<option>"), t1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), n1 = /*#__PURE__*/ N("<span class=\"text-success text-[11px]\">✓"), r1 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[6ch] text-center\">Merge"), i1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11.5px] hover:underline\">"), a1 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M8 2 14 5.5 8 9 2 5.5 8 2Z\"></path><path d=\"M2 10.5 8 14l6-3.5\">"), o1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><div class=\"flex items-center gap-1.5\"><span class=\"text-[11px] font-medium text-text-dim\"></span><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), s1 = /*#__PURE__*/ N("<option>Steer running agent<!> · "), c1 = /*#__PURE__*/ N("<span class=\"bg-danger inline-block size-2.5 rounded-full\"aria-hidden>"), l1 = /*#__PURE__*/ N("<span class=\"text-[11px] text-text-dim\">"), u1 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden class=transition-transform><path d=\"m3.5 6.5 4.5 4 4.5-4\">"), d1 = /*#__PURE__*/ N("<p class=\"text-[12px] text-text leading-relaxed whitespace-pre-wrap break-words\">"), f1 = /*#__PURE__*/ N("<div class=\"border-border mt-0.5 flex flex-col gap-1 overflow-y-auto border-t pt-1.5 pl-0.5 pr-3\">"), p1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border rounded-lg border p-2.5 flex flex-col gap-1.5\"><div class=\"flex items-center gap-1.5 flex-wrap\"><span class=\"ml-auto tabular-nums text-[10.5px] text-text-faint\">"), m1 = /*#__PURE__*/ N("<p class=\"font-mono text-text-faint text-[10.5px] leading-relaxed break-words\">→ <!> "), h1 = /*#__PURE__*/ N("<div>");
|
|
43348
|
+
function g1(e) {
|
|
43349
|
+
let t = O(() => S$(e.text));
|
|
43320
43350
|
return (() => {
|
|
43321
|
-
var e =
|
|
43351
|
+
var e = C$();
|
|
43322
43352
|
return E(() => e.innerHTML = t()), e;
|
|
43323
43353
|
})();
|
|
43324
43354
|
}
|
|
43325
|
-
function
|
|
43355
|
+
function _1() {
|
|
43326
43356
|
let [e, t] = T(null);
|
|
43327
43357
|
return D(() => {
|
|
43328
43358
|
let e = ij();
|
|
43329
43359
|
e && (t(e), sj());
|
|
43330
43360
|
}), (() => {
|
|
43331
|
-
var n =
|
|
43361
|
+
var n = w$();
|
|
43332
43362
|
return P(n, j(M, {
|
|
43333
43363
|
get when() {
|
|
43334
43364
|
return e() === null;
|
|
43335
43365
|
},
|
|
43336
43366
|
get fallback() {
|
|
43337
|
-
return j(
|
|
43367
|
+
return j(b1, {
|
|
43338
43368
|
get issueId() {
|
|
43339
43369
|
return e();
|
|
43340
43370
|
},
|
|
@@ -43342,12 +43372,12 @@ function m1() {
|
|
|
43342
43372
|
});
|
|
43343
43373
|
},
|
|
43344
43374
|
get children() {
|
|
43345
|
-
return j(
|
|
43375
|
+
return j(v1, { onSelect: (e) => t(e) });
|
|
43346
43376
|
}
|
|
43347
43377
|
})), n;
|
|
43348
43378
|
})();
|
|
43349
43379
|
}
|
|
43350
|
-
function
|
|
43380
|
+
function v1(e) {
|
|
43351
43381
|
let t, n = _r(() => ({
|
|
43352
43382
|
queryKey: ["my-issues"],
|
|
43353
43383
|
queryFn: fO,
|
|
@@ -43395,7 +43425,7 @@ function h1(e) {
|
|
|
43395
43425
|
default: return !0;
|
|
43396
43426
|
}
|
|
43397
43427
|
});
|
|
43398
|
-
}), f =
|
|
43428
|
+
}), f = JQ({
|
|
43399
43429
|
get count() {
|
|
43400
43430
|
return d().length;
|
|
43401
43431
|
},
|
|
@@ -43404,13 +43434,13 @@ function h1(e) {
|
|
|
43404
43434
|
overscan: 5
|
|
43405
43435
|
});
|
|
43406
43436
|
return (() => {
|
|
43407
|
-
var r =
|
|
43437
|
+
var r = k$(), a = r.firstChild, p = a.firstChild.nextSibling, m = a.nextSibling;
|
|
43408
43438
|
return P(p, j(M, {
|
|
43409
43439
|
get when() {
|
|
43410
43440
|
return n.dataUpdatedAt > 0;
|
|
43411
43441
|
},
|
|
43412
43442
|
get children() {
|
|
43413
|
-
var e =
|
|
43443
|
+
var e = T$();
|
|
43414
43444
|
return e.firstChild, P(e, () => Wj(n.dataUpdatedAt), null), e;
|
|
43415
43445
|
}
|
|
43416
43446
|
}), null), P(p, j(kj, {
|
|
@@ -43422,12 +43452,12 @@ function h1(e) {
|
|
|
43422
43452
|
title: "Refresh",
|
|
43423
43453
|
"aria-label": "Refresh issues",
|
|
43424
43454
|
get children() {
|
|
43425
|
-
return
|
|
43455
|
+
return E$();
|
|
43426
43456
|
}
|
|
43427
43457
|
}), null), P(m, j(We, {
|
|
43428
43458
|
each: o,
|
|
43429
43459
|
children: (e) => (() => {
|
|
43430
|
-
var t =
|
|
43460
|
+
var t = A$();
|
|
43431
43461
|
return t.$$click = () => c(e.id), P(t, () => e.label), E(() => st(t, `h-6 shrink-0 cursor-pointer rounded-md px-2 text-[11px] font-medium transition-colors ${s() === e.id ? "bg-accent-soft text-accent" : "text-text-dim hover:bg-surface-2"}`)), t;
|
|
43432
43462
|
})()
|
|
43433
43463
|
}), null), P(m, j(jj, {
|
|
@@ -43442,7 +43472,7 @@ function h1(e) {
|
|
|
43442
43472
|
return n.isError;
|
|
43443
43473
|
},
|
|
43444
43474
|
get children() {
|
|
43445
|
-
var e =
|
|
43475
|
+
var e = D$();
|
|
43446
43476
|
return P(e, j(Vj, {
|
|
43447
43477
|
title: "Connect Linear in Settings",
|
|
43448
43478
|
get children() {
|
|
@@ -43455,7 +43485,7 @@ function h1(e) {
|
|
|
43455
43485
|
return $e(() => !n.isError && !n.isPending)() && d().length === 0;
|
|
43456
43486
|
},
|
|
43457
43487
|
get children() {
|
|
43458
|
-
var e =
|
|
43488
|
+
var e = D$();
|
|
43459
43489
|
return P(e, j(Vj, {
|
|
43460
43490
|
title: "No issues found",
|
|
43461
43491
|
children: "Issues you create will appear here."
|
|
@@ -43466,7 +43496,7 @@ function h1(e) {
|
|
|
43466
43496
|
return $e(() => !n.isError)() && d().length > 0;
|
|
43467
43497
|
},
|
|
43468
43498
|
get children() {
|
|
43469
|
-
var n =
|
|
43499
|
+
var n = O$(), r = n.firstChild, a = t;
|
|
43470
43500
|
return typeof a == "function" ? pt(a, n) : t = n, P(r, j(We, {
|
|
43471
43501
|
get each() {
|
|
43472
43502
|
return f.getVirtualItems();
|
|
@@ -43478,8 +43508,8 @@ function h1(e) {
|
|
|
43478
43508
|
return n();
|
|
43479
43509
|
},
|
|
43480
43510
|
get children() {
|
|
43481
|
-
var r =
|
|
43482
|
-
return P(r, j(
|
|
43511
|
+
var r = j$();
|
|
43512
|
+
return P(r, j(y1, {
|
|
43483
43513
|
get issue() {
|
|
43484
43514
|
return n();
|
|
43485
43515
|
},
|
|
@@ -43498,9 +43528,9 @@ function h1(e) {
|
|
|
43498
43528
|
}), null), r;
|
|
43499
43529
|
})();
|
|
43500
43530
|
}
|
|
43501
|
-
function
|
|
43531
|
+
function y1(e) {
|
|
43502
43532
|
return (() => {
|
|
43503
|
-
var t =
|
|
43533
|
+
var t = M$(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = n.nextSibling, o = a.firstChild;
|
|
43504
43534
|
return t.$$click = () => e.onSelect(e.issue.id), P(n, j(Bj, { get color() {
|
|
43505
43535
|
return e.issue.state.color;
|
|
43506
43536
|
} }), r), P(r, () => e.issue.identifier), P(i, () => e.issue.title), P(a, j(zj, { get children() {
|
|
@@ -43546,7 +43576,7 @@ function g1(e) {
|
|
|
43546
43576
|
}), o), P(o, () => Wj(e.issue.updatedAt)), t;
|
|
43547
43577
|
})();
|
|
43548
43578
|
}
|
|
43549
|
-
function
|
|
43579
|
+
function b1(e) {
|
|
43550
43580
|
let t = sr(), n = _r(() => ({
|
|
43551
43581
|
queryKey: ["issue", e.issueId],
|
|
43552
43582
|
queryFn: () => pO(e.issueId),
|
|
@@ -43649,7 +43679,7 @@ function _1(e) {
|
|
|
43649
43679
|
})), [C, w] = T(!1), ee = async () => {
|
|
43650
43680
|
w(!0), y(null);
|
|
43651
43681
|
try {
|
|
43652
|
-
let { block: e, failed: t } = await
|
|
43682
|
+
let { block: e, failed: t } = await f$();
|
|
43653
43683
|
e ? _((t) => `${t ? `${t}\n` : ""}${e}\n`) : t.length || y("Nothing captured yet — pick an element, capture a region, or record first."), t.length && y(t.join(" · "));
|
|
43654
43684
|
} catch (e) {
|
|
43655
43685
|
y(e instanceof Error ? e.message : "Attach failed.");
|
|
@@ -43697,7 +43727,7 @@ function _1(e) {
|
|
|
43697
43727
|
}, [_e, ve] = T(/* @__PURE__ */ new Set()), [ye, be] = T(null), xe = async (n) => {
|
|
43698
43728
|
be(null), ue(n);
|
|
43699
43729
|
try {
|
|
43700
|
-
await qO(n), ve((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }),
|
|
43730
|
+
await qO(n), ve((e) => new Set(e).add(n)), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t.invalidateQueries({ queryKey: ["my-issues"] }), t$();
|
|
43701
43731
|
} catch (e) {
|
|
43702
43732
|
be(e instanceof Error ? `${e.message} (bridge must be running; gh needs merge rights)` : "Merge failed.");
|
|
43703
43733
|
} finally {
|
|
@@ -43744,14 +43774,14 @@ function _1(e) {
|
|
|
43744
43774
|
}) : await CO(e.issueId, t);
|
|
43745
43775
|
},
|
|
43746
43776
|
onSuccess: () => {
|
|
43747
|
-
_(""), y(null), uj("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }),
|
|
43777
|
+
_(""), y(null), uj("capture"), t.invalidateQueries({ queryKey: ["issue", e.issueId] }), t$();
|
|
43748
43778
|
},
|
|
43749
43779
|
onError: (e) => {
|
|
43750
43780
|
y(e.message ?? "Failed to send");
|
|
43751
43781
|
}
|
|
43752
43782
|
})), Oe = O(() => n.data), ke = O(() => r.data ?? []);
|
|
43753
43783
|
return (() => {
|
|
43754
|
-
var t =
|
|
43784
|
+
var t = J$(), r = t.firstChild, a = r.firstChild, f = r.nextSibling, y = f.nextSibling, b = y.firstChild;
|
|
43755
43785
|
return P(a, j(kj, {
|
|
43756
43786
|
variant: "ghost",
|
|
43757
43787
|
class: "size-7 shrink-0 px-0",
|
|
@@ -43762,7 +43792,7 @@ function _1(e) {
|
|
|
43762
43792
|
return e.onBack;
|
|
43763
43793
|
},
|
|
43764
43794
|
get children() {
|
|
43765
|
-
return
|
|
43795
|
+
return N$();
|
|
43766
43796
|
}
|
|
43767
43797
|
}), null), P(a, j(M, {
|
|
43768
43798
|
get when() {
|
|
@@ -43770,10 +43800,10 @@ function _1(e) {
|
|
|
43770
43800
|
},
|
|
43771
43801
|
get children() {
|
|
43772
43802
|
return [(() => {
|
|
43773
|
-
var e =
|
|
43803
|
+
var e = P$();
|
|
43774
43804
|
return P(e, () => Oe().identifier), e;
|
|
43775
43805
|
})(), (() => {
|
|
43776
|
-
var e =
|
|
43806
|
+
var e = F$();
|
|
43777
43807
|
return P(e, () => Oe().title), e;
|
|
43778
43808
|
})()];
|
|
43779
43809
|
}
|
|
@@ -43782,14 +43812,14 @@ function _1(e) {
|
|
|
43782
43812
|
return $e(() => !!n.isPending)() && !Oe();
|
|
43783
43813
|
},
|
|
43784
43814
|
get children() {
|
|
43785
|
-
return
|
|
43815
|
+
return I$();
|
|
43786
43816
|
}
|
|
43787
43817
|
}), null), P(r, j(M, {
|
|
43788
43818
|
get when() {
|
|
43789
43819
|
return Oe();
|
|
43790
43820
|
},
|
|
43791
43821
|
get children() {
|
|
43792
|
-
var e =
|
|
43822
|
+
var e = L$(), t = e.firstChild;
|
|
43793
43823
|
return P(e, j(Bj, { get color() {
|
|
43794
43824
|
return Oe().state.color;
|
|
43795
43825
|
} }), t), P(t, () => Oe().state.name), P(e, j(Ij, {
|
|
@@ -43807,7 +43837,7 @@ function _1(e) {
|
|
|
43807
43837
|
children: (e) => {
|
|
43808
43838
|
let t = () => h(e());
|
|
43809
43839
|
return (() => {
|
|
43810
|
-
var n =
|
|
43840
|
+
var n = $$(), r = n.firstChild, i = r.firstChild.firstChild, a = i.nextSibling.nextSibling.nextSibling;
|
|
43811
43841
|
a.firstChild;
|
|
43812
43842
|
var s = r.nextSibling, f = s.firstChild, m = f.firstChild, h = m.nextSibling;
|
|
43813
43843
|
return P(i, j(Fj, { size: 12 })), P(a, () => Wj(e().startedAt), null), P(r, j(Nj, {
|
|
@@ -43824,7 +43854,7 @@ function _1(e) {
|
|
|
43824
43854
|
return [j(We, {
|
|
43825
43855
|
each: o,
|
|
43826
43856
|
children: (t) => (() => {
|
|
43827
|
-
var n =
|
|
43857
|
+
var n = e1();
|
|
43828
43858
|
return P(n, () => t.label), E(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), E(() => n.value = t.id), n;
|
|
43829
43859
|
})()
|
|
43830
43860
|
}), j(M, {
|
|
@@ -43832,7 +43862,7 @@ function _1(e) {
|
|
|
43832
43862
|
return !o.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
|
|
43833
43863
|
},
|
|
43834
43864
|
get children() {
|
|
43835
|
-
var t =
|
|
43865
|
+
var t = Y$();
|
|
43836
43866
|
return P(t, () => e().pendingModel ?? e().model), E(() => t.value = e().pendingModel ?? e().model ?? ""), t;
|
|
43837
43867
|
}
|
|
43838
43868
|
})];
|
|
@@ -43862,7 +43892,7 @@ function _1(e) {
|
|
|
43862
43892
|
"aria-label": "Stop session",
|
|
43863
43893
|
onClick: () => u.mutate(e().id),
|
|
43864
43894
|
get children() {
|
|
43865
|
-
return
|
|
43895
|
+
return X$();
|
|
43866
43896
|
}
|
|
43867
43897
|
});
|
|
43868
43898
|
}
|
|
@@ -43883,7 +43913,7 @@ function _1(e) {
|
|
|
43883
43913
|
"aria-label": "Resume session",
|
|
43884
43914
|
onClick: () => l.mutate(e().id),
|
|
43885
43915
|
get children() {
|
|
43886
|
-
return
|
|
43916
|
+
return Z$();
|
|
43887
43917
|
}
|
|
43888
43918
|
});
|
|
43889
43919
|
}
|
|
@@ -43901,7 +43931,7 @@ function _1(e) {
|
|
|
43901
43931
|
"aria-label": "Copy resume command",
|
|
43902
43932
|
onClick: () => void p(e()),
|
|
43903
43933
|
get children() {
|
|
43904
|
-
return
|
|
43934
|
+
return Q$();
|
|
43905
43935
|
}
|
|
43906
43936
|
});
|
|
43907
43937
|
}
|
|
@@ -43913,14 +43943,14 @@ function _1(e) {
|
|
|
43913
43943
|
return ke().length > 0;
|
|
43914
43944
|
},
|
|
43915
43945
|
get children() {
|
|
43916
|
-
var e =
|
|
43946
|
+
var e = R$();
|
|
43917
43947
|
return P(e, j(We, {
|
|
43918
43948
|
get each() {
|
|
43919
43949
|
return ke();
|
|
43920
43950
|
},
|
|
43921
43951
|
children: (e) => (() => {
|
|
43922
|
-
var t =
|
|
43923
|
-
return P(t, j(
|
|
43952
|
+
var t = t1();
|
|
43953
|
+
return P(t, j(x1, { session: e }), null), P(t, j(M, {
|
|
43924
43954
|
get when() {
|
|
43925
43955
|
return $e(() => !!(/complete/i.test(e.status) && n.data?.state.type === "started"))() && !/review/i.test(n.data?.state.name ?? "");
|
|
43926
43956
|
},
|
|
@@ -43945,7 +43975,7 @@ function _1(e) {
|
|
|
43945
43975
|
return $e(() => !!Oe())() && Oe().attachments.length > 0;
|
|
43946
43976
|
},
|
|
43947
43977
|
get children() {
|
|
43948
|
-
var e =
|
|
43978
|
+
var e = z$(), t = e.firstChild.nextSibling;
|
|
43949
43979
|
return P(t, j(We, {
|
|
43950
43980
|
get each() {
|
|
43951
43981
|
return Oe().attachments;
|
|
@@ -43953,7 +43983,7 @@ function _1(e) {
|
|
|
43953
43983
|
children: (e) => {
|
|
43954
43984
|
let t = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i.test(e.url);
|
|
43955
43985
|
return [(() => {
|
|
43956
|
-
var n =
|
|
43986
|
+
var n = i1(), r = n.firstChild;
|
|
43957
43987
|
return P(r, () => e.title), P(n, j(M, {
|
|
43958
43988
|
get when() {
|
|
43959
43989
|
return t && se.data?.previews[e.url];
|
|
@@ -44007,10 +44037,10 @@ function _1(e) {
|
|
|
44007
44037
|
return me().has(e.url);
|
|
44008
44038
|
},
|
|
44009
44039
|
get fallback() {
|
|
44010
|
-
return
|
|
44040
|
+
return a1();
|
|
44011
44041
|
},
|
|
44012
44042
|
get children() {
|
|
44013
|
-
return
|
|
44043
|
+
return n1();
|
|
44014
44044
|
}
|
|
44015
44045
|
});
|
|
44016
44046
|
}
|
|
@@ -44025,7 +44055,7 @@ function _1(e) {
|
|
|
44025
44055
|
},
|
|
44026
44056
|
onClick: () => void xe(e.url),
|
|
44027
44057
|
get children() {
|
|
44028
|
-
return
|
|
44058
|
+
return r1();
|
|
44029
44059
|
}
|
|
44030
44060
|
})];
|
|
44031
44061
|
}
|
|
@@ -44041,7 +44071,7 @@ function _1(e) {
|
|
|
44041
44071
|
return me().has(e.url);
|
|
44042
44072
|
},
|
|
44043
44073
|
get children() {
|
|
44044
|
-
return j(
|
|
44074
|
+
return j(u$, {
|
|
44045
44075
|
get url() {
|
|
44046
44076
|
return e.url;
|
|
44047
44077
|
},
|
|
@@ -44068,7 +44098,7 @@ function _1(e) {
|
|
|
44068
44098
|
return $e(() => !!Oe())() && Oe().comments.length > 0;
|
|
44069
44099
|
},
|
|
44070
44100
|
get children() {
|
|
44071
|
-
var e =
|
|
44101
|
+
var e = B$();
|
|
44072
44102
|
return e.firstChild, P(e, j(Ge, {
|
|
44073
44103
|
get each() {
|
|
44074
44104
|
return Oe().comments;
|
|
@@ -44076,7 +44106,7 @@ function _1(e) {
|
|
|
44076
44106
|
children: (e) => {
|
|
44077
44107
|
let t = e();
|
|
44078
44108
|
return (() => {
|
|
44079
|
-
var e =
|
|
44109
|
+
var e = o1(), n = e.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
44080
44110
|
return P(r, () => t.user?.displayName ?? t.user?.name ?? "Unknown"), P(n, j(M, {
|
|
44081
44111
|
get when() {
|
|
44082
44112
|
return t.user?.app;
|
|
@@ -44084,7 +44114,7 @@ function _1(e) {
|
|
|
44084
44114
|
get children() {
|
|
44085
44115
|
return j(zj, { children: "agent" });
|
|
44086
44116
|
}
|
|
44087
|
-
}), i), P(i, () => Wj(t.createdAt)), P(e, j(
|
|
44117
|
+
}), i), P(i, () => Wj(t.createdAt)), P(e, j(g1, { get text() {
|
|
44088
44118
|
return t.body;
|
|
44089
44119
|
} }), null), e;
|
|
44090
44120
|
})();
|
|
@@ -44147,7 +44177,7 @@ function _1(e) {
|
|
|
44147
44177
|
return m();
|
|
44148
44178
|
},
|
|
44149
44179
|
get children() {
|
|
44150
|
-
var e =
|
|
44180
|
+
var e = V$();
|
|
44151
44181
|
return E(() => e.selected = Ce() === "local"), e;
|
|
44152
44182
|
}
|
|
44153
44183
|
}),
|
|
@@ -44156,7 +44186,7 @@ function _1(e) {
|
|
|
44156
44186
|
return Se();
|
|
44157
44187
|
},
|
|
44158
44188
|
children: (e, t) => (() => {
|
|
44159
|
-
var n =
|
|
44189
|
+
var n = s1(), r = n.firstChild.nextSibling;
|
|
44160
44190
|
return r.nextSibling, P(n, (() => {
|
|
44161
44191
|
var e = $e(() => Se().length > 1);
|
|
44162
44192
|
return () => e() ? ` #${t() + 1}` : "";
|
|
@@ -44168,12 +44198,12 @@ function _1(e) {
|
|
|
44168
44198
|
return i.data?.cursorAgentId;
|
|
44169
44199
|
},
|
|
44170
44200
|
get children() {
|
|
44171
|
-
var e =
|
|
44201
|
+
var e = H$(), t = e.firstChild.nextSibling;
|
|
44172
44202
|
return t.nextSibling, P(e, () => i.data?.cursorAgentName ?? "Cursor", t), E(() => e.selected = Ce() === "new"), e;
|
|
44173
44203
|
}
|
|
44174
44204
|
}),
|
|
44175
44205
|
(() => {
|
|
44176
|
-
var e =
|
|
44206
|
+
var e = U$();
|
|
44177
44207
|
return E(() => e.selected = Ce() === "comment"), e;
|
|
44178
44208
|
})()
|
|
44179
44209
|
];
|
|
@@ -44189,7 +44219,7 @@ function _1(e) {
|
|
|
44189
44219
|
"aria-label": "Pick element for reply",
|
|
44190
44220
|
onClick: te,
|
|
44191
44221
|
get children() {
|
|
44192
|
-
return
|
|
44222
|
+
return W$();
|
|
44193
44223
|
}
|
|
44194
44224
|
}), null), P(b, j(kj, {
|
|
44195
44225
|
variant: "ghost",
|
|
@@ -44207,10 +44237,10 @@ function _1(e) {
|
|
|
44207
44237
|
return k().phase === "recording";
|
|
44208
44238
|
},
|
|
44209
44239
|
get fallback() {
|
|
44210
|
-
return
|
|
44240
|
+
return c1();
|
|
44211
44241
|
},
|
|
44212
44242
|
get children() {
|
|
44213
|
-
return
|
|
44243
|
+
return G$();
|
|
44214
44244
|
}
|
|
44215
44245
|
});
|
|
44216
44246
|
}
|
|
@@ -44224,7 +44254,7 @@ function _1(e) {
|
|
|
44224
44254
|
"aria-label": "Attach captures",
|
|
44225
44255
|
onClick: () => void ee(),
|
|
44226
44256
|
get children() {
|
|
44227
|
-
return
|
|
44257
|
+
return K$();
|
|
44228
44258
|
}
|
|
44229
44259
|
}), null), P(b, j(kj, {
|
|
44230
44260
|
class: "min-w-[52px] shrink-0",
|
|
@@ -44237,12 +44267,12 @@ function _1(e) {
|
|
|
44237
44267
|
},
|
|
44238
44268
|
onClick: () => De.mutate(),
|
|
44239
44269
|
get children() {
|
|
44240
|
-
return
|
|
44270
|
+
return q$();
|
|
44241
44271
|
}
|
|
44242
44272
|
}), null), t;
|
|
44243
44273
|
})();
|
|
44244
44274
|
}
|
|
44245
|
-
function
|
|
44275
|
+
function x1(e) {
|
|
44246
44276
|
let t = O(() => {
|
|
44247
44277
|
let t = e.session.status;
|
|
44248
44278
|
return /complete|done/i.test(t) ? "var(--color-success)" : /await|pending|elicit/i.test(t) ? "var(--color-warn)" : "var(--color-accent)";
|
|
@@ -44258,7 +44288,7 @@ function v1(e) {
|
|
|
44258
44288
|
o && (o.scrollTop = o.scrollHeight);
|
|
44259
44289
|
});
|
|
44260
44290
|
}), (() => {
|
|
44261
|
-
var s =
|
|
44291
|
+
var s = p1(), l = s.firstChild, u = l.firstChild;
|
|
44262
44292
|
return P(l, j(M, {
|
|
44263
44293
|
get when() {
|
|
44264
44294
|
return /active|pending/i.test(e.session.status);
|
|
@@ -44278,7 +44308,7 @@ function v1(e) {
|
|
|
44278
44308
|
return e.session.appUser?.displayName;
|
|
44279
44309
|
},
|
|
44280
44310
|
get children() {
|
|
44281
|
-
var t =
|
|
44311
|
+
var t = l1();
|
|
44282
44312
|
return P(t, () => e.session.appUser.displayName), t;
|
|
44283
44313
|
}
|
|
44284
44314
|
}), u), P(u, () => Wj(e.session.updatedAt)), P(l, j(M, {
|
|
@@ -44306,7 +44336,7 @@ function v1(e) {
|
|
|
44306
44336
|
},
|
|
44307
44337
|
onClick: () => a((e) => !e),
|
|
44308
44338
|
get children() {
|
|
44309
|
-
var e =
|
|
44339
|
+
var e = u1();
|
|
44310
44340
|
return E((t) => dt(e, "transform", i() ? "rotate(180deg)" : "none")), e;
|
|
44311
44341
|
}
|
|
44312
44342
|
}), null), P(s, j(M, {
|
|
@@ -44314,7 +44344,7 @@ function v1(e) {
|
|
|
44314
44344
|
return e.session.summary;
|
|
44315
44345
|
},
|
|
44316
44346
|
get children() {
|
|
44317
|
-
var t =
|
|
44347
|
+
var t = d1();
|
|
44318
44348
|
return P(t, () => e.session.summary), t;
|
|
44319
44349
|
}
|
|
44320
44350
|
}), null), P(s, j(M, {
|
|
@@ -44322,7 +44352,7 @@ function v1(e) {
|
|
|
44322
44352
|
return r().length > 0;
|
|
44323
44353
|
},
|
|
44324
44354
|
get children() {
|
|
44325
|
-
var e =
|
|
44355
|
+
var e = f1();
|
|
44326
44356
|
e.addEventListener("scroll", c);
|
|
44327
44357
|
var t = o;
|
|
44328
44358
|
return typeof t == "function" ? pt(t, e) : o = e, P(e, j(Ge, {
|
|
@@ -44335,14 +44365,14 @@ function v1(e) {
|
|
|
44335
44365
|
},
|
|
44336
44366
|
get fallback() {
|
|
44337
44367
|
return (() => {
|
|
44338
|
-
var t =
|
|
44339
|
-
return P(t, j(
|
|
44368
|
+
var t = h1();
|
|
44369
|
+
return P(t, j(g1, { get text() {
|
|
44340
44370
|
return e().content.body ?? "";
|
|
44341
44371
|
} })), E(() => st(t, `lg-md text-[11.5px] leading-relaxed break-words ${e().content.__typename === "AgentActivityErrorContent" ? "text-danger" : "text-text"}`)), t;
|
|
44342
44372
|
})();
|
|
44343
44373
|
},
|
|
44344
44374
|
get children() {
|
|
44345
|
-
var t =
|
|
44375
|
+
var t = m1(), n = t.firstChild.nextSibling;
|
|
44346
44376
|
return n.nextSibling, P(t, () => e().content.action, n), P(t, () => e().content.parameter, null), t;
|
|
44347
44377
|
}
|
|
44348
44378
|
})
|
|
@@ -44354,8 +44384,8 @@ function v1(e) {
|
|
|
44354
44384
|
rt(["click"]);
|
|
44355
44385
|
//#endregion
|
|
44356
44386
|
//#region src/panel/views/CloudView.tsx
|
|
44357
|
-
var
|
|
44358
|
-
function
|
|
44387
|
+
var S1 = /*#__PURE__*/ N("<svg aria-hidden width=11 height=11 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=2 stroke-linecap=round stroke-linejoin=round><path d=\"M1 4.5A7 7 0 0 1 13.5 3\"></path><path d=\"M15 11.5A7 7 0 0 1 2.5 13\"></path><polyline points=\"1 1 1 5 5 5\"></polyline><polyline points=\"15 11 15 15 11 15\">"), C1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), w1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text inline-flex items-center gap-1.5 text-[12px] font-semibold\"> Cloud agents</span><span class=\"text-text-faint text-[10.5px] tabular-nums\"> working · updated </span></div><div class=\"border-border flex shrink-0 items-center gap-1 border-b px-3 py-1.5\"></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), T1 = /*#__PURE__*/ N("<button>"), E1 = /*#__PURE__*/ N("<div class=\"grid place-items-center py-10\">"), D1 = /*#__PURE__*/ N("<button class=\"flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 text-left\"title=\"View the thread here\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text hover:text-accent min-w-0 truncate text-[12.5px] font-medium transition-colors\">"), O1 = /*#__PURE__*/ N("<p class=\"text-text-dim line-clamp-2 cursor-pointer text-[11.5px] leading-snug break-words\">"), k1 = /*#__PURE__*/ N("<span class=\"text-text-dim text-[11px]\">"), A1 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), j1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 items-center gap-1.5\"><span class=ml-auto>"), M1 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), N1 = /*#__PURE__*/ N("<span class=\"text-text-dim text-[12.5px]\">Conversation session");
|
|
44388
|
+
function P1() {
|
|
44359
44389
|
let e = _r(() => ({
|
|
44360
44390
|
queryKey: ["cloud-sessions"],
|
|
44361
44391
|
queryFn: gO,
|
|
@@ -44408,7 +44438,7 @@ function j1() {
|
|
|
44408
44438
|
return !c();
|
|
44409
44439
|
},
|
|
44410
44440
|
get fallback() {
|
|
44411
|
-
return j(
|
|
44441
|
+
return j(b1, {
|
|
44412
44442
|
get issueId() {
|
|
44413
44443
|
return c();
|
|
44414
44444
|
},
|
|
@@ -44416,11 +44446,11 @@ function j1() {
|
|
|
44416
44446
|
});
|
|
44417
44447
|
},
|
|
44418
44448
|
get children() {
|
|
44419
|
-
var c =
|
|
44449
|
+
var c = w1(), u = c.firstChild, d = u.firstChild, f = d.firstChild, p = d.nextSibling, m = p.firstChild, h = u.nextSibling, g = h.nextSibling;
|
|
44420
44450
|
return P(d, j(Pj, { size: 13 }), f), P(p, s, m), P(p, () => Wj(e.dataUpdatedAt || Date.now()), null), P(h, j(We, {
|
|
44421
44451
|
each: t,
|
|
44422
44452
|
children: (e) => (() => {
|
|
44423
|
-
var t =
|
|
44453
|
+
var t = T1();
|
|
44424
44454
|
return t.$$click = () => r(e.id), P(t, () => e.label), E(() => st(t, `h-6 shrink-0 cursor-pointer rounded-md px-2 text-[11px] font-medium transition-colors ${n() === e.id ? "bg-accent-soft text-accent" : "text-text-dim hover:bg-surface-2"}`)), t;
|
|
44425
44455
|
})()
|
|
44426
44456
|
}), null), P(h, j(kj, {
|
|
@@ -44432,7 +44462,7 @@ function j1() {
|
|
|
44432
44462
|
"aria-label": "Refresh sessions",
|
|
44433
44463
|
onClick: () => void e.refetch(),
|
|
44434
44464
|
get children() {
|
|
44435
|
-
return
|
|
44465
|
+
return S1();
|
|
44436
44466
|
}
|
|
44437
44467
|
}), null), P(g, j(M, {
|
|
44438
44468
|
get when() {
|
|
@@ -44445,7 +44475,7 @@ function j1() {
|
|
|
44445
44475
|
},
|
|
44446
44476
|
get fallback() {
|
|
44447
44477
|
return (() => {
|
|
44448
|
-
var e =
|
|
44478
|
+
var e = E1();
|
|
44449
44479
|
return P(e, j(Aj, {})), e;
|
|
44450
44480
|
})();
|
|
44451
44481
|
},
|
|
@@ -44458,20 +44488,20 @@ function j1() {
|
|
|
44458
44488
|
});
|
|
44459
44489
|
},
|
|
44460
44490
|
get children() {
|
|
44461
|
-
var e =
|
|
44491
|
+
var e = C1();
|
|
44462
44492
|
return P(e, j(Ge, {
|
|
44463
44493
|
get each() {
|
|
44464
44494
|
return i();
|
|
44465
44495
|
},
|
|
44466
44496
|
children: (e) => (() => {
|
|
44467
|
-
var t =
|
|
44497
|
+
var t = j1(), n = t.firstChild, r = n.firstChild, i = n.nextSibling, s = i.firstChild;
|
|
44468
44498
|
return P(n, j(M, {
|
|
44469
44499
|
get when() {
|
|
44470
44500
|
return /active|pending/i.test(e().status);
|
|
44471
44501
|
},
|
|
44472
44502
|
get fallback() {
|
|
44473
44503
|
return (() => {
|
|
44474
|
-
var t =
|
|
44504
|
+
var t = M1();
|
|
44475
44505
|
return E((n) => dt(t, "background", a(e().status).color)), t;
|
|
44476
44506
|
})();
|
|
44477
44507
|
},
|
|
@@ -44483,10 +44513,10 @@ function j1() {
|
|
|
44483
44513
|
return e().issue;
|
|
44484
44514
|
},
|
|
44485
44515
|
get fallback() {
|
|
44486
|
-
return
|
|
44516
|
+
return N1();
|
|
44487
44517
|
},
|
|
44488
44518
|
get children() {
|
|
44489
|
-
var t =
|
|
44519
|
+
var t = D1(), n = t.firstChild, r = n.nextSibling;
|
|
44490
44520
|
return t.$$click = () => l(e().issue.id), P(n, () => e().issue.identifier), P(r, () => e().issue.title), t;
|
|
44491
44521
|
}
|
|
44492
44522
|
}), r), P(r, () => Wj(e().updatedAt)), P(t, j(M, {
|
|
@@ -44494,7 +44524,7 @@ function j1() {
|
|
|
44494
44524
|
return o(e());
|
|
44495
44525
|
},
|
|
44496
44526
|
get children() {
|
|
44497
|
-
var t =
|
|
44527
|
+
var t = O1();
|
|
44498
44528
|
return t.$$click = () => e().issue && l(e().issue.id), P(t, () => o(e())), t;
|
|
44499
44529
|
}
|
|
44500
44530
|
}), i), P(i, j(zj, {
|
|
@@ -44512,7 +44542,7 @@ function j1() {
|
|
|
44512
44542
|
return [j(Bj, { get color() {
|
|
44513
44543
|
return e().issue.state.color;
|
|
44514
44544
|
} }), (() => {
|
|
44515
|
-
var t =
|
|
44545
|
+
var t = k1();
|
|
44516
44546
|
return P(t, () => e().issue.state.name), t;
|
|
44517
44547
|
})()];
|
|
44518
44548
|
}
|
|
@@ -44528,7 +44558,7 @@ function j1() {
|
|
|
44528
44558
|
"aria-label": "Open thread",
|
|
44529
44559
|
onClick: () => l(e().issue.id),
|
|
44530
44560
|
get children() {
|
|
44531
|
-
return
|
|
44561
|
+
return A1();
|
|
44532
44562
|
}
|
|
44533
44563
|
}), j(Ij, {
|
|
44534
44564
|
get href() {
|
|
@@ -44549,8 +44579,8 @@ function j1() {
|
|
|
44549
44579
|
rt(["click"]);
|
|
44550
44580
|
//#endregion
|
|
44551
44581
|
//#region src/panel/views/RunningView.tsx
|
|
44552
|
-
var
|
|
44553
|
-
function
|
|
44582
|
+
var F1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), I1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Running now</span><span class=\"text-text-faint text-[10.5px] tabular-nums\"> agent<!> active</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), L1 = /*#__PURE__*/ N("<span class=\"font-mono text-text-dim shrink-0 text-[11px]\">"), R1 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), z1 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><button class=\"flex min-w-0 flex-1 cursor-pointer items-center gap-1.5 text-left\"><span class=\"text-text hover:text-accent min-w-0 truncate text-[12.5px] font-medium transition-colors\"></span></button><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim line-clamp-2 text-[11.5px] leading-snug break-words\"></p><div class=\"flex min-w-0 items-center gap-1.5\"><span class=ml-auto>");
|
|
44583
|
+
function B1() {
|
|
44554
44584
|
let e = _r(() => ({
|
|
44555
44585
|
queryKey: ["cloud-sessions"],
|
|
44556
44586
|
queryFn: gO,
|
|
@@ -44591,7 +44621,7 @@ function L1() {
|
|
|
44591
44621
|
return !i();
|
|
44592
44622
|
},
|
|
44593
44623
|
get fallback() {
|
|
44594
|
-
return j(
|
|
44624
|
+
return j(b1, {
|
|
44595
44625
|
get issueId() {
|
|
44596
44626
|
return i();
|
|
44597
44627
|
},
|
|
@@ -44599,7 +44629,7 @@ function L1() {
|
|
|
44599
44629
|
});
|
|
44600
44630
|
},
|
|
44601
44631
|
get children() {
|
|
44602
|
-
var e =
|
|
44632
|
+
var e = I1(), t = e.firstChild, n = t.firstChild.nextSibling, i = n.firstChild, c = i.nextSibling;
|
|
44603
44633
|
c.nextSibling;
|
|
44604
44634
|
var l = t.nextSibling;
|
|
44605
44635
|
return P(n, () => r().length, i), P(n, () => r().length === 1 ? "" : "s", c), P(l, j(M, {
|
|
@@ -44613,13 +44643,13 @@ function L1() {
|
|
|
44613
44643
|
});
|
|
44614
44644
|
},
|
|
44615
44645
|
get children() {
|
|
44616
|
-
var e =
|
|
44646
|
+
var e = F1();
|
|
44617
44647
|
return P(e, j(Ge, {
|
|
44618
44648
|
get each() {
|
|
44619
44649
|
return r();
|
|
44620
44650
|
},
|
|
44621
44651
|
children: (e) => (() => {
|
|
44622
|
-
var t =
|
|
44652
|
+
var t = z1(), n = t.firstChild, r = n.firstChild, i = r.firstChild, c = r.nextSibling, l = n.nextSibling, u = l.nextSibling, d = u.firstChild;
|
|
44623
44653
|
return P(n, j(Aj, { size: 12 }), r), P(n, j(zj, {
|
|
44624
44654
|
get title() {
|
|
44625
44655
|
return e().kind === "cloud" ? "Cursor cloud agent" : "Local Claude Code";
|
|
@@ -44635,7 +44665,7 @@ function L1() {
|
|
|
44635
44665
|
return e().kind === "cloud";
|
|
44636
44666
|
},
|
|
44637
44667
|
get children() {
|
|
44638
|
-
var t =
|
|
44668
|
+
var t = L1();
|
|
44639
44669
|
return P(t, () => e().session.issue?.identifier), t;
|
|
44640
44670
|
}
|
|
44641
44671
|
}), i), P(i, (() => {
|
|
@@ -44676,7 +44706,7 @@ function L1() {
|
|
|
44676
44706
|
t.kind === "cloud" && t.session.issue ? a(t.session.issue.id) : t.kind === "local" && oj("local");
|
|
44677
44707
|
},
|
|
44678
44708
|
get children() {
|
|
44679
|
-
return
|
|
44709
|
+
return R1();
|
|
44680
44710
|
}
|
|
44681
44711
|
}), null), E(() => it(r, "title", e().kind === "cloud" ? "View the thread here" : "Open the Local tab")), t;
|
|
44682
44712
|
})()
|
|
@@ -44689,7 +44719,7 @@ function L1() {
|
|
|
44689
44719
|
//#endregion
|
|
44690
44720
|
//#region src/panel/views/LocalView.tsx
|
|
44691
44721
|
rt(["click"]), Br();
|
|
44692
|
-
var
|
|
44722
|
+
var V1 = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end rounded-lg border px-2.5 py-1.5\"><p class=\"text-accent mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase\">You</p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), H1 = /*#__PURE__*/ N("<div><p></p><div class=\"lg-md text-text text-[11.5px] leading-relaxed break-words\">"), U1 = /*#__PURE__*/ N("<p>"), W1 = /*#__PURE__*/ N("<span class=\"text-text-faint max-w-[55%] truncate text-[10.5px] tabular-nums\"> running<!> · "), G1 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), K1 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Local Claude Code</span></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), q1 = /*#__PURE__*/ N("<span class=\"bg-surface-2 border-border font-mono mt-2 block rounded-md border px-2 py-1.5 text-[11px] select-all\">npx linear-grab-bridge"), J1 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">ctx <!> · out "), Y1 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), X1 = /*#__PURE__*/ N("<option selected>"), Z1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.8a.8.8 0 0 1 1.22-.68l8 5.2a.8.8 0 0 1 0 1.36l-8 5.2a.8.8 0 0 1-1.22-.68V2.8Z\">"), Q1 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), $1 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><path d=\"M14 10a2 2 0 0 1-2 2H6l-3.5 2.5V4a2 2 0 0 1 2-2H12a2 2 0 0 1 2 2v6Z\">"), e0 = /*#__PURE__*/ N("<svg width=11 height=11 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3 y=3 width=10 height=10 rx=1.5>"), t0 = /*#__PURE__*/ N("<span class=\"font-mono text-text-faint min-w-0 truncate text-[10.5px]\">"), n0 = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex flex-col gap-1 rounded-md border p-2\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text-dim text-[10.5px] font-semibold tracking-wide uppercase\">Changes</span><span class=\"ml-auto shrink-0 text-[10.5px] tabular-nums\"><span class=text-success>+</span> <span class=text-danger>−"), r0 = /*#__PURE__*/ N("<div class=\"border-border bg-bg flex max-h-80 flex-col gap-1.5 overflow-y-auto rounded-md border py-2 pl-2 pr-3\">"), i0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=2.2></circle><path d=\"M8 1v3M8 12v3M1 8h3M12 8h3\">"), a0 = /*#__PURE__*/ N("<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=\"M13 7.5 8.2 12.3a3.2 3.2 0 0 1-4.5-4.5L8.9 2.6a2.1 2.1 0 0 1 3 3L7.1 10.4a1 1 0 0 1-1.5-1.5l4.3-4.3\">"), o0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><path d=\"M8 2v4M8 10v4M2 8h4M10 8h4M4.5 4.5 6 6M11.5 11.5 10 10M11.5 4.5 10 6M4.5 11.5 6 10\">"), s0 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[4ch] text-center\">Send"), c0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\"><div class=\"flex items-center gap-1\"><span class=\"text-text-faint min-w-0 flex-1 truncate text-[10.5px]\">"), l0 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"text-text min-w-0 truncate text-[12.5px] font-medium\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><p class=\"text-text-dim text-[11.5px] leading-snug break-words\"></p><div class=\"flex flex-wrap items-center gap-1.5\"></div><div class=\"flex items-center gap-1\">"), u0 = /*#__PURE__*/ N("<span aria-hidden class=\"size-2 shrink-0 rounded-full\">"), d0 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\">"), f0 = /*#__PURE__*/ N("<option>"), p0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), m0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M2.5 3.5 6 7 2.5 10.5M7.5 12.5h6\">"), h0 = /*#__PURE__*/ N("<span class=text-success>+"), g0 = /*#__PURE__*/ N("<span class=text-danger>−"), _0 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"shrink-0 text-[10px] tabular-nums\">"), v0 = /*#__PURE__*/ N("<span class=text-text-faint>bin"), y0 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim min-w-0 flex-1 truncate text-[10.5px]\"></span><span class=\"text-success shrink-0 text-[10px]\">new"), b0 = /*#__PURE__*/ N("<div class=\"flex min-w-0 items-center gap-1.5 pt-0.5\"><a target=_blank rel=noreferrer class=\"text-accent min-w-0 truncate text-[11px] hover:underline\">"), x0 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[11px]\">Waiting for output…"), S0 = [
|
|
44693
44723
|
{
|
|
44694
44724
|
id: "",
|
|
44695
44725
|
label: "Default model"
|
|
@@ -44711,13 +44741,13 @@ var R1 = /*#__PURE__*/ N("<div class=\"border-accent/40 bg-accent-soft self-end
|
|
|
44711
44741
|
label: "Haiku"
|
|
44712
44742
|
}
|
|
44713
44743
|
];
|
|
44714
|
-
function
|
|
44744
|
+
function C0(e, t) {
|
|
44715
44745
|
let n = e.split(".").map(Number), r = t.split(".").map(Number);
|
|
44716
44746
|
for (let e = 0; e < 3; e++) if ((n[e] ?? 0) !== (r[e] ?? 0)) return (n[e] ?? 0) < (r[e] ?? 0);
|
|
44717
44747
|
return !1;
|
|
44718
44748
|
}
|
|
44719
|
-
var
|
|
44720
|
-
function
|
|
44749
|
+
var w0 = (e) => e == null ? "–" : e >= 1e3 ? `${(e / 1e3).toFixed(e >= 1e5 ? 0 : 1)}k` : String(e);
|
|
44750
|
+
function T0() {
|
|
44721
44751
|
let e = sr(), t = _r(() => ({
|
|
44722
44752
|
queryKey: ["bridge-health"],
|
|
44723
44753
|
queryFn: MO,
|
|
@@ -44770,7 +44800,7 @@ function S0() {
|
|
|
44770
44800
|
let y = async () => {
|
|
44771
44801
|
m(!0);
|
|
44772
44802
|
try {
|
|
44773
|
-
let { block: e, failed: t } = await
|
|
44803
|
+
let { block: e, failed: t } = await f$();
|
|
44774
44804
|
e && f((t) => `${t ? `${t}\n` : ""}${e}\n`), t.length && f((e) => `${e}\n<!-- upload issues: ${t.join(" · ")} -->\n`);
|
|
44775
44805
|
} finally {
|
|
44776
44806
|
m(!1);
|
|
@@ -44802,20 +44832,20 @@ function S0() {
|
|
|
44802
44832
|
await navigator.clipboard.writeText(YO(e)), k(e.id), setTimeout(() => k(null), 1800);
|
|
44803
44833
|
} catch {}
|
|
44804
44834
|
}, ne = (e) => e === "running" ? "var(--color-accent)" : e === "done" ? "var(--color-success)" : e === "stopped" ? "var(--color-warn)" : "var(--color-danger)", re = (e) => {
|
|
44805
|
-
let t = e.line.kind, n = O(() =>
|
|
44835
|
+
let t = e.line.kind, n = O(() => S$(e.line.text));
|
|
44806
44836
|
return t === "user" ? (() => {
|
|
44807
|
-
var e =
|
|
44837
|
+
var e = V1(), t = e.firstChild.nextSibling;
|
|
44808
44838
|
return E(() => t.innerHTML = n()), e;
|
|
44809
44839
|
})() : t === "assistant" || t === "result" ? (() => {
|
|
44810
|
-
var e =
|
|
44840
|
+
var e = H1(), r = e.firstChild, i = r.nextSibling;
|
|
44811
44841
|
return st(e, `bg-surface rounded-lg border px-2.5 py-1.5 ${t === "result" ? "border-success/40" : "border-border"}`), st(r, `mb-0.5 text-[9.5px] font-semibold tracking-wide uppercase ${t === "result" ? "text-success" : "text-text-faint"}`), P(r, t === "result" ? "Result" : "Claude"), E(() => i.innerHTML = n()), e;
|
|
44812
44842
|
})() : (() => {
|
|
44813
|
-
var n =
|
|
44843
|
+
var n = U1();
|
|
44814
44844
|
return st(n, `font-mono px-1 text-[10px] leading-relaxed break-words ${t === "subagent" ? "text-warn" : t === "stderr" ? "text-danger" : "text-text-faint"}`), P(n, () => e.line.text), n;
|
|
44815
44845
|
})();
|
|
44816
44846
|
};
|
|
44817
44847
|
return (() => {
|
|
44818
|
-
var e =
|
|
44848
|
+
var e = K1(), a = e.firstChild;
|
|
44819
44849
|
a.firstChild;
|
|
44820
44850
|
var l = a.nextSibling;
|
|
44821
44851
|
return P(a, j(M, {
|
|
@@ -44831,7 +44861,7 @@ function S0() {
|
|
|
44831
44861
|
get children() {
|
|
44832
44862
|
return [j(M, {
|
|
44833
44863
|
get when() {
|
|
44834
|
-
return
|
|
44864
|
+
return C0(t.data.version, "0.15.1");
|
|
44835
44865
|
},
|
|
44836
44866
|
get children() {
|
|
44837
44867
|
return j(zj, {
|
|
@@ -44847,7 +44877,7 @@ function S0() {
|
|
|
44847
44877
|
});
|
|
44848
44878
|
}
|
|
44849
44879
|
}), (() => {
|
|
44850
|
-
var e =
|
|
44880
|
+
var e = W1(), r = e.firstChild, i = r.nextSibling;
|
|
44851
44881
|
return i.nextSibling, P(e, () => t.data.active, r), P(e, () => {
|
|
44852
44882
|
let e = (n.data ?? []).reduce((e, t) => e + (t.usage?.costUsd ?? 0), 0);
|
|
44853
44883
|
return e > 0 ? ` · Σ $${e.toFixed(2)}` : "";
|
|
@@ -44864,7 +44894,7 @@ function S0() {
|
|
|
44864
44894
|
get children() {
|
|
44865
44895
|
return [
|
|
44866
44896
|
"Start it in your repo's terminal:",
|
|
44867
|
-
|
|
44897
|
+
q1(),
|
|
44868
44898
|
"Then delegate from the Draft tab (\"Local Claude Code\") or watch tasks here. Sessions stay interactive — send follow-ups, switch models, interrupt, resume in your terminal. History persists across restarts."
|
|
44869
44899
|
];
|
|
44870
44900
|
}
|
|
@@ -44882,20 +44912,20 @@ function S0() {
|
|
|
44882
44912
|
});
|
|
44883
44913
|
},
|
|
44884
44914
|
get children() {
|
|
44885
|
-
var e =
|
|
44915
|
+
var e = G1();
|
|
44886
44916
|
return P(e, j(Ge, {
|
|
44887
44917
|
get each() {
|
|
44888
44918
|
return n.data;
|
|
44889
44919
|
},
|
|
44890
44920
|
children: (e) => (() => {
|
|
44891
|
-
var t =
|
|
44921
|
+
var t = l0(), n = t.firstChild, a = n.firstChild, l = a.nextSibling, m = n.nextSibling, h = m.nextSibling, g = h.nextSibling;
|
|
44892
44922
|
return P(n, j(M, {
|
|
44893
44923
|
get when() {
|
|
44894
44924
|
return e().status === "running";
|
|
44895
44925
|
},
|
|
44896
44926
|
get fallback() {
|
|
44897
44927
|
return (() => {
|
|
44898
|
-
var t =
|
|
44928
|
+
var t = u0();
|
|
44899
44929
|
return E((n) => dt(t, "background", ne(e().status))), t;
|
|
44900
44930
|
})();
|
|
44901
44931
|
},
|
|
@@ -44948,8 +44978,8 @@ function S0() {
|
|
|
44948
44978
|
return e().usage;
|
|
44949
44979
|
},
|
|
44950
44980
|
get children() {
|
|
44951
|
-
var t =
|
|
44952
|
-
return n.nextSibling, P(t, () =>
|
|
44981
|
+
var t = J1(), n = t.firstChild.nextSibling;
|
|
44982
|
+
return n.nextSibling, P(t, () => w0(e().usage.contextTokens), n), P(t, () => w0(e().usage.outputTokens), null), P(t, (() => {
|
|
44953
44983
|
var t = $e(() => !!e().usage.costUsd);
|
|
44954
44984
|
return () => t() ? ` · $${e().usage.costUsd.toFixed(2)}` : "";
|
|
44955
44985
|
})(), null), t;
|
|
@@ -44959,7 +44989,7 @@ function S0() {
|
|
|
44959
44989
|
return o(e());
|
|
44960
44990
|
},
|
|
44961
44991
|
children: (e) => (() => {
|
|
44962
|
-
var t =
|
|
44992
|
+
var t = d0();
|
|
44963
44993
|
return P(t, j(zj, { get children() {
|
|
44964
44994
|
return e().state.name;
|
|
44965
44995
|
} }), null), P(t, j(Ij, {
|
|
@@ -44974,7 +45004,7 @@ function S0() {
|
|
|
44974
45004
|
return $e(() => !!e().worktree)() && !e().worktree.removed;
|
|
44975
45005
|
},
|
|
44976
45006
|
get children() {
|
|
44977
|
-
var t =
|
|
45007
|
+
var t = Y1(), n = t.firstChild;
|
|
44978
45008
|
return P(t, j(zj, {
|
|
44979
45009
|
class: "text-warn",
|
|
44980
45010
|
children: "⎇ worktree"
|
|
@@ -45010,17 +45040,17 @@ function S0() {
|
|
|
45010
45040
|
title: "Model — applies from the next message",
|
|
45011
45041
|
get children() {
|
|
45012
45042
|
return [j(We, {
|
|
45013
|
-
each:
|
|
45043
|
+
each: S0,
|
|
45014
45044
|
children: (t) => (() => {
|
|
45015
|
-
var n =
|
|
45045
|
+
var n = f0();
|
|
45016
45046
|
return P(n, () => t.label), E(() => n.selected = (e().pendingModel ?? e().model ?? "") === t.id), E(() => n.value = t.id), n;
|
|
45017
45047
|
})()
|
|
45018
45048
|
}), j(M, {
|
|
45019
45049
|
get when() {
|
|
45020
|
-
return !
|
|
45050
|
+
return !S0.some((t) => t.id === (e().pendingModel ?? e().model ?? ""));
|
|
45021
45051
|
},
|
|
45022
45052
|
get children() {
|
|
45023
|
-
var t =
|
|
45053
|
+
var t = X1();
|
|
45024
45054
|
return P(t, () => e().pendingModel ?? e().model), E(() => t.value = e().pendingModel ?? e().model ?? ""), t;
|
|
45025
45055
|
}
|
|
45026
45056
|
})];
|
|
@@ -45045,7 +45075,7 @@ function S0() {
|
|
|
45045
45075
|
text: "Continue where you left off. If the work is already complete, finish any remaining closeout steps (PR, Linear update, announcement)."
|
|
45046
45076
|
}),
|
|
45047
45077
|
get children() {
|
|
45048
|
-
return
|
|
45078
|
+
return Z1();
|
|
45049
45079
|
}
|
|
45050
45080
|
});
|
|
45051
45081
|
}
|
|
@@ -45059,7 +45089,7 @@ function S0() {
|
|
|
45059
45089
|
title: "Open the issue's Activity thread",
|
|
45060
45090
|
onClick: () => oj("activity", e().id),
|
|
45061
45091
|
get children() {
|
|
45062
|
-
return
|
|
45092
|
+
return p0();
|
|
45063
45093
|
}
|
|
45064
45094
|
})
|
|
45065
45095
|
}), null), P(g, j(kj, {
|
|
@@ -45078,10 +45108,10 @@ function S0() {
|
|
|
45078
45108
|
return te() === e().id;
|
|
45079
45109
|
},
|
|
45080
45110
|
get fallback() {
|
|
45081
|
-
return
|
|
45111
|
+
return m0();
|
|
45082
45112
|
},
|
|
45083
45113
|
get children() {
|
|
45084
|
-
return
|
|
45114
|
+
return Q1();
|
|
45085
45115
|
}
|
|
45086
45116
|
});
|
|
45087
45117
|
}
|
|
@@ -45093,7 +45123,7 @@ function S0() {
|
|
|
45093
45123
|
},
|
|
45094
45124
|
onClick: () => i(r() === e().id ? null : e().id),
|
|
45095
45125
|
get children() {
|
|
45096
|
-
return
|
|
45126
|
+
return $1();
|
|
45097
45127
|
}
|
|
45098
45128
|
}), null), P(g, j(M, {
|
|
45099
45129
|
get when() {
|
|
@@ -45109,7 +45139,7 @@ function S0() {
|
|
|
45109
45139
|
title: "Interrupt — the session stays resumable",
|
|
45110
45140
|
onClick: () => u.mutate(e().id),
|
|
45111
45141
|
get children() {
|
|
45112
|
-
return
|
|
45142
|
+
return e0();
|
|
45113
45143
|
}
|
|
45114
45144
|
});
|
|
45115
45145
|
}
|
|
@@ -45124,7 +45154,7 @@ function S0() {
|
|
|
45124
45154
|
return $e(() => !!c.data)() && (c.data.files.length || c.data.untracked.length || c.data.prs.length);
|
|
45125
45155
|
},
|
|
45126
45156
|
get children() {
|
|
45127
|
-
var e =
|
|
45157
|
+
var e = n0(), t = e.firstChild, n = t.firstChild.nextSibling, r = n.firstChild;
|
|
45128
45158
|
r.firstChild;
|
|
45129
45159
|
var i = r.nextSibling.nextSibling;
|
|
45130
45160
|
return i.firstChild, P(t, j(M, {
|
|
@@ -45132,7 +45162,7 @@ function S0() {
|
|
|
45132
45162
|
return c.data.branch;
|
|
45133
45163
|
},
|
|
45134
45164
|
get children() {
|
|
45135
|
-
var e =
|
|
45165
|
+
var e = t0();
|
|
45136
45166
|
return P(e, () => c.data.branch), e;
|
|
45137
45167
|
}
|
|
45138
45168
|
}), n), P(r, () => c.data.totalAdded, null), P(i, () => c.data.totalDeleted, null), P(e, j(We, {
|
|
@@ -45140,23 +45170,23 @@ function S0() {
|
|
|
45140
45170
|
return c.data.files;
|
|
45141
45171
|
},
|
|
45142
45172
|
children: (e) => (() => {
|
|
45143
|
-
var t =
|
|
45173
|
+
var t = _0(), n = t.firstChild, r = n.nextSibling;
|
|
45144
45174
|
return P(n, () => e.path), P(r, j(M, {
|
|
45145
45175
|
get when() {
|
|
45146
45176
|
return !e.binary;
|
|
45147
45177
|
},
|
|
45148
45178
|
get fallback() {
|
|
45149
|
-
return
|
|
45179
|
+
return v0();
|
|
45150
45180
|
},
|
|
45151
45181
|
get children() {
|
|
45152
45182
|
return [
|
|
45153
45183
|
(() => {
|
|
45154
|
-
var t =
|
|
45184
|
+
var t = h0();
|
|
45155
45185
|
return t.firstChild, P(t, () => e.added, null), t;
|
|
45156
45186
|
})(),
|
|
45157
45187
|
" ",
|
|
45158
45188
|
(() => {
|
|
45159
|
-
var t =
|
|
45189
|
+
var t = g0();
|
|
45160
45190
|
return t.firstChild, P(t, () => e.deleted, null), t;
|
|
45161
45191
|
})()
|
|
45162
45192
|
];
|
|
@@ -45168,7 +45198,7 @@ function S0() {
|
|
|
45168
45198
|
return c.data.untracked;
|
|
45169
45199
|
},
|
|
45170
45200
|
children: (e) => (() => {
|
|
45171
|
-
var t =
|
|
45201
|
+
var t = y0(), n = t.firstChild;
|
|
45172
45202
|
return it(n, "title", e), P(n, e), t;
|
|
45173
45203
|
})()
|
|
45174
45204
|
}), null), P(e, j(We, {
|
|
@@ -45176,7 +45206,7 @@ function S0() {
|
|
|
45176
45206
|
return c.data.prs;
|
|
45177
45207
|
},
|
|
45178
45208
|
children: (e) => (() => {
|
|
45179
|
-
var t =
|
|
45209
|
+
var t = b0(), n = t.firstChild;
|
|
45180
45210
|
return P(t, j(zj, {
|
|
45181
45211
|
class: "text-accent",
|
|
45182
45212
|
get children() {
|
|
@@ -45194,7 +45224,7 @@ function S0() {
|
|
|
45194
45224
|
}
|
|
45195
45225
|
}),
|
|
45196
45226
|
(() => {
|
|
45197
|
-
var e =
|
|
45227
|
+
var e = r0();
|
|
45198
45228
|
return e.addEventListener("scroll", ee), pt((e) => {
|
|
45199
45229
|
C = e, w = !0;
|
|
45200
45230
|
}, e), P(e, j(M, {
|
|
@@ -45202,7 +45232,7 @@ function S0() {
|
|
|
45202
45232
|
return (s.data?.tail ?? []).length > 0;
|
|
45203
45233
|
},
|
|
45204
45234
|
get fallback() {
|
|
45205
|
-
return
|
|
45235
|
+
return x0();
|
|
45206
45236
|
},
|
|
45207
45237
|
get children() {
|
|
45208
45238
|
return j(Ge, {
|
|
@@ -45217,7 +45247,7 @@ function S0() {
|
|
|
45217
45247
|
})), e;
|
|
45218
45248
|
})(),
|
|
45219
45249
|
(() => {
|
|
45220
|
-
var t =
|
|
45250
|
+
var t = c0(), n = t.firstChild, r = n.firstChild;
|
|
45221
45251
|
return P(t, j(Mj, {
|
|
45222
45252
|
rows: 2,
|
|
45223
45253
|
get placeholder() {
|
|
@@ -45237,7 +45267,7 @@ function S0() {
|
|
|
45237
45267
|
"aria-label": "Pick element",
|
|
45238
45268
|
onClick: v,
|
|
45239
45269
|
get children() {
|
|
45240
|
-
return
|
|
45270
|
+
return i0();
|
|
45241
45271
|
}
|
|
45242
45272
|
}), null), P(n, j(kj, {
|
|
45243
45273
|
variant: "ghost",
|
|
@@ -45249,7 +45279,7 @@ function S0() {
|
|
|
45249
45279
|
"aria-label": "Attach captures",
|
|
45250
45280
|
onClick: () => void y(),
|
|
45251
45281
|
get children() {
|
|
45252
|
-
return
|
|
45282
|
+
return a0();
|
|
45253
45283
|
}
|
|
45254
45284
|
}), null), P(n, j(kj, {
|
|
45255
45285
|
variant: "ghost",
|
|
@@ -45264,7 +45294,7 @@ function S0() {
|
|
|
45264
45294
|
text: "/compact"
|
|
45265
45295
|
}),
|
|
45266
45296
|
get children() {
|
|
45267
|
-
return
|
|
45297
|
+
return o0();
|
|
45268
45298
|
}
|
|
45269
45299
|
}), null), P(n, j(kj, {
|
|
45270
45300
|
variant: "primary",
|
|
@@ -45280,7 +45310,7 @@ function S0() {
|
|
|
45280
45310
|
text: d().trim()
|
|
45281
45311
|
}),
|
|
45282
45312
|
get children() {
|
|
45283
|
-
return
|
|
45313
|
+
return s0();
|
|
45284
45314
|
}
|
|
45285
45315
|
}), null), t;
|
|
45286
45316
|
})()
|
|
@@ -45298,13 +45328,13 @@ function S0() {
|
|
|
45298
45328
|
//#endregion
|
|
45299
45329
|
//#region src/panel/views/PrsView.tsx
|
|
45300
45330
|
Br();
|
|
45301
|
-
var
|
|
45302
|
-
function
|
|
45331
|
+
var E0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] tabular-nums\">/<!> from your issues"), D0 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), O0 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col\"><div class=\"border-border flex shrink-0 items-center justify-between border-b px-3 py-2\"><span class=\"text-text text-[12px] font-semibold\">Pull requests</span></div><div class=\"border-border flex shrink-0 items-center gap-1.5 border-b px-3 py-1.5\"><div class=\"bg-surface-2 border-border flex shrink-0 rounded-md border p-0.5\"></div></div><div class=\"min-h-0 flex-1 overflow-y-auto pt-2 pb-3 pl-2 pr-3\">"), k0 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px]\"title=\"Merge states come from gh via the bridge\">states unknown — restart the bridge"), A0 = /*#__PURE__*/ N("<button>"), j0 = /*#__PURE__*/ N("<span class=\"text-success text-[11px]\">✓"), M0 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), N0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=1.6 fill=currentColor stroke=none>"), P0 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), F0 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-1.5 rounded-lg border p-2.5\"><a target=_blank rel=noreferrer class=\"text-accent truncate text-[12.5px] font-medium hover:underline\"></a><div class=\"flex min-w-0 items-center gap-1.5\"><span class=\"font-mono text-text-dim shrink-0 text-[11px]\"></span><span class=\"text-text-dim truncate text-[11.5px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"></span></div><div class=\"flex min-w-0 flex-wrap items-center gap-1.5\"><div class=\"ml-auto flex shrink-0 items-center gap-1\">"), I0 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round aria-hidden><path d=\"M8 2 14 5.5 8 9 2 5.5 8 2Z\"></path><path d=\"M2 10.5 8 14l6-3.5\">"), L0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=4 cy=3.5 r=1.5></circle><circle cx=4 cy=12.5 r=1.5></circle><circle cx=12 cy=8 r=1.5></circle><path d=\"M4 5v6M4 6.5c0 2 2 3 4.5 3h2\">"), R0 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linejoin=round aria-hidden><rect x=5.5 y=5.5 width=9 height=9 rx=1.5></rect><path d=\"M10.5 5.5v-2a2 2 0 0 0-2-2h-5a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h2\">"), z0 = /github\.com\/[^/]+\/[^/]+\/pull\/\d+/i;
|
|
45332
|
+
function B0(e) {
|
|
45303
45333
|
let t = _r(() => ({
|
|
45304
45334
|
queryKey: ["my-issues"],
|
|
45305
45335
|
queryFn: fO,
|
|
45306
45336
|
refetchInterval: 15e3
|
|
45307
|
-
})), n = O(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) =>
|
|
45337
|
+
})), n = O(() => (t.data ?? []).flatMap((e) => (e.attachments ?? []).filter((e) => z0.test(e.url)).map((t) => ({
|
|
45308
45338
|
issue: e,
|
|
45309
45339
|
attachment: t
|
|
45310
45340
|
})))), r = _r(() => ({
|
|
@@ -45353,7 +45383,7 @@ function L0(e) {
|
|
|
45353
45383
|
} catch {}
|
|
45354
45384
|
};
|
|
45355
45385
|
return (() => {
|
|
45356
|
-
var r =
|
|
45386
|
+
var r = O0(), o = r.firstChild;
|
|
45357
45387
|
o.firstChild;
|
|
45358
45388
|
var m = o.nextSibling, _ = m.firstChild, y = m.nextSibling;
|
|
45359
45389
|
return P(o, j(M, {
|
|
@@ -45361,10 +45391,10 @@ function L0(e) {
|
|
|
45361
45391
|
return !i.isError;
|
|
45362
45392
|
},
|
|
45363
45393
|
get fallback() {
|
|
45364
|
-
return
|
|
45394
|
+
return k0();
|
|
45365
45395
|
},
|
|
45366
45396
|
get children() {
|
|
45367
|
-
var e =
|
|
45397
|
+
var e = E0(), t = e.firstChild, r = t.nextSibling;
|
|
45368
45398
|
return r.nextSibling, P(e, () => p().length, t), P(e, () => n().length, r), e;
|
|
45369
45399
|
}
|
|
45370
45400
|
}), null), P(_, j(We, {
|
|
@@ -45387,7 +45417,7 @@ function L0(e) {
|
|
|
45387
45417
|
}
|
|
45388
45418
|
],
|
|
45389
45419
|
children: (e) => (() => {
|
|
45390
|
-
var t =
|
|
45420
|
+
var t = A0();
|
|
45391
45421
|
return t.$$click = () => u(e.id), P(t, () => e.label), E(() => st(t, `rounded-[5px] px-2 py-0.5 text-[11px] font-medium transition-colors ${l() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
45392
45422
|
})()
|
|
45393
45423
|
})), P(m, j(jj, {
|
|
@@ -45410,13 +45440,13 @@ function L0(e) {
|
|
|
45410
45440
|
});
|
|
45411
45441
|
},
|
|
45412
45442
|
get children() {
|
|
45413
|
-
var t =
|
|
45443
|
+
var t = D0();
|
|
45414
45444
|
return P(t, j(We, {
|
|
45415
45445
|
get each() {
|
|
45416
45446
|
return p();
|
|
45417
45447
|
},
|
|
45418
45448
|
children: (t) => (() => {
|
|
45419
|
-
var n =
|
|
45449
|
+
var n = F0(), r = n.firstChild, o = r.nextSibling, l = o.firstChild, u = l.nextSibling, d = u.nextSibling, f = o.nextSibling, p = f.firstChild;
|
|
45420
45450
|
return P(r, () => t.attachment.title || t.attachment.url), P(n, j(M, {
|
|
45421
45451
|
get when() {
|
|
45422
45452
|
return i.data?.previews[t.attachment.url];
|
|
@@ -45504,10 +45534,10 @@ function L0(e) {
|
|
|
45504
45534
|
return v().has(t.attachment.url);
|
|
45505
45535
|
},
|
|
45506
45536
|
get fallback() {
|
|
45507
|
-
return
|
|
45537
|
+
return I0();
|
|
45508
45538
|
},
|
|
45509
45539
|
get children() {
|
|
45510
|
-
return
|
|
45540
|
+
return j0();
|
|
45511
45541
|
}
|
|
45512
45542
|
});
|
|
45513
45543
|
}
|
|
@@ -45534,10 +45564,10 @@ function L0(e) {
|
|
|
45534
45564
|
return a().has(t.attachment.url);
|
|
45535
45565
|
},
|
|
45536
45566
|
get fallback() {
|
|
45537
|
-
return
|
|
45567
|
+
return L0();
|
|
45538
45568
|
},
|
|
45539
45569
|
get children() {
|
|
45540
|
-
return
|
|
45570
|
+
return M0();
|
|
45541
45571
|
}
|
|
45542
45572
|
});
|
|
45543
45573
|
}
|
|
@@ -45550,7 +45580,7 @@ function L0(e) {
|
|
|
45550
45580
|
oj("activity", t.issue.id), e.onOpenIssue();
|
|
45551
45581
|
},
|
|
45552
45582
|
get children() {
|
|
45553
|
-
return
|
|
45583
|
+
return N0();
|
|
45554
45584
|
}
|
|
45555
45585
|
}), null), P(p, j(kj, {
|
|
45556
45586
|
variant: "ghost",
|
|
@@ -45564,10 +45594,10 @@ function L0(e) {
|
|
|
45564
45594
|
return C() === t.attachment.id;
|
|
45565
45595
|
},
|
|
45566
45596
|
get fallback() {
|
|
45567
|
-
return
|
|
45597
|
+
return R0();
|
|
45568
45598
|
},
|
|
45569
45599
|
get children() {
|
|
45570
|
-
return
|
|
45600
|
+
return P0();
|
|
45571
45601
|
}
|
|
45572
45602
|
});
|
|
45573
45603
|
}
|
|
@@ -45576,7 +45606,7 @@ function L0(e) {
|
|
|
45576
45606
|
return v().has(t.attachment.url);
|
|
45577
45607
|
},
|
|
45578
45608
|
get children() {
|
|
45579
|
-
return j(
|
|
45609
|
+
return j(u$, {
|
|
45580
45610
|
get url() {
|
|
45581
45611
|
return t.attachment.url;
|
|
45582
45612
|
},
|
|
@@ -45601,7 +45631,7 @@ function L0(e) {
|
|
|
45601
45631
|
rt(["click"]);
|
|
45602
45632
|
//#endregion
|
|
45603
45633
|
//#region src/lib/projectConfig.ts
|
|
45604
|
-
var
|
|
45634
|
+
var V0 = [
|
|
45605
45635
|
"defaultTeamId",
|
|
45606
45636
|
"defaultProjectId",
|
|
45607
45637
|
"defaultLabelIds",
|
|
@@ -45616,29 +45646,29 @@ var R0 = [
|
|
|
45616
45646
|
"issueTemplate",
|
|
45617
45647
|
"testUsername"
|
|
45618
45648
|
];
|
|
45619
|
-
function
|
|
45649
|
+
function H0(e) {
|
|
45620
45650
|
let t = {};
|
|
45621
|
-
for (let n of
|
|
45651
|
+
for (let n of V0) {
|
|
45622
45652
|
let r = e[n];
|
|
45623
45653
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
45624
45654
|
}
|
|
45625
45655
|
return t;
|
|
45626
45656
|
}
|
|
45627
|
-
function
|
|
45657
|
+
function U0(e, t) {
|
|
45628
45658
|
let n = {};
|
|
45629
|
-
for (let r of
|
|
45659
|
+
for (let r of V0) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
45630
45660
|
return Object.keys(n).length ? n : null;
|
|
45631
45661
|
}
|
|
45632
45662
|
//#endregion
|
|
45633
45663
|
//#region src/lib/linear/auth.ts
|
|
45634
45664
|
Br();
|
|
45635
|
-
function
|
|
45665
|
+
function W0(e) {
|
|
45636
45666
|
let t = "";
|
|
45637
45667
|
for (let n of e) t += String.fromCharCode(n);
|
|
45638
45668
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
45639
45669
|
}
|
|
45640
|
-
async function
|
|
45641
|
-
let t =
|
|
45670
|
+
async function G0(e) {
|
|
45671
|
+
let t = W0(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = W0(new Uint8Array(n)), i = W0(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
45642
45672
|
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");
|
|
45643
45673
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
45644
45674
|
url: o.toString(),
|
|
@@ -45666,15 +45696,15 @@ async function H0(e) {
|
|
|
45666
45696
|
linearOauthClientId: e
|
|
45667
45697
|
});
|
|
45668
45698
|
}
|
|
45669
|
-
async function
|
|
45699
|
+
async function K0() {
|
|
45670
45700
|
await Er({
|
|
45671
45701
|
linearAccessToken: void 0,
|
|
45672
45702
|
linearApiKey: void 0
|
|
45673
45703
|
});
|
|
45674
45704
|
}
|
|
45675
45705
|
Br(), Sr(), Fx(), gD();
|
|
45676
|
-
var
|
|
45677
|
-
function
|
|
45706
|
+
var q0 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), J0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Cloud: picking an element opens the panel to draft & delegate to the Cursor agent. Local (react-grab style): picking auto-copies the element's context — source, stack, and your skills/memory paths — straight to the clipboard for a local Claude Code or Cursor session; the panel stays out of the way. Both share the same picker; switch anytime."), Y0 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Element screenshots"), X0 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Captures a highlighted screenshot of each picked element and attaches it to the issue. Costs a beat on huge pages — with this off, picking is instant (pure react-grab speed)."), Z0 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), Q0 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex items-center justify-between rounded-lg border p-2.5\"><span class=\"text-text text-[12px]\">"), $0 = /*#__PURE__*/ N("<option value>Select a team…"), e2 = /*#__PURE__*/ N("<option value>No project"), t2 = /*#__PURE__*/ N("<div class=\"flex flex-wrap gap-1\">"), n2 = /*#__PURE__*/ N("<label class=\"flex items-start gap-2\"><input type=checkbox class=\"accent-accent mt-0.5\"><span class=\"flex flex-col gap-0.5\"><span class=text-[12px]>Let agents close out Linear themselves</span><span class=\"text-text-faint text-[10.5px] leading-snug\">Embeds your Linear API key + raw GraphQL closeout recipes in every issue's Agent instructions — cloud agent VMs have no authenticated Linear MCP, so without this they can't comment, attach media, or move the issue. The key is visible to anyone who can read the issue."), r2 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), i2 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), a2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), o2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Mode</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">Beside page squeezes the app next to the panel, DevTools-style — nothing gets covered. Also toggleable from the dock icon in the panel header."), s2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), c2 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[10.5px] leading-snug\">A committed <code>.lineargrab.json</code> at the repo root (where the bridge runs) shares team/project/labels, skills, staging branch, and workflow defaults with every machine and teammate — it seeds any setting you haven't set locally. Secrets never belong in it."), l2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), u2 = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\">"), d2 = /*#__PURE__*/ N("<option value>Select a channel…"), f2 = /*#__PURE__*/ N("<label class=\"flex cursor-pointer items-center gap-2 select-none\"><input type=checkbox class=\"accent-accent rounded\"><span class=\"text-text text-[12px]\">Announce new issues on create"), p2 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">⚠️ Tokens are embedded in issue Agent-instructions so agents can post the finished demo — everyone who can read the issue can read them. Use single-channel-scoped bots."), m2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Provider preference</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"><button>Auto</button><button>OpenAI</button><button>Anthropic"), h2 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), g2 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), _2 = /*#__PURE__*/ N("<ol class=\"text-text-faint flex list-decimal flex-col gap-1 pl-4 text-[11px] leading-relaxed\"><li>Pick an element on your running dev app.</li><li>Draft the issue (AI optional).</li><li>Create + delegate — Cursor's cloud agent fixes it and opens a PR.</li><li>Track and steer it from Activity."), v2 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), y2 = /*#__PURE__*/ N("<button>"), b2 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), x2 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), S2 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Register this callback URL in your Linear OAuth app config:<br><span class=\"font-mono text-[10.5px] break-all\">"), C2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), w2 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), T2 = /*#__PURE__*/ N("<option> (<!>)"), E2 = /*#__PURE__*/ N("<option>"), D2 = /*#__PURE__*/ N("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), O2 = /*#__PURE__*/ N("<option value>Select the agent…"), k2 = /*#__PURE__*/ N("<option>#"), A2 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
45707
|
+
function j2() {
|
|
45678
45708
|
let e = sr(), t = _r(() => ({
|
|
45679
45709
|
queryKey: ["settings"],
|
|
45680
45710
|
queryFn: Tr,
|
|
@@ -45702,13 +45732,13 @@ function O2() {
|
|
|
45702
45732
|
retry: 0
|
|
45703
45733
|
})), [l, u] = T(!1), d = async () => {
|
|
45704
45734
|
try {
|
|
45705
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
45735
|
+
await navigator.clipboard.writeText(JSON.stringify(H0(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
45706
45736
|
} catch {}
|
|
45707
45737
|
}, f = () => {
|
|
45708
45738
|
let e = c.data?.projectConfig;
|
|
45709
45739
|
if (!e) return;
|
|
45710
45740
|
let t = {};
|
|
45711
|
-
for (let n of
|
|
45741
|
+
for (let n of V0) e[n] !== void 0 && (t[n] = e[n]);
|
|
45712
45742
|
r(t);
|
|
45713
45743
|
}, p = _r(() => ({
|
|
45714
45744
|
queryKey: ["linear-labels"],
|
|
@@ -45741,7 +45771,7 @@ function O2() {
|
|
|
45741
45771
|
}
|
|
45742
45772
|
ee(!0), te("");
|
|
45743
45773
|
try {
|
|
45744
|
-
await
|
|
45774
|
+
await G0(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"] });
|
|
45745
45775
|
} catch (e) {
|
|
45746
45776
|
te(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
45747
45777
|
} finally {
|
|
@@ -45752,7 +45782,7 @@ function O2() {
|
|
|
45752
45782
|
async function re() {
|
|
45753
45783
|
ne(!0);
|
|
45754
45784
|
try {
|
|
45755
|
-
await
|
|
45785
|
+
await K0(), 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"] });
|
|
45756
45786
|
} finally {
|
|
45757
45787
|
ne(!1);
|
|
45758
45788
|
}
|
|
@@ -45768,12 +45798,12 @@ function O2() {
|
|
|
45768
45798
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
45769
45799
|
});
|
|
45770
45800
|
return (() => {
|
|
45771
|
-
var e =
|
|
45801
|
+
var e = v2();
|
|
45772
45802
|
return P(e, j(Rj, {
|
|
45773
45803
|
title: "Workflow",
|
|
45774
45804
|
get children() {
|
|
45775
45805
|
return [(() => {
|
|
45776
|
-
var e =
|
|
45806
|
+
var e = q0();
|
|
45777
45807
|
return P(e, j(We, {
|
|
45778
45808
|
each: [{
|
|
45779
45809
|
id: "cloud",
|
|
@@ -45783,19 +45813,19 @@ function O2() {
|
|
|
45783
45813
|
label: "Local · clipboard"
|
|
45784
45814
|
}],
|
|
45785
45815
|
children: (e) => (() => {
|
|
45786
|
-
var t =
|
|
45816
|
+
var t = y2();
|
|
45787
45817
|
return t.$$click = () => void r({ workflowMode: e.id }), P(t, () => e.label), E(() => st(t, `flex-1 rounded-[5px] px-2 py-1 text-[11.5px] font-medium transition-colors ${(n().workflowMode ?? "cloud") === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
45788
45818
|
})()
|
|
45789
45819
|
})), e;
|
|
45790
|
-
})(),
|
|
45820
|
+
})(), J0()];
|
|
45791
45821
|
}
|
|
45792
45822
|
}), null), P(e, j(Rj, {
|
|
45793
45823
|
title: "Capture",
|
|
45794
45824
|
get children() {
|
|
45795
45825
|
return [(() => {
|
|
45796
|
-
var e =
|
|
45826
|
+
var e = Y0(), t = e.firstChild;
|
|
45797
45827
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), E(() => t.checked = !!n().captureShots), e;
|
|
45798
|
-
})(),
|
|
45828
|
+
})(), X0()];
|
|
45799
45829
|
}
|
|
45800
45830
|
}), null), P(e, j(Rj, {
|
|
45801
45831
|
title: "Linear",
|
|
@@ -45806,13 +45836,13 @@ function O2() {
|
|
|
45806
45836
|
},
|
|
45807
45837
|
get fallback() {
|
|
45808
45838
|
return (() => {
|
|
45809
|
-
var e =
|
|
45839
|
+
var e = C2();
|
|
45810
45840
|
return P(e, j(Lj, {
|
|
45811
45841
|
label: "Personal API key",
|
|
45812
45842
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
45813
45843
|
get children() {
|
|
45814
45844
|
return [(() => {
|
|
45815
|
-
var e =
|
|
45845
|
+
var e = b2();
|
|
45816
45846
|
return P(e, j(jj, {
|
|
45817
45847
|
type: "password",
|
|
45818
45848
|
placeholder: "lin_api_…",
|
|
@@ -45849,12 +45879,12 @@ function O2() {
|
|
|
45849
45879
|
}), null), P(e, j(M, {
|
|
45850
45880
|
when: xr,
|
|
45851
45881
|
get children() {
|
|
45852
|
-
return [
|
|
45882
|
+
return [x2(), j(Lj, {
|
|
45853
45883
|
label: "OAuth client ID",
|
|
45854
45884
|
get children() {
|
|
45855
45885
|
return [
|
|
45856
45886
|
(() => {
|
|
45857
|
-
var e =
|
|
45887
|
+
var e = b2();
|
|
45858
45888
|
return P(e, j(jj, {
|
|
45859
45889
|
placeholder: "your-client-id",
|
|
45860
45890
|
get value() {
|
|
@@ -45882,7 +45912,7 @@ function O2() {
|
|
|
45882
45912
|
}
|
|
45883
45913
|
}),
|
|
45884
45914
|
(() => {
|
|
45885
|
-
var e =
|
|
45915
|
+
var e = S2(), t = e.firstChild.nextSibling.nextSibling;
|
|
45886
45916
|
return P(t, ie), e;
|
|
45887
45917
|
})()
|
|
45888
45918
|
];
|
|
@@ -45893,13 +45923,13 @@ function O2() {
|
|
|
45893
45923
|
})();
|
|
45894
45924
|
},
|
|
45895
45925
|
get children() {
|
|
45896
|
-
var e =
|
|
45926
|
+
var e = Q0(), t = e.firstChild;
|
|
45897
45927
|
return P(t, j(M, {
|
|
45898
45928
|
get when() {
|
|
45899
45929
|
return !a.isLoading;
|
|
45900
45930
|
},
|
|
45901
45931
|
get fallback() {
|
|
45902
|
-
return
|
|
45932
|
+
return w2();
|
|
45903
45933
|
},
|
|
45904
45934
|
get children() {
|
|
45905
45935
|
return j(M, {
|
|
@@ -45912,7 +45942,7 @@ function O2() {
|
|
|
45912
45942
|
return a.isError;
|
|
45913
45943
|
},
|
|
45914
45944
|
get fallback() {
|
|
45915
|
-
return
|
|
45945
|
+
return w2();
|
|
45916
45946
|
},
|
|
45917
45947
|
get children() {
|
|
45918
45948
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -45920,7 +45950,7 @@ function O2() {
|
|
|
45920
45950
|
});
|
|
45921
45951
|
},
|
|
45922
45952
|
get children() {
|
|
45923
|
-
var e =
|
|
45953
|
+
var e = Z0(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
45924
45954
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
45925
45955
|
}
|
|
45926
45956
|
});
|
|
@@ -45961,7 +45991,7 @@ function O2() {
|
|
|
45961
45991
|
return o.isLoading;
|
|
45962
45992
|
},
|
|
45963
45993
|
get children() {
|
|
45964
|
-
return [
|
|
45994
|
+
return [$0(), j(M, {
|
|
45965
45995
|
get when() {
|
|
45966
45996
|
return o.data;
|
|
45967
45997
|
},
|
|
@@ -45971,7 +46001,7 @@ function O2() {
|
|
|
45971
46001
|
return o.data;
|
|
45972
46002
|
},
|
|
45973
46003
|
children: (e) => (() => {
|
|
45974
|
-
var t =
|
|
46004
|
+
var t = T2(), r = t.firstChild, i = r.nextSibling;
|
|
45975
46005
|
return i.nextSibling, P(t, () => e.name, r), P(t, () => e.key, i), E(() => t.selected = e.id === n().defaultTeamId), E(() => t.value = e.id), t;
|
|
45976
46006
|
})()
|
|
45977
46007
|
});
|
|
@@ -45995,14 +46025,14 @@ function O2() {
|
|
|
45995
46025
|
},
|
|
45996
46026
|
get children() {
|
|
45997
46027
|
return [(() => {
|
|
45998
|
-
var e =
|
|
46028
|
+
var e = e2();
|
|
45999
46029
|
return E(() => e.selected = !n().defaultProjectId), e;
|
|
46000
46030
|
})(), j(We, {
|
|
46001
46031
|
get each() {
|
|
46002
46032
|
return s.data ?? [];
|
|
46003
46033
|
},
|
|
46004
46034
|
children: (e) => (() => {
|
|
46005
|
-
var t =
|
|
46035
|
+
var t = E2();
|
|
46006
46036
|
return P(t, () => e.name), E(() => t.selected = e.id === n().defaultProjectId), E(() => t.value = e.id), t;
|
|
46007
46037
|
})()
|
|
46008
46038
|
})];
|
|
@@ -46014,7 +46044,7 @@ function O2() {
|
|
|
46014
46044
|
label: "Default labels",
|
|
46015
46045
|
hint: "Applied to every issue created from the panel.",
|
|
46016
46046
|
get children() {
|
|
46017
|
-
var e =
|
|
46047
|
+
var e = t2();
|
|
46018
46048
|
return P(e, j(We, {
|
|
46019
46049
|
get each() {
|
|
46020
46050
|
return p.data ?? [];
|
|
@@ -46022,7 +46052,7 @@ function O2() {
|
|
|
46022
46052
|
children: (e) => {
|
|
46023
46053
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
46024
46054
|
return (() => {
|
|
46025
|
-
var i =
|
|
46055
|
+
var i = D2(), a = i.firstChild;
|
|
46026
46056
|
return i.$$click = () => {
|
|
46027
46057
|
let i = n().defaultLabelIds ?? [];
|
|
46028
46058
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -46039,7 +46069,7 @@ function O2() {
|
|
|
46039
46069
|
}
|
|
46040
46070
|
}),
|
|
46041
46071
|
(() => {
|
|
46042
|
-
var e =
|
|
46072
|
+
var e = n2(), t = e.firstChild;
|
|
46043
46073
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), E(() => t.checked = !!n().shareLinearKey), e;
|
|
46044
46074
|
})(),
|
|
46045
46075
|
j(Lj, {
|
|
@@ -46089,7 +46119,7 @@ function O2() {
|
|
|
46089
46119
|
return m.isLoading;
|
|
46090
46120
|
},
|
|
46091
46121
|
get children() {
|
|
46092
|
-
return [
|
|
46122
|
+
return [O2(), j(M, {
|
|
46093
46123
|
get when() {
|
|
46094
46124
|
return m.data;
|
|
46095
46125
|
},
|
|
@@ -46099,7 +46129,7 @@ function O2() {
|
|
|
46099
46129
|
return m.data;
|
|
46100
46130
|
},
|
|
46101
46131
|
children: (e) => (() => {
|
|
46102
|
-
var t =
|
|
46132
|
+
var t = E2();
|
|
46103
46133
|
return P(t, () => e.displayName), E(() => t.selected = e.id === n().cursorAgentId), E(() => t.value = e.id), t;
|
|
46104
46134
|
})()
|
|
46105
46135
|
});
|
|
@@ -46109,7 +46139,7 @@ function O2() {
|
|
|
46109
46139
|
});
|
|
46110
46140
|
},
|
|
46111
46141
|
get children() {
|
|
46112
|
-
return
|
|
46142
|
+
return r2();
|
|
46113
46143
|
}
|
|
46114
46144
|
});
|
|
46115
46145
|
}
|
|
@@ -46157,7 +46187,7 @@ function O2() {
|
|
|
46157
46187
|
onBlur: (e) => {
|
|
46158
46188
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
46159
46189
|
}
|
|
46160
|
-
}),
|
|
46190
|
+
}), i2()];
|
|
46161
46191
|
}
|
|
46162
46192
|
}),
|
|
46163
46193
|
j(Lj, {
|
|
@@ -46214,7 +46244,7 @@ function O2() {
|
|
|
46214
46244
|
label: "Test account",
|
|
46215
46245
|
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.",
|
|
46216
46246
|
get children() {
|
|
46217
|
-
var e =
|
|
46247
|
+
var e = a2();
|
|
46218
46248
|
return P(e, j(jj, {
|
|
46219
46249
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
46220
46250
|
get value() {
|
|
@@ -46246,7 +46276,7 @@ function O2() {
|
|
|
46246
46276
|
title: "Panel",
|
|
46247
46277
|
get children() {
|
|
46248
46278
|
return [(() => {
|
|
46249
|
-
var e =
|
|
46279
|
+
var e = o2(), t = e.firstChild.nextSibling;
|
|
46250
46280
|
return P(t, j(We, {
|
|
46251
46281
|
each: [{
|
|
46252
46282
|
id: "overlay",
|
|
@@ -46256,7 +46286,7 @@ function O2() {
|
|
|
46256
46286
|
label: "Beside page"
|
|
46257
46287
|
}],
|
|
46258
46288
|
children: (e) => (() => {
|
|
46259
|
-
var t =
|
|
46289
|
+
var t = y2();
|
|
46260
46290
|
return t.$$click = () => void r({
|
|
46261
46291
|
panelMode: e.id,
|
|
46262
46292
|
panelPos: void 0
|
|
@@ -46264,11 +46294,11 @@ function O2() {
|
|
|
46264
46294
|
})()
|
|
46265
46295
|
})), e;
|
|
46266
46296
|
})(), (() => {
|
|
46267
|
-
var e =
|
|
46297
|
+
var e = s2(), t = e.firstChild.nextSibling;
|
|
46268
46298
|
return P(t, j(We, {
|
|
46269
46299
|
each: ["left", "right"],
|
|
46270
46300
|
children: (e) => (() => {
|
|
46271
|
-
var t =
|
|
46301
|
+
var t = y2();
|
|
46272
46302
|
return t.$$click = () => void r({ panelSide: e }), P(t, e === "left" ? "Left" : "Right"), E(() => st(t, `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${(n().panelSide ?? "right") === e ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
46273
46303
|
})()
|
|
46274
46304
|
})), e;
|
|
@@ -46298,8 +46328,8 @@ function O2() {
|
|
|
46298
46328
|
}), null), P(e, j(Rj, {
|
|
46299
46329
|
title: "Project config (.lineargrab.json)",
|
|
46300
46330
|
get children() {
|
|
46301
|
-
return [
|
|
46302
|
-
var e =
|
|
46331
|
+
return [c2(), (() => {
|
|
46332
|
+
var e = u2();
|
|
46303
46333
|
return P(e, j(M, {
|
|
46304
46334
|
get when() {
|
|
46305
46335
|
return c.data?.projectConfig;
|
|
@@ -46330,7 +46360,7 @@ function O2() {
|
|
|
46330
46360
|
},
|
|
46331
46361
|
onClick: () => void d(),
|
|
46332
46362
|
get children() {
|
|
46333
|
-
var e =
|
|
46363
|
+
var e = l2();
|
|
46334
46364
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
46335
46365
|
}
|
|
46336
46366
|
}), null), e;
|
|
@@ -46421,12 +46451,12 @@ function O2() {
|
|
|
46421
46451
|
});
|
|
46422
46452
|
},
|
|
46423
46453
|
get children() {
|
|
46424
|
-
return [
|
|
46454
|
+
return [d2(), j(We, {
|
|
46425
46455
|
get each() {
|
|
46426
46456
|
return ae.data ?? [];
|
|
46427
46457
|
},
|
|
46428
46458
|
children: (e) => (() => {
|
|
46429
|
-
var t =
|
|
46459
|
+
var t = k2();
|
|
46430
46460
|
return t.firstChild, P(t, () => e.name, null), E(() => t.selected = e.id === n().slackChannelId), E(() => t.value = e.id), t;
|
|
46431
46461
|
})()
|
|
46432
46462
|
})];
|
|
@@ -46477,10 +46507,10 @@ function O2() {
|
|
|
46477
46507
|
}
|
|
46478
46508
|
}),
|
|
46479
46509
|
(() => {
|
|
46480
|
-
var e =
|
|
46510
|
+
var e = f2(), t = e.firstChild;
|
|
46481
46511
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), E(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
46482
46512
|
})(),
|
|
46483
|
-
|
|
46513
|
+
p2()
|
|
46484
46514
|
];
|
|
46485
46515
|
}
|
|
46486
46516
|
}), null), P(e, j(Rj, {
|
|
@@ -46518,7 +46548,7 @@ function O2() {
|
|
|
46518
46548
|
}
|
|
46519
46549
|
}),
|
|
46520
46550
|
(() => {
|
|
46521
|
-
var e =
|
|
46551
|
+
var e = m2(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
46522
46552
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), E((e) => {
|
|
46523
46553
|
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;
|
|
46524
46554
|
return r !== e.e && st(t, e.e = r), o !== e.t && st(i, e.t = o), s !== e.a && (i.disabled = e.a = s), c !== e.o && st(a, e.o = c), l !== e.i && (a.disabled = e.i = l), e;
|
|
@@ -46531,16 +46561,16 @@ function O2() {
|
|
|
46531
46561
|
}), e;
|
|
46532
46562
|
})(),
|
|
46533
46563
|
(() => {
|
|
46534
|
-
var e =
|
|
46564
|
+
var e = g2();
|
|
46535
46565
|
return P(e, j(M, {
|
|
46536
46566
|
get when() {
|
|
46537
46567
|
return se();
|
|
46538
46568
|
},
|
|
46539
46569
|
get fallback() {
|
|
46540
|
-
return
|
|
46570
|
+
return A2();
|
|
46541
46571
|
},
|
|
46542
46572
|
get children() {
|
|
46543
|
-
var e =
|
|
46573
|
+
var e = h2();
|
|
46544
46574
|
return P(e, se), e;
|
|
46545
46575
|
}
|
|
46546
46576
|
})), e;
|
|
@@ -46550,7 +46580,7 @@ function O2() {
|
|
|
46550
46580
|
}), null), P(e, j(Rj, {
|
|
46551
46581
|
title: "How it works",
|
|
46552
46582
|
get children() {
|
|
46553
|
-
return
|
|
46583
|
+
return _2();
|
|
46554
46584
|
}
|
|
46555
46585
|
}), null), e;
|
|
46556
46586
|
})();
|
|
@@ -46558,38 +46588,38 @@ function O2() {
|
|
|
46558
46588
|
rt(["click"]);
|
|
46559
46589
|
//#endregion
|
|
46560
46590
|
//#region src/lib/idbCache.ts
|
|
46561
|
-
var
|
|
46591
|
+
var M2 = "linear-grab", N2 = "queries", P2 = [
|
|
46562
46592
|
"my-issues",
|
|
46563
46593
|
"issue",
|
|
46564
46594
|
"sessions",
|
|
46565
46595
|
"teams",
|
|
46566
46596
|
"agents"
|
|
46567
46597
|
];
|
|
46568
|
-
function
|
|
46598
|
+
function F2() {
|
|
46569
46599
|
return new Promise((e) => {
|
|
46570
46600
|
try {
|
|
46571
|
-
let t = indexedDB.open(
|
|
46572
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
46601
|
+
let t = indexedDB.open(M2, 1);
|
|
46602
|
+
t.onupgradeneeded = () => t.result.createObjectStore(N2), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
46573
46603
|
} catch {
|
|
46574
46604
|
e(null);
|
|
46575
46605
|
}
|
|
46576
46606
|
});
|
|
46577
46607
|
}
|
|
46578
|
-
function
|
|
46579
|
-
return typeof e[0] == "string" &&
|
|
46608
|
+
function I2(e) {
|
|
46609
|
+
return typeof e[0] == "string" && P2.includes(e[0]);
|
|
46580
46610
|
}
|
|
46581
|
-
async function
|
|
46582
|
-
let t = await
|
|
46611
|
+
async function L2(e) {
|
|
46612
|
+
let t = await F2();
|
|
46583
46613
|
if (!t) return () => {};
|
|
46584
46614
|
await new Promise((n) => {
|
|
46585
46615
|
try {
|
|
46586
|
-
let r = t.transaction(
|
|
46616
|
+
let r = t.transaction(N2, "readonly").objectStore(N2).openCursor();
|
|
46587
46617
|
r.onsuccess = () => {
|
|
46588
46618
|
let t = r.result;
|
|
46589
46619
|
if (!t) return n();
|
|
46590
46620
|
try {
|
|
46591
46621
|
let { queryKey: n, data: r } = t.value;
|
|
46592
|
-
|
|
46622
|
+
I2(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
46593
46623
|
} catch {}
|
|
46594
46624
|
t.continue();
|
|
46595
46625
|
}, r.onerror = () => n();
|
|
@@ -46600,14 +46630,14 @@ async function P2(e) {
|
|
|
46600
46630
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
46601
46631
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
46602
46632
|
let { queryKey: i, queryHash: a } = r.query;
|
|
46603
|
-
if (!
|
|
46633
|
+
if (!I2(i)) return;
|
|
46604
46634
|
let o = n.get(a);
|
|
46605
46635
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
46606
46636
|
n.delete(a);
|
|
46607
46637
|
try {
|
|
46608
46638
|
let n = e.getQueryData(i);
|
|
46609
46639
|
if (n === void 0) return;
|
|
46610
|
-
t.transaction(
|
|
46640
|
+
t.transaction(N2, "readwrite").objectStore(N2).put({
|
|
46611
46641
|
queryKey: i,
|
|
46612
46642
|
data: n
|
|
46613
46643
|
}, a);
|
|
@@ -46623,7 +46653,7 @@ async function P2(e) {
|
|
|
46623
46653
|
//#endregion
|
|
46624
46654
|
//#region src/panel/App.tsx
|
|
46625
46655
|
Br();
|
|
46626
|
-
var
|
|
46656
|
+
var R2 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hidden><path d=\"M1.22541 61.5228c-.2225-.9485.90748-1.5459 1.59638-.857L39.3342 97.1782c.6889.6889.0915 1.8189-.857 1.5964C20.0515 94.4522 5.54779 79.9485 1.22541 61.5228ZM.00189135 46.8891c-.01764375.2833.08887215.5599.28957165.7606L52.3503 99.7085c.2007.2007.4773.3075.7606.2896 2.3692-.1476 4.6938-.46 6.9624-.9259.7645-.157 1.0301-1.0963.4782-1.6481L2.57595 39.4485c-.55186-.5519-1.49117-.2863-1.648174.4782-.465915 2.2686-.77832 4.5932-.92588465 6.9624ZM4.21093 29.7054c-.16649.3738-.08169.8106.20765 1.1l64.77602 64.776c.2894.2894.7262.3742 1.1.2077 1.7861-.7956 3.5171-1.6927 5.1855-2.684.5521-.328.6373-1.0867.1832-1.5407L8.43566 24.3367c-.45409-.4541-1.21271-.3689-1.54074.1832-.99132 1.6684-1.88843 3.3994-2.68399 5.1855ZM12.6587 18.074c-.3701-.3701-.393-.9637-.0443-1.3541C21.7795 6.45931 35.1114 0 49.9519 0 77.5927 0 100 22.4073 100 50.0481c0 14.8405-6.4593 28.1724-16.7199 37.3375-.3903.3487-.984.3258-1.3541-.0443L12.6587 18.074Z\">"), z2 = /*#__PURE__*/ N("<button><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><rect x=1.5 y=2.5 width=13 height=11 rx=1.5></rect><path d=\"M10 2.5v11\">"), B2 = /*#__PURE__*/ N("<button aria-label=\"Minimize to launcher\"title=\"Minimize to launcher\"class=\"text-text-dim hover:text-text hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md text-[15px] leading-none transition-colors\">–"), V2 = /*#__PURE__*/ N("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), H2 = /*#__PURE__*/ N("<button>"), U2 = [
|
|
46627
46657
|
{
|
|
46628
46658
|
id: "draft",
|
|
46629
46659
|
label: "Draft"
|
|
@@ -46656,35 +46686,35 @@ var F2 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
46656
46686
|
id: "settings",
|
|
46657
46687
|
label: "Settings"
|
|
46658
46688
|
}
|
|
46659
|
-
],
|
|
46660
|
-
function
|
|
46661
|
-
if (
|
|
46662
|
-
|
|
46689
|
+
], W2 = /* @__PURE__ */ new Set();
|
|
46690
|
+
function G2(e, t, n) {
|
|
46691
|
+
if (W2.has(e) || typeof Notification > "u") return;
|
|
46692
|
+
W2.add(e);
|
|
46663
46693
|
let r = () => new Notification(t, { body: n });
|
|
46664
46694
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
46665
46695
|
}
|
|
46666
|
-
function
|
|
46696
|
+
function K2() {
|
|
46667
46697
|
setInterval(() => {
|
|
46668
46698
|
NO().then((e) => {
|
|
46669
46699
|
for (let t of e) {
|
|
46670
46700
|
if (t.status !== "running") continue;
|
|
46671
46701
|
let e = t.lastEventAt ?? t.startedAt;
|
|
46672
|
-
Date.now() - e > 10 * 6e4 &&
|
|
46702
|
+
Date.now() - e > 10 * 6e4 && G2(`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.`);
|
|
46673
46703
|
}
|
|
46674
46704
|
}).catch(() => {}), gO().then((e) => {
|
|
46675
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
46705
|
+
for (let t of e) /awaitingInput|elicit/i.test(t.status) && G2(`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.`);
|
|
46676
46706
|
}).catch(() => {});
|
|
46677
46707
|
}, 6e4);
|
|
46678
46708
|
}
|
|
46679
|
-
|
|
46680
|
-
var
|
|
46709
|
+
K2();
|
|
46710
|
+
var q2 = new gr({ defaultOptions: { queries: {
|
|
46681
46711
|
retry: 1,
|
|
46682
46712
|
refetchOnWindowFocus: !1,
|
|
46683
46713
|
staleTime: 5e3
|
|
46684
46714
|
} } });
|
|
46685
|
-
function
|
|
46715
|
+
function J2(e) {
|
|
46686
46716
|
return (() => {
|
|
46687
|
-
var t =
|
|
46717
|
+
var t = R2();
|
|
46688
46718
|
return E((n) => {
|
|
46689
46719
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
46690
46720
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -46694,36 +46724,36 @@ function G2(e) {
|
|
|
46694
46724
|
}), t;
|
|
46695
46725
|
})();
|
|
46696
46726
|
}
|
|
46697
|
-
function
|
|
46727
|
+
function Y2(e) {
|
|
46698
46728
|
let [t, n] = T("draft"), r = () => {
|
|
46699
|
-
|
|
46729
|
+
q2.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
46700
46730
|
};
|
|
46701
46731
|
return D(() => {
|
|
46702
46732
|
let e = nj();
|
|
46703
46733
|
e && n(e);
|
|
46704
46734
|
}), ie(() => {
|
|
46705
|
-
let e =
|
|
46706
|
-
JO().then(
|
|
46735
|
+
let e = L2(q2), t = XZ(r), n = () => {
|
|
46736
|
+
JO().then(y$), VO(), MO().then(async (e) => {
|
|
46707
46737
|
if (!e.projectConfig) return;
|
|
46708
|
-
let t =
|
|
46738
|
+
let t = U0(await Tr(), e.projectConfig);
|
|
46709
46739
|
t && await Er(t);
|
|
46710
46740
|
}).catch(() => {});
|
|
46711
46741
|
};
|
|
46712
46742
|
n();
|
|
46713
46743
|
let i = Mr((e) => {
|
|
46714
|
-
e === "settings" && (
|
|
46744
|
+
e === "settings" && (q2.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
46715
46745
|
});
|
|
46716
46746
|
ae(() => {
|
|
46717
46747
|
t(), i(), e.then((e) => e());
|
|
46718
46748
|
});
|
|
46719
46749
|
}), j(cr, {
|
|
46720
|
-
client:
|
|
46750
|
+
client: q2,
|
|
46721
46751
|
get children() {
|
|
46722
|
-
var r =
|
|
46723
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
46724
|
-
each:
|
|
46752
|
+
var r = V2(), 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;
|
|
46753
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(J2, { size: 14 })), P(o, j(We, {
|
|
46754
|
+
each: U2,
|
|
46725
46755
|
children: (e) => (() => {
|
|
46726
|
-
var r =
|
|
46756
|
+
var r = H2();
|
|
46727
46757
|
return r.$$click = () => n(e.id), P(r, () => e.label), E(() => st(r, `h-6 shrink-0 rounded-md px-2 text-[12px] font-medium whitespace-nowrap transition-colors ${t() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), r;
|
|
46728
46758
|
})()
|
|
46729
46759
|
})), P(i, j(M, {
|
|
@@ -46731,7 +46761,7 @@ function K2(e) {
|
|
|
46731
46761
|
return e.onTogglePin;
|
|
46732
46762
|
},
|
|
46733
46763
|
get children() {
|
|
46734
|
-
var t =
|
|
46764
|
+
var t = z2();
|
|
46735
46765
|
return t.$$click = () => e.onTogglePin?.(), E((n) => {
|
|
46736
46766
|
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"}`;
|
|
46737
46767
|
return r !== n.e && it(t, "aria-label", n.e = r), i !== n.t && it(t, "title", n.t = i), a !== n.a && st(t, n.a = a), n;
|
|
@@ -46746,10 +46776,10 @@ function K2(e) {
|
|
|
46746
46776
|
return e.onClose;
|
|
46747
46777
|
},
|
|
46748
46778
|
get children() {
|
|
46749
|
-
var t =
|
|
46779
|
+
var t = B2();
|
|
46750
46780
|
return t.$$click = () => e.onClose?.(), t;
|
|
46751
46781
|
}
|
|
46752
|
-
}), null), P(s, j(wM, { onCreated: () => n("activity") })), P(c, j(
|
|
46782
|
+
}), null), P(s, j(wM, { onCreated: () => n("activity") })), P(c, j(TQ, {})), P(l, j(_1, {})), P(u, j(B1, {})), P(d, j(P1, {})), P(f, j(T0, {})), P(p, j(B0, { onOpenIssue: () => n("activity") })), P(m, j(j2, {})), E((n) => {
|
|
46753
46783
|
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", h = t() !== "activity", g = t() !== "running", _ = t() !== "cloud", v = t() !== "local", y = t() !== "prs", b = t() !== "settings";
|
|
46754
46784
|
return r !== n.e && st(i, n.e = r), a !== n.t && s.classList.toggle("hidden", n.t = a), o !== n.a && c.classList.toggle("hidden", n.a = o), h !== n.o && l.classList.toggle("hidden", n.o = h), g !== n.i && u.classList.toggle("hidden", n.i = g), _ !== n.n && d.classList.toggle("hidden", n.n = _), v !== n.s && f.classList.toggle("hidden", n.s = v), y !== n.h && p.classList.toggle("hidden", n.h = y), b !== n.r && m.classList.toggle("hidden", n.r = b), n;
|
|
46755
46785
|
}, {
|
|
@@ -46769,12 +46799,12 @@ function K2(e) {
|
|
|
46769
46799
|
rt(["pointerdown", "click"]);
|
|
46770
46800
|
//#endregion
|
|
46771
46801
|
//#region src/styles/app.css?inline
|
|
46772
|
-
var q2 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-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-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-1\\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
46802
|
+
var X2 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-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-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-1\\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
46773
46803
|
//#endregion
|
|
46774
46804
|
//#region src/page/index.tsx
|
|
46775
46805
|
Br();
|
|
46776
|
-
var
|
|
46777
|
-
function
|
|
46806
|
+
var Z2 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), Q2 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), $2 = /*#__PURE__*/ N("<button class=\"bg-accent hover:bg-accent-hover h-7 cursor-pointer rounded-full px-2.5 text-[11px] font-medium text-white transition-colors\"><span class=\"inline-block min-w-[4ch] text-center\">Stop"), e4 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), t4 = /*#__PURE__*/ N("<div><p class=\"text-text-dim px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Running agents"), n4 = /*#__PURE__*/ N("<div class=\"fixed z-[2147483646] select-none\"><div class=\"bg-surface border-border text-text flex h-9 cursor-grab items-center gap-1 rounded-full border py-1 pr-1 pl-2.5 font-sans shadow-lg active:cursor-grabbing\">"), r4 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), i4 = /*#__PURE__*/ N("<button title=\"Open Linear Grab\"aria-label=\"Open Linear Grab\"class=\"text-accent hover:opacity-80 inline-flex cursor-pointer items-center gap-1.5\">"), a4 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), o4 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), s4 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), c4 = /*#__PURE__*/ N("<button title=\"Running agents\"aria-label=\"Running agents\"class=\"hover:bg-surface-2 flex h-7 cursor-pointer items-center gap-1.5 rounded-full px-2 transition-colors\"><span aria-hidden></span><span>"), l4 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), u4 = /*#__PURE__*/ N("<button class=\"hover:bg-surface-2 flex w-full cursor-pointer flex-col gap-0.5 rounded-md px-1.5 py-1.5 text-left transition-colors\"><span class=\"flex min-w-0 items-center gap-1.5\"><span aria-hidden class=\"size-1.5 shrink-0 rounded-full\"></span><span class=\"font-mono text-text-dim shrink-0 text-[10.5px]\"></span><span class=\"text-text truncate text-[11.5px]\"></span></span><span class=\"text-text-faint pl-3 text-[10.5px] tabular-nums\"> · <!> · ");
|
|
46807
|
+
function d4(e = {}) {
|
|
46778
46808
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
46779
46809
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
46780
46810
|
let t = () => {
|
|
@@ -46806,17 +46836,17 @@ function c4(e = {}) {
|
|
|
46806
46836
|
"keypress"
|
|
46807
46837
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
46808
46838
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
46809
|
-
i.textContent =
|
|
46839
|
+
i.textContent = X2, r.appendChild(i);
|
|
46810
46840
|
let a = document.createElement("div");
|
|
46811
46841
|
r.appendChild(a);
|
|
46812
|
-
let o = () => a.setAttribute("data-theme",
|
|
46813
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
46842
|
+
let o = () => a.setAttribute("data-theme", f4());
|
|
46843
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(v4, { get defaultOpen() {
|
|
46814
46844
|
return e.defaultOpen ?? !1;
|
|
46815
46845
|
} }), a);
|
|
46816
46846
|
};
|
|
46817
46847
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
46818
46848
|
}
|
|
46819
|
-
function
|
|
46849
|
+
function f4() {
|
|
46820
46850
|
try {
|
|
46821
46851
|
let e = [document.body, document.documentElement];
|
|
46822
46852
|
for (let t of e) {
|
|
@@ -46826,11 +46856,11 @@ function l4() {
|
|
|
46826
46856
|
} catch {}
|
|
46827
46857
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
46828
46858
|
}
|
|
46829
|
-
var
|
|
46830
|
-
function
|
|
46859
|
+
var p4 = 130, m4 = 36, h4 = 380, g4 = 280, _4 = 720;
|
|
46860
|
+
function v4(e) {
|
|
46831
46861
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
46832
|
-
x: Math.max(8, window.innerWidth -
|
|
46833
|
-
y: Math.max(8, window.innerHeight -
|
|
46862
|
+
x: Math.max(8, window.innerWidth - p4 - 24),
|
|
46863
|
+
y: Math.max(8, window.innerHeight - m4 - 20)
|
|
46834
46864
|
}), [s, c] = T({
|
|
46835
46865
|
running: [],
|
|
46836
46866
|
review: []
|
|
@@ -46845,12 +46875,12 @@ function h4(e) {
|
|
|
46845
46875
|
let t = Math.floor(e / 1e3);
|
|
46846
46876
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
46847
46877
|
}, [v, y] = T(null), b = (e) => ({
|
|
46848
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
46849
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
46878
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - p4 - 8),
|
|
46879
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - m4 - 8)
|
|
46850
46880
|
}), x = (e) => ({
|
|
46851
46881
|
x: Math.min(Math.max(8 - (k() - 80), e.x), window.innerWidth - 80),
|
|
46852
46882
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
46853
|
-
}), [S, C] = T(!1), [w, ee] = T("cloud"), [O, te] = T(!1), [k, A] = T(
|
|
46883
|
+
}), [S, C] = T(!1), [w, ee] = T("cloud"), [O, te] = T(!1), [k, A] = T(h4), ne = (e) => Math.min(_4, Math.max(g4, Math.min(e, window.innerWidth - 60)));
|
|
46854
46884
|
D(() => {
|
|
46855
46885
|
let e = document.documentElement, n = t() && S();
|
|
46856
46886
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${k()}px` : "", e.style.marginLeft = n && r() === "left" ? `${k()}px` : "";
|
|
@@ -46884,7 +46914,7 @@ function h4(e) {
|
|
|
46884
46914
|
window.addEventListener("linear-grab:picker-finished", s), ae(() => {
|
|
46885
46915
|
window.removeEventListener(zZ, t), window.removeEventListener(BZ, r), window.removeEventListener("linear-grab:picker-finished", s);
|
|
46886
46916
|
});
|
|
46887
|
-
let l =
|
|
46917
|
+
let l = e$(c), u = HD().phase, d = UD((e) => {
|
|
46888
46918
|
m(e.phase), e.phase === "recording" && u !== "recording" && !S() && n(!1), e.phase === "ready" && u !== "ready" && (oj("capture"), n(!0)), u = e.phase;
|
|
46889
46919
|
}), p = () => {
|
|
46890
46920
|
o(b(a()));
|
|
@@ -46962,7 +46992,7 @@ function h4(e) {
|
|
|
46962
46992
|
return !t();
|
|
46963
46993
|
},
|
|
46964
46994
|
get children() {
|
|
46965
|
-
var e =
|
|
46995
|
+
var e = n4(), t = e.firstChild;
|
|
46966
46996
|
return t.$$click = () => {
|
|
46967
46997
|
oe || p() === "recording" || (f(!1), n(!0));
|
|
46968
46998
|
}, t.$$pointerdown = se, P(t, j(M, {
|
|
@@ -46972,14 +47002,14 @@ function h4(e) {
|
|
|
46972
47002
|
get fallback() {
|
|
46973
47003
|
return [
|
|
46974
47004
|
(() => {
|
|
46975
|
-
var e =
|
|
47005
|
+
var e = i4();
|
|
46976
47006
|
return e.$$click = () => {
|
|
46977
47007
|
oe || (f(!1), n(!0));
|
|
46978
|
-
}, P(e, j(
|
|
47008
|
+
}, P(e, j(J2, { size: 13 })), e;
|
|
46979
47009
|
})(),
|
|
46980
|
-
|
|
47010
|
+
a4(),
|
|
46981
47011
|
(() => {
|
|
46982
|
-
var e =
|
|
47012
|
+
var e = c4(), t = e.firstChild, n = t.nextSibling;
|
|
46983
47013
|
return e.$$click = (e) => {
|
|
46984
47014
|
e.stopPropagation(), !oe && f((e) => !e);
|
|
46985
47015
|
}, P(n, (() => {
|
|
@@ -46990,8 +47020,8 @@ function h4(e) {
|
|
|
46990
47020
|
return $e(() => !O())() && u().length > 0;
|
|
46991
47021
|
},
|
|
46992
47022
|
get children() {
|
|
46993
|
-
return [
|
|
46994
|
-
var e =
|
|
47023
|
+
return [o4(), (() => {
|
|
47024
|
+
var e = s4(), t = e.firstChild;
|
|
46995
47025
|
return P(e, () => u().length, t), e;
|
|
46996
47026
|
})()];
|
|
46997
47027
|
}
|
|
@@ -47007,13 +47037,13 @@ function h4(e) {
|
|
|
47007
47037
|
},
|
|
47008
47038
|
get children() {
|
|
47009
47039
|
return [
|
|
47010
|
-
|
|
47040
|
+
Z2(),
|
|
47011
47041
|
(() => {
|
|
47012
|
-
var e =
|
|
47042
|
+
var e = Q2();
|
|
47013
47043
|
return P(e, () => _(h())), e;
|
|
47014
47044
|
})(),
|
|
47015
47045
|
(() => {
|
|
47016
|
-
var e =
|
|
47046
|
+
var e = $2();
|
|
47017
47047
|
return e.$$click = () => {
|
|
47018
47048
|
oe || eO();
|
|
47019
47049
|
}, e;
|
|
@@ -47025,17 +47055,17 @@ function h4(e) {
|
|
|
47025
47055
|
return d();
|
|
47026
47056
|
},
|
|
47027
47057
|
get children() {
|
|
47028
|
-
var e =
|
|
47058
|
+
var e = t4(), t = e.firstChild;
|
|
47029
47059
|
return P(e, j(M, {
|
|
47030
47060
|
get when() {
|
|
47031
47061
|
return u().length > 0;
|
|
47032
47062
|
},
|
|
47033
47063
|
get children() {
|
|
47034
|
-
return [
|
|
47064
|
+
return [e4(), j(We, {
|
|
47035
47065
|
get each() {
|
|
47036
47066
|
return u();
|
|
47037
47067
|
},
|
|
47038
|
-
children: (e) => j(
|
|
47068
|
+
children: (e) => j(y4, {
|
|
47039
47069
|
agent: e,
|
|
47040
47070
|
review: !0,
|
|
47041
47071
|
onOpen: le
|
|
@@ -47047,14 +47077,14 @@ function h4(e) {
|
|
|
47047
47077
|
return l().length > 0;
|
|
47048
47078
|
},
|
|
47049
47079
|
get fallback() {
|
|
47050
|
-
return
|
|
47080
|
+
return l4();
|
|
47051
47081
|
},
|
|
47052
47082
|
get children() {
|
|
47053
47083
|
return j(We, {
|
|
47054
47084
|
get each() {
|
|
47055
47085
|
return l();
|
|
47056
47086
|
},
|
|
47057
|
-
children: (e) => j(
|
|
47087
|
+
children: (e) => j(y4, {
|
|
47058
47088
|
agent: e,
|
|
47059
47089
|
onOpen: le
|
|
47060
47090
|
})
|
|
@@ -47075,8 +47105,8 @@ function h4(e) {
|
|
|
47075
47105
|
return t();
|
|
47076
47106
|
},
|
|
47077
47107
|
get children() {
|
|
47078
|
-
var e =
|
|
47079
|
-
return t.$$pointerdown = ue, P(e, j(
|
|
47108
|
+
var e = r4(), t = e.firstChild;
|
|
47109
|
+
return t.$$pointerdown = ue, P(e, j(Y2, {
|
|
47080
47110
|
onGrab: () => n(!0),
|
|
47081
47111
|
onClose: () => n(!1),
|
|
47082
47112
|
get onHeaderPointerDown() {
|
|
@@ -47104,19 +47134,19 @@ function h4(e) {
|
|
|
47104
47134
|
}
|
|
47105
47135
|
})];
|
|
47106
47136
|
}
|
|
47107
|
-
function
|
|
47137
|
+
function y4(e) {
|
|
47108
47138
|
return (() => {
|
|
47109
|
-
var t =
|
|
47139
|
+
var t = u4(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
47110
47140
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
47111
47141
|
var t = $e(() => !!e.review);
|
|
47112
47142
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
47113
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
47143
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => b4(e.agent.updatedAt), null), E((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
47114
47144
|
})();
|
|
47115
47145
|
}
|
|
47116
|
-
function
|
|
47146
|
+
function b4(e) {
|
|
47117
47147
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
47118
47148
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
47119
47149
|
}
|
|
47120
47150
|
rt(["pointerdown", "click"]);
|
|
47121
47151
|
//#endregion
|
|
47122
|
-
export {
|
|
47152
|
+
export { d4 as init };
|