linear-grab 0.23.4 → 0.23.6
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 +277 -232
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -46033,7 +46033,8 @@ function C2(e) {
|
|
|
46033
46033
|
}
|
|
46034
46034
|
var w2 = [], T2 = /* @__PURE__ */ new Set();
|
|
46035
46035
|
function E2(e) {
|
|
46036
|
-
|
|
46036
|
+
let t = e.mode === "live" ? w2.find((t) => t.mode === "live" && t.element === e.element && (t.classHint ?? "") === (e.classHint ?? "") && t.properties.join() === e.properties.join()) : void 0;
|
|
46037
|
+
t ? (t.count += 1, t.at = e.at, t.sinceInputMs = e.sinceInputMs, w2 = [...w2]) : w2 = [e, ...w2].slice(0, 100);
|
|
46037
46038
|
for (let e of T2) e(w2);
|
|
46038
46039
|
C2(e);
|
|
46039
46040
|
}
|
|
@@ -46044,10 +46045,28 @@ function O2() {
|
|
|
46044
46045
|
w2 = [];
|
|
46045
46046
|
for (let e of T2) e(w2);
|
|
46046
46047
|
}
|
|
46047
|
-
var k2 = !
|
|
46048
|
-
|
|
46049
|
-
|
|
46050
|
-
|
|
46048
|
+
var k2 = !0;
|
|
46049
|
+
try {
|
|
46050
|
+
k2 = localStorage.getItem("linear-grab:css-watch") !== "0";
|
|
46051
|
+
} catch {}
|
|
46052
|
+
var A2 = /* @__PURE__ */ new Set();
|
|
46053
|
+
function j2() {
|
|
46054
|
+
return k2;
|
|
46055
|
+
}
|
|
46056
|
+
function M2(e) {
|
|
46057
|
+
k2 = e;
|
|
46058
|
+
try {
|
|
46059
|
+
localStorage.setItem("linear-grab:css-watch", e ? "1" : "0");
|
|
46060
|
+
} catch {}
|
|
46061
|
+
for (let t of A2) t(e);
|
|
46062
|
+
}
|
|
46063
|
+
function N2(e) {
|
|
46064
|
+
return A2.add(e), e(k2), () => void A2.delete(e);
|
|
46065
|
+
}
|
|
46066
|
+
var P2 = !1;
|
|
46067
|
+
function F2() {
|
|
46068
|
+
if (P2 || typeof window > "u") return;
|
|
46069
|
+
P2 = !0;
|
|
46051
46070
|
let e = 0, t = () => {
|
|
46052
46071
|
e = performance.now();
|
|
46053
46072
|
};
|
|
@@ -46061,6 +46080,7 @@ function A2() {
|
|
|
46061
46080
|
});
|
|
46062
46081
|
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
46063
46082
|
window.addEventListener("transitionrun", (t) => {
|
|
46083
|
+
if (!k2) return;
|
|
46064
46084
|
let i = performance.now() - e;
|
|
46065
46085
|
if (i > d2) return;
|
|
46066
46086
|
let a = t.target;
|
|
@@ -46110,9 +46130,9 @@ function A2() {
|
|
|
46110
46130
|
passive: !0
|
|
46111
46131
|
});
|
|
46112
46132
|
}
|
|
46113
|
-
var
|
|
46114
|
-
async function
|
|
46115
|
-
let e = /* @__PURE__ */ new Map(), t = Array.from(document.querySelectorAll(
|
|
46133
|
+
var I2 = "button, a, input, select, textarea, [role], [tabindex], [data-state], [aria-expanded]";
|
|
46134
|
+
async function L2() {
|
|
46135
|
+
let e = /* @__PURE__ */ new Map(), t = Array.from(document.querySelectorAll(I2)).slice(0, 3e3);
|
|
46116
46136
|
for (let n of t) {
|
|
46117
46137
|
if (n.closest("#linear-grab-root")) continue;
|
|
46118
46138
|
let t = n.getBoundingClientRect();
|
|
@@ -46157,7 +46177,7 @@ async function M2() {
|
|
|
46157
46177
|
for (let e of n) C2(e);
|
|
46158
46178
|
return n;
|
|
46159
46179
|
}
|
|
46160
|
-
function
|
|
46180
|
+
function R2(e) {
|
|
46161
46181
|
return [
|
|
46162
46182
|
"Below is a CSS-slowdown report from my running app (live-captured on real input + full-page audit).",
|
|
46163
46183
|
"Goal: ALL interaction feedback must be instant. Rules:",
|
|
@@ -46186,10 +46206,10 @@ function N2(e) {
|
|
|
46186
46206
|
"",
|
|
46187
46207
|
"---",
|
|
46188
46208
|
"",
|
|
46189
|
-
|
|
46209
|
+
z2(e)
|
|
46190
46210
|
].join("\n");
|
|
46191
46211
|
}
|
|
46192
|
-
function
|
|
46212
|
+
function z2(e) {
|
|
46193
46213
|
let t = [
|
|
46194
46214
|
`# CSS slowdowns on ${location.host}${location.pathname}`,
|
|
46195
46215
|
"Threshold: 50ms (interaction feedback should be instant).",
|
|
@@ -46200,22 +46220,22 @@ function P2(e) {
|
|
|
46200
46220
|
}
|
|
46201
46221
|
//#endregion
|
|
46202
46222
|
//#region src/panel/views/DesignView.tsx
|
|
46203
|
-
var
|
|
46204
|
-
function
|
|
46223
|
+
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;
|
|
46224
|
+
function y4() {
|
|
46205
46225
|
try {
|
|
46206
|
-
return JSON.parse(localStorage.getItem(
|
|
46226
|
+
return JSON.parse(localStorage.getItem(_4) ?? "[]");
|
|
46207
46227
|
} catch {
|
|
46208
46228
|
return [];
|
|
46209
46229
|
}
|
|
46210
46230
|
}
|
|
46211
|
-
function
|
|
46231
|
+
function b4(e) {
|
|
46212
46232
|
try {
|
|
46213
|
-
localStorage.setItem(
|
|
46233
|
+
localStorage.setItem(_4, JSON.stringify(e.slice(0, v4)));
|
|
46214
46234
|
} catch {}
|
|
46215
46235
|
}
|
|
46216
|
-
var
|
|
46217
|
-
function
|
|
46218
|
-
let [e, t] = T(
|
|
46236
|
+
var x4 = /* @__PURE__ */ new Map();
|
|
46237
|
+
function S4() {
|
|
46238
|
+
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
46239
|
active: !1,
|
|
46220
46240
|
msLeft: 0,
|
|
46221
46241
|
total: 0,
|
|
@@ -46224,34 +46244,36 @@ function h4() {
|
|
|
46224
46244
|
ae(i2(p));
|
|
46225
46245
|
let [m, h] = T([]);
|
|
46226
46246
|
ae(D2(h));
|
|
46227
|
-
let [g, _] = T(
|
|
46228
|
-
|
|
46247
|
+
let [g, _] = T(j2());
|
|
46248
|
+
ae(N2(_));
|
|
46249
|
+
let [v, y] = T(!1), [b, x] = T(!1), S = async () => {
|
|
46250
|
+
y(!0);
|
|
46229
46251
|
try {
|
|
46230
|
-
await
|
|
46252
|
+
await L2();
|
|
46231
46253
|
} finally {
|
|
46232
|
-
|
|
46254
|
+
y(!1);
|
|
46233
46255
|
}
|
|
46234
|
-
},
|
|
46256
|
+
}, C = async () => {
|
|
46235
46257
|
try {
|
|
46236
|
-
await navigator.clipboard.writeText(
|
|
46258
|
+
await navigator.clipboard.writeText(z2(m())), x(!0), setTimeout(() => x(!1), 1600);
|
|
46237
46259
|
} catch {
|
|
46238
46260
|
l("Clipboard was blocked — click Copy again.");
|
|
46239
46261
|
}
|
|
46240
|
-
}, [
|
|
46262
|
+
}, [w, E] = T(!1), O = async () => {
|
|
46241
46263
|
try {
|
|
46242
|
-
await navigator.clipboard.writeText(
|
|
46264
|
+
await navigator.clipboard.writeText(R2(m())), E(!0), setTimeout(() => E(!1), 1600);
|
|
46243
46265
|
} catch {
|
|
46244
46266
|
l("Clipboard was blocked — click Copy again.");
|
|
46245
46267
|
}
|
|
46246
|
-
},
|
|
46247
|
-
t(e),
|
|
46248
|
-
},
|
|
46268
|
+
}, k = (e) => {
|
|
46269
|
+
t(e), b4(e);
|
|
46270
|
+
}, ee = async () => {
|
|
46249
46271
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
46250
46272
|
try {
|
|
46251
46273
|
let t = await u2();
|
|
46252
46274
|
if (!t) return;
|
|
46253
46275
|
let n = await e2(t), i = Date.now();
|
|
46254
|
-
|
|
46276
|
+
x4.set(i, new WeakRef(t)), k([{
|
|
46255
46277
|
id: i,
|
|
46256
46278
|
genome: n
|
|
46257
46279
|
}, ...e()]), r(i);
|
|
@@ -46260,16 +46282,16 @@ function h4() {
|
|
|
46260
46282
|
} finally {
|
|
46261
46283
|
a(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46262
46284
|
}
|
|
46263
|
-
},
|
|
46285
|
+
}, te = async (t) => {
|
|
46264
46286
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
46265
46287
|
try {
|
|
46266
|
-
let n =
|
|
46288
|
+
let n = x4.get(t.id)?.deref() ?? null;
|
|
46267
46289
|
if (!n || !n.isConnected) {
|
|
46268
46290
|
if (n = await u2(), !n) return;
|
|
46269
|
-
|
|
46291
|
+
x4.set(t.id, new WeakRef(n));
|
|
46270
46292
|
}
|
|
46271
46293
|
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."),
|
|
46294
|
+
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
46295
|
...e,
|
|
46274
46296
|
genome: {
|
|
46275
46297
|
...e.genome,
|
|
@@ -46281,37 +46303,37 @@ function h4() {
|
|
|
46281
46303
|
} finally {
|
|
46282
46304
|
a(null), s(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46283
46305
|
}
|
|
46284
|
-
},
|
|
46306
|
+
}, A = async (e) => {
|
|
46285
46307
|
try {
|
|
46286
46308
|
await navigator.clipboard.writeText(l2(e.genome)), d(e.id), setTimeout(() => d(null), 1600);
|
|
46287
46309
|
} catch {
|
|
46288
46310
|
l("Clipboard was blocked — click Copy again.");
|
|
46289
46311
|
}
|
|
46290
|
-
},
|
|
46291
|
-
|
|
46292
|
-
}, [
|
|
46312
|
+
}, ne = (t) => {
|
|
46313
|
+
x4.delete(t), k(e().filter((e) => e.id !== t));
|
|
46314
|
+
}, [re, ie] = T(!1), oe = async () => {
|
|
46293
46315
|
try {
|
|
46294
46316
|
let t = e().map((e) => l2(e.genome)).join("\n\n---\n\n");
|
|
46295
|
-
await navigator.clipboard.writeText(t),
|
|
46317
|
+
await navigator.clipboard.writeText(t), ie(!0), setTimeout(() => ie(!1), 1600);
|
|
46296
46318
|
} catch {
|
|
46297
46319
|
l("Clipboard was blocked — click Copy again.");
|
|
46298
46320
|
}
|
|
46299
|
-
},
|
|
46300
|
-
|
|
46321
|
+
}, se = () => {
|
|
46322
|
+
x4.clear(), k([]), r(null);
|
|
46301
46323
|
};
|
|
46302
46324
|
return (() => {
|
|
46303
|
-
var t =
|
|
46325
|
+
var t = X2(), a = t.firstChild;
|
|
46304
46326
|
a.firstChild;
|
|
46305
|
-
var o = a.nextSibling, s = o.firstChild;
|
|
46306
|
-
return
|
|
46327
|
+
var o = a.nextSibling, s = o.firstChild.firstChild.nextSibling;
|
|
46328
|
+
return P(a, j(kj, {
|
|
46307
46329
|
variant: "primary",
|
|
46308
46330
|
class: "h-7 shrink-0 px-2.5 text-[11.5px]",
|
|
46309
46331
|
get loading() {
|
|
46310
46332
|
return i() === "extract";
|
|
46311
46333
|
},
|
|
46312
|
-
onClick: () => void
|
|
46334
|
+
onClick: () => void ee(),
|
|
46313
46335
|
get children() {
|
|
46314
|
-
return
|
|
46336
|
+
return B2();
|
|
46315
46337
|
}
|
|
46316
46338
|
}), null), P(t, j(M, {
|
|
46317
46339
|
get when() {
|
|
@@ -46334,7 +46356,7 @@ function h4() {
|
|
|
46334
46356
|
},
|
|
46335
46357
|
get children() {
|
|
46336
46358
|
return [(() => {
|
|
46337
|
-
var t =
|
|
46359
|
+
var t = V2();
|
|
46338
46360
|
return t.firstChild, P(t, j(We, {
|
|
46339
46361
|
get each() {
|
|
46340
46362
|
return e();
|
|
@@ -46342,7 +46364,7 @@ function h4() {
|
|
|
46342
46364
|
children: (e) => {
|
|
46343
46365
|
let t = () => n() === e.id;
|
|
46344
46366
|
return (() => {
|
|
46345
|
-
var n =
|
|
46367
|
+
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
46368
|
p.nextSibling;
|
|
46347
46369
|
var m = l.nextSibling;
|
|
46348
46370
|
return s.$$click = () => r(t() ? null : e.id), P(c, () => e.genome.title), P(l, () => e.genome.nodes.length, d), P(l, (() => {
|
|
@@ -46353,19 +46375,19 @@ function h4() {
|
|
|
46353
46375
|
return t();
|
|
46354
46376
|
},
|
|
46355
46377
|
get children() {
|
|
46356
|
-
var t =
|
|
46378
|
+
var t = e4(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
46357
46379
|
return P(n, () => e.genome.pageUrl), P(r, j(We, {
|
|
46358
46380
|
get each() {
|
|
46359
46381
|
return e.genome.nodes;
|
|
46360
46382
|
},
|
|
46361
46383
|
children: (e) => (() => {
|
|
46362
|
-
var t =
|
|
46384
|
+
var t = r4(), n = t.firstChild;
|
|
46363
46385
|
return P(n, () => e.label, null), P(n, j(M, {
|
|
46364
46386
|
get when() {
|
|
46365
46387
|
return e.count > 1;
|
|
46366
46388
|
},
|
|
46367
46389
|
get children() {
|
|
46368
|
-
var t =
|
|
46390
|
+
var t = n4();
|
|
46369
46391
|
return t.firstChild, P(t, () => e.count, null), t;
|
|
46370
46392
|
}
|
|
46371
46393
|
}), null), P(t, j(We, {
|
|
@@ -46373,13 +46395,13 @@ function h4() {
|
|
|
46373
46395
|
return Object.entries(e.styles);
|
|
46374
46396
|
},
|
|
46375
46397
|
children: ([t, n]) => (() => {
|
|
46376
|
-
var r =
|
|
46398
|
+
var r = a4(), i = r.firstChild;
|
|
46377
46399
|
return P(r, t, i), P(r, n, null), P(r, j(M, {
|
|
46378
46400
|
get when() {
|
|
46379
46401
|
return e.tokens[t];
|
|
46380
46402
|
},
|
|
46381
46403
|
get children() {
|
|
46382
|
-
var n =
|
|
46404
|
+
var n = i4(), r = n.firstChild.nextSibling;
|
|
46383
46405
|
return r.nextSibling, P(n, () => e.tokens[t], r), n;
|
|
46384
46406
|
}
|
|
46385
46407
|
}), null), r;
|
|
@@ -46391,18 +46413,18 @@ function h4() {
|
|
|
46391
46413
|
return e.genome.states.length > 0;
|
|
46392
46414
|
},
|
|
46393
46415
|
get children() {
|
|
46394
|
-
return [
|
|
46416
|
+
return [Z2(), j(We, {
|
|
46395
46417
|
get each() {
|
|
46396
46418
|
return e.genome.states;
|
|
46397
46419
|
},
|
|
46398
46420
|
children: (e) => (() => {
|
|
46399
|
-
var t =
|
|
46421
|
+
var t = o4(), n = t.firstChild, r = n.firstChild;
|
|
46400
46422
|
return P(n, () => e.label, r), P(n, () => e.trigger, null), P(t, j(We, {
|
|
46401
46423
|
get each() {
|
|
46402
46424
|
return Object.entries(e.changed);
|
|
46403
46425
|
},
|
|
46404
46426
|
children: ([e, t]) => (() => {
|
|
46405
|
-
var n =
|
|
46427
|
+
var n = s4(), r = n.firstChild, i = r.nextSibling;
|
|
46406
46428
|
return i.nextSibling, P(n, e, r), P(n, () => t.from, i), P(n, () => t.to, null), n;
|
|
46407
46429
|
})()
|
|
46408
46430
|
}), null), t;
|
|
@@ -46422,9 +46444,9 @@ function h4() {
|
|
|
46422
46444
|
},
|
|
46423
46445
|
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46424
46446
|
"aria-label": "Capture interaction states",
|
|
46425
|
-
onClick: () => void
|
|
46447
|
+
onClick: () => void te(e),
|
|
46426
46448
|
get children() {
|
|
46427
|
-
return
|
|
46449
|
+
return c4();
|
|
46428
46450
|
}
|
|
46429
46451
|
});
|
|
46430
46452
|
},
|
|
@@ -46438,10 +46460,10 @@ function h4() {
|
|
|
46438
46460
|
"aria-label": "Stop recording states",
|
|
46439
46461
|
onClick: () => o2(),
|
|
46440
46462
|
get children() {
|
|
46441
|
-
return
|
|
46463
|
+
return Q2();
|
|
46442
46464
|
}
|
|
46443
46465
|
}), (() => {
|
|
46444
|
-
var e =
|
|
46466
|
+
var e = $2(), t = e.firstChild, n = t.nextSibling;
|
|
46445
46467
|
return n.nextSibling, P(e, () => Math.ceil(f().msLeft / 1e3), t), P(e, () => f().total, n), e;
|
|
46446
46468
|
})()];
|
|
46447
46469
|
}
|
|
@@ -46452,17 +46474,17 @@ function h4() {
|
|
|
46452
46474
|
return u() === e.id ? "Copied!" : "Copy spec — markdown for an agent or issue";
|
|
46453
46475
|
},
|
|
46454
46476
|
"aria-label": "Copy genome spec",
|
|
46455
|
-
onClick: () => void
|
|
46477
|
+
onClick: () => void A(e),
|
|
46456
46478
|
get children() {
|
|
46457
46479
|
return j(M, {
|
|
46458
46480
|
get when() {
|
|
46459
46481
|
return u() === e.id;
|
|
46460
46482
|
},
|
|
46461
46483
|
get fallback() {
|
|
46462
|
-
return
|
|
46484
|
+
return l4();
|
|
46463
46485
|
},
|
|
46464
46486
|
get children() {
|
|
46465
|
-
return
|
|
46487
|
+
return H2();
|
|
46466
46488
|
}
|
|
46467
46489
|
});
|
|
46468
46490
|
}
|
|
@@ -46471,9 +46493,9 @@ function h4() {
|
|
|
46471
46493
|
variant: "ghost",
|
|
46472
46494
|
title: "Delete this genome",
|
|
46473
46495
|
"aria-label": "Delete genome",
|
|
46474
|
-
onClick: () =>
|
|
46496
|
+
onClick: () => ne(e.id),
|
|
46475
46497
|
get children() {
|
|
46476
|
-
return
|
|
46498
|
+
return U2();
|
|
46477
46499
|
}
|
|
46478
46500
|
}), null), t;
|
|
46479
46501
|
}
|
|
@@ -46488,25 +46510,25 @@ function h4() {
|
|
|
46488
46510
|
}
|
|
46489
46511
|
}), null), t;
|
|
46490
46512
|
})(), (() => {
|
|
46491
|
-
var e =
|
|
46513
|
+
var e = W2();
|
|
46492
46514
|
return P(e, j(kj, {
|
|
46493
46515
|
class: "size-7 px-0",
|
|
46494
46516
|
variant: "ghost",
|
|
46495
46517
|
get title() {
|
|
46496
|
-
return
|
|
46518
|
+
return re() ? "Copied!" : "Copy all genomes as one markdown document";
|
|
46497
46519
|
},
|
|
46498
46520
|
"aria-label": "Copy all genomes",
|
|
46499
|
-
onClick: () => void
|
|
46521
|
+
onClick: () => void oe(),
|
|
46500
46522
|
get children() {
|
|
46501
46523
|
return j(M, {
|
|
46502
46524
|
get when() {
|
|
46503
|
-
return
|
|
46525
|
+
return re();
|
|
46504
46526
|
},
|
|
46505
46527
|
get fallback() {
|
|
46506
|
-
return
|
|
46528
|
+
return l4();
|
|
46507
46529
|
},
|
|
46508
46530
|
get children() {
|
|
46509
|
-
return
|
|
46531
|
+
return H2();
|
|
46510
46532
|
}
|
|
46511
46533
|
});
|
|
46512
46534
|
}
|
|
@@ -46515,39 +46537,62 @@ function h4() {
|
|
|
46515
46537
|
variant: "ghost",
|
|
46516
46538
|
title: "Delete all saved genomes",
|
|
46517
46539
|
"aria-label": "Delete all genomes",
|
|
46518
|
-
onClick:
|
|
46540
|
+
onClick: se,
|
|
46519
46541
|
get children() {
|
|
46520
|
-
return
|
|
46542
|
+
return U2();
|
|
46521
46543
|
}
|
|
46522
46544
|
}), null), e;
|
|
46523
46545
|
})()];
|
|
46524
46546
|
}
|
|
46525
46547
|
}), o), P(s, j(kj, {
|
|
46548
|
+
class: "size-7 px-0",
|
|
46526
46549
|
variant: "ghost",
|
|
46527
|
-
|
|
46550
|
+
get title() {
|
|
46551
|
+
return g() ? "Live capture ON — recording transitions fired by your input. Click to pause." : "Live capture PAUSED — click to resume recording input-triggered transitions.";
|
|
46552
|
+
},
|
|
46553
|
+
get "aria-label"() {
|
|
46554
|
+
return g() ? "Pause live capture" : "Start live capture";
|
|
46555
|
+
},
|
|
46556
|
+
onClick: () => M2(!g()),
|
|
46557
|
+
get children() {
|
|
46558
|
+
return j(M, {
|
|
46559
|
+
get when() {
|
|
46560
|
+
return g();
|
|
46561
|
+
},
|
|
46562
|
+
get fallback() {
|
|
46563
|
+
return u4();
|
|
46564
|
+
},
|
|
46565
|
+
get children() {
|
|
46566
|
+
return G2();
|
|
46567
|
+
}
|
|
46568
|
+
});
|
|
46569
|
+
}
|
|
46570
|
+
}), null), P(s, j(kj, {
|
|
46571
|
+
variant: "ghost",
|
|
46572
|
+
class: "h-7 px-2.5 text-[11.5px]",
|
|
46528
46573
|
get loading() {
|
|
46529
|
-
return
|
|
46574
|
+
return v();
|
|
46530
46575
|
},
|
|
46531
|
-
onClick: () => void
|
|
46576
|
+
onClick: () => void S(),
|
|
46532
46577
|
get children() {
|
|
46533
|
-
return
|
|
46578
|
+
return K2();
|
|
46534
46579
|
}
|
|
46535
46580
|
}), null), P(o, j(M, {
|
|
46536
46581
|
get when() {
|
|
46537
46582
|
return m().length > 0;
|
|
46538
46583
|
},
|
|
46539
46584
|
get fallback() {
|
|
46540
|
-
return
|
|
46585
|
+
return d4();
|
|
46541
46586
|
},
|
|
46542
46587
|
get children() {
|
|
46543
46588
|
return [(() => {
|
|
46544
|
-
var e =
|
|
46589
|
+
var e = q2();
|
|
46545
46590
|
return P(e, j(We, {
|
|
46546
46591
|
get each() {
|
|
46547
46592
|
return m();
|
|
46548
46593
|
},
|
|
46549
46594
|
children: (e) => (() => {
|
|
46550
|
-
var t =
|
|
46595
|
+
var t = h4(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = a.firstChild, s = n.nextSibling, c = s.nextSibling;
|
|
46551
46596
|
return P(r, () => e.mode === "live" ? "live" : "audit"), P(i, () => e.component ?? e.element, null), P(i, j(M, {
|
|
46552
46597
|
get when() {
|
|
46553
46598
|
return e.count > 1;
|
|
@@ -46563,7 +46608,7 @@ function h4() {
|
|
|
46563
46608
|
return e.source;
|
|
46564
46609
|
},
|
|
46565
46610
|
get children() {
|
|
46566
|
-
var t =
|
|
46611
|
+
var t = f4();
|
|
46567
46612
|
return P(t, () => e.source), t;
|
|
46568
46613
|
}
|
|
46569
46614
|
}), s), P(s, () => e.properties.join(", "), null), P(s, j(M, {
|
|
@@ -46582,7 +46627,7 @@ function h4() {
|
|
|
46582
46627
|
return e.jankProps?.length;
|
|
46583
46628
|
},
|
|
46584
46629
|
get children() {
|
|
46585
|
-
var t =
|
|
46630
|
+
var t = p4();
|
|
46586
46631
|
return t.firstChild, P(t, () => e.jankProps.join(", "), null), t;
|
|
46587
46632
|
}
|
|
46588
46633
|
}), c), P(t, j(M, {
|
|
@@ -46590,32 +46635,32 @@ function h4() {
|
|
|
46590
46635
|
return e.easing;
|
|
46591
46636
|
},
|
|
46592
46637
|
get children() {
|
|
46593
|
-
var t =
|
|
46638
|
+
var t = m4();
|
|
46594
46639
|
return t.firstChild, P(t, () => e.easing, null), t;
|
|
46595
46640
|
}
|
|
46596
46641
|
}), c), P(c, () => e.suggestion), t;
|
|
46597
46642
|
})()
|
|
46598
46643
|
})), e;
|
|
46599
46644
|
})(), (() => {
|
|
46600
|
-
var e =
|
|
46645
|
+
var e = Y2();
|
|
46601
46646
|
return P(e, j(kj, {
|
|
46602
46647
|
class: "size-7 px-0",
|
|
46603
46648
|
variant: "primary",
|
|
46604
46649
|
get title() {
|
|
46605
|
-
return
|
|
46650
|
+
return w() ? "Copied!" : "Copy AI prompt — report + fix rules, ready to paste into a Claude Code session";
|
|
46606
46651
|
},
|
|
46607
46652
|
"aria-label": "Copy AI fix prompt",
|
|
46608
|
-
onClick: () => void
|
|
46653
|
+
onClick: () => void O(),
|
|
46609
46654
|
get children() {
|
|
46610
46655
|
return j(M, {
|
|
46611
46656
|
get when() {
|
|
46612
|
-
return
|
|
46657
|
+
return w();
|
|
46613
46658
|
},
|
|
46614
46659
|
get fallback() {
|
|
46615
|
-
return
|
|
46660
|
+
return g4();
|
|
46616
46661
|
},
|
|
46617
46662
|
get children() {
|
|
46618
|
-
return
|
|
46663
|
+
return J2();
|
|
46619
46664
|
}
|
|
46620
46665
|
});
|
|
46621
46666
|
}
|
|
@@ -46623,20 +46668,20 @@ function h4() {
|
|
|
46623
46668
|
class: "size-7 px-0",
|
|
46624
46669
|
variant: "ghost",
|
|
46625
46670
|
get title() {
|
|
46626
|
-
return
|
|
46671
|
+
return b() ? "Copied!" : "Copy report — plain markdown findings";
|
|
46627
46672
|
},
|
|
46628
46673
|
"aria-label": "Copy report",
|
|
46629
|
-
onClick: () => void
|
|
46674
|
+
onClick: () => void C(),
|
|
46630
46675
|
get children() {
|
|
46631
46676
|
return j(M, {
|
|
46632
46677
|
get when() {
|
|
46633
|
-
return
|
|
46678
|
+
return b();
|
|
46634
46679
|
},
|
|
46635
46680
|
get fallback() {
|
|
46636
|
-
return
|
|
46681
|
+
return l4();
|
|
46637
46682
|
},
|
|
46638
46683
|
get children() {
|
|
46639
|
-
return
|
|
46684
|
+
return H2();
|
|
46640
46685
|
}
|
|
46641
46686
|
});
|
|
46642
46687
|
}
|
|
@@ -46647,7 +46692,7 @@ function h4() {
|
|
|
46647
46692
|
"aria-label": "Clear all findings",
|
|
46648
46693
|
onClick: O2,
|
|
46649
46694
|
get children() {
|
|
46650
|
-
return
|
|
46695
|
+
return U2();
|
|
46651
46696
|
}
|
|
46652
46697
|
}), null), e;
|
|
46653
46698
|
})()];
|
|
@@ -46658,7 +46703,7 @@ function h4() {
|
|
|
46658
46703
|
rt(["click"]);
|
|
46659
46704
|
//#endregion
|
|
46660
46705
|
//#region src/lib/projectConfig.ts
|
|
46661
|
-
var
|
|
46706
|
+
var C4 = [
|
|
46662
46707
|
"defaultTeamId",
|
|
46663
46708
|
"defaultProjectId",
|
|
46664
46709
|
"defaultLabelIds",
|
|
@@ -46673,29 +46718,29 @@ var g4 = [
|
|
|
46673
46718
|
"issueTemplate",
|
|
46674
46719
|
"testUsername"
|
|
46675
46720
|
];
|
|
46676
|
-
function
|
|
46721
|
+
function w4(e) {
|
|
46677
46722
|
let t = {};
|
|
46678
|
-
for (let n of
|
|
46723
|
+
for (let n of C4) {
|
|
46679
46724
|
let r = e[n];
|
|
46680
46725
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
46681
46726
|
}
|
|
46682
46727
|
return t;
|
|
46683
46728
|
}
|
|
46684
|
-
function
|
|
46729
|
+
function T4(e, t) {
|
|
46685
46730
|
let n = {};
|
|
46686
|
-
for (let r of
|
|
46731
|
+
for (let r of C4) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
46687
46732
|
return Object.keys(n).length ? n : null;
|
|
46688
46733
|
}
|
|
46689
46734
|
//#endregion
|
|
46690
46735
|
//#region src/lib/linear/auth.ts
|
|
46691
46736
|
Br();
|
|
46692
|
-
function
|
|
46737
|
+
function E4(e) {
|
|
46693
46738
|
let t = "";
|
|
46694
46739
|
for (let n of e) t += String.fromCharCode(n);
|
|
46695
46740
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
46696
46741
|
}
|
|
46697
|
-
async function
|
|
46698
|
-
let t =
|
|
46742
|
+
async function D4(e) {
|
|
46743
|
+
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");
|
|
46699
46744
|
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");
|
|
46700
46745
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
46701
46746
|
url: o.toString(),
|
|
@@ -46723,15 +46768,15 @@ async function b4(e) {
|
|
|
46723
46768
|
linearOauthClientId: e
|
|
46724
46769
|
});
|
|
46725
46770
|
}
|
|
46726
|
-
async function
|
|
46771
|
+
async function O4() {
|
|
46727
46772
|
await Er({
|
|
46728
46773
|
linearAccessToken: void 0,
|
|
46729
46774
|
linearApiKey: void 0
|
|
46730
46775
|
});
|
|
46731
46776
|
}
|
|
46732
46777
|
Br(), Sr(), Fx(), gD();
|
|
46733
|
-
var
|
|
46734
|
-
function
|
|
46778
|
+
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.");
|
|
46779
|
+
function p3() {
|
|
46735
46780
|
let e = sr(), t = _r(() => ({
|
|
46736
46781
|
queryKey: ["settings"],
|
|
46737
46782
|
queryFn: Tr,
|
|
@@ -46759,13 +46804,13 @@ function o3() {
|
|
|
46759
46804
|
retry: 0
|
|
46760
46805
|
})), [l, u] = T(!1), d = async () => {
|
|
46761
46806
|
try {
|
|
46762
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
46807
|
+
await navigator.clipboard.writeText(JSON.stringify(w4(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
46763
46808
|
} catch {}
|
|
46764
46809
|
}, f = () => {
|
|
46765
46810
|
let e = c.data?.projectConfig;
|
|
46766
46811
|
if (!e) return;
|
|
46767
46812
|
let t = {};
|
|
46768
|
-
for (let n of
|
|
46813
|
+
for (let n of C4) e[n] !== void 0 && (t[n] = e[n]);
|
|
46769
46814
|
r(t);
|
|
46770
46815
|
}, p = _r(() => ({
|
|
46771
46816
|
queryKey: ["linear-labels"],
|
|
@@ -46798,7 +46843,7 @@ function o3() {
|
|
|
46798
46843
|
}
|
|
46799
46844
|
E(!0), ee("");
|
|
46800
46845
|
try {
|
|
46801
|
-
await
|
|
46846
|
+
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"] });
|
|
46802
46847
|
} catch (e) {
|
|
46803
46848
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
46804
46849
|
} finally {
|
|
@@ -46809,7 +46854,7 @@ function o3() {
|
|
|
46809
46854
|
async function re() {
|
|
46810
46855
|
ne(!0);
|
|
46811
46856
|
try {
|
|
46812
|
-
await
|
|
46857
|
+
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"] });
|
|
46813
46858
|
} finally {
|
|
46814
46859
|
ne(!1);
|
|
46815
46860
|
}
|
|
@@ -46825,12 +46870,12 @@ function o3() {
|
|
|
46825
46870
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
46826
46871
|
});
|
|
46827
46872
|
return (() => {
|
|
46828
|
-
var e =
|
|
46873
|
+
var e = e3();
|
|
46829
46874
|
return P(e, j(Rj, {
|
|
46830
46875
|
title: "Workflow",
|
|
46831
46876
|
get children() {
|
|
46832
46877
|
return [(() => {
|
|
46833
|
-
var e =
|
|
46878
|
+
var e = k4();
|
|
46834
46879
|
return P(e, j(We, {
|
|
46835
46880
|
each: [{
|
|
46836
46881
|
id: "cloud",
|
|
@@ -46840,19 +46885,19 @@ function o3() {
|
|
|
46840
46885
|
label: "Local · clipboard"
|
|
46841
46886
|
}],
|
|
46842
46887
|
children: (e) => (() => {
|
|
46843
|
-
var t =
|
|
46888
|
+
var t = t3();
|
|
46844
46889
|
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;
|
|
46845
46890
|
})()
|
|
46846
46891
|
})), e;
|
|
46847
|
-
})(),
|
|
46892
|
+
})(), A4()];
|
|
46848
46893
|
}
|
|
46849
46894
|
}), null), P(e, j(Rj, {
|
|
46850
46895
|
title: "Capture",
|
|
46851
46896
|
get children() {
|
|
46852
46897
|
return [(() => {
|
|
46853
|
-
var e =
|
|
46898
|
+
var e = j4(), t = e.firstChild;
|
|
46854
46899
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
46855
|
-
})(),
|
|
46900
|
+
})(), M4()];
|
|
46856
46901
|
}
|
|
46857
46902
|
}), null), P(e, j(Rj, {
|
|
46858
46903
|
title: "Linear",
|
|
@@ -46863,13 +46908,13 @@ function o3() {
|
|
|
46863
46908
|
},
|
|
46864
46909
|
get fallback() {
|
|
46865
46910
|
return (() => {
|
|
46866
|
-
var e =
|
|
46911
|
+
var e = a3();
|
|
46867
46912
|
return P(e, j(Lj, {
|
|
46868
46913
|
label: "Personal API key",
|
|
46869
46914
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
46870
46915
|
get children() {
|
|
46871
46916
|
return [(() => {
|
|
46872
|
-
var e =
|
|
46917
|
+
var e = n3();
|
|
46873
46918
|
return P(e, j(jj, {
|
|
46874
46919
|
type: "password",
|
|
46875
46920
|
placeholder: "lin_api_…",
|
|
@@ -46906,12 +46951,12 @@ function o3() {
|
|
|
46906
46951
|
}), null), P(e, j(M, {
|
|
46907
46952
|
when: xr,
|
|
46908
46953
|
get children() {
|
|
46909
|
-
return [
|
|
46954
|
+
return [r3(), j(Lj, {
|
|
46910
46955
|
label: "OAuth client ID",
|
|
46911
46956
|
get children() {
|
|
46912
46957
|
return [
|
|
46913
46958
|
(() => {
|
|
46914
|
-
var e =
|
|
46959
|
+
var e = n3();
|
|
46915
46960
|
return P(e, j(jj, {
|
|
46916
46961
|
placeholder: "your-client-id",
|
|
46917
46962
|
get value() {
|
|
@@ -46939,7 +46984,7 @@ function o3() {
|
|
|
46939
46984
|
}
|
|
46940
46985
|
}),
|
|
46941
46986
|
(() => {
|
|
46942
|
-
var e =
|
|
46987
|
+
var e = i3(), t = e.firstChild.nextSibling.nextSibling;
|
|
46943
46988
|
return P(t, ie), e;
|
|
46944
46989
|
})()
|
|
46945
46990
|
];
|
|
@@ -46950,13 +46995,13 @@ function o3() {
|
|
|
46950
46995
|
})();
|
|
46951
46996
|
},
|
|
46952
46997
|
get children() {
|
|
46953
|
-
var e =
|
|
46998
|
+
var e = P4(), t = e.firstChild;
|
|
46954
46999
|
return P(t, j(M, {
|
|
46955
47000
|
get when() {
|
|
46956
47001
|
return !a.isLoading;
|
|
46957
47002
|
},
|
|
46958
47003
|
get fallback() {
|
|
46959
|
-
return
|
|
47004
|
+
return o3();
|
|
46960
47005
|
},
|
|
46961
47006
|
get children() {
|
|
46962
47007
|
return j(M, {
|
|
@@ -46969,7 +47014,7 @@ function o3() {
|
|
|
46969
47014
|
return a.isError;
|
|
46970
47015
|
},
|
|
46971
47016
|
get fallback() {
|
|
46972
|
-
return
|
|
47017
|
+
return o3();
|
|
46973
47018
|
},
|
|
46974
47019
|
get children() {
|
|
46975
47020
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -46977,7 +47022,7 @@ function o3() {
|
|
|
46977
47022
|
});
|
|
46978
47023
|
},
|
|
46979
47024
|
get children() {
|
|
46980
|
-
var e =
|
|
47025
|
+
var e = N4(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
46981
47026
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
46982
47027
|
}
|
|
46983
47028
|
});
|
|
@@ -47018,7 +47063,7 @@ function o3() {
|
|
|
47018
47063
|
return o.isLoading;
|
|
47019
47064
|
},
|
|
47020
47065
|
get children() {
|
|
47021
|
-
return [
|
|
47066
|
+
return [F4(), j(M, {
|
|
47022
47067
|
get when() {
|
|
47023
47068
|
return o.data;
|
|
47024
47069
|
},
|
|
@@ -47028,7 +47073,7 @@ function o3() {
|
|
|
47028
47073
|
return o.data;
|
|
47029
47074
|
},
|
|
47030
47075
|
children: (e) => (() => {
|
|
47031
|
-
var t =
|
|
47076
|
+
var t = s3(), r = t.firstChild, i = r.nextSibling;
|
|
47032
47077
|
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;
|
|
47033
47078
|
})()
|
|
47034
47079
|
});
|
|
@@ -47052,14 +47097,14 @@ function o3() {
|
|
|
47052
47097
|
},
|
|
47053
47098
|
get children() {
|
|
47054
47099
|
return [(() => {
|
|
47055
|
-
var e =
|
|
47100
|
+
var e = I4();
|
|
47056
47101
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
47057
47102
|
})(), j(We, {
|
|
47058
47103
|
get each() {
|
|
47059
47104
|
return s.data ?? [];
|
|
47060
47105
|
},
|
|
47061
47106
|
children: (e) => (() => {
|
|
47062
|
-
var t =
|
|
47107
|
+
var t = c3();
|
|
47063
47108
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
47064
47109
|
})()
|
|
47065
47110
|
})];
|
|
@@ -47071,7 +47116,7 @@ function o3() {
|
|
|
47071
47116
|
label: "Default labels",
|
|
47072
47117
|
hint: "Applied to every issue created from the panel.",
|
|
47073
47118
|
get children() {
|
|
47074
|
-
var e =
|
|
47119
|
+
var e = L4();
|
|
47075
47120
|
return P(e, j(We, {
|
|
47076
47121
|
get each() {
|
|
47077
47122
|
return p.data ?? [];
|
|
@@ -47079,7 +47124,7 @@ function o3() {
|
|
|
47079
47124
|
children: (e) => {
|
|
47080
47125
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
47081
47126
|
return (() => {
|
|
47082
|
-
var i =
|
|
47127
|
+
var i = l3(), a = i.firstChild;
|
|
47083
47128
|
return i.$$click = () => {
|
|
47084
47129
|
let i = n().defaultLabelIds ?? [];
|
|
47085
47130
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -47096,7 +47141,7 @@ function o3() {
|
|
|
47096
47141
|
}
|
|
47097
47142
|
}),
|
|
47098
47143
|
(() => {
|
|
47099
|
-
var e =
|
|
47144
|
+
var e = R4(), t = e.firstChild;
|
|
47100
47145
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
47101
47146
|
})(),
|
|
47102
47147
|
j(Lj, {
|
|
@@ -47146,7 +47191,7 @@ function o3() {
|
|
|
47146
47191
|
return m.isLoading;
|
|
47147
47192
|
},
|
|
47148
47193
|
get children() {
|
|
47149
|
-
return [
|
|
47194
|
+
return [u3(), j(M, {
|
|
47150
47195
|
get when() {
|
|
47151
47196
|
return m.data;
|
|
47152
47197
|
},
|
|
@@ -47156,7 +47201,7 @@ function o3() {
|
|
|
47156
47201
|
return m.data;
|
|
47157
47202
|
},
|
|
47158
47203
|
children: (e) => (() => {
|
|
47159
|
-
var t =
|
|
47204
|
+
var t = c3();
|
|
47160
47205
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
47161
47206
|
})()
|
|
47162
47207
|
});
|
|
@@ -47166,7 +47211,7 @@ function o3() {
|
|
|
47166
47211
|
});
|
|
47167
47212
|
},
|
|
47168
47213
|
get children() {
|
|
47169
|
-
return
|
|
47214
|
+
return z4();
|
|
47170
47215
|
}
|
|
47171
47216
|
});
|
|
47172
47217
|
}
|
|
@@ -47214,7 +47259,7 @@ function o3() {
|
|
|
47214
47259
|
onBlur: (e) => {
|
|
47215
47260
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
47216
47261
|
}
|
|
47217
|
-
}),
|
|
47262
|
+
}), B4()];
|
|
47218
47263
|
}
|
|
47219
47264
|
}),
|
|
47220
47265
|
j(Lj, {
|
|
@@ -47271,7 +47316,7 @@ function o3() {
|
|
|
47271
47316
|
label: "Test account",
|
|
47272
47317
|
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.",
|
|
47273
47318
|
get children() {
|
|
47274
|
-
var e =
|
|
47319
|
+
var e = V4();
|
|
47275
47320
|
return P(e, j(jj, {
|
|
47276
47321
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
47277
47322
|
get value() {
|
|
@@ -47303,7 +47348,7 @@ function o3() {
|
|
|
47303
47348
|
title: "Panel",
|
|
47304
47349
|
get children() {
|
|
47305
47350
|
return [(() => {
|
|
47306
|
-
var e =
|
|
47351
|
+
var e = H4(), t = e.firstChild.nextSibling;
|
|
47307
47352
|
return P(t, j(We, {
|
|
47308
47353
|
each: [{
|
|
47309
47354
|
id: "overlay",
|
|
@@ -47313,7 +47358,7 @@ function o3() {
|
|
|
47313
47358
|
label: "Beside page"
|
|
47314
47359
|
}],
|
|
47315
47360
|
children: (e) => (() => {
|
|
47316
|
-
var t =
|
|
47361
|
+
var t = t3();
|
|
47317
47362
|
return t.$$click = () => void r({
|
|
47318
47363
|
panelMode: e.id,
|
|
47319
47364
|
panelPos: void 0
|
|
@@ -47321,11 +47366,11 @@ function o3() {
|
|
|
47321
47366
|
})()
|
|
47322
47367
|
})), e;
|
|
47323
47368
|
})(), (() => {
|
|
47324
|
-
var e =
|
|
47369
|
+
var e = U4(), t = e.firstChild.nextSibling;
|
|
47325
47370
|
return P(t, j(We, {
|
|
47326
47371
|
each: ["left", "right"],
|
|
47327
47372
|
children: (e) => (() => {
|
|
47328
|
-
var t =
|
|
47373
|
+
var t = t3();
|
|
47329
47374
|
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;
|
|
47330
47375
|
})()
|
|
47331
47376
|
})), e;
|
|
@@ -47355,8 +47400,8 @@ function o3() {
|
|
|
47355
47400
|
}), null), P(e, j(Rj, {
|
|
47356
47401
|
title: "Project config (.lineargrab.json)",
|
|
47357
47402
|
get children() {
|
|
47358
|
-
return [
|
|
47359
|
-
var e =
|
|
47403
|
+
return [W4(), (() => {
|
|
47404
|
+
var e = K4();
|
|
47360
47405
|
return P(e, j(M, {
|
|
47361
47406
|
get when() {
|
|
47362
47407
|
return c.data?.projectConfig;
|
|
@@ -47387,7 +47432,7 @@ function o3() {
|
|
|
47387
47432
|
},
|
|
47388
47433
|
onClick: () => void d(),
|
|
47389
47434
|
get children() {
|
|
47390
|
-
var e =
|
|
47435
|
+
var e = G4();
|
|
47391
47436
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
47392
47437
|
}
|
|
47393
47438
|
}), null), e;
|
|
@@ -47478,12 +47523,12 @@ function o3() {
|
|
|
47478
47523
|
});
|
|
47479
47524
|
},
|
|
47480
47525
|
get children() {
|
|
47481
|
-
return [
|
|
47526
|
+
return [q4(), j(We, {
|
|
47482
47527
|
get each() {
|
|
47483
47528
|
return ae.data ?? [];
|
|
47484
47529
|
},
|
|
47485
47530
|
children: (e) => (() => {
|
|
47486
|
-
var t =
|
|
47531
|
+
var t = d3();
|
|
47487
47532
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
47488
47533
|
})()
|
|
47489
47534
|
})];
|
|
@@ -47534,10 +47579,10 @@ function o3() {
|
|
|
47534
47579
|
}
|
|
47535
47580
|
}),
|
|
47536
47581
|
(() => {
|
|
47537
|
-
var e =
|
|
47582
|
+
var e = J4(), t = e.firstChild;
|
|
47538
47583
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
47539
47584
|
})(),
|
|
47540
|
-
|
|
47585
|
+
Y4()
|
|
47541
47586
|
];
|
|
47542
47587
|
}
|
|
47543
47588
|
}), null), P(e, j(Rj, {
|
|
@@ -47575,7 +47620,7 @@ function o3() {
|
|
|
47575
47620
|
}
|
|
47576
47621
|
}),
|
|
47577
47622
|
(() => {
|
|
47578
|
-
var e =
|
|
47623
|
+
var e = X4(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
47579
47624
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
47580
47625
|
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;
|
|
47581
47626
|
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;
|
|
@@ -47588,16 +47633,16 @@ function o3() {
|
|
|
47588
47633
|
}), e;
|
|
47589
47634
|
})(),
|
|
47590
47635
|
(() => {
|
|
47591
|
-
var e =
|
|
47636
|
+
var e = Q4();
|
|
47592
47637
|
return P(e, j(M, {
|
|
47593
47638
|
get when() {
|
|
47594
47639
|
return se();
|
|
47595
47640
|
},
|
|
47596
47641
|
get fallback() {
|
|
47597
|
-
return
|
|
47642
|
+
return f3();
|
|
47598
47643
|
},
|
|
47599
47644
|
get children() {
|
|
47600
|
-
var e =
|
|
47645
|
+
var e = Z4();
|
|
47601
47646
|
return P(e, se), e;
|
|
47602
47647
|
}
|
|
47603
47648
|
})), e;
|
|
@@ -47607,7 +47652,7 @@ function o3() {
|
|
|
47607
47652
|
}), null), P(e, j(Rj, {
|
|
47608
47653
|
title: "How it works",
|
|
47609
47654
|
get children() {
|
|
47610
|
-
return
|
|
47655
|
+
return $4();
|
|
47611
47656
|
}
|
|
47612
47657
|
}), null), e;
|
|
47613
47658
|
})();
|
|
@@ -47615,38 +47660,38 @@ function o3() {
|
|
|
47615
47660
|
rt(["click"]);
|
|
47616
47661
|
//#endregion
|
|
47617
47662
|
//#region src/lib/idbCache.ts
|
|
47618
|
-
var
|
|
47663
|
+
var m3 = "linear-grab", h3 = "queries", g3 = [
|
|
47619
47664
|
"my-issues",
|
|
47620
47665
|
"issue",
|
|
47621
47666
|
"sessions",
|
|
47622
47667
|
"teams",
|
|
47623
47668
|
"agents"
|
|
47624
47669
|
];
|
|
47625
|
-
function
|
|
47670
|
+
function _3() {
|
|
47626
47671
|
return new Promise((e) => {
|
|
47627
47672
|
try {
|
|
47628
|
-
let t = indexedDB.open(
|
|
47629
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
47673
|
+
let t = indexedDB.open(m3, 1);
|
|
47674
|
+
t.onupgradeneeded = () => t.result.createObjectStore(h3), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
47630
47675
|
} catch {
|
|
47631
47676
|
e(null);
|
|
47632
47677
|
}
|
|
47633
47678
|
});
|
|
47634
47679
|
}
|
|
47635
|
-
function
|
|
47636
|
-
return typeof e[0] == "string" &&
|
|
47680
|
+
function v3(e) {
|
|
47681
|
+
return typeof e[0] == "string" && g3.includes(e[0]);
|
|
47637
47682
|
}
|
|
47638
|
-
async function
|
|
47639
|
-
let t = await
|
|
47683
|
+
async function y3(e) {
|
|
47684
|
+
let t = await _3();
|
|
47640
47685
|
if (!t) return () => {};
|
|
47641
47686
|
await new Promise((n) => {
|
|
47642
47687
|
try {
|
|
47643
|
-
let r = t.transaction(
|
|
47688
|
+
let r = t.transaction(h3, "readonly").objectStore(h3).openCursor();
|
|
47644
47689
|
r.onsuccess = () => {
|
|
47645
47690
|
let t = r.result;
|
|
47646
47691
|
if (!t) return n();
|
|
47647
47692
|
try {
|
|
47648
47693
|
let { queryKey: n, data: r } = t.value;
|
|
47649
|
-
|
|
47694
|
+
v3(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
47650
47695
|
} catch {}
|
|
47651
47696
|
t.continue();
|
|
47652
47697
|
}, r.onerror = () => n();
|
|
@@ -47657,14 +47702,14 @@ async function f3(e) {
|
|
|
47657
47702
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
47658
47703
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
47659
47704
|
let { queryKey: i, queryHash: a } = r.query;
|
|
47660
|
-
if (!
|
|
47705
|
+
if (!v3(i)) return;
|
|
47661
47706
|
let o = n.get(a);
|
|
47662
47707
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
47663
47708
|
n.delete(a);
|
|
47664
47709
|
try {
|
|
47665
47710
|
let n = e.getQueryData(i);
|
|
47666
47711
|
if (n === void 0) return;
|
|
47667
|
-
t.transaction(
|
|
47712
|
+
t.transaction(h3, "readwrite").objectStore(h3).put({
|
|
47668
47713
|
queryKey: i,
|
|
47669
47714
|
data: n
|
|
47670
47715
|
}, a);
|
|
@@ -47680,7 +47725,7 @@ async function f3(e) {
|
|
|
47680
47725
|
//#endregion
|
|
47681
47726
|
//#region src/panel/App.tsx
|
|
47682
47727
|
Br();
|
|
47683
|
-
var
|
|
47728
|
+
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 = [
|
|
47684
47729
|
{
|
|
47685
47730
|
id: "draft",
|
|
47686
47731
|
label: "Draft"
|
|
@@ -47717,35 +47762,35 @@ var p3 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
47717
47762
|
id: "settings",
|
|
47718
47763
|
label: "Settings"
|
|
47719
47764
|
}
|
|
47720
|
-
],
|
|
47721
|
-
function
|
|
47722
|
-
if (
|
|
47723
|
-
|
|
47765
|
+
], E3 = /* @__PURE__ */ new Set();
|
|
47766
|
+
function D3(e, t, n) {
|
|
47767
|
+
if (E3.has(e) || typeof Notification > "u") return;
|
|
47768
|
+
E3.add(e);
|
|
47724
47769
|
let r = () => new Notification(t, { body: n });
|
|
47725
47770
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
47726
47771
|
}
|
|
47727
|
-
function
|
|
47772
|
+
function O3() {
|
|
47728
47773
|
setInterval(() => {
|
|
47729
47774
|
NO().then((e) => {
|
|
47730
47775
|
for (let t of e) {
|
|
47731
47776
|
if (t.status !== "running") continue;
|
|
47732
47777
|
let e = t.lastEventAt ?? t.startedAt;
|
|
47733
|
-
Date.now() - e > 10 * 6e4 &&
|
|
47778
|
+
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.`);
|
|
47734
47779
|
}
|
|
47735
47780
|
}).catch(() => {}), gO().then((e) => {
|
|
47736
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
47781
|
+
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.`);
|
|
47737
47782
|
}).catch(() => {});
|
|
47738
47783
|
}, 6e4);
|
|
47739
47784
|
}
|
|
47740
|
-
|
|
47741
|
-
var
|
|
47785
|
+
O3();
|
|
47786
|
+
var k3 = new gr({ defaultOptions: { queries: {
|
|
47742
47787
|
retry: 1,
|
|
47743
47788
|
refetchOnWindowFocus: !1,
|
|
47744
47789
|
staleTime: 5e3
|
|
47745
47790
|
} } });
|
|
47746
|
-
function
|
|
47791
|
+
function A3(e) {
|
|
47747
47792
|
return (() => {
|
|
47748
|
-
var t =
|
|
47793
|
+
var t = b3();
|
|
47749
47794
|
return D((n) => {
|
|
47750
47795
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
47751
47796
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -47755,36 +47800,36 @@ function C3(e) {
|
|
|
47755
47800
|
}), t;
|
|
47756
47801
|
})();
|
|
47757
47802
|
}
|
|
47758
|
-
function
|
|
47803
|
+
function j3(e) {
|
|
47759
47804
|
let [t, n] = T("draft"), r = () => {
|
|
47760
|
-
|
|
47805
|
+
k3.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
47761
47806
|
};
|
|
47762
47807
|
return O(() => {
|
|
47763
47808
|
let e = nj();
|
|
47764
47809
|
e && n(e);
|
|
47765
47810
|
}), ie(() => {
|
|
47766
|
-
let e =
|
|
47811
|
+
let e = y3(k3), t = XZ(r), n = () => {
|
|
47767
47812
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
47768
47813
|
if (!e.projectConfig) return;
|
|
47769
|
-
let t =
|
|
47814
|
+
let t = T4(await Tr(), e.projectConfig);
|
|
47770
47815
|
t && await Er(t);
|
|
47771
47816
|
}).catch(() => {});
|
|
47772
47817
|
};
|
|
47773
47818
|
n();
|
|
47774
47819
|
let i = Mr((e) => {
|
|
47775
|
-
e === "settings" && (
|
|
47820
|
+
e === "settings" && (k3.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
47776
47821
|
});
|
|
47777
47822
|
ae(() => {
|
|
47778
47823
|
t(), i(), e.then((e) => e());
|
|
47779
47824
|
});
|
|
47780
47825
|
}), j(cr, {
|
|
47781
|
-
client:
|
|
47826
|
+
client: k3,
|
|
47782
47827
|
get children() {
|
|
47783
|
-
var r =
|
|
47784
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
47785
|
-
each:
|
|
47828
|
+
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;
|
|
47829
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(A3, { size: 14 })), P(o, j(We, {
|
|
47830
|
+
each: T3,
|
|
47786
47831
|
children: (e) => (() => {
|
|
47787
|
-
var r =
|
|
47832
|
+
var r = w3();
|
|
47788
47833
|
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;
|
|
47789
47834
|
})()
|
|
47790
47835
|
})), P(i, j(M, {
|
|
@@ -47792,7 +47837,7 @@ function w3(e) {
|
|
|
47792
47837
|
return e.onTogglePin;
|
|
47793
47838
|
},
|
|
47794
47839
|
get children() {
|
|
47795
|
-
var t =
|
|
47840
|
+
var t = x3();
|
|
47796
47841
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
47797
47842
|
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"}`;
|
|
47798
47843
|
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;
|
|
@@ -47807,10 +47852,10 @@ function w3(e) {
|
|
|
47807
47852
|
return e.onClose;
|
|
47808
47853
|
},
|
|
47809
47854
|
get children() {
|
|
47810
|
-
var t =
|
|
47855
|
+
var t = S3();
|
|
47811
47856
|
return t.$$click = () => e.onClose?.(), t;
|
|
47812
47857
|
}
|
|
47813
|
-
}), 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(
|
|
47858
|
+
}), 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) => {
|
|
47814
47859
|
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";
|
|
47815
47860
|
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;
|
|
47816
47861
|
}, {
|
|
@@ -47831,16 +47876,16 @@ function w3(e) {
|
|
|
47831
47876
|
rt(["pointerdown", "click"]);
|
|
47832
47877
|
//#endregion
|
|
47833
47878
|
//#region src/styles/app.css?inline
|
|
47834
|
-
var T3 = "/*! 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-\\[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}}";
|
|
47879
|
+
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}}";
|
|
47835
47880
|
//#endregion
|
|
47836
47881
|
//#region src/page/index.tsx
|
|
47837
47882
|
Br();
|
|
47838
|
-
var
|
|
47839
|
-
function
|
|
47883
|
+
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\"> · <!> · ");
|
|
47884
|
+
function X3(e = {}) {
|
|
47840
47885
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
47841
47886
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
47842
47887
|
let t = () => {
|
|
47843
|
-
lk(),
|
|
47888
|
+
lk(), F2(), JZ();
|
|
47844
47889
|
let t = document.createElement("div");
|
|
47845
47890
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
47846
47891
|
let n = (e) => {
|
|
@@ -47868,17 +47913,17 @@ function U3(e = {}) {
|
|
|
47868
47913
|
"keypress"
|
|
47869
47914
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
47870
47915
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
47871
|
-
i.textContent =
|
|
47916
|
+
i.textContent = M3, r.appendChild(i);
|
|
47872
47917
|
let a = document.createElement("div");
|
|
47873
47918
|
r.appendChild(a);
|
|
47874
|
-
let o = () => a.setAttribute("data-theme",
|
|
47875
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
47919
|
+
let o = () => a.setAttribute("data-theme", Z3());
|
|
47920
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(r6, { get defaultOpen() {
|
|
47876
47921
|
return e.defaultOpen ?? !1;
|
|
47877
47922
|
} }), a);
|
|
47878
47923
|
};
|
|
47879
47924
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
47880
47925
|
}
|
|
47881
|
-
function
|
|
47926
|
+
function Z3() {
|
|
47882
47927
|
try {
|
|
47883
47928
|
let e = [document.body, document.documentElement];
|
|
47884
47929
|
for (let t of e) {
|
|
@@ -47888,11 +47933,11 @@ function W3() {
|
|
|
47888
47933
|
} catch {}
|
|
47889
47934
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
47890
47935
|
}
|
|
47891
|
-
var
|
|
47892
|
-
function
|
|
47936
|
+
var Q3 = 130, $3 = 36, e6 = 380, t6 = 280, n6 = 720;
|
|
47937
|
+
function r6(e) {
|
|
47893
47938
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
47894
|
-
x: Math.max(8, window.innerWidth -
|
|
47895
|
-
y: Math.max(8, window.innerHeight -
|
|
47939
|
+
x: Math.max(8, window.innerWidth - Q3 - 24),
|
|
47940
|
+
y: Math.max(8, window.innerHeight - $3 - 20)
|
|
47896
47941
|
}), [s, c] = T({
|
|
47897
47942
|
running: [],
|
|
47898
47943
|
review: []
|
|
@@ -47912,12 +47957,12 @@ function X3(e) {
|
|
|
47912
47957
|
let t = Math.floor(e / 1e3);
|
|
47913
47958
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
47914
47959
|
}, [b, x] = T(null), S = (e) => ({
|
|
47915
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
47916
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
47960
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - Q3 - 8),
|
|
47961
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - $3 - 8)
|
|
47917
47962
|
}), C = (e) => ({
|
|
47918
47963
|
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
47919
47964
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
47920
|
-
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(
|
|
47965
|
+
}), [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)));
|
|
47921
47966
|
O(() => {
|
|
47922
47967
|
let e = document.documentElement, n = t() && w();
|
|
47923
47968
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
@@ -48031,7 +48076,7 @@ function X3(e) {
|
|
|
48031
48076
|
return !t();
|
|
48032
48077
|
},
|
|
48033
48078
|
get children() {
|
|
48034
|
-
var e =
|
|
48079
|
+
var e = R3(), t = e.firstChild;
|
|
48035
48080
|
return t.$$click = () => {
|
|
48036
48081
|
ce || p() === "recording" || h().active || (f(!1), n(!0));
|
|
48037
48082
|
}, t.$$pointerdown = le, P(t, j(M, {
|
|
@@ -48041,14 +48086,14 @@ function X3(e) {
|
|
|
48041
48086
|
get fallback() {
|
|
48042
48087
|
return [
|
|
48043
48088
|
(() => {
|
|
48044
|
-
var e =
|
|
48089
|
+
var e = B3();
|
|
48045
48090
|
return e.$$click = () => {
|
|
48046
48091
|
ce || (f(!1), n(!0));
|
|
48047
|
-
}, P(e, j(
|
|
48092
|
+
}, P(e, j(A3, { size: 13 })), e;
|
|
48048
48093
|
})(),
|
|
48049
|
-
|
|
48094
|
+
V3(),
|
|
48050
48095
|
(() => {
|
|
48051
|
-
var e =
|
|
48096
|
+
var e = W3(), t = e.firstChild, n = t.nextSibling;
|
|
48052
48097
|
return e.$$click = (e) => {
|
|
48053
48098
|
e.stopPropagation(), !ce && f((e) => !e);
|
|
48054
48099
|
}, P(n, (() => {
|
|
@@ -48059,8 +48104,8 @@ function X3(e) {
|
|
|
48059
48104
|
return $e(() => !te())() && u().length > 0;
|
|
48060
48105
|
},
|
|
48061
48106
|
get children() {
|
|
48062
|
-
return [
|
|
48063
|
-
var e =
|
|
48107
|
+
return [H3(), (() => {
|
|
48108
|
+
var e = U3(), t = e.firstChild;
|
|
48064
48109
|
return P(e, () => u().length, t), e;
|
|
48065
48110
|
})()];
|
|
48066
48111
|
}
|
|
@@ -48081,17 +48126,17 @@ function X3(e) {
|
|
|
48081
48126
|
},
|
|
48082
48127
|
get fallback() {
|
|
48083
48128
|
return [
|
|
48084
|
-
|
|
48129
|
+
G3(),
|
|
48085
48130
|
(() => {
|
|
48086
|
-
var e =
|
|
48131
|
+
var e = K3(), t = e.firstChild;
|
|
48087
48132
|
return P(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
48088
48133
|
})(),
|
|
48089
48134
|
(() => {
|
|
48090
|
-
var e =
|
|
48135
|
+
var e = q3(), t = e.firstChild;
|
|
48091
48136
|
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;
|
|
48092
48137
|
})(),
|
|
48093
48138
|
(() => {
|
|
48094
|
-
var e =
|
|
48139
|
+
var e = F3();
|
|
48095
48140
|
return e.$$click = (e) => {
|
|
48096
48141
|
e.stopPropagation(), !ce && o2();
|
|
48097
48142
|
}, e;
|
|
@@ -48100,13 +48145,13 @@ function X3(e) {
|
|
|
48100
48145
|
},
|
|
48101
48146
|
get children() {
|
|
48102
48147
|
return [
|
|
48103
|
-
|
|
48148
|
+
N3(),
|
|
48104
48149
|
(() => {
|
|
48105
|
-
var e =
|
|
48150
|
+
var e = P3();
|
|
48106
48151
|
return P(e, () => y(_())), e;
|
|
48107
48152
|
})(),
|
|
48108
48153
|
(() => {
|
|
48109
|
-
var e =
|
|
48154
|
+
var e = F3();
|
|
48110
48155
|
return e.$$click = () => {
|
|
48111
48156
|
ce || eO();
|
|
48112
48157
|
}, e;
|
|
@@ -48120,17 +48165,17 @@ function X3(e) {
|
|
|
48120
48165
|
return d();
|
|
48121
48166
|
},
|
|
48122
48167
|
get children() {
|
|
48123
|
-
var e =
|
|
48168
|
+
var e = L3(), t = e.firstChild;
|
|
48124
48169
|
return P(e, j(M, {
|
|
48125
48170
|
get when() {
|
|
48126
48171
|
return u().length > 0;
|
|
48127
48172
|
},
|
|
48128
48173
|
get children() {
|
|
48129
|
-
return [
|
|
48174
|
+
return [I3(), j(We, {
|
|
48130
48175
|
get each() {
|
|
48131
48176
|
return u();
|
|
48132
48177
|
},
|
|
48133
|
-
children: (e) => j(
|
|
48178
|
+
children: (e) => j(i6, {
|
|
48134
48179
|
agent: e,
|
|
48135
48180
|
review: !0,
|
|
48136
48181
|
onOpen: de
|
|
@@ -48142,14 +48187,14 @@ function X3(e) {
|
|
|
48142
48187
|
return l().length > 0;
|
|
48143
48188
|
},
|
|
48144
48189
|
get fallback() {
|
|
48145
|
-
return
|
|
48190
|
+
return J3();
|
|
48146
48191
|
},
|
|
48147
48192
|
get children() {
|
|
48148
48193
|
return j(We, {
|
|
48149
48194
|
get each() {
|
|
48150
48195
|
return l();
|
|
48151
48196
|
},
|
|
48152
|
-
children: (e) => j(
|
|
48197
|
+
children: (e) => j(i6, {
|
|
48153
48198
|
agent: e,
|
|
48154
48199
|
onOpen: de
|
|
48155
48200
|
})
|
|
@@ -48170,8 +48215,8 @@ function X3(e) {
|
|
|
48170
48215
|
return t();
|
|
48171
48216
|
},
|
|
48172
48217
|
get children() {
|
|
48173
|
-
var e =
|
|
48174
|
-
return t.$$pointerdown = fe, P(e, j(
|
|
48218
|
+
var e = z3(), t = e.firstChild;
|
|
48219
|
+
return t.$$pointerdown = fe, P(e, j(j3, {
|
|
48175
48220
|
onGrab: () => n(!0),
|
|
48176
48221
|
onClose: () => n(!1),
|
|
48177
48222
|
get onHeaderPointerDown() {
|
|
@@ -48199,19 +48244,19 @@ function X3(e) {
|
|
|
48199
48244
|
}
|
|
48200
48245
|
})];
|
|
48201
48246
|
}
|
|
48202
|
-
function
|
|
48247
|
+
function i6(e) {
|
|
48203
48248
|
return (() => {
|
|
48204
|
-
var t =
|
|
48249
|
+
var t = Y3(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
48205
48250
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
48206
48251
|
var t = $e(() => !!e.review);
|
|
48207
48252
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
48208
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
48253
|
+
})(), 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;
|
|
48209
48254
|
})();
|
|
48210
48255
|
}
|
|
48211
|
-
function
|
|
48256
|
+
function a6(e) {
|
|
48212
48257
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
48213
48258
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
48214
48259
|
}
|
|
48215
48260
|
rt(["pointerdown", "click"]);
|
|
48216
48261
|
//#endregion
|
|
48217
|
-
export {
|
|
48262
|
+
export { X3 as init };
|