linear-grab 0.23.3 → 0.23.5
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 +7 -7
- package/dist/linear-grab.js +321 -232
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -46044,10 +46044,28 @@ function O2() {
|
|
|
46044
46044
|
w2 = [];
|
|
46045
46045
|
for (let e of T2) e(w2);
|
|
46046
46046
|
}
|
|
46047
|
-
var k2 = !
|
|
46048
|
-
|
|
46049
|
-
|
|
46050
|
-
|
|
46047
|
+
var k2 = !0;
|
|
46048
|
+
try {
|
|
46049
|
+
k2 = localStorage.getItem("linear-grab:css-watch") !== "0";
|
|
46050
|
+
} catch {}
|
|
46051
|
+
var A2 = /* @__PURE__ */ new Set();
|
|
46052
|
+
function j2() {
|
|
46053
|
+
return k2;
|
|
46054
|
+
}
|
|
46055
|
+
function M2(e) {
|
|
46056
|
+
k2 = e;
|
|
46057
|
+
try {
|
|
46058
|
+
localStorage.setItem("linear-grab:css-watch", e ? "1" : "0");
|
|
46059
|
+
} catch {}
|
|
46060
|
+
for (let t of A2) t(e);
|
|
46061
|
+
}
|
|
46062
|
+
function N2(e) {
|
|
46063
|
+
return A2.add(e), e(k2), () => void A2.delete(e);
|
|
46064
|
+
}
|
|
46065
|
+
var P2 = !1;
|
|
46066
|
+
function F2() {
|
|
46067
|
+
if (P2 || typeof window > "u") return;
|
|
46068
|
+
P2 = !0;
|
|
46051
46069
|
let e = 0, t = () => {
|
|
46052
46070
|
e = performance.now();
|
|
46053
46071
|
};
|
|
@@ -46061,6 +46079,7 @@ function A2() {
|
|
|
46061
46079
|
});
|
|
46062
46080
|
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
46063
46081
|
window.addEventListener("transitionrun", (t) => {
|
|
46082
|
+
if (!k2) return;
|
|
46064
46083
|
let i = performance.now() - e;
|
|
46065
46084
|
if (i > d2) return;
|
|
46066
46085
|
let a = t.target;
|
|
@@ -46110,9 +46129,9 @@ function A2() {
|
|
|
46110
46129
|
passive: !0
|
|
46111
46130
|
});
|
|
46112
46131
|
}
|
|
46113
|
-
var
|
|
46114
|
-
async function
|
|
46115
|
-
let e = /* @__PURE__ */ new Map(), t = Array.from(document.querySelectorAll(
|
|
46132
|
+
var I2 = "button, a, input, select, textarea, [role], [tabindex], [data-state], [aria-expanded]";
|
|
46133
|
+
async function L2() {
|
|
46134
|
+
let e = /* @__PURE__ */ new Map(), t = Array.from(document.querySelectorAll(I2)).slice(0, 3e3);
|
|
46116
46135
|
for (let n of t) {
|
|
46117
46136
|
if (n.closest("#linear-grab-root")) continue;
|
|
46118
46137
|
let t = n.getBoundingClientRect();
|
|
@@ -46157,7 +46176,7 @@ async function M2() {
|
|
|
46157
46176
|
for (let e of n) C2(e);
|
|
46158
46177
|
return n;
|
|
46159
46178
|
}
|
|
46160
|
-
function
|
|
46179
|
+
function R2(e) {
|
|
46161
46180
|
return [
|
|
46162
46181
|
"Below is a CSS-slowdown report from my running app (live-captured on real input + full-page audit).",
|
|
46163
46182
|
"Goal: ALL interaction feedback must be instant. Rules:",
|
|
@@ -46186,10 +46205,10 @@ function N2(e) {
|
|
|
46186
46205
|
"",
|
|
46187
46206
|
"---",
|
|
46188
46207
|
"",
|
|
46189
|
-
|
|
46208
|
+
z2(e)
|
|
46190
46209
|
].join("\n");
|
|
46191
46210
|
}
|
|
46192
|
-
function
|
|
46211
|
+
function z2(e) {
|
|
46193
46212
|
let t = [
|
|
46194
46213
|
`# CSS slowdowns on ${location.host}${location.pathname}`,
|
|
46195
46214
|
"Threshold: 50ms (interaction feedback should be instant).",
|
|
@@ -46200,22 +46219,22 @@ function P2(e) {
|
|
|
46200
46219
|
}
|
|
46201
46220
|
//#endregion
|
|
46202
46221
|
//#region src/panel/views/DesignView.tsx
|
|
46203
|
-
var
|
|
46204
|
-
function
|
|
46222
|
+
var B2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[7ch] text-center\">Extract"), V2 = /*#__PURE__*/ N("<div class=\"relative flex flex-col gap-2 pl-4\"><div class=\"bg-border absolute top-1 bottom-1 left-[5px] w-px\"aria-hidden>"), H2 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), U2 = /*#__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\">"), W2 = /*#__PURE__*/ N("<div class=\"flex items-center justify-end gap-1 px-1\">"), G2 = /*#__PURE__*/ N("<span class=\"relative inline-flex items-center justify-center\"><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><rect x=3.5 y=3 width=3.2 height=10 rx=1></rect><rect x=9.3 y=3 width=3.2 height=10 rx=1></rect></svg><span class=\"bg-success absolute -top-0.5 -right-0.5 size-1.5 animate-pulse rounded-full\"aria-hidden>"), K2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[5ch] text-center\">Audit"), q2 = /*#__PURE__*/ N("<div class=\"flex max-h-72 flex-col gap-1.5 overflow-y-auto pr-2\">"), J2 = /*#__PURE__*/ N("<span class=\"text-[12px] leading-none\">✓"), Y2 = /*#__PURE__*/ N("<div class=\"flex items-center gap-1 px-1\">"), X2 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-3 overflow-y-auto pt-3 pb-4 pr-3 pl-2\"><div class=\"flex items-center justify-between gap-2 px-1\"><div class=min-w-0><p class=\"text-text text-[12.5px] font-semibold\">Design genomes</p><p class=\"text-text-faint text-[10.5px] leading-snug\">Point at a component → get its structure, tokens and interaction states as a spec you can hand to an agent.</p></div></div><div class=\"border-border mt-1 flex flex-col gap-2 border-t pt-3\"><div class=\"flex items-center justify-between gap-2 px-1\"><div class=min-w-0><p class=\"text-text text-[12.5px] font-semibold\">CSS slowdowns</p><p class=\"text-text-faint text-[10.5px] leading-snug\">Transitions/delays ≥50ms on interactive elements — feedback that animates instead of being instant. Live hits appear as you use the app; Audit sweeps the whole page.</p></div><div class=\"flex shrink-0 items-center gap-1\">"), Z2 = /*#__PURE__*/ N("<p class=\"text-text mt-1 text-[11px] font-semibold\">Interaction states"), Q2 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"aria-hidden><rect x=3.5 y=3.5 width=9 height=9 rx=1.5 fill=currentColor>"), $2 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px] font-medium tabular-nums\">s · <!> states"), e4 = /*#__PURE__*/ N("<div class=\"border-border flex flex-col gap-2 border-t px-2.5 py-2\"><p class=\"text-text-faint truncate text-[10px]\"></p><div class=\"flex max-h-64 flex-col gap-2 overflow-y-auto pr-2\"></div><div class=\"flex items-center gap-1\">"), t4 = /*#__PURE__*/ N("<div class=relative><span class=\"border-border bg-surface absolute top-3 -left-[13.5px] size-[9px] rounded-full border\"aria-hidden></span><div class=\"bg-surface border-border flex flex-col rounded-lg border\"><button class=\"flex w-full cursor-pointer items-center gap-2 px-2.5 py-2 text-left\"><span class=\"text-accent min-w-0 truncate font-mono text-[12px]\"></span><span class=\"text-text-faint ml-auto shrink-0 text-[10.5px] tabular-nums\"> roles<!> · </span><svg width=10 height=10 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 class=\"text-text-faint shrink-0 transition-transform\"aria-hidden><path d=\"m4 6 4 4 4-4\">"), n4 = /*#__PURE__*/ N("<span class=text-text-faint> ×"), r4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-text text-[11px] font-medium\">"), i4 = /*#__PURE__*/ N("<span class=text-accent> ← var(<!>)"), a4 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: "), o4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-warn text-[10.5px] font-medium\"> — "), s4 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: <!> → "), c4 = /*#__PURE__*/ N("<svg width=13 height=13 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round aria-hidden><circle cx=8 cy=8 r=6></circle><circle cx=8 cy=8 r=2 fill=currentColor stroke=none>"), l4 = /*#__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\">"), u4 = /*#__PURE__*/ N("<svg width=12 height=12 viewBox=\"0 0 16 16\"fill=currentColor aria-hidden><path d=\"M4.5 2.5v11l9-5.5z\">"), d4 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1 text-[10.5px]\">Nothing caught yet — interact with the app, or run Audit."), f4 = /*#__PURE__*/ N("<span class=\"text-text-dim font-mono text-[10px] break-all\">"), p4 = /*#__PURE__*/ N("<span class=\"text-danger text-[10px] leading-snug\">⚠ layout/paint transition: "), m4 = /*#__PURE__*/ N("<span class=\"text-danger text-[10px] leading-snug\">⚠ ease-in easing: "), h4 = /*#__PURE__*/ N("<div class=\"bg-surface border-border flex flex-col gap-0.5 rounded-lg border p-2\"><div class=\"flex items-center gap-2\"><span class=\"text-warn shrink-0 text-[10px] font-semibold tracking-wide uppercase\"></span><span class=\"text-accent min-w-0 truncate font-mono text-[11.5px]\"></span><span class=\"text-text ml-auto shrink-0 text-[11px] font-medium tabular-nums\">ms</span></div><span class=\"text-text-dim text-[10px] leading-snug\"></span><span class=\"text-text-faint text-[10px] leading-snug\">"), g4 = /*#__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 1.5 9.6 6l4.4 1.6L9.6 9.2 8 13.7 6.4 9.2 2 7.6 6.4 6Z\"></path><path d=\"M13 11.5l.6 1.7 1.7.6-1.7.6-.6 1.7-.6-1.7-1.7-.6 1.7-.6Z\">"), _4 = "linear-grab:genomes:v1", v4 = 30;
|
|
46223
|
+
function y4() {
|
|
46205
46224
|
try {
|
|
46206
|
-
return JSON.parse(localStorage.getItem(
|
|
46225
|
+
return JSON.parse(localStorage.getItem(_4) ?? "[]");
|
|
46207
46226
|
} catch {
|
|
46208
46227
|
return [];
|
|
46209
46228
|
}
|
|
46210
46229
|
}
|
|
46211
|
-
function
|
|
46230
|
+
function b4(e) {
|
|
46212
46231
|
try {
|
|
46213
|
-
localStorage.setItem(
|
|
46232
|
+
localStorage.setItem(_4, JSON.stringify(e.slice(0, v4)));
|
|
46214
46233
|
} catch {}
|
|
46215
46234
|
}
|
|
46216
|
-
var
|
|
46217
|
-
function
|
|
46218
|
-
let [e, t] = T(
|
|
46235
|
+
var x4 = /* @__PURE__ */ new Map();
|
|
46236
|
+
function S4() {
|
|
46237
|
+
let [e, t] = T(y4()), [n, r] = T(null), [i, a] = T(null), [o, s] = T(null), [c, l] = T(null), [u, d] = T(null), [f, p] = T({
|
|
46219
46238
|
active: !1,
|
|
46220
46239
|
msLeft: 0,
|
|
46221
46240
|
total: 0,
|
|
@@ -46224,34 +46243,36 @@ function g4() {
|
|
|
46224
46243
|
ae(i2(p));
|
|
46225
46244
|
let [m, h] = T([]);
|
|
46226
46245
|
ae(D2(h));
|
|
46227
|
-
let [g, _] = T(
|
|
46228
|
-
|
|
46246
|
+
let [g, _] = T(j2());
|
|
46247
|
+
ae(N2(_));
|
|
46248
|
+
let [v, y] = T(!1), [b, x] = T(!1), S = async () => {
|
|
46249
|
+
y(!0);
|
|
46229
46250
|
try {
|
|
46230
|
-
await
|
|
46251
|
+
await L2();
|
|
46231
46252
|
} finally {
|
|
46232
|
-
|
|
46253
|
+
y(!1);
|
|
46233
46254
|
}
|
|
46234
|
-
},
|
|
46255
|
+
}, C = async () => {
|
|
46235
46256
|
try {
|
|
46236
|
-
await navigator.clipboard.writeText(
|
|
46257
|
+
await navigator.clipboard.writeText(z2(m())), x(!0), setTimeout(() => x(!1), 1600);
|
|
46237
46258
|
} catch {
|
|
46238
46259
|
l("Clipboard was blocked — click Copy again.");
|
|
46239
46260
|
}
|
|
46240
|
-
}, [
|
|
46261
|
+
}, [w, E] = T(!1), O = async () => {
|
|
46241
46262
|
try {
|
|
46242
|
-
await navigator.clipboard.writeText(
|
|
46263
|
+
await navigator.clipboard.writeText(R2(m())), E(!0), setTimeout(() => E(!1), 1600);
|
|
46243
46264
|
} catch {
|
|
46244
46265
|
l("Clipboard was blocked — click Copy again.");
|
|
46245
46266
|
}
|
|
46246
|
-
},
|
|
46247
|
-
t(e),
|
|
46248
|
-
},
|
|
46267
|
+
}, k = (e) => {
|
|
46268
|
+
t(e), b4(e);
|
|
46269
|
+
}, ee = async () => {
|
|
46249
46270
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
46250
46271
|
try {
|
|
46251
46272
|
let t = await u2();
|
|
46252
46273
|
if (!t) return;
|
|
46253
46274
|
let n = await e2(t), i = Date.now();
|
|
46254
|
-
|
|
46275
|
+
x4.set(i, new WeakRef(t)), k([{
|
|
46255
46276
|
id: i,
|
|
46256
46277
|
genome: n
|
|
46257
46278
|
}, ...e()]), r(i);
|
|
@@ -46260,16 +46281,16 @@ function g4() {
|
|
|
46260
46281
|
} finally {
|
|
46261
46282
|
a(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46262
46283
|
}
|
|
46263
|
-
},
|
|
46284
|
+
}, te = async (t) => {
|
|
46264
46285
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
46265
46286
|
try {
|
|
46266
|
-
let n =
|
|
46287
|
+
let n = x4.get(t.id)?.deref() ?? null;
|
|
46267
46288
|
if (!n || !n.isConnected) {
|
|
46268
46289
|
if (n = await u2(), !n) return;
|
|
46269
|
-
|
|
46290
|
+
x4.set(t.id, new WeakRef(n));
|
|
46270
46291
|
}
|
|
46271
46292
|
let r = await c2(n, 8e3, (e) => s(Math.ceil(e / 1e3)));
|
|
46272
|
-
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."),
|
|
46293
|
+
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."), k(e().map((e) => e.id === t.id ? {
|
|
46273
46294
|
...e,
|
|
46274
46295
|
genome: {
|
|
46275
46296
|
...e.genome,
|
|
@@ -46281,37 +46302,37 @@ function g4() {
|
|
|
46281
46302
|
} finally {
|
|
46282
46303
|
a(null), s(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46283
46304
|
}
|
|
46284
|
-
},
|
|
46305
|
+
}, A = async (e) => {
|
|
46285
46306
|
try {
|
|
46286
46307
|
await navigator.clipboard.writeText(l2(e.genome)), d(e.id), setTimeout(() => d(null), 1600);
|
|
46287
46308
|
} catch {
|
|
46288
46309
|
l("Clipboard was blocked — click Copy again.");
|
|
46289
46310
|
}
|
|
46290
|
-
},
|
|
46291
|
-
|
|
46292
|
-
}, [
|
|
46311
|
+
}, ne = (t) => {
|
|
46312
|
+
x4.delete(t), k(e().filter((e) => e.id !== t));
|
|
46313
|
+
}, [re, ie] = T(!1), oe = async () => {
|
|
46293
46314
|
try {
|
|
46294
46315
|
let t = e().map((e) => l2(e.genome)).join("\n\n---\n\n");
|
|
46295
|
-
await navigator.clipboard.writeText(t),
|
|
46316
|
+
await navigator.clipboard.writeText(t), ie(!0), setTimeout(() => ie(!1), 1600);
|
|
46296
46317
|
} catch {
|
|
46297
46318
|
l("Clipboard was blocked — click Copy again.");
|
|
46298
46319
|
}
|
|
46299
|
-
},
|
|
46300
|
-
|
|
46320
|
+
}, se = () => {
|
|
46321
|
+
x4.clear(), k([]), r(null);
|
|
46301
46322
|
};
|
|
46302
46323
|
return (() => {
|
|
46303
|
-
var t =
|
|
46324
|
+
var t = X2(), a = t.firstChild;
|
|
46304
46325
|
a.firstChild;
|
|
46305
|
-
var o = a.nextSibling, s = o.firstChild;
|
|
46306
|
-
return
|
|
46326
|
+
var o = a.nextSibling, s = o.firstChild.firstChild.nextSibling;
|
|
46327
|
+
return P(a, j(kj, {
|
|
46307
46328
|
variant: "primary",
|
|
46308
46329
|
class: "h-7 shrink-0 px-2.5 text-[11.5px]",
|
|
46309
46330
|
get loading() {
|
|
46310
46331
|
return i() === "extract";
|
|
46311
46332
|
},
|
|
46312
|
-
onClick: () => void
|
|
46333
|
+
onClick: () => void ee(),
|
|
46313
46334
|
get children() {
|
|
46314
|
-
return
|
|
46335
|
+
return B2();
|
|
46315
46336
|
}
|
|
46316
46337
|
}), null), P(t, j(M, {
|
|
46317
46338
|
get when() {
|
|
@@ -46334,7 +46355,7 @@ function g4() {
|
|
|
46334
46355
|
},
|
|
46335
46356
|
get children() {
|
|
46336
46357
|
return [(() => {
|
|
46337
|
-
var t =
|
|
46358
|
+
var t = V2();
|
|
46338
46359
|
return t.firstChild, P(t, j(We, {
|
|
46339
46360
|
get each() {
|
|
46340
46361
|
return e();
|
|
@@ -46342,7 +46363,7 @@ function g4() {
|
|
|
46342
46363
|
children: (e) => {
|
|
46343
46364
|
let t = () => n() === e.id;
|
|
46344
46365
|
return (() => {
|
|
46345
|
-
var n =
|
|
46366
|
+
var n = t4(), a = n.firstChild, o = a.nextSibling, s = o.firstChild, c = s.firstChild, l = c.nextSibling, d = l.firstChild, p = d.nextSibling;
|
|
46346
46367
|
p.nextSibling;
|
|
46347
46368
|
var m = l.nextSibling;
|
|
46348
46369
|
return s.$$click = () => r(t() ? null : e.id), P(c, () => e.genome.title), P(l, () => e.genome.nodes.length, d), P(l, (() => {
|
|
@@ -46353,19 +46374,19 @@ function g4() {
|
|
|
46353
46374
|
return t();
|
|
46354
46375
|
},
|
|
46355
46376
|
get children() {
|
|
46356
|
-
var t =
|
|
46377
|
+
var t = e4(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
46357
46378
|
return P(n, () => e.genome.pageUrl), P(r, j(We, {
|
|
46358
46379
|
get each() {
|
|
46359
46380
|
return e.genome.nodes;
|
|
46360
46381
|
},
|
|
46361
46382
|
children: (e) => (() => {
|
|
46362
|
-
var t =
|
|
46383
|
+
var t = r4(), n = t.firstChild;
|
|
46363
46384
|
return P(n, () => e.label, null), P(n, j(M, {
|
|
46364
46385
|
get when() {
|
|
46365
46386
|
return e.count > 1;
|
|
46366
46387
|
},
|
|
46367
46388
|
get children() {
|
|
46368
|
-
var t =
|
|
46389
|
+
var t = n4();
|
|
46369
46390
|
return t.firstChild, P(t, () => e.count, null), t;
|
|
46370
46391
|
}
|
|
46371
46392
|
}), null), P(t, j(We, {
|
|
@@ -46373,13 +46394,13 @@ function g4() {
|
|
|
46373
46394
|
return Object.entries(e.styles);
|
|
46374
46395
|
},
|
|
46375
46396
|
children: ([t, n]) => (() => {
|
|
46376
|
-
var r =
|
|
46397
|
+
var r = a4(), i = r.firstChild;
|
|
46377
46398
|
return P(r, t, i), P(r, n, null), P(r, j(M, {
|
|
46378
46399
|
get when() {
|
|
46379
46400
|
return e.tokens[t];
|
|
46380
46401
|
},
|
|
46381
46402
|
get children() {
|
|
46382
|
-
var n =
|
|
46403
|
+
var n = i4(), r = n.firstChild.nextSibling;
|
|
46383
46404
|
return r.nextSibling, P(n, () => e.tokens[t], r), n;
|
|
46384
46405
|
}
|
|
46385
46406
|
}), null), r;
|
|
@@ -46391,18 +46412,18 @@ function g4() {
|
|
|
46391
46412
|
return e.genome.states.length > 0;
|
|
46392
46413
|
},
|
|
46393
46414
|
get children() {
|
|
46394
|
-
return [
|
|
46415
|
+
return [Z2(), j(We, {
|
|
46395
46416
|
get each() {
|
|
46396
46417
|
return e.genome.states;
|
|
46397
46418
|
},
|
|
46398
46419
|
children: (e) => (() => {
|
|
46399
|
-
var t =
|
|
46420
|
+
var t = o4(), n = t.firstChild, r = n.firstChild;
|
|
46400
46421
|
return P(n, () => e.label, r), P(n, () => e.trigger, null), P(t, j(We, {
|
|
46401
46422
|
get each() {
|
|
46402
46423
|
return Object.entries(e.changed);
|
|
46403
46424
|
},
|
|
46404
46425
|
children: ([e, t]) => (() => {
|
|
46405
|
-
var n =
|
|
46426
|
+
var n = s4(), r = n.firstChild, i = r.nextSibling;
|
|
46406
46427
|
return i.nextSibling, P(n, e, r), P(n, () => t.from, i), P(n, () => t.to, null), n;
|
|
46407
46428
|
})()
|
|
46408
46429
|
}), null), t;
|
|
@@ -46422,9 +46443,9 @@ function g4() {
|
|
|
46422
46443
|
},
|
|
46423
46444
|
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46424
46445
|
"aria-label": "Capture interaction states",
|
|
46425
|
-
onClick: () => void
|
|
46446
|
+
onClick: () => void te(e),
|
|
46426
46447
|
get children() {
|
|
46427
|
-
return
|
|
46448
|
+
return c4();
|
|
46428
46449
|
}
|
|
46429
46450
|
});
|
|
46430
46451
|
},
|
|
@@ -46438,10 +46459,10 @@ function g4() {
|
|
|
46438
46459
|
"aria-label": "Stop recording states",
|
|
46439
46460
|
onClick: () => o2(),
|
|
46440
46461
|
get children() {
|
|
46441
|
-
return
|
|
46462
|
+
return Q2();
|
|
46442
46463
|
}
|
|
46443
46464
|
}), (() => {
|
|
46444
|
-
var e =
|
|
46465
|
+
var e = $2(), t = e.firstChild, n = t.nextSibling;
|
|
46445
46466
|
return n.nextSibling, P(e, () => Math.ceil(f().msLeft / 1e3), t), P(e, () => f().total, n), e;
|
|
46446
46467
|
})()];
|
|
46447
46468
|
}
|
|
@@ -46452,17 +46473,17 @@ function g4() {
|
|
|
46452
46473
|
return u() === e.id ? "Copied!" : "Copy spec — markdown for an agent or issue";
|
|
46453
46474
|
},
|
|
46454
46475
|
"aria-label": "Copy genome spec",
|
|
46455
|
-
onClick: () => void
|
|
46476
|
+
onClick: () => void A(e),
|
|
46456
46477
|
get children() {
|
|
46457
46478
|
return j(M, {
|
|
46458
46479
|
get when() {
|
|
46459
46480
|
return u() === e.id;
|
|
46460
46481
|
},
|
|
46461
46482
|
get fallback() {
|
|
46462
|
-
return
|
|
46483
|
+
return l4();
|
|
46463
46484
|
},
|
|
46464
46485
|
get children() {
|
|
46465
|
-
return
|
|
46486
|
+
return H2();
|
|
46466
46487
|
}
|
|
46467
46488
|
});
|
|
46468
46489
|
}
|
|
@@ -46471,9 +46492,9 @@ function g4() {
|
|
|
46471
46492
|
variant: "ghost",
|
|
46472
46493
|
title: "Delete this genome",
|
|
46473
46494
|
"aria-label": "Delete genome",
|
|
46474
|
-
onClick: () =>
|
|
46495
|
+
onClick: () => ne(e.id),
|
|
46475
46496
|
get children() {
|
|
46476
|
-
return
|
|
46497
|
+
return U2();
|
|
46477
46498
|
}
|
|
46478
46499
|
}), null), t;
|
|
46479
46500
|
}
|
|
@@ -46488,50 +46509,89 @@ function g4() {
|
|
|
46488
46509
|
}
|
|
46489
46510
|
}), null), t;
|
|
46490
46511
|
})(), (() => {
|
|
46491
|
-
var e =
|
|
46512
|
+
var e = W2();
|
|
46492
46513
|
return P(e, j(kj, {
|
|
46493
|
-
class: "
|
|
46514
|
+
class: "size-7 px-0",
|
|
46494
46515
|
variant: "ghost",
|
|
46495
|
-
title
|
|
46496
|
-
|
|
46516
|
+
get title() {
|
|
46517
|
+
return re() ? "Copied!" : "Copy all genomes as one markdown document";
|
|
46518
|
+
},
|
|
46519
|
+
"aria-label": "Copy all genomes",
|
|
46520
|
+
onClick: () => void oe(),
|
|
46497
46521
|
get children() {
|
|
46498
|
-
|
|
46499
|
-
|
|
46522
|
+
return j(M, {
|
|
46523
|
+
get when() {
|
|
46524
|
+
return re();
|
|
46525
|
+
},
|
|
46526
|
+
get fallback() {
|
|
46527
|
+
return l4();
|
|
46528
|
+
},
|
|
46529
|
+
get children() {
|
|
46530
|
+
return H2();
|
|
46531
|
+
}
|
|
46532
|
+
});
|
|
46500
46533
|
}
|
|
46501
46534
|
}), null), P(e, j(kj, {
|
|
46502
|
-
class: "
|
|
46535
|
+
class: "text-danger size-7 px-0",
|
|
46503
46536
|
variant: "ghost",
|
|
46504
|
-
|
|
46505
|
-
|
|
46537
|
+
title: "Delete all saved genomes",
|
|
46538
|
+
"aria-label": "Delete all genomes",
|
|
46539
|
+
onClick: se,
|
|
46540
|
+
get children() {
|
|
46541
|
+
return U2();
|
|
46542
|
+
}
|
|
46506
46543
|
}), null), e;
|
|
46507
46544
|
})()];
|
|
46508
46545
|
}
|
|
46509
46546
|
}), o), P(s, j(kj, {
|
|
46547
|
+
class: "size-7 px-0",
|
|
46510
46548
|
variant: "ghost",
|
|
46511
|
-
|
|
46549
|
+
get title() {
|
|
46550
|
+
return g() ? "Live capture ON — recording transitions fired by your input. Click to pause." : "Live capture PAUSED — click to resume recording input-triggered transitions.";
|
|
46551
|
+
},
|
|
46552
|
+
get "aria-label"() {
|
|
46553
|
+
return g() ? "Pause live capture" : "Start live capture";
|
|
46554
|
+
},
|
|
46555
|
+
onClick: () => M2(!g()),
|
|
46556
|
+
get children() {
|
|
46557
|
+
return j(M, {
|
|
46558
|
+
get when() {
|
|
46559
|
+
return g();
|
|
46560
|
+
},
|
|
46561
|
+
get fallback() {
|
|
46562
|
+
return u4();
|
|
46563
|
+
},
|
|
46564
|
+
get children() {
|
|
46565
|
+
return G2();
|
|
46566
|
+
}
|
|
46567
|
+
});
|
|
46568
|
+
}
|
|
46569
|
+
}), null), P(s, j(kj, {
|
|
46570
|
+
variant: "ghost",
|
|
46571
|
+
class: "h-7 px-2.5 text-[11.5px]",
|
|
46512
46572
|
get loading() {
|
|
46513
|
-
return
|
|
46573
|
+
return v();
|
|
46514
46574
|
},
|
|
46515
|
-
onClick: () => void
|
|
46575
|
+
onClick: () => void S(),
|
|
46516
46576
|
get children() {
|
|
46517
|
-
return
|
|
46577
|
+
return K2();
|
|
46518
46578
|
}
|
|
46519
46579
|
}), null), P(o, j(M, {
|
|
46520
46580
|
get when() {
|
|
46521
46581
|
return m().length > 0;
|
|
46522
46582
|
},
|
|
46523
46583
|
get fallback() {
|
|
46524
|
-
return
|
|
46584
|
+
return d4();
|
|
46525
46585
|
},
|
|
46526
46586
|
get children() {
|
|
46527
46587
|
return [(() => {
|
|
46528
|
-
var e =
|
|
46588
|
+
var e = q2();
|
|
46529
46589
|
return P(e, j(We, {
|
|
46530
46590
|
get each() {
|
|
46531
46591
|
return m();
|
|
46532
46592
|
},
|
|
46533
46593
|
children: (e) => (() => {
|
|
46534
|
-
var t =
|
|
46594
|
+
var t = h4(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = a.firstChild, s = n.nextSibling, c = s.nextSibling;
|
|
46535
46595
|
return P(r, () => e.mode === "live" ? "live" : "audit"), P(i, () => e.component ?? e.element, null), P(i, j(M, {
|
|
46536
46596
|
get when() {
|
|
46537
46597
|
return e.count > 1;
|
|
@@ -46547,7 +46607,7 @@ function g4() {
|
|
|
46547
46607
|
return e.source;
|
|
46548
46608
|
},
|
|
46549
46609
|
get children() {
|
|
46550
|
-
var t =
|
|
46610
|
+
var t = f4();
|
|
46551
46611
|
return P(t, () => e.source), t;
|
|
46552
46612
|
}
|
|
46553
46613
|
}), s), P(s, () => e.properties.join(", "), null), P(s, j(M, {
|
|
@@ -46566,7 +46626,7 @@ function g4() {
|
|
|
46566
46626
|
return e.jankProps?.length;
|
|
46567
46627
|
},
|
|
46568
46628
|
get children() {
|
|
46569
|
-
var t =
|
|
46629
|
+
var t = p4();
|
|
46570
46630
|
return t.firstChild, P(t, () => e.jankProps.join(", "), null), t;
|
|
46571
46631
|
}
|
|
46572
46632
|
}), c), P(t, j(M, {
|
|
@@ -46574,36 +46634,65 @@ function g4() {
|
|
|
46574
46634
|
return e.easing;
|
|
46575
46635
|
},
|
|
46576
46636
|
get children() {
|
|
46577
|
-
var t =
|
|
46637
|
+
var t = m4();
|
|
46578
46638
|
return t.firstChild, P(t, () => e.easing, null), t;
|
|
46579
46639
|
}
|
|
46580
46640
|
}), c), P(c, () => e.suggestion), t;
|
|
46581
46641
|
})()
|
|
46582
46642
|
})), e;
|
|
46583
46643
|
})(), (() => {
|
|
46584
|
-
var e =
|
|
46644
|
+
var e = Y2();
|
|
46585
46645
|
return P(e, j(kj, {
|
|
46586
|
-
class: "
|
|
46646
|
+
class: "size-7 px-0",
|
|
46587
46647
|
variant: "primary",
|
|
46588
|
-
title
|
|
46589
|
-
|
|
46648
|
+
get title() {
|
|
46649
|
+
return w() ? "Copied!" : "Copy AI prompt — report + fix rules, ready to paste into a Claude Code session";
|
|
46650
|
+
},
|
|
46651
|
+
"aria-label": "Copy AI fix prompt",
|
|
46652
|
+
onClick: () => void O(),
|
|
46590
46653
|
get children() {
|
|
46591
|
-
|
|
46592
|
-
|
|
46654
|
+
return j(M, {
|
|
46655
|
+
get when() {
|
|
46656
|
+
return w();
|
|
46657
|
+
},
|
|
46658
|
+
get fallback() {
|
|
46659
|
+
return g4();
|
|
46660
|
+
},
|
|
46661
|
+
get children() {
|
|
46662
|
+
return J2();
|
|
46663
|
+
}
|
|
46664
|
+
});
|
|
46593
46665
|
}
|
|
46594
46666
|
}), null), P(e, j(kj, {
|
|
46595
|
-
class: "
|
|
46667
|
+
class: "size-7 px-0",
|
|
46596
46668
|
variant: "ghost",
|
|
46597
|
-
|
|
46669
|
+
get title() {
|
|
46670
|
+
return b() ? "Copied!" : "Copy report — plain markdown findings";
|
|
46671
|
+
},
|
|
46672
|
+
"aria-label": "Copy report",
|
|
46673
|
+
onClick: () => void C(),
|
|
46598
46674
|
get children() {
|
|
46599
|
-
|
|
46600
|
-
|
|
46675
|
+
return j(M, {
|
|
46676
|
+
get when() {
|
|
46677
|
+
return b();
|
|
46678
|
+
},
|
|
46679
|
+
get fallback() {
|
|
46680
|
+
return l4();
|
|
46681
|
+
},
|
|
46682
|
+
get children() {
|
|
46683
|
+
return H2();
|
|
46684
|
+
}
|
|
46685
|
+
});
|
|
46601
46686
|
}
|
|
46602
46687
|
}), null), P(e, j(kj, {
|
|
46603
|
-
class: "
|
|
46688
|
+
class: "text-danger ml-auto size-7 px-0",
|
|
46604
46689
|
variant: "ghost",
|
|
46690
|
+
title: "Clear all findings (live + audit)",
|
|
46691
|
+
"aria-label": "Clear all findings",
|
|
46605
46692
|
onClick: O2,
|
|
46606
|
-
children
|
|
46693
|
+
get children() {
|
|
46694
|
+
return U2();
|
|
46695
|
+
}
|
|
46607
46696
|
}), null), e;
|
|
46608
46697
|
})()];
|
|
46609
46698
|
}
|
|
@@ -46613,7 +46702,7 @@ function g4() {
|
|
|
46613
46702
|
rt(["click"]);
|
|
46614
46703
|
//#endregion
|
|
46615
46704
|
//#region src/lib/projectConfig.ts
|
|
46616
|
-
var
|
|
46705
|
+
var C4 = [
|
|
46617
46706
|
"defaultTeamId",
|
|
46618
46707
|
"defaultProjectId",
|
|
46619
46708
|
"defaultLabelIds",
|
|
@@ -46628,29 +46717,29 @@ var _4 = [
|
|
|
46628
46717
|
"issueTemplate",
|
|
46629
46718
|
"testUsername"
|
|
46630
46719
|
];
|
|
46631
|
-
function
|
|
46720
|
+
function w4(e) {
|
|
46632
46721
|
let t = {};
|
|
46633
|
-
for (let n of
|
|
46722
|
+
for (let n of C4) {
|
|
46634
46723
|
let r = e[n];
|
|
46635
46724
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
46636
46725
|
}
|
|
46637
46726
|
return t;
|
|
46638
46727
|
}
|
|
46639
|
-
function
|
|
46728
|
+
function T4(e, t) {
|
|
46640
46729
|
let n = {};
|
|
46641
|
-
for (let r of
|
|
46730
|
+
for (let r of C4) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
46642
46731
|
return Object.keys(n).length ? n : null;
|
|
46643
46732
|
}
|
|
46644
46733
|
//#endregion
|
|
46645
46734
|
//#region src/lib/linear/auth.ts
|
|
46646
46735
|
Br();
|
|
46647
|
-
function
|
|
46736
|
+
function E4(e) {
|
|
46648
46737
|
let t = "";
|
|
46649
46738
|
for (let n of e) t += String.fromCharCode(n);
|
|
46650
46739
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
46651
46740
|
}
|
|
46652
|
-
async function
|
|
46653
|
-
let t =
|
|
46741
|
+
async function D4(e) {
|
|
46742
|
+
let t = E4(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = E4(new Uint8Array(n)), i = E4(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
46654
46743
|
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");
|
|
46655
46744
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
46656
46745
|
url: o.toString(),
|
|
@@ -46678,15 +46767,15 @@ async function x4(e) {
|
|
|
46678
46767
|
linearOauthClientId: e
|
|
46679
46768
|
});
|
|
46680
46769
|
}
|
|
46681
|
-
async function
|
|
46770
|
+
async function O4() {
|
|
46682
46771
|
await Er({
|
|
46683
46772
|
linearAccessToken: void 0,
|
|
46684
46773
|
linearApiKey: void 0
|
|
46685
46774
|
});
|
|
46686
46775
|
}
|
|
46687
46776
|
Br(), Sr(), Fx(), gD();
|
|
46688
|
-
var
|
|
46689
|
-
function
|
|
46777
|
+
var k4 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), A4 = /*#__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."), j4 = /*#__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"), M4 = /*#__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)."), N4 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), P4 = /*#__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]\">"), F4 = /*#__PURE__*/ N("<option value>Select a team…"), I4 = /*#__PURE__*/ N("<option value>No project"), L4 = /*#__PURE__*/ N("<div class=\"flex flex-wrap gap-1\">"), R4 = /*#__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."), z4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), B4 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), V4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), H4 = /*#__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."), U4 = /*#__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."), W4 = /*#__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."), G4 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), K4 = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\">"), q4 = /*#__PURE__*/ N("<option value>Select a channel…"), J4 = /*#__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"), Y4 = /*#__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."), X4 = /*#__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"), Z4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), Q4 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), $4 = /*#__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."), e3 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), t3 = /*#__PURE__*/ N("<button>"), n3 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), r3 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), i3 = /*#__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\">"), a3 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), o3 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), s3 = /*#__PURE__*/ N("<option> (<!>)"), c3 = /*#__PURE__*/ N("<option>"), l3 = /*#__PURE__*/ N("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), u3 = /*#__PURE__*/ N("<option value>Select the agent…"), d3 = /*#__PURE__*/ N("<option>#"), f3 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
46778
|
+
function p3() {
|
|
46690
46779
|
let e = sr(), t = _r(() => ({
|
|
46691
46780
|
queryKey: ["settings"],
|
|
46692
46781
|
queryFn: Tr,
|
|
@@ -46714,13 +46803,13 @@ function s3() {
|
|
|
46714
46803
|
retry: 0
|
|
46715
46804
|
})), [l, u] = T(!1), d = async () => {
|
|
46716
46805
|
try {
|
|
46717
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
46806
|
+
await navigator.clipboard.writeText(JSON.stringify(w4(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
46718
46807
|
} catch {}
|
|
46719
46808
|
}, f = () => {
|
|
46720
46809
|
let e = c.data?.projectConfig;
|
|
46721
46810
|
if (!e) return;
|
|
46722
46811
|
let t = {};
|
|
46723
|
-
for (let n of
|
|
46812
|
+
for (let n of C4) e[n] !== void 0 && (t[n] = e[n]);
|
|
46724
46813
|
r(t);
|
|
46725
46814
|
}, p = _r(() => ({
|
|
46726
46815
|
queryKey: ["linear-labels"],
|
|
@@ -46753,7 +46842,7 @@ function s3() {
|
|
|
46753
46842
|
}
|
|
46754
46843
|
E(!0), ee("");
|
|
46755
46844
|
try {
|
|
46756
|
-
await
|
|
46845
|
+
await D4(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"] });
|
|
46757
46846
|
} catch (e) {
|
|
46758
46847
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
46759
46848
|
} finally {
|
|
@@ -46764,7 +46853,7 @@ function s3() {
|
|
|
46764
46853
|
async function re() {
|
|
46765
46854
|
ne(!0);
|
|
46766
46855
|
try {
|
|
46767
|
-
await
|
|
46856
|
+
await O4(), 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"] });
|
|
46768
46857
|
} finally {
|
|
46769
46858
|
ne(!1);
|
|
46770
46859
|
}
|
|
@@ -46780,12 +46869,12 @@ function s3() {
|
|
|
46780
46869
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
46781
46870
|
});
|
|
46782
46871
|
return (() => {
|
|
46783
|
-
var e =
|
|
46872
|
+
var e = e3();
|
|
46784
46873
|
return P(e, j(Rj, {
|
|
46785
46874
|
title: "Workflow",
|
|
46786
46875
|
get children() {
|
|
46787
46876
|
return [(() => {
|
|
46788
|
-
var e =
|
|
46877
|
+
var e = k4();
|
|
46789
46878
|
return P(e, j(We, {
|
|
46790
46879
|
each: [{
|
|
46791
46880
|
id: "cloud",
|
|
@@ -46795,19 +46884,19 @@ function s3() {
|
|
|
46795
46884
|
label: "Local · clipboard"
|
|
46796
46885
|
}],
|
|
46797
46886
|
children: (e) => (() => {
|
|
46798
|
-
var t =
|
|
46887
|
+
var t = t3();
|
|
46799
46888
|
return t.$$click = () => void r({ workflowMode: e.id }), P(t, () => e.label), D(() => st(t, `flex-1 rounded-[5px] px-2 py-1 text-[11.5px] font-medium transition-colors ${(n().workflowMode ?? "cloud") === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
46800
46889
|
})()
|
|
46801
46890
|
})), e;
|
|
46802
|
-
})(),
|
|
46891
|
+
})(), A4()];
|
|
46803
46892
|
}
|
|
46804
46893
|
}), null), P(e, j(Rj, {
|
|
46805
46894
|
title: "Capture",
|
|
46806
46895
|
get children() {
|
|
46807
46896
|
return [(() => {
|
|
46808
|
-
var e =
|
|
46897
|
+
var e = j4(), t = e.firstChild;
|
|
46809
46898
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
46810
|
-
})(),
|
|
46899
|
+
})(), M4()];
|
|
46811
46900
|
}
|
|
46812
46901
|
}), null), P(e, j(Rj, {
|
|
46813
46902
|
title: "Linear",
|
|
@@ -46818,13 +46907,13 @@ function s3() {
|
|
|
46818
46907
|
},
|
|
46819
46908
|
get fallback() {
|
|
46820
46909
|
return (() => {
|
|
46821
|
-
var e =
|
|
46910
|
+
var e = a3();
|
|
46822
46911
|
return P(e, j(Lj, {
|
|
46823
46912
|
label: "Personal API key",
|
|
46824
46913
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
46825
46914
|
get children() {
|
|
46826
46915
|
return [(() => {
|
|
46827
|
-
var e =
|
|
46916
|
+
var e = n3();
|
|
46828
46917
|
return P(e, j(jj, {
|
|
46829
46918
|
type: "password",
|
|
46830
46919
|
placeholder: "lin_api_…",
|
|
@@ -46861,12 +46950,12 @@ function s3() {
|
|
|
46861
46950
|
}), null), P(e, j(M, {
|
|
46862
46951
|
when: xr,
|
|
46863
46952
|
get children() {
|
|
46864
|
-
return [
|
|
46953
|
+
return [r3(), j(Lj, {
|
|
46865
46954
|
label: "OAuth client ID",
|
|
46866
46955
|
get children() {
|
|
46867
46956
|
return [
|
|
46868
46957
|
(() => {
|
|
46869
|
-
var e =
|
|
46958
|
+
var e = n3();
|
|
46870
46959
|
return P(e, j(jj, {
|
|
46871
46960
|
placeholder: "your-client-id",
|
|
46872
46961
|
get value() {
|
|
@@ -46894,7 +46983,7 @@ function s3() {
|
|
|
46894
46983
|
}
|
|
46895
46984
|
}),
|
|
46896
46985
|
(() => {
|
|
46897
|
-
var e =
|
|
46986
|
+
var e = i3(), t = e.firstChild.nextSibling.nextSibling;
|
|
46898
46987
|
return P(t, ie), e;
|
|
46899
46988
|
})()
|
|
46900
46989
|
];
|
|
@@ -46905,13 +46994,13 @@ function s3() {
|
|
|
46905
46994
|
})();
|
|
46906
46995
|
},
|
|
46907
46996
|
get children() {
|
|
46908
|
-
var e =
|
|
46997
|
+
var e = P4(), t = e.firstChild;
|
|
46909
46998
|
return P(t, j(M, {
|
|
46910
46999
|
get when() {
|
|
46911
47000
|
return !a.isLoading;
|
|
46912
47001
|
},
|
|
46913
47002
|
get fallback() {
|
|
46914
|
-
return
|
|
47003
|
+
return o3();
|
|
46915
47004
|
},
|
|
46916
47005
|
get children() {
|
|
46917
47006
|
return j(M, {
|
|
@@ -46924,7 +47013,7 @@ function s3() {
|
|
|
46924
47013
|
return a.isError;
|
|
46925
47014
|
},
|
|
46926
47015
|
get fallback() {
|
|
46927
|
-
return
|
|
47016
|
+
return o3();
|
|
46928
47017
|
},
|
|
46929
47018
|
get children() {
|
|
46930
47019
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -46932,7 +47021,7 @@ function s3() {
|
|
|
46932
47021
|
});
|
|
46933
47022
|
},
|
|
46934
47023
|
get children() {
|
|
46935
|
-
var e =
|
|
47024
|
+
var e = N4(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
46936
47025
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
46937
47026
|
}
|
|
46938
47027
|
});
|
|
@@ -46973,7 +47062,7 @@ function s3() {
|
|
|
46973
47062
|
return o.isLoading;
|
|
46974
47063
|
},
|
|
46975
47064
|
get children() {
|
|
46976
|
-
return [
|
|
47065
|
+
return [F4(), j(M, {
|
|
46977
47066
|
get when() {
|
|
46978
47067
|
return o.data;
|
|
46979
47068
|
},
|
|
@@ -46983,7 +47072,7 @@ function s3() {
|
|
|
46983
47072
|
return o.data;
|
|
46984
47073
|
},
|
|
46985
47074
|
children: (e) => (() => {
|
|
46986
|
-
var t =
|
|
47075
|
+
var t = s3(), r = t.firstChild, i = r.nextSibling;
|
|
46987
47076
|
return i.nextSibling, P(t, () => e.name, r), P(t, () => e.key, i), D(() => t.selected = e.id === n().defaultTeamId), D(() => t.value = e.id), t;
|
|
46988
47077
|
})()
|
|
46989
47078
|
});
|
|
@@ -47007,14 +47096,14 @@ function s3() {
|
|
|
47007
47096
|
},
|
|
47008
47097
|
get children() {
|
|
47009
47098
|
return [(() => {
|
|
47010
|
-
var e =
|
|
47099
|
+
var e = I4();
|
|
47011
47100
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
47012
47101
|
})(), j(We, {
|
|
47013
47102
|
get each() {
|
|
47014
47103
|
return s.data ?? [];
|
|
47015
47104
|
},
|
|
47016
47105
|
children: (e) => (() => {
|
|
47017
|
-
var t =
|
|
47106
|
+
var t = c3();
|
|
47018
47107
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
47019
47108
|
})()
|
|
47020
47109
|
})];
|
|
@@ -47026,7 +47115,7 @@ function s3() {
|
|
|
47026
47115
|
label: "Default labels",
|
|
47027
47116
|
hint: "Applied to every issue created from the panel.",
|
|
47028
47117
|
get children() {
|
|
47029
|
-
var e =
|
|
47118
|
+
var e = L4();
|
|
47030
47119
|
return P(e, j(We, {
|
|
47031
47120
|
get each() {
|
|
47032
47121
|
return p.data ?? [];
|
|
@@ -47034,7 +47123,7 @@ function s3() {
|
|
|
47034
47123
|
children: (e) => {
|
|
47035
47124
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
47036
47125
|
return (() => {
|
|
47037
|
-
var i =
|
|
47126
|
+
var i = l3(), a = i.firstChild;
|
|
47038
47127
|
return i.$$click = () => {
|
|
47039
47128
|
let i = n().defaultLabelIds ?? [];
|
|
47040
47129
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -47051,7 +47140,7 @@ function s3() {
|
|
|
47051
47140
|
}
|
|
47052
47141
|
}),
|
|
47053
47142
|
(() => {
|
|
47054
|
-
var e =
|
|
47143
|
+
var e = R4(), t = e.firstChild;
|
|
47055
47144
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
47056
47145
|
})(),
|
|
47057
47146
|
j(Lj, {
|
|
@@ -47101,7 +47190,7 @@ function s3() {
|
|
|
47101
47190
|
return m.isLoading;
|
|
47102
47191
|
},
|
|
47103
47192
|
get children() {
|
|
47104
|
-
return [
|
|
47193
|
+
return [u3(), j(M, {
|
|
47105
47194
|
get when() {
|
|
47106
47195
|
return m.data;
|
|
47107
47196
|
},
|
|
@@ -47111,7 +47200,7 @@ function s3() {
|
|
|
47111
47200
|
return m.data;
|
|
47112
47201
|
},
|
|
47113
47202
|
children: (e) => (() => {
|
|
47114
|
-
var t =
|
|
47203
|
+
var t = c3();
|
|
47115
47204
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
47116
47205
|
})()
|
|
47117
47206
|
});
|
|
@@ -47121,7 +47210,7 @@ function s3() {
|
|
|
47121
47210
|
});
|
|
47122
47211
|
},
|
|
47123
47212
|
get children() {
|
|
47124
|
-
return
|
|
47213
|
+
return z4();
|
|
47125
47214
|
}
|
|
47126
47215
|
});
|
|
47127
47216
|
}
|
|
@@ -47169,7 +47258,7 @@ function s3() {
|
|
|
47169
47258
|
onBlur: (e) => {
|
|
47170
47259
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
47171
47260
|
}
|
|
47172
|
-
}),
|
|
47261
|
+
}), B4()];
|
|
47173
47262
|
}
|
|
47174
47263
|
}),
|
|
47175
47264
|
j(Lj, {
|
|
@@ -47226,7 +47315,7 @@ function s3() {
|
|
|
47226
47315
|
label: "Test account",
|
|
47227
47316
|
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.",
|
|
47228
47317
|
get children() {
|
|
47229
|
-
var e =
|
|
47318
|
+
var e = V4();
|
|
47230
47319
|
return P(e, j(jj, {
|
|
47231
47320
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
47232
47321
|
get value() {
|
|
@@ -47258,7 +47347,7 @@ function s3() {
|
|
|
47258
47347
|
title: "Panel",
|
|
47259
47348
|
get children() {
|
|
47260
47349
|
return [(() => {
|
|
47261
|
-
var e =
|
|
47350
|
+
var e = H4(), t = e.firstChild.nextSibling;
|
|
47262
47351
|
return P(t, j(We, {
|
|
47263
47352
|
each: [{
|
|
47264
47353
|
id: "overlay",
|
|
@@ -47268,7 +47357,7 @@ function s3() {
|
|
|
47268
47357
|
label: "Beside page"
|
|
47269
47358
|
}],
|
|
47270
47359
|
children: (e) => (() => {
|
|
47271
|
-
var t =
|
|
47360
|
+
var t = t3();
|
|
47272
47361
|
return t.$$click = () => void r({
|
|
47273
47362
|
panelMode: e.id,
|
|
47274
47363
|
panelPos: void 0
|
|
@@ -47276,11 +47365,11 @@ function s3() {
|
|
|
47276
47365
|
})()
|
|
47277
47366
|
})), e;
|
|
47278
47367
|
})(), (() => {
|
|
47279
|
-
var e =
|
|
47368
|
+
var e = U4(), t = e.firstChild.nextSibling;
|
|
47280
47369
|
return P(t, j(We, {
|
|
47281
47370
|
each: ["left", "right"],
|
|
47282
47371
|
children: (e) => (() => {
|
|
47283
|
-
var t =
|
|
47372
|
+
var t = t3();
|
|
47284
47373
|
return t.$$click = () => void r({ panelSide: e }), P(t, e === "left" ? "Left" : "Right"), D(() => st(t, `flex-1 rounded-[5px] px-2 py-0.5 text-[11.5px] font-medium transition-colors ${(n().panelSide ?? "right") === e ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), t;
|
|
47285
47374
|
})()
|
|
47286
47375
|
})), e;
|
|
@@ -47310,8 +47399,8 @@ function s3() {
|
|
|
47310
47399
|
}), null), P(e, j(Rj, {
|
|
47311
47400
|
title: "Project config (.lineargrab.json)",
|
|
47312
47401
|
get children() {
|
|
47313
|
-
return [
|
|
47314
|
-
var e =
|
|
47402
|
+
return [W4(), (() => {
|
|
47403
|
+
var e = K4();
|
|
47315
47404
|
return P(e, j(M, {
|
|
47316
47405
|
get when() {
|
|
47317
47406
|
return c.data?.projectConfig;
|
|
@@ -47342,7 +47431,7 @@ function s3() {
|
|
|
47342
47431
|
},
|
|
47343
47432
|
onClick: () => void d(),
|
|
47344
47433
|
get children() {
|
|
47345
|
-
var e =
|
|
47434
|
+
var e = G4();
|
|
47346
47435
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
47347
47436
|
}
|
|
47348
47437
|
}), null), e;
|
|
@@ -47433,12 +47522,12 @@ function s3() {
|
|
|
47433
47522
|
});
|
|
47434
47523
|
},
|
|
47435
47524
|
get children() {
|
|
47436
|
-
return [
|
|
47525
|
+
return [q4(), j(We, {
|
|
47437
47526
|
get each() {
|
|
47438
47527
|
return ae.data ?? [];
|
|
47439
47528
|
},
|
|
47440
47529
|
children: (e) => (() => {
|
|
47441
|
-
var t =
|
|
47530
|
+
var t = d3();
|
|
47442
47531
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
47443
47532
|
})()
|
|
47444
47533
|
})];
|
|
@@ -47489,10 +47578,10 @@ function s3() {
|
|
|
47489
47578
|
}
|
|
47490
47579
|
}),
|
|
47491
47580
|
(() => {
|
|
47492
|
-
var e =
|
|
47581
|
+
var e = J4(), t = e.firstChild;
|
|
47493
47582
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
47494
47583
|
})(),
|
|
47495
|
-
|
|
47584
|
+
Y4()
|
|
47496
47585
|
];
|
|
47497
47586
|
}
|
|
47498
47587
|
}), null), P(e, j(Rj, {
|
|
@@ -47530,7 +47619,7 @@ function s3() {
|
|
|
47530
47619
|
}
|
|
47531
47620
|
}),
|
|
47532
47621
|
(() => {
|
|
47533
|
-
var e =
|
|
47622
|
+
var e = X4(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
47534
47623
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
47535
47624
|
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;
|
|
47536
47625
|
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;
|
|
@@ -47543,16 +47632,16 @@ function s3() {
|
|
|
47543
47632
|
}), e;
|
|
47544
47633
|
})(),
|
|
47545
47634
|
(() => {
|
|
47546
|
-
var e =
|
|
47635
|
+
var e = Q4();
|
|
47547
47636
|
return P(e, j(M, {
|
|
47548
47637
|
get when() {
|
|
47549
47638
|
return se();
|
|
47550
47639
|
},
|
|
47551
47640
|
get fallback() {
|
|
47552
|
-
return
|
|
47641
|
+
return f3();
|
|
47553
47642
|
},
|
|
47554
47643
|
get children() {
|
|
47555
|
-
var e =
|
|
47644
|
+
var e = Z4();
|
|
47556
47645
|
return P(e, se), e;
|
|
47557
47646
|
}
|
|
47558
47647
|
})), e;
|
|
@@ -47562,7 +47651,7 @@ function s3() {
|
|
|
47562
47651
|
}), null), P(e, j(Rj, {
|
|
47563
47652
|
title: "How it works",
|
|
47564
47653
|
get children() {
|
|
47565
|
-
return
|
|
47654
|
+
return $4();
|
|
47566
47655
|
}
|
|
47567
47656
|
}), null), e;
|
|
47568
47657
|
})();
|
|
@@ -47570,38 +47659,38 @@ function s3() {
|
|
|
47570
47659
|
rt(["click"]);
|
|
47571
47660
|
//#endregion
|
|
47572
47661
|
//#region src/lib/idbCache.ts
|
|
47573
|
-
var
|
|
47662
|
+
var m3 = "linear-grab", h3 = "queries", g3 = [
|
|
47574
47663
|
"my-issues",
|
|
47575
47664
|
"issue",
|
|
47576
47665
|
"sessions",
|
|
47577
47666
|
"teams",
|
|
47578
47667
|
"agents"
|
|
47579
47668
|
];
|
|
47580
|
-
function
|
|
47669
|
+
function _3() {
|
|
47581
47670
|
return new Promise((e) => {
|
|
47582
47671
|
try {
|
|
47583
|
-
let t = indexedDB.open(
|
|
47584
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
47672
|
+
let t = indexedDB.open(m3, 1);
|
|
47673
|
+
t.onupgradeneeded = () => t.result.createObjectStore(h3), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
47585
47674
|
} catch {
|
|
47586
47675
|
e(null);
|
|
47587
47676
|
}
|
|
47588
47677
|
});
|
|
47589
47678
|
}
|
|
47590
|
-
function
|
|
47591
|
-
return typeof e[0] == "string" &&
|
|
47679
|
+
function v3(e) {
|
|
47680
|
+
return typeof e[0] == "string" && g3.includes(e[0]);
|
|
47592
47681
|
}
|
|
47593
|
-
async function
|
|
47594
|
-
let t = await
|
|
47682
|
+
async function y3(e) {
|
|
47683
|
+
let t = await _3();
|
|
47595
47684
|
if (!t) return () => {};
|
|
47596
47685
|
await new Promise((n) => {
|
|
47597
47686
|
try {
|
|
47598
|
-
let r = t.transaction(
|
|
47687
|
+
let r = t.transaction(h3, "readonly").objectStore(h3).openCursor();
|
|
47599
47688
|
r.onsuccess = () => {
|
|
47600
47689
|
let t = r.result;
|
|
47601
47690
|
if (!t) return n();
|
|
47602
47691
|
try {
|
|
47603
47692
|
let { queryKey: n, data: r } = t.value;
|
|
47604
|
-
|
|
47693
|
+
v3(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
47605
47694
|
} catch {}
|
|
47606
47695
|
t.continue();
|
|
47607
47696
|
}, r.onerror = () => n();
|
|
@@ -47612,14 +47701,14 @@ async function p3(e) {
|
|
|
47612
47701
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
47613
47702
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
47614
47703
|
let { queryKey: i, queryHash: a } = r.query;
|
|
47615
|
-
if (!
|
|
47704
|
+
if (!v3(i)) return;
|
|
47616
47705
|
let o = n.get(a);
|
|
47617
47706
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
47618
47707
|
n.delete(a);
|
|
47619
47708
|
try {
|
|
47620
47709
|
let n = e.getQueryData(i);
|
|
47621
47710
|
if (n === void 0) return;
|
|
47622
|
-
t.transaction(
|
|
47711
|
+
t.transaction(h3, "readwrite").objectStore(h3).put({
|
|
47623
47712
|
queryKey: i,
|
|
47624
47713
|
data: n
|
|
47625
47714
|
}, a);
|
|
@@ -47635,7 +47724,7 @@ async function p3(e) {
|
|
|
47635
47724
|
//#endregion
|
|
47636
47725
|
//#region src/panel/App.tsx
|
|
47637
47726
|
Br();
|
|
47638
|
-
var
|
|
47727
|
+
var b3 = /*#__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\">"), x3 = /*#__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\">"), S3 = /*#__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\">–"), C3 = /*#__PURE__*/ N("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), w3 = /*#__PURE__*/ N("<button>"), T3 = [
|
|
47639
47728
|
{
|
|
47640
47729
|
id: "draft",
|
|
47641
47730
|
label: "Draft"
|
|
@@ -47672,35 +47761,35 @@ var m3 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
47672
47761
|
id: "settings",
|
|
47673
47762
|
label: "Settings"
|
|
47674
47763
|
}
|
|
47675
|
-
],
|
|
47676
|
-
function
|
|
47677
|
-
if (
|
|
47678
|
-
|
|
47764
|
+
], E3 = /* @__PURE__ */ new Set();
|
|
47765
|
+
function D3(e, t, n) {
|
|
47766
|
+
if (E3.has(e) || typeof Notification > "u") return;
|
|
47767
|
+
E3.add(e);
|
|
47679
47768
|
let r = () => new Notification(t, { body: n });
|
|
47680
47769
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
47681
47770
|
}
|
|
47682
|
-
function
|
|
47771
|
+
function O3() {
|
|
47683
47772
|
setInterval(() => {
|
|
47684
47773
|
NO().then((e) => {
|
|
47685
47774
|
for (let t of e) {
|
|
47686
47775
|
if (t.status !== "running") continue;
|
|
47687
47776
|
let e = t.lastEventAt ?? t.startedAt;
|
|
47688
|
-
Date.now() - e > 10 * 6e4 &&
|
|
47777
|
+
Date.now() - e > 10 * 6e4 && D3(`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.`);
|
|
47689
47778
|
}
|
|
47690
47779
|
}).catch(() => {}), gO().then((e) => {
|
|
47691
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
47780
|
+
for (let t of e) /awaitingInput|elicit/i.test(t.status) && D3(`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.`);
|
|
47692
47781
|
}).catch(() => {});
|
|
47693
47782
|
}, 6e4);
|
|
47694
47783
|
}
|
|
47695
|
-
|
|
47696
|
-
var
|
|
47784
|
+
O3();
|
|
47785
|
+
var k3 = new gr({ defaultOptions: { queries: {
|
|
47697
47786
|
retry: 1,
|
|
47698
47787
|
refetchOnWindowFocus: !1,
|
|
47699
47788
|
staleTime: 5e3
|
|
47700
47789
|
} } });
|
|
47701
|
-
function
|
|
47790
|
+
function A3(e) {
|
|
47702
47791
|
return (() => {
|
|
47703
|
-
var t =
|
|
47792
|
+
var t = b3();
|
|
47704
47793
|
return D((n) => {
|
|
47705
47794
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
47706
47795
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -47710,36 +47799,36 @@ function w3(e) {
|
|
|
47710
47799
|
}), t;
|
|
47711
47800
|
})();
|
|
47712
47801
|
}
|
|
47713
|
-
function
|
|
47802
|
+
function j3(e) {
|
|
47714
47803
|
let [t, n] = T("draft"), r = () => {
|
|
47715
|
-
|
|
47804
|
+
k3.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
47716
47805
|
};
|
|
47717
47806
|
return O(() => {
|
|
47718
47807
|
let e = nj();
|
|
47719
47808
|
e && n(e);
|
|
47720
47809
|
}), ie(() => {
|
|
47721
|
-
let e =
|
|
47810
|
+
let e = y3(k3), t = XZ(r), n = () => {
|
|
47722
47811
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
47723
47812
|
if (!e.projectConfig) return;
|
|
47724
|
-
let t =
|
|
47813
|
+
let t = T4(await Tr(), e.projectConfig);
|
|
47725
47814
|
t && await Er(t);
|
|
47726
47815
|
}).catch(() => {});
|
|
47727
47816
|
};
|
|
47728
47817
|
n();
|
|
47729
47818
|
let i = Mr((e) => {
|
|
47730
|
-
e === "settings" && (
|
|
47819
|
+
e === "settings" && (k3.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
47731
47820
|
});
|
|
47732
47821
|
ae(() => {
|
|
47733
47822
|
t(), i(), e.then((e) => e());
|
|
47734
47823
|
});
|
|
47735
47824
|
}), j(cr, {
|
|
47736
|
-
client:
|
|
47825
|
+
client: k3,
|
|
47737
47826
|
get children() {
|
|
47738
|
-
var r =
|
|
47739
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
47740
|
-
each:
|
|
47827
|
+
var r = C3(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = i.nextSibling.firstChild, c = s.nextSibling, l = c.nextSibling, u = l.nextSibling, d = u.nextSibling, f = d.nextSibling, p = f.nextSibling, m = p.nextSibling, h = m.nextSibling;
|
|
47828
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(A3, { size: 14 })), P(o, j(We, {
|
|
47829
|
+
each: T3,
|
|
47741
47830
|
children: (e) => (() => {
|
|
47742
|
-
var r =
|
|
47831
|
+
var r = w3();
|
|
47743
47832
|
return r.$$click = () => n(e.id), P(r, () => e.label), D(() => st(r, `h-6 shrink-0 rounded-md px-2 text-[12px] font-medium whitespace-nowrap transition-colors ${t() === e.id ? "bg-surface-3 text-text" : "text-text-dim hover:text-text cursor-pointer"}`)), r;
|
|
47744
47833
|
})()
|
|
47745
47834
|
})), P(i, j(M, {
|
|
@@ -47747,7 +47836,7 @@ function T3(e) {
|
|
|
47747
47836
|
return e.onTogglePin;
|
|
47748
47837
|
},
|
|
47749
47838
|
get children() {
|
|
47750
|
-
var t =
|
|
47839
|
+
var t = x3();
|
|
47751
47840
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
47752
47841
|
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"}`;
|
|
47753
47842
|
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;
|
|
@@ -47762,10 +47851,10 @@ function T3(e) {
|
|
|
47762
47851
|
return e.onClose;
|
|
47763
47852
|
},
|
|
47764
47853
|
get children() {
|
|
47765
|
-
var t =
|
|
47854
|
+
var t = S3();
|
|
47766
47855
|
return t.$$click = () => e.onClose?.(), t;
|
|
47767
47856
|
}
|
|
47768
|
-
}), 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(
|
|
47857
|
+
}), 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(S4, {})), P(h, j(p3, {})), D((n) => {
|
|
47769
47858
|
var r = `border-border bg-surface flex shrink-0 items-center gap-1 border-b px-2 py-1.5 select-none ${e.onHeaderPointerDown ? "cursor-grab active:cursor-grabbing" : ""}`, a = t() !== "draft", o = t() !== "capture", g = t() !== "activity", _ = t() !== "running", v = t() !== "cloud", y = t() !== "local", b = t() !== "prs", x = t() !== "design", S = t() !== "settings";
|
|
47770
47859
|
return r !== n.e && st(i, n.e = r), a !== n.t && s.classList.toggle("hidden", n.t = a), o !== n.a && c.classList.toggle("hidden", n.a = o), g !== n.o && l.classList.toggle("hidden", n.o = g), _ !== n.i && u.classList.toggle("hidden", n.i = _), v !== n.n && d.classList.toggle("hidden", n.n = v), y !== n.s && f.classList.toggle("hidden", n.s = y), b !== n.h && p.classList.toggle("hidden", n.h = b), x !== n.r && m.classList.toggle("hidden", n.r = x), S !== n.d && h.classList.toggle("hidden", n.d = S), n;
|
|
47771
47860
|
}, {
|
|
@@ -47786,16 +47875,16 @@ function T3(e) {
|
|
|
47786
47875
|
rt(["pointerdown", "click"]);
|
|
47787
47876
|
//#endregion
|
|
47788
47877
|
//#region src/styles/app.css?inline
|
|
47789
|
-
var E3 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.-left-\\[13\\.5px\\]{left:-13.5px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-\\[5px\\]{left:5px}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[9px\\]{width:9px;height:9px}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[3ch\\]{min-width:3ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[7ch\\]{min-width:7ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[11ch\\]{min-width:11ch}.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-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.active\\:transition-none:active{transition-property:none}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}.data-\\[state\\=on\\]\\:transition-none[data-state=on],.data-\\[state\\=open\\]\\:transition-none[data-state=open],.data-\\[state\\=…\\]\\:transition-none[data-state=…]{transition-property:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
47878
|
+
var M3 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.-top-0{top:0}.-top-0\\.5{top:calc(var(--spacing) * -.5)}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\\[2px\\]{top:2px}.top-full{top:100%}.-right-0{right:0}.-right-0\\.5{right:calc(var(--spacing) * -.5)}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.-left-\\[13\\.5px\\]{left:-13.5px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-\\[5px\\]{left:5px}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[9px\\]{width:9px;height:9px}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[3ch\\]{min-width:3ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[7ch\\]{min-width:7ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-1\\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[opacity\\,transform\\]{will-change:opacity,transform}.will-change-transform{will-change:transform}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,) var(--tw-contain-layout,) var(--tw-contain-paint,) var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.\\[corner-shape\\:superellipse\\(1\\.25\\)\\]{corner-shape:superellipse(1.25)}.\\[font-synthesis\\:none\\]{font-synthesis:none}.group-open\\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\\:text-\\[var\\(--rg-text-primary\\)\\]:is(:where(.group):hover *){color:var(--rg-text-primary)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-text-faint::placeholder{color:var(--color-text-faint)}@media (hover:hover){.hover\\:bg-\\[var\\(--rg-error-bg-hover\\)\\]:hover{background-color:var(--rg-error-bg-hover)}.hover\\:bg-\\[var\\(--rg-surface-active\\)\\]:hover{background-color:var(--rg-surface-active)}.hover\\:bg-\\[var\\(--rg-surface-hover\\)\\]:hover{background-color:var(--rg-surface-hover)}.hover\\:bg-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\\:bg-accent\\/50:hover{background-color:#5e6ad280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab, var(--color-accent) 50%, transparent)}}.hover\\:bg-danger\\/30:hover{background-color:#eb57574d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/30:hover{background-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.hover\\:bg-surface-2:hover{background-color:var(--color-surface-2)}.hover\\:bg-surface-3:hover{background-color:var(--color-surface-3)}.hover\\:text-\\[var\\(--rg-text-primary\\)\\]:hover{color:var(--rg-text-primary)}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.active\\:cursor-grabbing:active{cursor:grabbing}.active\\:bg-accent:active{background-color:var(--color-accent)}.active\\:transition-none:active{transition-property:none}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}.data-\\[state\\=on\\]\\:transition-none[data-state=on],.data-\\[state\\=open\\]\\:transition-none[data-state=open],.data-\\[state\\=…\\]\\:transition-none[data-state=…]{transition-property:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
47790
47879
|
//#endregion
|
|
47791
47880
|
//#region src/page/index.tsx
|
|
47792
47881
|
Br();
|
|
47793
|
-
var
|
|
47794
|
-
function
|
|
47882
|
+
var N3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), P3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), F3 = /*#__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"), I3 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), L3 = /*#__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"), R3 = /*#__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\">"), z3 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), B3 = /*#__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\">"), V3 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), H3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), U3 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), W3 = /*#__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>"), G3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-accent size-2 shrink-0 animate-pulse rounded-full\">"), K3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[3ch] text-[11px] font-medium tabular-nums\">s"), q3 = /*#__PURE__*/ N("<span class=\"text-text-dim min-w-[7ch] text-[11px] tabular-nums\"> states"), J3 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), Y3 = /*#__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\"> · <!> · ");
|
|
47883
|
+
function X3(e = {}) {
|
|
47795
47884
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
47796
47885
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
47797
47886
|
let t = () => {
|
|
47798
|
-
lk(),
|
|
47887
|
+
lk(), F2(), JZ();
|
|
47799
47888
|
let t = document.createElement("div");
|
|
47800
47889
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
47801
47890
|
let n = (e) => {
|
|
@@ -47823,17 +47912,17 @@ function W3(e = {}) {
|
|
|
47823
47912
|
"keypress"
|
|
47824
47913
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
47825
47914
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
47826
|
-
i.textContent =
|
|
47915
|
+
i.textContent = M3, r.appendChild(i);
|
|
47827
47916
|
let a = document.createElement("div");
|
|
47828
47917
|
r.appendChild(a);
|
|
47829
|
-
let o = () => a.setAttribute("data-theme",
|
|
47830
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
47918
|
+
let o = () => a.setAttribute("data-theme", Z3());
|
|
47919
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(r6, { get defaultOpen() {
|
|
47831
47920
|
return e.defaultOpen ?? !1;
|
|
47832
47921
|
} }), a);
|
|
47833
47922
|
};
|
|
47834
47923
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
47835
47924
|
}
|
|
47836
|
-
function
|
|
47925
|
+
function Z3() {
|
|
47837
47926
|
try {
|
|
47838
47927
|
let e = [document.body, document.documentElement];
|
|
47839
47928
|
for (let t of e) {
|
|
@@ -47843,11 +47932,11 @@ function G3() {
|
|
|
47843
47932
|
} catch {}
|
|
47844
47933
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
47845
47934
|
}
|
|
47846
|
-
var
|
|
47847
|
-
function
|
|
47935
|
+
var Q3 = 130, $3 = 36, e6 = 380, t6 = 280, n6 = 720;
|
|
47936
|
+
function r6(e) {
|
|
47848
47937
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
47849
|
-
x: Math.max(8, window.innerWidth -
|
|
47850
|
-
y: Math.max(8, window.innerHeight -
|
|
47938
|
+
x: Math.max(8, window.innerWidth - Q3 - 24),
|
|
47939
|
+
y: Math.max(8, window.innerHeight - $3 - 20)
|
|
47851
47940
|
}), [s, c] = T({
|
|
47852
47941
|
running: [],
|
|
47853
47942
|
review: []
|
|
@@ -47867,12 +47956,12 @@ function Z3(e) {
|
|
|
47867
47956
|
let t = Math.floor(e / 1e3);
|
|
47868
47957
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
47869
47958
|
}, [b, x] = T(null), S = (e) => ({
|
|
47870
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
47871
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
47959
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - Q3 - 8),
|
|
47960
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - $3 - 8)
|
|
47872
47961
|
}), C = (e) => ({
|
|
47873
47962
|
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
47874
47963
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
47875
|
-
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(
|
|
47964
|
+
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(e6), oe = (e) => Math.min(n6, Math.max(t6, Math.min(e, window.innerWidth - 60)));
|
|
47876
47965
|
O(() => {
|
|
47877
47966
|
let e = document.documentElement, n = t() && w();
|
|
47878
47967
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
@@ -47986,7 +48075,7 @@ function Z3(e) {
|
|
|
47986
48075
|
return !t();
|
|
47987
48076
|
},
|
|
47988
48077
|
get children() {
|
|
47989
|
-
var e =
|
|
48078
|
+
var e = R3(), t = e.firstChild;
|
|
47990
48079
|
return t.$$click = () => {
|
|
47991
48080
|
ce || p() === "recording" || h().active || (f(!1), n(!0));
|
|
47992
48081
|
}, t.$$pointerdown = le, P(t, j(M, {
|
|
@@ -47996,14 +48085,14 @@ function Z3(e) {
|
|
|
47996
48085
|
get fallback() {
|
|
47997
48086
|
return [
|
|
47998
48087
|
(() => {
|
|
47999
|
-
var e =
|
|
48088
|
+
var e = B3();
|
|
48000
48089
|
return e.$$click = () => {
|
|
48001
48090
|
ce || (f(!1), n(!0));
|
|
48002
|
-
}, P(e, j(
|
|
48091
|
+
}, P(e, j(A3, { size: 13 })), e;
|
|
48003
48092
|
})(),
|
|
48004
|
-
|
|
48093
|
+
V3(),
|
|
48005
48094
|
(() => {
|
|
48006
|
-
var e =
|
|
48095
|
+
var e = W3(), t = e.firstChild, n = t.nextSibling;
|
|
48007
48096
|
return e.$$click = (e) => {
|
|
48008
48097
|
e.stopPropagation(), !ce && f((e) => !e);
|
|
48009
48098
|
}, P(n, (() => {
|
|
@@ -48014,8 +48103,8 @@ function Z3(e) {
|
|
|
48014
48103
|
return $e(() => !te())() && u().length > 0;
|
|
48015
48104
|
},
|
|
48016
48105
|
get children() {
|
|
48017
|
-
return [
|
|
48018
|
-
var e =
|
|
48106
|
+
return [H3(), (() => {
|
|
48107
|
+
var e = U3(), t = e.firstChild;
|
|
48019
48108
|
return P(e, () => u().length, t), e;
|
|
48020
48109
|
})()];
|
|
48021
48110
|
}
|
|
@@ -48036,17 +48125,17 @@ function Z3(e) {
|
|
|
48036
48125
|
},
|
|
48037
48126
|
get fallback() {
|
|
48038
48127
|
return [
|
|
48039
|
-
|
|
48128
|
+
G3(),
|
|
48040
48129
|
(() => {
|
|
48041
|
-
var e =
|
|
48130
|
+
var e = K3(), t = e.firstChild;
|
|
48042
48131
|
return P(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
48043
48132
|
})(),
|
|
48044
48133
|
(() => {
|
|
48045
|
-
var e =
|
|
48134
|
+
var e = q3(), t = e.firstChild;
|
|
48046
48135
|
return P(e, () => h().total, t), D(() => it(e, "title", Object.entries(h().byTrigger).map(([e, t]) => `${t} ${e}`).join(" · ") || "hover / open the component to record its states")), e;
|
|
48047
48136
|
})(),
|
|
48048
48137
|
(() => {
|
|
48049
|
-
var e =
|
|
48138
|
+
var e = F3();
|
|
48050
48139
|
return e.$$click = (e) => {
|
|
48051
48140
|
e.stopPropagation(), !ce && o2();
|
|
48052
48141
|
}, e;
|
|
@@ -48055,13 +48144,13 @@ function Z3(e) {
|
|
|
48055
48144
|
},
|
|
48056
48145
|
get children() {
|
|
48057
48146
|
return [
|
|
48058
|
-
|
|
48147
|
+
N3(),
|
|
48059
48148
|
(() => {
|
|
48060
|
-
var e =
|
|
48149
|
+
var e = P3();
|
|
48061
48150
|
return P(e, () => y(_())), e;
|
|
48062
48151
|
})(),
|
|
48063
48152
|
(() => {
|
|
48064
|
-
var e =
|
|
48153
|
+
var e = F3();
|
|
48065
48154
|
return e.$$click = () => {
|
|
48066
48155
|
ce || eO();
|
|
48067
48156
|
}, e;
|
|
@@ -48075,17 +48164,17 @@ function Z3(e) {
|
|
|
48075
48164
|
return d();
|
|
48076
48165
|
},
|
|
48077
48166
|
get children() {
|
|
48078
|
-
var e =
|
|
48167
|
+
var e = L3(), t = e.firstChild;
|
|
48079
48168
|
return P(e, j(M, {
|
|
48080
48169
|
get when() {
|
|
48081
48170
|
return u().length > 0;
|
|
48082
48171
|
},
|
|
48083
48172
|
get children() {
|
|
48084
|
-
return [
|
|
48173
|
+
return [I3(), j(We, {
|
|
48085
48174
|
get each() {
|
|
48086
48175
|
return u();
|
|
48087
48176
|
},
|
|
48088
|
-
children: (e) => j(
|
|
48177
|
+
children: (e) => j(i6, {
|
|
48089
48178
|
agent: e,
|
|
48090
48179
|
review: !0,
|
|
48091
48180
|
onOpen: de
|
|
@@ -48097,14 +48186,14 @@ function Z3(e) {
|
|
|
48097
48186
|
return l().length > 0;
|
|
48098
48187
|
},
|
|
48099
48188
|
get fallback() {
|
|
48100
|
-
return
|
|
48189
|
+
return J3();
|
|
48101
48190
|
},
|
|
48102
48191
|
get children() {
|
|
48103
48192
|
return j(We, {
|
|
48104
48193
|
get each() {
|
|
48105
48194
|
return l();
|
|
48106
48195
|
},
|
|
48107
|
-
children: (e) => j(
|
|
48196
|
+
children: (e) => j(i6, {
|
|
48108
48197
|
agent: e,
|
|
48109
48198
|
onOpen: de
|
|
48110
48199
|
})
|
|
@@ -48125,8 +48214,8 @@ function Z3(e) {
|
|
|
48125
48214
|
return t();
|
|
48126
48215
|
},
|
|
48127
48216
|
get children() {
|
|
48128
|
-
var e =
|
|
48129
|
-
return t.$$pointerdown = fe, P(e, j(
|
|
48217
|
+
var e = z3(), t = e.firstChild;
|
|
48218
|
+
return t.$$pointerdown = fe, P(e, j(j3, {
|
|
48130
48219
|
onGrab: () => n(!0),
|
|
48131
48220
|
onClose: () => n(!1),
|
|
48132
48221
|
get onHeaderPointerDown() {
|
|
@@ -48154,19 +48243,19 @@ function Z3(e) {
|
|
|
48154
48243
|
}
|
|
48155
48244
|
})];
|
|
48156
48245
|
}
|
|
48157
|
-
function
|
|
48246
|
+
function i6(e) {
|
|
48158
48247
|
return (() => {
|
|
48159
|
-
var t =
|
|
48248
|
+
var t = Y3(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
48160
48249
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
48161
48250
|
var t = $e(() => !!e.review);
|
|
48162
48251
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
48163
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
48252
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => a6(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
48164
48253
|
})();
|
|
48165
48254
|
}
|
|
48166
|
-
function
|
|
48255
|
+
function a6(e) {
|
|
48167
48256
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
48168
48257
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
48169
48258
|
}
|
|
48170
48259
|
rt(["pointerdown", "click"]);
|
|
48171
48260
|
//#endregion
|
|
48172
|
-
export {
|
|
48261
|
+
export { X3 as init };
|