linear-grab 0.23.0 → 0.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.global.js +10 -5
- package/dist/linear-grab.js +433 -348
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -46031,7 +46031,7 @@ function w2(e) {
|
|
|
46031
46031
|
return S2.add(e), e(x2), () => void S2.delete(e);
|
|
46032
46032
|
}
|
|
46033
46033
|
function T2() {
|
|
46034
|
-
x2 =
|
|
46034
|
+
x2 = [];
|
|
46035
46035
|
for (let e of S2) e(x2);
|
|
46036
46036
|
}
|
|
46037
46037
|
var E2 = !1;
|
|
@@ -46049,35 +46049,50 @@ function D2() {
|
|
|
46049
46049
|
capture: !0,
|
|
46050
46050
|
passive: !0
|
|
46051
46051
|
});
|
|
46052
|
-
let n = /* @__PURE__ */ new Map();
|
|
46052
|
+
let n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map();
|
|
46053
46053
|
window.addEventListener("transitionrun", (t) => {
|
|
46054
|
-
let
|
|
46055
|
-
if (
|
|
46056
|
-
let
|
|
46057
|
-
if (!(
|
|
46058
|
-
let
|
|
46059
|
-
if (
|
|
46060
|
-
let
|
|
46061
|
-
if (p
|
|
46062
|
-
|
|
46063
|
-
|
|
46064
|
-
|
|
46065
|
-
|
|
46066
|
-
|
|
46067
|
-
|
|
46068
|
-
|
|
46069
|
-
|
|
46070
|
-
|
|
46071
|
-
|
|
46072
|
-
|
|
46073
|
-
|
|
46074
|
-
|
|
46075
|
-
|
|
46076
|
-
|
|
46077
|
-
|
|
46078
|
-
|
|
46079
|
-
|
|
46080
|
-
|
|
46054
|
+
let i = performance.now() - e;
|
|
46055
|
+
if (i > d2) return;
|
|
46056
|
+
let a = t.target;
|
|
46057
|
+
if (!(a instanceof Element) || a.closest("#linear-grab-root") || a === document.documentElement || a === document.body || t.propertyName.startsWith("--")) return;
|
|
46058
|
+
let o = getComputedStyle(a), s = o.transitionProperty.split(",").map((e) => e.trim()), c = f2(o.transitionDuration), l = f2(o.transitionDelay), u = Math.max(0, s.indexOf(t.propertyName)), d = c[u % c.length] ?? c[0] ?? 0, f = l[u % l.length] ?? l[0] ?? 0;
|
|
46059
|
+
if (d + f < 50) return;
|
|
46060
|
+
let p = r.get(a);
|
|
46061
|
+
if (p) {
|
|
46062
|
+
p.props.add(t.propertyName), p.duration = Math.max(p.duration, d), p.delay = Math.max(p.delay, f);
|
|
46063
|
+
return;
|
|
46064
|
+
}
|
|
46065
|
+
let m = {
|
|
46066
|
+
props: /* @__PURE__ */ new Set([t.propertyName]),
|
|
46067
|
+
duration: d,
|
|
46068
|
+
delay: f,
|
|
46069
|
+
since: i,
|
|
46070
|
+
timer: setTimeout(() => {
|
|
46071
|
+
r.delete(a);
|
|
46072
|
+
let e = p2(a), t = Date.now();
|
|
46073
|
+
if (t - (n.get(e) ?? 0) < 5e3) return;
|
|
46074
|
+
n.set(e, t);
|
|
46075
|
+
let i = m2(a), o = [...m.props];
|
|
46076
|
+
_2(a).then(({ component: n, source: r }) => {
|
|
46077
|
+
C2({
|
|
46078
|
+
mode: "live",
|
|
46079
|
+
page: location.pathname,
|
|
46080
|
+
element: e,
|
|
46081
|
+
component: n,
|
|
46082
|
+
source: r,
|
|
46083
|
+
properties: o,
|
|
46084
|
+
durationMs: Math.round(m.duration),
|
|
46085
|
+
delayMs: Math.round(m.delay),
|
|
46086
|
+
sinceInputMs: Math.round(m.since),
|
|
46087
|
+
count: 1,
|
|
46088
|
+
classHint: i,
|
|
46089
|
+
suggestion: h2(o, m.duration, m.delay, i),
|
|
46090
|
+
at: t
|
|
46091
|
+
});
|
|
46092
|
+
});
|
|
46093
|
+
}, 300)
|
|
46094
|
+
};
|
|
46095
|
+
r.set(a, m);
|
|
46081
46096
|
}, {
|
|
46082
46097
|
capture: !0,
|
|
46083
46098
|
passive: !0
|
|
@@ -46128,6 +46143,33 @@ async function k2() {
|
|
|
46128
46143
|
return n;
|
|
46129
46144
|
}
|
|
46130
46145
|
function A2(e) {
|
|
46146
|
+
return [
|
|
46147
|
+
"Below is a CSS-slowdown report from my running app (live-captured on real input + full-page audit).",
|
|
46148
|
+
"Goal: ALL interaction feedback must be instant. Rules:",
|
|
46149
|
+
"",
|
|
46150
|
+
"1. Most of these come from SHARED design-system variants — fix the VARIANT",
|
|
46151
|
+
" DEFINITIONS, not the call sites. Grep for the exact class recipes in the",
|
|
46152
|
+
" findings' `classes:` lines (e.g. `transition-all`, `transition-colors duration-150`).",
|
|
46153
|
+
"2. Press/toggle state changes get NO transition: add `active:transition-none`",
|
|
46154
|
+
" and `data-[state=on]:transition-none` / `data-[state=open]:transition-none`.",
|
|
46155
|
+
" Hover in/out may keep a transition but shorten it: duration-150 → duration-100",
|
|
46156
|
+
" (duration-75 for small controls like tabs and icon buttons).",
|
|
46157
|
+
"3. Replace every `transition-all` with the scoped variant (transition-colors /",
|
|
46158
|
+
" transition-transform / transition-opacity — per what actually changes).",
|
|
46159
|
+
"4. Where a finding's source looks like a generic fallback (one file:line repeated",
|
|
46160
|
+
" for many components), locate the code by the `classes:` line instead.",
|
|
46161
|
+
"5. Do NOT touch entry/exit animations of popovers/menus or icon micro-motion",
|
|
46162
|
+
" (chevron rotate etc.) — that is intentional; only input FEEDBACK must be instant.",
|
|
46163
|
+
"6. PROOF REQUIRED: after the change I will re-run the audit — it must show zero",
|
|
46164
|
+
" interactive elements ≥100ms and clicking must produce no live findings.",
|
|
46165
|
+
" Do not claim done without stating what you changed per variant.",
|
|
46166
|
+
"",
|
|
46167
|
+
"---",
|
|
46168
|
+
"",
|
|
46169
|
+
j2(e)
|
|
46170
|
+
].join("\n");
|
|
46171
|
+
}
|
|
46172
|
+
function j2(e) {
|
|
46131
46173
|
let t = [
|
|
46132
46174
|
`# CSS slowdowns on ${location.host}${location.pathname}`,
|
|
46133
46175
|
"Threshold: 50ms (interaction feedback should be instant).",
|
|
@@ -46138,22 +46180,22 @@ function A2(e) {
|
|
|
46138
46180
|
}
|
|
46139
46181
|
//#endregion
|
|
46140
46182
|
//#region src/panel/views/DesignView.tsx
|
|
46141
|
-
var
|
|
46142
|
-
function
|
|
46183
|
+
var M2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[7ch] text-center\">Extract"), N2 = /*#__PURE__*/ N("<div class=\"relative flex flex-col gap-2 pl-4\"><div class=\"bg-border absolute top-1 bottom-1 left-[5px] w-px\"aria-hidden>"), P2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[8ch] text-center\">"), F2 = /*#__PURE__*/ N("<div class=\"flex items-center justify-end gap-1.5 px-1\">"), I2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[5ch] text-center\">Audit"), L2 = /*#__PURE__*/ N("<div class=\"flex max-h-72 flex-col gap-1.5 overflow-y-auto pr-2\">"), R2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[11ch] text-center\">"), z2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), B2 = /*#__PURE__*/ N("<div class=\"flex items-center gap-1.5 px-1\">"), V2 = /*#__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."), H2 = /*#__PURE__*/ N("<p class=\"text-text mt-1 text-[11px] font-semibold\">Interaction states"), U2 = /*#__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>"), W2 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px] font-medium tabular-nums\">s · <!> states"), G2 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), K2 = /*#__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\">"), q2 = /*#__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\">"), J2 = /*#__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\">"), Y2 = /*#__PURE__*/ N("<span class=text-text-faint> ×"), X2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-text text-[11px] font-medium\">"), Z2 = /*#__PURE__*/ N("<span class=text-accent> ← var(<!>)"), Q2 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: "), $2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-warn text-[10.5px] font-medium\"> — "), e4 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: <!> → "), t4 = /*#__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>"), n4 = /*#__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\">"), r4 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1 text-[10.5px]\">Nothing caught yet — interact with the app, or run Audit."), i4 = /*#__PURE__*/ N("<span class=\"text-text-dim font-mono text-[10px] break-all\">"), a4 = /*#__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\">"), o4 = "linear-grab:genomes:v1", s4 = 30;
|
|
46184
|
+
function c4() {
|
|
46143
46185
|
try {
|
|
46144
|
-
return JSON.parse(localStorage.getItem(
|
|
46186
|
+
return JSON.parse(localStorage.getItem(o4) ?? "[]");
|
|
46145
46187
|
} catch {
|
|
46146
46188
|
return [];
|
|
46147
46189
|
}
|
|
46148
46190
|
}
|
|
46149
|
-
function
|
|
46191
|
+
function l4(e) {
|
|
46150
46192
|
try {
|
|
46151
|
-
localStorage.setItem(
|
|
46193
|
+
localStorage.setItem(o4, JSON.stringify(e.slice(0, s4)));
|
|
46152
46194
|
} catch {}
|
|
46153
46195
|
}
|
|
46154
|
-
var
|
|
46155
|
-
function
|
|
46156
|
-
let [e, t] = T(
|
|
46196
|
+
var u4 = /* @__PURE__ */ new Map();
|
|
46197
|
+
function d4() {
|
|
46198
|
+
let [e, t] = T(c4()), [n, r] = T(null), [i, a] = T(null), [o, s] = T(null), [c, l] = T(null), [u, d] = T(null), [f, p] = T({
|
|
46157
46199
|
active: !1,
|
|
46158
46200
|
msLeft: 0,
|
|
46159
46201
|
total: 0,
|
|
@@ -46171,19 +46213,25 @@ function s4() {
|
|
|
46171
46213
|
}
|
|
46172
46214
|
}, x = async () => {
|
|
46173
46215
|
try {
|
|
46174
|
-
await navigator.clipboard.writeText(
|
|
46216
|
+
await navigator.clipboard.writeText(j2(m())), y(!0), setTimeout(() => y(!1), 1600);
|
|
46217
|
+
} catch {
|
|
46218
|
+
l("Clipboard was blocked — click Copy again.");
|
|
46219
|
+
}
|
|
46220
|
+
}, [S, C] = T(!1), w = async () => {
|
|
46221
|
+
try {
|
|
46222
|
+
await navigator.clipboard.writeText(A2(m())), C(!0), setTimeout(() => C(!1), 1600);
|
|
46175
46223
|
} catch {
|
|
46176
46224
|
l("Clipboard was blocked — click Copy again.");
|
|
46177
46225
|
}
|
|
46178
|
-
},
|
|
46179
|
-
t(e),
|
|
46180
|
-
},
|
|
46226
|
+
}, E = (e) => {
|
|
46227
|
+
t(e), l4(e);
|
|
46228
|
+
}, O = async () => {
|
|
46181
46229
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
46182
46230
|
try {
|
|
46183
46231
|
let t = await u2();
|
|
46184
46232
|
if (!t) return;
|
|
46185
46233
|
let n = await e2(t), i = Date.now();
|
|
46186
|
-
|
|
46234
|
+
u4.set(i, new WeakRef(t)), E([{
|
|
46187
46235
|
id: i,
|
|
46188
46236
|
genome: n
|
|
46189
46237
|
}, ...e()]), r(i);
|
|
@@ -46192,16 +46240,16 @@ function s4() {
|
|
|
46192
46240
|
} finally {
|
|
46193
46241
|
a(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46194
46242
|
}
|
|
46195
|
-
},
|
|
46243
|
+
}, k = async (t) => {
|
|
46196
46244
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
46197
46245
|
try {
|
|
46198
|
-
let n =
|
|
46246
|
+
let n = u4.get(t.id)?.deref() ?? null;
|
|
46199
46247
|
if (!n || !n.isConnected) {
|
|
46200
46248
|
if (n = await u2(), !n) return;
|
|
46201
|
-
|
|
46249
|
+
u4.set(t.id, new WeakRef(n));
|
|
46202
46250
|
}
|
|
46203
46251
|
let r = await c2(n, 8e3, (e) => s(Math.ceil(e / 1e3)));
|
|
46204
|
-
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."),
|
|
46252
|
+
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."), E(e().map((e) => e.id === t.id ? {
|
|
46205
46253
|
...e,
|
|
46206
46254
|
genome: {
|
|
46207
46255
|
...e.genome,
|
|
@@ -46213,17 +46261,26 @@ function s4() {
|
|
|
46213
46261
|
} finally {
|
|
46214
46262
|
a(null), s(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46215
46263
|
}
|
|
46216
|
-
},
|
|
46264
|
+
}, ee = async (e) => {
|
|
46217
46265
|
try {
|
|
46218
46266
|
await navigator.clipboard.writeText(l2(e.genome)), d(e.id), setTimeout(() => d(null), 1600);
|
|
46219
46267
|
} catch {
|
|
46220
46268
|
l("Clipboard was blocked — click Copy again.");
|
|
46221
46269
|
}
|
|
46222
|
-
},
|
|
46223
|
-
|
|
46270
|
+
}, te = (t) => {
|
|
46271
|
+
u4.delete(t), E(e().filter((e) => e.id !== t));
|
|
46272
|
+
}, [A, ne] = T(!1), re = async () => {
|
|
46273
|
+
try {
|
|
46274
|
+
let t = e().map((e) => l2(e.genome)).join("\n\n---\n\n");
|
|
46275
|
+
await navigator.clipboard.writeText(t), ne(!0), setTimeout(() => ne(!1), 1600);
|
|
46276
|
+
} catch {
|
|
46277
|
+
l("Clipboard was blocked — click Copy again.");
|
|
46278
|
+
}
|
|
46279
|
+
}, ie = () => {
|
|
46280
|
+
u4.clear(), E([]), r(null);
|
|
46224
46281
|
};
|
|
46225
46282
|
return (() => {
|
|
46226
|
-
var t =
|
|
46283
|
+
var t = V2(), a = t.firstChild;
|
|
46227
46284
|
a.firstChild;
|
|
46228
46285
|
var o = a.nextSibling, s = o.firstChild;
|
|
46229
46286
|
return s.firstChild, P(a, j(kj, {
|
|
@@ -46232,9 +46289,9 @@ function s4() {
|
|
|
46232
46289
|
get loading() {
|
|
46233
46290
|
return i() === "extract";
|
|
46234
46291
|
},
|
|
46235
|
-
onClick: () => void
|
|
46292
|
+
onClick: () => void O(),
|
|
46236
46293
|
get children() {
|
|
46237
|
-
return
|
|
46294
|
+
return M2();
|
|
46238
46295
|
}
|
|
46239
46296
|
}), null), P(t, j(M, {
|
|
46240
46297
|
get when() {
|
|
@@ -46256,159 +46313,178 @@ function s4() {
|
|
|
46256
46313
|
});
|
|
46257
46314
|
},
|
|
46258
46315
|
get children() {
|
|
46259
|
-
|
|
46260
|
-
|
|
46261
|
-
|
|
46262
|
-
|
|
46263
|
-
|
|
46264
|
-
|
|
46265
|
-
|
|
46266
|
-
|
|
46267
|
-
|
|
46268
|
-
|
|
46269
|
-
|
|
46270
|
-
|
|
46271
|
-
|
|
46272
|
-
|
|
46273
|
-
|
|
46274
|
-
|
|
46275
|
-
|
|
46276
|
-
|
|
46277
|
-
|
|
46278
|
-
|
|
46279
|
-
|
|
46280
|
-
|
|
46281
|
-
|
|
46282
|
-
|
|
46283
|
-
|
|
46284
|
-
|
|
46285
|
-
|
|
46286
|
-
|
|
46287
|
-
|
|
46288
|
-
|
|
46289
|
-
|
|
46290
|
-
|
|
46291
|
-
|
|
46292
|
-
|
|
46293
|
-
|
|
46294
|
-
|
|
46295
|
-
|
|
46296
|
-
|
|
46297
|
-
|
|
46298
|
-
|
|
46299
|
-
|
|
46300
|
-
|
|
46301
|
-
|
|
46302
|
-
|
|
46303
|
-
|
|
46304
|
-
|
|
46305
|
-
|
|
46306
|
-
|
|
46307
|
-
|
|
46308
|
-
|
|
46309
|
-
|
|
46310
|
-
|
|
46311
|
-
|
|
46312
|
-
|
|
46313
|
-
|
|
46314
|
-
|
|
46315
|
-
|
|
46316
|
-
|
|
46317
|
-
|
|
46318
|
-
|
|
46319
|
-
|
|
46320
|
-
|
|
46321
|
-
|
|
46322
|
-
|
|
46323
|
-
|
|
46324
|
-
|
|
46325
|
-
|
|
46326
|
-
|
|
46327
|
-
|
|
46328
|
-
|
|
46329
|
-
|
|
46330
|
-
|
|
46331
|
-
|
|
46332
|
-
|
|
46333
|
-
|
|
46334
|
-
|
|
46335
|
-
|
|
46336
|
-
|
|
46337
|
-
|
|
46338
|
-
|
|
46339
|
-
|
|
46340
|
-
|
|
46341
|
-
|
|
46342
|
-
|
|
46343
|
-
|
|
46344
|
-
|
|
46345
|
-
|
|
46346
|
-
|
|
46347
|
-
|
|
46348
|
-
|
|
46349
|
-
|
|
46350
|
-
|
|
46351
|
-
|
|
46352
|
-
|
|
46353
|
-
|
|
46354
|
-
|
|
46355
|
-
|
|
46356
|
-
|
|
46357
|
-
|
|
46358
|
-
|
|
46359
|
-
|
|
46360
|
-
|
|
46361
|
-
|
|
46362
|
-
|
|
46363
|
-
|
|
46364
|
-
|
|
46365
|
-
|
|
46366
|
-
|
|
46367
|
-
|
|
46368
|
-
|
|
46369
|
-
|
|
46370
|
-
|
|
46371
|
-
|
|
46372
|
-
|
|
46373
|
-
|
|
46374
|
-
|
|
46375
|
-
|
|
46376
|
-
|
|
46377
|
-
|
|
46378
|
-
|
|
46379
|
-
|
|
46380
|
-
|
|
46381
|
-
|
|
46382
|
-
|
|
46383
|
-
|
|
46384
|
-
|
|
46385
|
-
|
|
46386
|
-
|
|
46387
|
-
|
|
46388
|
-
|
|
46389
|
-
|
|
46390
|
-
|
|
46391
|
-
|
|
46392
|
-
|
|
46393
|
-
|
|
46394
|
-
|
|
46395
|
-
|
|
46396
|
-
|
|
46397
|
-
|
|
46398
|
-
|
|
46399
|
-
|
|
46400
|
-
|
|
46401
|
-
|
|
46402
|
-
|
|
46403
|
-
|
|
46404
|
-
|
|
46405
|
-
|
|
46406
|
-
|
|
46407
|
-
|
|
46408
|
-
|
|
46409
|
-
|
|
46410
|
-
|
|
46411
|
-
|
|
46316
|
+
return [(() => {
|
|
46317
|
+
var t = N2();
|
|
46318
|
+
return t.firstChild, P(t, j(We, {
|
|
46319
|
+
get each() {
|
|
46320
|
+
return e();
|
|
46321
|
+
},
|
|
46322
|
+
children: (e) => {
|
|
46323
|
+
let t = () => n() === e.id;
|
|
46324
|
+
return (() => {
|
|
46325
|
+
var n = J2(), a = n.firstChild, o = a.nextSibling, s = o.firstChild, c = s.firstChild, l = c.nextSibling, d = l.firstChild, p = d.nextSibling;
|
|
46326
|
+
p.nextSibling;
|
|
46327
|
+
var m = l.nextSibling;
|
|
46328
|
+
return s.$$click = () => r(t() ? null : e.id), P(c, () => e.genome.title), P(l, () => e.genome.nodes.length, d), P(l, (() => {
|
|
46329
|
+
var t = $e(() => !!e.genome.states.length);
|
|
46330
|
+
return () => t() ? ` · ${e.genome.states.length} states` : "";
|
|
46331
|
+
})(), p), P(l, () => Wj(e.genome.extractedAt), null), P(o, j(M, {
|
|
46332
|
+
get when() {
|
|
46333
|
+
return t();
|
|
46334
|
+
},
|
|
46335
|
+
get children() {
|
|
46336
|
+
var t = q2(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
46337
|
+
return P(n, () => e.genome.pageUrl), P(r, j(We, {
|
|
46338
|
+
get each() {
|
|
46339
|
+
return e.genome.nodes;
|
|
46340
|
+
},
|
|
46341
|
+
children: (e) => (() => {
|
|
46342
|
+
var t = X2(), n = t.firstChild;
|
|
46343
|
+
return P(n, () => e.label, null), P(n, j(M, {
|
|
46344
|
+
get when() {
|
|
46345
|
+
return e.count > 1;
|
|
46346
|
+
},
|
|
46347
|
+
get children() {
|
|
46348
|
+
var t = Y2();
|
|
46349
|
+
return t.firstChild, P(t, () => e.count, null), t;
|
|
46350
|
+
}
|
|
46351
|
+
}), null), P(t, j(We, {
|
|
46352
|
+
get each() {
|
|
46353
|
+
return Object.entries(e.styles);
|
|
46354
|
+
},
|
|
46355
|
+
children: ([t, n]) => (() => {
|
|
46356
|
+
var r = Q2(), i = r.firstChild;
|
|
46357
|
+
return P(r, t, i), P(r, n, null), P(r, j(M, {
|
|
46358
|
+
get when() {
|
|
46359
|
+
return e.tokens[t];
|
|
46360
|
+
},
|
|
46361
|
+
get children() {
|
|
46362
|
+
var n = Z2(), r = n.firstChild.nextSibling;
|
|
46363
|
+
return r.nextSibling, P(n, () => e.tokens[t], r), n;
|
|
46364
|
+
}
|
|
46365
|
+
}), null), r;
|
|
46366
|
+
})()
|
|
46367
|
+
}), null), t;
|
|
46368
|
+
})()
|
|
46369
|
+
}), null), P(r, j(M, {
|
|
46370
|
+
get when() {
|
|
46371
|
+
return e.genome.states.length > 0;
|
|
46372
|
+
},
|
|
46373
|
+
get children() {
|
|
46374
|
+
return [H2(), j(We, {
|
|
46375
|
+
get each() {
|
|
46376
|
+
return e.genome.states;
|
|
46377
|
+
},
|
|
46378
|
+
children: (e) => (() => {
|
|
46379
|
+
var t = $2(), n = t.firstChild, r = n.firstChild;
|
|
46380
|
+
return P(n, () => e.label, r), P(n, () => e.trigger, null), P(t, j(We, {
|
|
46381
|
+
get each() {
|
|
46382
|
+
return Object.entries(e.changed);
|
|
46383
|
+
},
|
|
46384
|
+
children: ([e, t]) => (() => {
|
|
46385
|
+
var n = e4(), r = n.firstChild, i = r.nextSibling;
|
|
46386
|
+
return i.nextSibling, P(n, e, r), P(n, () => t.from, i), P(n, () => t.to, null), n;
|
|
46387
|
+
})()
|
|
46388
|
+
}), null), t;
|
|
46389
|
+
})()
|
|
46390
|
+
})];
|
|
46391
|
+
}
|
|
46392
|
+
}), null), P(a, j(M, {
|
|
46393
|
+
get when() {
|
|
46394
|
+
return $e(() => i() === e.id)() && f().active;
|
|
46395
|
+
},
|
|
46396
|
+
get fallback() {
|
|
46397
|
+
return j(kj, {
|
|
46398
|
+
class: "size-7 px-0",
|
|
46399
|
+
variant: "ghost",
|
|
46400
|
+
get loading() {
|
|
46401
|
+
return i() === e.id;
|
|
46402
|
+
},
|
|
46403
|
+
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46404
|
+
"aria-label": "Capture interaction states",
|
|
46405
|
+
onClick: () => void k(e),
|
|
46406
|
+
get children() {
|
|
46407
|
+
return t4();
|
|
46408
|
+
}
|
|
46409
|
+
});
|
|
46410
|
+
},
|
|
46411
|
+
get children() {
|
|
46412
|
+
return [j(kj, {
|
|
46413
|
+
class: "text-danger size-7 px-0",
|
|
46414
|
+
variant: "ghost",
|
|
46415
|
+
get title() {
|
|
46416
|
+
return `Stop recording — ${Math.ceil(f().msLeft / 1e3)}s left · ${f().total} captured`;
|
|
46417
|
+
},
|
|
46418
|
+
"aria-label": "Stop recording states",
|
|
46419
|
+
onClick: () => o2(),
|
|
46420
|
+
get children() {
|
|
46421
|
+
return U2();
|
|
46422
|
+
}
|
|
46423
|
+
}), (() => {
|
|
46424
|
+
var e = W2(), t = e.firstChild, n = t.nextSibling;
|
|
46425
|
+
return n.nextSibling, P(e, () => Math.ceil(f().msLeft / 1e3), t), P(e, () => f().total, n), e;
|
|
46426
|
+
})()];
|
|
46427
|
+
}
|
|
46428
|
+
}), null), P(a, j(kj, {
|
|
46429
|
+
class: "size-7 px-0",
|
|
46430
|
+
variant: "ghost",
|
|
46431
|
+
get title() {
|
|
46432
|
+
return u() === e.id ? "Copied!" : "Copy spec — markdown for an agent or issue";
|
|
46433
|
+
},
|
|
46434
|
+
"aria-label": "Copy genome spec",
|
|
46435
|
+
onClick: () => void ee(e),
|
|
46436
|
+
get children() {
|
|
46437
|
+
return j(M, {
|
|
46438
|
+
get when() {
|
|
46439
|
+
return u() === e.id;
|
|
46440
|
+
},
|
|
46441
|
+
get fallback() {
|
|
46442
|
+
return n4();
|
|
46443
|
+
},
|
|
46444
|
+
get children() {
|
|
46445
|
+
return G2();
|
|
46446
|
+
}
|
|
46447
|
+
});
|
|
46448
|
+
}
|
|
46449
|
+
}), null), P(a, j(kj, {
|
|
46450
|
+
class: "text-danger ml-auto size-7 px-0",
|
|
46451
|
+
variant: "ghost",
|
|
46452
|
+
title: "Delete this genome",
|
|
46453
|
+
"aria-label": "Delete genome",
|
|
46454
|
+
onClick: () => te(e.id),
|
|
46455
|
+
get children() {
|
|
46456
|
+
return K2();
|
|
46457
|
+
}
|
|
46458
|
+
}), null), t;
|
|
46459
|
+
}
|
|
46460
|
+
}), null), D((e) => {
|
|
46461
|
+
var n = { "bg-accent border-accent": t() }, r = !!t();
|
|
46462
|
+
return e.e = lt(a, n, e.e), r !== e.t && m.classList.toggle("rotate-180", e.t = r), e;
|
|
46463
|
+
}, {
|
|
46464
|
+
e: void 0,
|
|
46465
|
+
t: void 0
|
|
46466
|
+
}), n;
|
|
46467
|
+
})();
|
|
46468
|
+
}
|
|
46469
|
+
}), null), t;
|
|
46470
|
+
})(), (() => {
|
|
46471
|
+
var e = F2();
|
|
46472
|
+
return P(e, j(kj, {
|
|
46473
|
+
class: "h-6 px-2 text-[11px]",
|
|
46474
|
+
variant: "ghost",
|
|
46475
|
+
title: "Copy every genome as one markdown document",
|
|
46476
|
+
onClick: () => void re(),
|
|
46477
|
+
get children() {
|
|
46478
|
+
var e = P2();
|
|
46479
|
+
return P(e, () => A() ? "Copied ✓" : "Copy all"), e;
|
|
46480
|
+
}
|
|
46481
|
+
}), null), P(e, j(kj, {
|
|
46482
|
+
class: "h-6 px-2 text-[11px]",
|
|
46483
|
+
variant: "ghost",
|
|
46484
|
+
onClick: ie,
|
|
46485
|
+
children: "Clear all"
|
|
46486
|
+
}), null), e;
|
|
46487
|
+
})()];
|
|
46412
46488
|
}
|
|
46413
46489
|
}), o), P(s, j(kj, {
|
|
46414
46490
|
variant: "ghost",
|
|
@@ -46418,24 +46494,24 @@ function s4() {
|
|
|
46418
46494
|
},
|
|
46419
46495
|
onClick: () => void b(),
|
|
46420
46496
|
get children() {
|
|
46421
|
-
return
|
|
46497
|
+
return I2();
|
|
46422
46498
|
}
|
|
46423
46499
|
}), null), P(o, j(M, {
|
|
46424
46500
|
get when() {
|
|
46425
46501
|
return m().length > 0;
|
|
46426
46502
|
},
|
|
46427
46503
|
get fallback() {
|
|
46428
|
-
return
|
|
46504
|
+
return r4();
|
|
46429
46505
|
},
|
|
46430
46506
|
get children() {
|
|
46431
46507
|
return [(() => {
|
|
46432
|
-
var e =
|
|
46508
|
+
var e = L2();
|
|
46433
46509
|
return P(e, j(We, {
|
|
46434
46510
|
get each() {
|
|
46435
46511
|
return m();
|
|
46436
46512
|
},
|
|
46437
46513
|
children: (e) => (() => {
|
|
46438
|
-
var t =
|
|
46514
|
+
var t = a4(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = a.firstChild, s = n.nextSibling, c = s.nextSibling;
|
|
46439
46515
|
return P(r, () => e.mode === "live" ? "live" : "audit"), P(i, () => e.component ?? e.element, null), P(i, j(M, {
|
|
46440
46516
|
get when() {
|
|
46441
46517
|
return e.count > 1;
|
|
@@ -46451,7 +46527,7 @@ function s4() {
|
|
|
46451
46527
|
return e.source;
|
|
46452
46528
|
},
|
|
46453
46529
|
get children() {
|
|
46454
|
-
var t =
|
|
46530
|
+
var t = i4();
|
|
46455
46531
|
return P(t, () => e.source), t;
|
|
46456
46532
|
}
|
|
46457
46533
|
}), s), P(s, () => e.properties.join(", "), null), P(s, j(M, {
|
|
@@ -46469,20 +46545,29 @@ function s4() {
|
|
|
46469
46545
|
})()
|
|
46470
46546
|
})), e;
|
|
46471
46547
|
})(), (() => {
|
|
46472
|
-
var e =
|
|
46548
|
+
var e = B2();
|
|
46473
46549
|
return P(e, j(kj, {
|
|
46550
|
+
class: "h-6 px-2 text-[11px]",
|
|
46551
|
+
variant: "primary",
|
|
46552
|
+
title: "Report + fix rules, ready to paste into a Claude Code session",
|
|
46553
|
+
onClick: () => void w(),
|
|
46554
|
+
get children() {
|
|
46555
|
+
var e = R2();
|
|
46556
|
+
return P(e, () => S() ? "Copied ✓" : "Copy AI prompt"), e;
|
|
46557
|
+
}
|
|
46558
|
+
}), null), P(e, j(kj, {
|
|
46474
46559
|
class: "h-6 px-2 text-[11px]",
|
|
46475
46560
|
variant: "ghost",
|
|
46476
46561
|
onClick: () => void x(),
|
|
46477
46562
|
get children() {
|
|
46478
|
-
var e =
|
|
46563
|
+
var e = z2();
|
|
46479
46564
|
return P(e, () => v() ? "Copied ✓" : "Copy report"), e;
|
|
46480
46565
|
}
|
|
46481
46566
|
}), null), P(e, j(kj, {
|
|
46482
46567
|
class: "h-6 px-2 text-[11px]",
|
|
46483
46568
|
variant: "ghost",
|
|
46484
46569
|
onClick: T2,
|
|
46485
|
-
children: "Clear
|
|
46570
|
+
children: "Clear all"
|
|
46486
46571
|
}), null), e;
|
|
46487
46572
|
})()];
|
|
46488
46573
|
}
|
|
@@ -46492,7 +46577,7 @@ function s4() {
|
|
|
46492
46577
|
rt(["click"]);
|
|
46493
46578
|
//#endregion
|
|
46494
46579
|
//#region src/lib/projectConfig.ts
|
|
46495
|
-
var
|
|
46580
|
+
var f4 = [
|
|
46496
46581
|
"defaultTeamId",
|
|
46497
46582
|
"defaultProjectId",
|
|
46498
46583
|
"defaultLabelIds",
|
|
@@ -46507,29 +46592,29 @@ var c4 = [
|
|
|
46507
46592
|
"issueTemplate",
|
|
46508
46593
|
"testUsername"
|
|
46509
46594
|
];
|
|
46510
|
-
function
|
|
46595
|
+
function p4(e) {
|
|
46511
46596
|
let t = {};
|
|
46512
|
-
for (let n of
|
|
46597
|
+
for (let n of f4) {
|
|
46513
46598
|
let r = e[n];
|
|
46514
46599
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
46515
46600
|
}
|
|
46516
46601
|
return t;
|
|
46517
46602
|
}
|
|
46518
|
-
function
|
|
46603
|
+
function m4(e, t) {
|
|
46519
46604
|
let n = {};
|
|
46520
|
-
for (let r of
|
|
46605
|
+
for (let r of f4) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
46521
46606
|
return Object.keys(n).length ? n : null;
|
|
46522
46607
|
}
|
|
46523
46608
|
//#endregion
|
|
46524
46609
|
//#region src/lib/linear/auth.ts
|
|
46525
46610
|
Br();
|
|
46526
|
-
function
|
|
46611
|
+
function h4(e) {
|
|
46527
46612
|
let t = "";
|
|
46528
46613
|
for (let n of e) t += String.fromCharCode(n);
|
|
46529
46614
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
46530
46615
|
}
|
|
46531
|
-
async function
|
|
46532
|
-
let t =
|
|
46616
|
+
async function g4(e) {
|
|
46617
|
+
let t = h4(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = h4(new Uint8Array(n)), i = h4(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
46533
46618
|
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");
|
|
46534
46619
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
46535
46620
|
url: o.toString(),
|
|
@@ -46557,15 +46642,15 @@ async function f4(e) {
|
|
|
46557
46642
|
linearOauthClientId: e
|
|
46558
46643
|
});
|
|
46559
46644
|
}
|
|
46560
|
-
async function
|
|
46645
|
+
async function _4() {
|
|
46561
46646
|
await Er({
|
|
46562
46647
|
linearAccessToken: void 0,
|
|
46563
46648
|
linearApiKey: void 0
|
|
46564
46649
|
});
|
|
46565
46650
|
}
|
|
46566
46651
|
Br(), Sr(), Fx(), gD();
|
|
46567
|
-
var
|
|
46568
|
-
function
|
|
46652
|
+
var v4 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), y4 = /*#__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."), b4 = /*#__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"), x4 = /*#__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)."), S4 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), C4 = /*#__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]\">"), w4 = /*#__PURE__*/ N("<option value>Select a team…"), T4 = /*#__PURE__*/ N("<option value>No project"), E4 = /*#__PURE__*/ N("<div class=\"flex flex-wrap gap-1\">"), D4 = /*#__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."), O4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), k4 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), A4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), j4 = /*#__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."), M4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1\"><span class=\"text-text-dim text-[11px] font-medium\">Dock side</span><div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\"></div><span class=\"text-text-faint text-[10.5px] leading-snug\">The launcher pill is draggable — park it anywhere it doesn't cover your app."), N4 = /*#__PURE__*/ N("<p class=\"text-text-faint text-[10.5px] leading-snug\">A committed <code>.lineargrab.json</code> at the repo root (where the bridge runs) shares team/project/labels, skills, staging branch, and workflow defaults with every machine and teammate — it seeds any setting you haven't set locally. Secrets never belong in it."), P4 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), F4 = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\">"), I4 = /*#__PURE__*/ N("<option value>Select a channel…"), L4 = /*#__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"), R4 = /*#__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."), z4 = /*#__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"), B4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), V4 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), H4 = /*#__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."), U4 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), W4 = /*#__PURE__*/ N("<button>"), G4 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), K4 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), q4 = /*#__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\">"), J4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), Y4 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), X4 = /*#__PURE__*/ N("<option> (<!>)"), Z4 = /*#__PURE__*/ N("<option>"), Q4 = /*#__PURE__*/ N("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), $4 = /*#__PURE__*/ N("<option value>Select the agent…"), e3 = /*#__PURE__*/ N("<option>#"), t3 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
46653
|
+
function n3() {
|
|
46569
46654
|
let e = sr(), t = _r(() => ({
|
|
46570
46655
|
queryKey: ["settings"],
|
|
46571
46656
|
queryFn: Tr,
|
|
@@ -46593,13 +46678,13 @@ function Q4() {
|
|
|
46593
46678
|
retry: 0
|
|
46594
46679
|
})), [l, u] = T(!1), d = async () => {
|
|
46595
46680
|
try {
|
|
46596
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
46681
|
+
await navigator.clipboard.writeText(JSON.stringify(p4(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
46597
46682
|
} catch {}
|
|
46598
46683
|
}, f = () => {
|
|
46599
46684
|
let e = c.data?.projectConfig;
|
|
46600
46685
|
if (!e) return;
|
|
46601
46686
|
let t = {};
|
|
46602
|
-
for (let n of
|
|
46687
|
+
for (let n of f4) e[n] !== void 0 && (t[n] = e[n]);
|
|
46603
46688
|
r(t);
|
|
46604
46689
|
}, p = _r(() => ({
|
|
46605
46690
|
queryKey: ["linear-labels"],
|
|
@@ -46632,7 +46717,7 @@ function Q4() {
|
|
|
46632
46717
|
}
|
|
46633
46718
|
E(!0), ee("");
|
|
46634
46719
|
try {
|
|
46635
|
-
await
|
|
46720
|
+
await g4(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"] });
|
|
46636
46721
|
} catch (e) {
|
|
46637
46722
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
46638
46723
|
} finally {
|
|
@@ -46643,7 +46728,7 @@ function Q4() {
|
|
|
46643
46728
|
async function re() {
|
|
46644
46729
|
ne(!0);
|
|
46645
46730
|
try {
|
|
46646
|
-
await
|
|
46731
|
+
await _4(), 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"] });
|
|
46647
46732
|
} finally {
|
|
46648
46733
|
ne(!1);
|
|
46649
46734
|
}
|
|
@@ -46659,12 +46744,12 @@ function Q4() {
|
|
|
46659
46744
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
46660
46745
|
});
|
|
46661
46746
|
return (() => {
|
|
46662
|
-
var e =
|
|
46747
|
+
var e = U4();
|
|
46663
46748
|
return P(e, j(Rj, {
|
|
46664
46749
|
title: "Workflow",
|
|
46665
46750
|
get children() {
|
|
46666
46751
|
return [(() => {
|
|
46667
|
-
var e =
|
|
46752
|
+
var e = v4();
|
|
46668
46753
|
return P(e, j(We, {
|
|
46669
46754
|
each: [{
|
|
46670
46755
|
id: "cloud",
|
|
@@ -46674,19 +46759,19 @@ function Q4() {
|
|
|
46674
46759
|
label: "Local · clipboard"
|
|
46675
46760
|
}],
|
|
46676
46761
|
children: (e) => (() => {
|
|
46677
|
-
var t =
|
|
46762
|
+
var t = W4();
|
|
46678
46763
|
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;
|
|
46679
46764
|
})()
|
|
46680
46765
|
})), e;
|
|
46681
|
-
})(),
|
|
46766
|
+
})(), y4()];
|
|
46682
46767
|
}
|
|
46683
46768
|
}), null), P(e, j(Rj, {
|
|
46684
46769
|
title: "Capture",
|
|
46685
46770
|
get children() {
|
|
46686
46771
|
return [(() => {
|
|
46687
|
-
var e =
|
|
46772
|
+
var e = b4(), t = e.firstChild;
|
|
46688
46773
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
46689
|
-
})(),
|
|
46774
|
+
})(), x4()];
|
|
46690
46775
|
}
|
|
46691
46776
|
}), null), P(e, j(Rj, {
|
|
46692
46777
|
title: "Linear",
|
|
@@ -46697,13 +46782,13 @@ function Q4() {
|
|
|
46697
46782
|
},
|
|
46698
46783
|
get fallback() {
|
|
46699
46784
|
return (() => {
|
|
46700
|
-
var e =
|
|
46785
|
+
var e = J4();
|
|
46701
46786
|
return P(e, j(Lj, {
|
|
46702
46787
|
label: "Personal API key",
|
|
46703
46788
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
46704
46789
|
get children() {
|
|
46705
46790
|
return [(() => {
|
|
46706
|
-
var e =
|
|
46791
|
+
var e = G4();
|
|
46707
46792
|
return P(e, j(jj, {
|
|
46708
46793
|
type: "password",
|
|
46709
46794
|
placeholder: "lin_api_…",
|
|
@@ -46740,12 +46825,12 @@ function Q4() {
|
|
|
46740
46825
|
}), null), P(e, j(M, {
|
|
46741
46826
|
when: xr,
|
|
46742
46827
|
get children() {
|
|
46743
|
-
return [
|
|
46828
|
+
return [K4(), j(Lj, {
|
|
46744
46829
|
label: "OAuth client ID",
|
|
46745
46830
|
get children() {
|
|
46746
46831
|
return [
|
|
46747
46832
|
(() => {
|
|
46748
|
-
var e =
|
|
46833
|
+
var e = G4();
|
|
46749
46834
|
return P(e, j(jj, {
|
|
46750
46835
|
placeholder: "your-client-id",
|
|
46751
46836
|
get value() {
|
|
@@ -46773,7 +46858,7 @@ function Q4() {
|
|
|
46773
46858
|
}
|
|
46774
46859
|
}),
|
|
46775
46860
|
(() => {
|
|
46776
|
-
var e =
|
|
46861
|
+
var e = q4(), t = e.firstChild.nextSibling.nextSibling;
|
|
46777
46862
|
return P(t, ie), e;
|
|
46778
46863
|
})()
|
|
46779
46864
|
];
|
|
@@ -46784,13 +46869,13 @@ function Q4() {
|
|
|
46784
46869
|
})();
|
|
46785
46870
|
},
|
|
46786
46871
|
get children() {
|
|
46787
|
-
var e =
|
|
46872
|
+
var e = C4(), t = e.firstChild;
|
|
46788
46873
|
return P(t, j(M, {
|
|
46789
46874
|
get when() {
|
|
46790
46875
|
return !a.isLoading;
|
|
46791
46876
|
},
|
|
46792
46877
|
get fallback() {
|
|
46793
|
-
return
|
|
46878
|
+
return Y4();
|
|
46794
46879
|
},
|
|
46795
46880
|
get children() {
|
|
46796
46881
|
return j(M, {
|
|
@@ -46803,7 +46888,7 @@ function Q4() {
|
|
|
46803
46888
|
return a.isError;
|
|
46804
46889
|
},
|
|
46805
46890
|
get fallback() {
|
|
46806
|
-
return
|
|
46891
|
+
return Y4();
|
|
46807
46892
|
},
|
|
46808
46893
|
get children() {
|
|
46809
46894
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -46811,7 +46896,7 @@ function Q4() {
|
|
|
46811
46896
|
});
|
|
46812
46897
|
},
|
|
46813
46898
|
get children() {
|
|
46814
|
-
var e =
|
|
46899
|
+
var e = S4(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
46815
46900
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
46816
46901
|
}
|
|
46817
46902
|
});
|
|
@@ -46852,7 +46937,7 @@ function Q4() {
|
|
|
46852
46937
|
return o.isLoading;
|
|
46853
46938
|
},
|
|
46854
46939
|
get children() {
|
|
46855
|
-
return [
|
|
46940
|
+
return [w4(), j(M, {
|
|
46856
46941
|
get when() {
|
|
46857
46942
|
return o.data;
|
|
46858
46943
|
},
|
|
@@ -46862,7 +46947,7 @@ function Q4() {
|
|
|
46862
46947
|
return o.data;
|
|
46863
46948
|
},
|
|
46864
46949
|
children: (e) => (() => {
|
|
46865
|
-
var t =
|
|
46950
|
+
var t = X4(), r = t.firstChild, i = r.nextSibling;
|
|
46866
46951
|
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;
|
|
46867
46952
|
})()
|
|
46868
46953
|
});
|
|
@@ -46886,14 +46971,14 @@ function Q4() {
|
|
|
46886
46971
|
},
|
|
46887
46972
|
get children() {
|
|
46888
46973
|
return [(() => {
|
|
46889
|
-
var e =
|
|
46974
|
+
var e = T4();
|
|
46890
46975
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
46891
46976
|
})(), j(We, {
|
|
46892
46977
|
get each() {
|
|
46893
46978
|
return s.data ?? [];
|
|
46894
46979
|
},
|
|
46895
46980
|
children: (e) => (() => {
|
|
46896
|
-
var t =
|
|
46981
|
+
var t = Z4();
|
|
46897
46982
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
46898
46983
|
})()
|
|
46899
46984
|
})];
|
|
@@ -46905,7 +46990,7 @@ function Q4() {
|
|
|
46905
46990
|
label: "Default labels",
|
|
46906
46991
|
hint: "Applied to every issue created from the panel.",
|
|
46907
46992
|
get children() {
|
|
46908
|
-
var e =
|
|
46993
|
+
var e = E4();
|
|
46909
46994
|
return P(e, j(We, {
|
|
46910
46995
|
get each() {
|
|
46911
46996
|
return p.data ?? [];
|
|
@@ -46913,7 +46998,7 @@ function Q4() {
|
|
|
46913
46998
|
children: (e) => {
|
|
46914
46999
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
46915
47000
|
return (() => {
|
|
46916
|
-
var i =
|
|
47001
|
+
var i = Q4(), a = i.firstChild;
|
|
46917
47002
|
return i.$$click = () => {
|
|
46918
47003
|
let i = n().defaultLabelIds ?? [];
|
|
46919
47004
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -46930,7 +47015,7 @@ function Q4() {
|
|
|
46930
47015
|
}
|
|
46931
47016
|
}),
|
|
46932
47017
|
(() => {
|
|
46933
|
-
var e =
|
|
47018
|
+
var e = D4(), t = e.firstChild;
|
|
46934
47019
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
46935
47020
|
})(),
|
|
46936
47021
|
j(Lj, {
|
|
@@ -46980,7 +47065,7 @@ function Q4() {
|
|
|
46980
47065
|
return m.isLoading;
|
|
46981
47066
|
},
|
|
46982
47067
|
get children() {
|
|
46983
|
-
return [
|
|
47068
|
+
return [$4(), j(M, {
|
|
46984
47069
|
get when() {
|
|
46985
47070
|
return m.data;
|
|
46986
47071
|
},
|
|
@@ -46990,7 +47075,7 @@ function Q4() {
|
|
|
46990
47075
|
return m.data;
|
|
46991
47076
|
},
|
|
46992
47077
|
children: (e) => (() => {
|
|
46993
|
-
var t =
|
|
47078
|
+
var t = Z4();
|
|
46994
47079
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
46995
47080
|
})()
|
|
46996
47081
|
});
|
|
@@ -47000,7 +47085,7 @@ function Q4() {
|
|
|
47000
47085
|
});
|
|
47001
47086
|
},
|
|
47002
47087
|
get children() {
|
|
47003
|
-
return
|
|
47088
|
+
return O4();
|
|
47004
47089
|
}
|
|
47005
47090
|
});
|
|
47006
47091
|
}
|
|
@@ -47048,7 +47133,7 @@ function Q4() {
|
|
|
47048
47133
|
onBlur: (e) => {
|
|
47049
47134
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
47050
47135
|
}
|
|
47051
|
-
}),
|
|
47136
|
+
}), k4()];
|
|
47052
47137
|
}
|
|
47053
47138
|
}),
|
|
47054
47139
|
j(Lj, {
|
|
@@ -47105,7 +47190,7 @@ function Q4() {
|
|
|
47105
47190
|
label: "Test account",
|
|
47106
47191
|
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.",
|
|
47107
47192
|
get children() {
|
|
47108
|
-
var e =
|
|
47193
|
+
var e = A4();
|
|
47109
47194
|
return P(e, j(jj, {
|
|
47110
47195
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
47111
47196
|
get value() {
|
|
@@ -47137,7 +47222,7 @@ function Q4() {
|
|
|
47137
47222
|
title: "Panel",
|
|
47138
47223
|
get children() {
|
|
47139
47224
|
return [(() => {
|
|
47140
|
-
var e =
|
|
47225
|
+
var e = j4(), t = e.firstChild.nextSibling;
|
|
47141
47226
|
return P(t, j(We, {
|
|
47142
47227
|
each: [{
|
|
47143
47228
|
id: "overlay",
|
|
@@ -47147,7 +47232,7 @@ function Q4() {
|
|
|
47147
47232
|
label: "Beside page"
|
|
47148
47233
|
}],
|
|
47149
47234
|
children: (e) => (() => {
|
|
47150
|
-
var t =
|
|
47235
|
+
var t = W4();
|
|
47151
47236
|
return t.$$click = () => void r({
|
|
47152
47237
|
panelMode: e.id,
|
|
47153
47238
|
panelPos: void 0
|
|
@@ -47155,11 +47240,11 @@ function Q4() {
|
|
|
47155
47240
|
})()
|
|
47156
47241
|
})), e;
|
|
47157
47242
|
})(), (() => {
|
|
47158
|
-
var e =
|
|
47243
|
+
var e = M4(), t = e.firstChild.nextSibling;
|
|
47159
47244
|
return P(t, j(We, {
|
|
47160
47245
|
each: ["left", "right"],
|
|
47161
47246
|
children: (e) => (() => {
|
|
47162
|
-
var t =
|
|
47247
|
+
var t = W4();
|
|
47163
47248
|
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;
|
|
47164
47249
|
})()
|
|
47165
47250
|
})), e;
|
|
@@ -47189,8 +47274,8 @@ function Q4() {
|
|
|
47189
47274
|
}), null), P(e, j(Rj, {
|
|
47190
47275
|
title: "Project config (.lineargrab.json)",
|
|
47191
47276
|
get children() {
|
|
47192
|
-
return [
|
|
47193
|
-
var e =
|
|
47277
|
+
return [N4(), (() => {
|
|
47278
|
+
var e = F4();
|
|
47194
47279
|
return P(e, j(M, {
|
|
47195
47280
|
get when() {
|
|
47196
47281
|
return c.data?.projectConfig;
|
|
@@ -47221,7 +47306,7 @@ function Q4() {
|
|
|
47221
47306
|
},
|
|
47222
47307
|
onClick: () => void d(),
|
|
47223
47308
|
get children() {
|
|
47224
|
-
var e =
|
|
47309
|
+
var e = P4();
|
|
47225
47310
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
47226
47311
|
}
|
|
47227
47312
|
}), null), e;
|
|
@@ -47312,12 +47397,12 @@ function Q4() {
|
|
|
47312
47397
|
});
|
|
47313
47398
|
},
|
|
47314
47399
|
get children() {
|
|
47315
|
-
return [
|
|
47400
|
+
return [I4(), j(We, {
|
|
47316
47401
|
get each() {
|
|
47317
47402
|
return ae.data ?? [];
|
|
47318
47403
|
},
|
|
47319
47404
|
children: (e) => (() => {
|
|
47320
|
-
var t =
|
|
47405
|
+
var t = e3();
|
|
47321
47406
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
47322
47407
|
})()
|
|
47323
47408
|
})];
|
|
@@ -47368,10 +47453,10 @@ function Q4() {
|
|
|
47368
47453
|
}
|
|
47369
47454
|
}),
|
|
47370
47455
|
(() => {
|
|
47371
|
-
var e =
|
|
47456
|
+
var e = L4(), t = e.firstChild;
|
|
47372
47457
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
47373
47458
|
})(),
|
|
47374
|
-
|
|
47459
|
+
R4()
|
|
47375
47460
|
];
|
|
47376
47461
|
}
|
|
47377
47462
|
}), null), P(e, j(Rj, {
|
|
@@ -47409,7 +47494,7 @@ function Q4() {
|
|
|
47409
47494
|
}
|
|
47410
47495
|
}),
|
|
47411
47496
|
(() => {
|
|
47412
|
-
var e =
|
|
47497
|
+
var e = z4(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
47413
47498
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
47414
47499
|
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;
|
|
47415
47500
|
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;
|
|
@@ -47422,16 +47507,16 @@ function Q4() {
|
|
|
47422
47507
|
}), e;
|
|
47423
47508
|
})(),
|
|
47424
47509
|
(() => {
|
|
47425
|
-
var e =
|
|
47510
|
+
var e = V4();
|
|
47426
47511
|
return P(e, j(M, {
|
|
47427
47512
|
get when() {
|
|
47428
47513
|
return se();
|
|
47429
47514
|
},
|
|
47430
47515
|
get fallback() {
|
|
47431
|
-
return
|
|
47516
|
+
return t3();
|
|
47432
47517
|
},
|
|
47433
47518
|
get children() {
|
|
47434
|
-
var e =
|
|
47519
|
+
var e = B4();
|
|
47435
47520
|
return P(e, se), e;
|
|
47436
47521
|
}
|
|
47437
47522
|
})), e;
|
|
@@ -47441,7 +47526,7 @@ function Q4() {
|
|
|
47441
47526
|
}), null), P(e, j(Rj, {
|
|
47442
47527
|
title: "How it works",
|
|
47443
47528
|
get children() {
|
|
47444
|
-
return
|
|
47529
|
+
return H4();
|
|
47445
47530
|
}
|
|
47446
47531
|
}), null), e;
|
|
47447
47532
|
})();
|
|
@@ -47449,38 +47534,38 @@ function Q4() {
|
|
|
47449
47534
|
rt(["click"]);
|
|
47450
47535
|
//#endregion
|
|
47451
47536
|
//#region src/lib/idbCache.ts
|
|
47452
|
-
var
|
|
47537
|
+
var r3 = "linear-grab", i3 = "queries", a3 = [
|
|
47453
47538
|
"my-issues",
|
|
47454
47539
|
"issue",
|
|
47455
47540
|
"sessions",
|
|
47456
47541
|
"teams",
|
|
47457
47542
|
"agents"
|
|
47458
47543
|
];
|
|
47459
|
-
function
|
|
47544
|
+
function o3() {
|
|
47460
47545
|
return new Promise((e) => {
|
|
47461
47546
|
try {
|
|
47462
|
-
let t = indexedDB.open(
|
|
47463
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
47547
|
+
let t = indexedDB.open(r3, 1);
|
|
47548
|
+
t.onupgradeneeded = () => t.result.createObjectStore(i3), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
47464
47549
|
} catch {
|
|
47465
47550
|
e(null);
|
|
47466
47551
|
}
|
|
47467
47552
|
});
|
|
47468
47553
|
}
|
|
47469
|
-
function
|
|
47470
|
-
return typeof e[0] == "string" &&
|
|
47554
|
+
function s3(e) {
|
|
47555
|
+
return typeof e[0] == "string" && a3.includes(e[0]);
|
|
47471
47556
|
}
|
|
47472
|
-
async function
|
|
47473
|
-
let t = await
|
|
47557
|
+
async function c3(e) {
|
|
47558
|
+
let t = await o3();
|
|
47474
47559
|
if (!t) return () => {};
|
|
47475
47560
|
await new Promise((n) => {
|
|
47476
47561
|
try {
|
|
47477
|
-
let r = t.transaction(
|
|
47562
|
+
let r = t.transaction(i3, "readonly").objectStore(i3).openCursor();
|
|
47478
47563
|
r.onsuccess = () => {
|
|
47479
47564
|
let t = r.result;
|
|
47480
47565
|
if (!t) return n();
|
|
47481
47566
|
try {
|
|
47482
47567
|
let { queryKey: n, data: r } = t.value;
|
|
47483
|
-
|
|
47568
|
+
s3(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
47484
47569
|
} catch {}
|
|
47485
47570
|
t.continue();
|
|
47486
47571
|
}, r.onerror = () => n();
|
|
@@ -47491,14 +47576,14 @@ async function i3(e) {
|
|
|
47491
47576
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
47492
47577
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
47493
47578
|
let { queryKey: i, queryHash: a } = r.query;
|
|
47494
|
-
if (!
|
|
47579
|
+
if (!s3(i)) return;
|
|
47495
47580
|
let o = n.get(a);
|
|
47496
47581
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
47497
47582
|
n.delete(a);
|
|
47498
47583
|
try {
|
|
47499
47584
|
let n = e.getQueryData(i);
|
|
47500
47585
|
if (n === void 0) return;
|
|
47501
|
-
t.transaction(
|
|
47586
|
+
t.transaction(i3, "readwrite").objectStore(i3).put({
|
|
47502
47587
|
queryKey: i,
|
|
47503
47588
|
data: n
|
|
47504
47589
|
}, a);
|
|
@@ -47514,7 +47599,7 @@ async function i3(e) {
|
|
|
47514
47599
|
//#endregion
|
|
47515
47600
|
//#region src/panel/App.tsx
|
|
47516
47601
|
Br();
|
|
47517
|
-
var
|
|
47602
|
+
var l3 = /*#__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\">"), u3 = /*#__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\">"), d3 = /*#__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\">–"), f3 = /*#__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>"), p3 = /*#__PURE__*/ N("<button>"), m3 = [
|
|
47518
47603
|
{
|
|
47519
47604
|
id: "draft",
|
|
47520
47605
|
label: "Draft"
|
|
@@ -47551,35 +47636,35 @@ var a3 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
47551
47636
|
id: "settings",
|
|
47552
47637
|
label: "Settings"
|
|
47553
47638
|
}
|
|
47554
|
-
],
|
|
47555
|
-
function
|
|
47556
|
-
if (
|
|
47557
|
-
|
|
47639
|
+
], h3 = /* @__PURE__ */ new Set();
|
|
47640
|
+
function g3(e, t, n) {
|
|
47641
|
+
if (h3.has(e) || typeof Notification > "u") return;
|
|
47642
|
+
h3.add(e);
|
|
47558
47643
|
let r = () => new Notification(t, { body: n });
|
|
47559
47644
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
47560
47645
|
}
|
|
47561
|
-
function
|
|
47646
|
+
function _3() {
|
|
47562
47647
|
setInterval(() => {
|
|
47563
47648
|
NO().then((e) => {
|
|
47564
47649
|
for (let t of e) {
|
|
47565
47650
|
if (t.status !== "running") continue;
|
|
47566
47651
|
let e = t.lastEventAt ?? t.startedAt;
|
|
47567
|
-
Date.now() - e > 10 * 6e4 &&
|
|
47652
|
+
Date.now() - e > 10 * 6e4 && g3(`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.`);
|
|
47568
47653
|
}
|
|
47569
47654
|
}).catch(() => {}), gO().then((e) => {
|
|
47570
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
47655
|
+
for (let t of e) /awaitingInput|elicit/i.test(t.status) && g3(`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.`);
|
|
47571
47656
|
}).catch(() => {});
|
|
47572
47657
|
}, 6e4);
|
|
47573
47658
|
}
|
|
47574
|
-
|
|
47575
|
-
var
|
|
47659
|
+
_3();
|
|
47660
|
+
var v3 = new gr({ defaultOptions: { queries: {
|
|
47576
47661
|
retry: 1,
|
|
47577
47662
|
refetchOnWindowFocus: !1,
|
|
47578
47663
|
staleTime: 5e3
|
|
47579
47664
|
} } });
|
|
47580
|
-
function
|
|
47665
|
+
function y3(e) {
|
|
47581
47666
|
return (() => {
|
|
47582
|
-
var t =
|
|
47667
|
+
var t = l3();
|
|
47583
47668
|
return D((n) => {
|
|
47584
47669
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
47585
47670
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -47589,36 +47674,36 @@ function h3(e) {
|
|
|
47589
47674
|
}), t;
|
|
47590
47675
|
})();
|
|
47591
47676
|
}
|
|
47592
|
-
function
|
|
47677
|
+
function b3(e) {
|
|
47593
47678
|
let [t, n] = T("draft"), r = () => {
|
|
47594
|
-
|
|
47679
|
+
v3.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
47595
47680
|
};
|
|
47596
47681
|
return O(() => {
|
|
47597
47682
|
let e = nj();
|
|
47598
47683
|
e && n(e);
|
|
47599
47684
|
}), ie(() => {
|
|
47600
|
-
let e =
|
|
47685
|
+
let e = c3(v3), t = XZ(r), n = () => {
|
|
47601
47686
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
47602
47687
|
if (!e.projectConfig) return;
|
|
47603
|
-
let t =
|
|
47688
|
+
let t = m4(await Tr(), e.projectConfig);
|
|
47604
47689
|
t && await Er(t);
|
|
47605
47690
|
}).catch(() => {});
|
|
47606
47691
|
};
|
|
47607
47692
|
n();
|
|
47608
47693
|
let i = Mr((e) => {
|
|
47609
|
-
e === "settings" && (
|
|
47694
|
+
e === "settings" && (v3.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
47610
47695
|
});
|
|
47611
47696
|
ae(() => {
|
|
47612
47697
|
t(), i(), e.then((e) => e());
|
|
47613
47698
|
});
|
|
47614
47699
|
}), j(cr, {
|
|
47615
|
-
client:
|
|
47700
|
+
client: v3,
|
|
47616
47701
|
get children() {
|
|
47617
|
-
var r =
|
|
47618
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
47619
|
-
each:
|
|
47702
|
+
var r = f3(), 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;
|
|
47703
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(y3, { size: 14 })), P(o, j(We, {
|
|
47704
|
+
each: m3,
|
|
47620
47705
|
children: (e) => (() => {
|
|
47621
|
-
var r =
|
|
47706
|
+
var r = p3();
|
|
47622
47707
|
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;
|
|
47623
47708
|
})()
|
|
47624
47709
|
})), P(i, j(M, {
|
|
@@ -47626,7 +47711,7 @@ function g3(e) {
|
|
|
47626
47711
|
return e.onTogglePin;
|
|
47627
47712
|
},
|
|
47628
47713
|
get children() {
|
|
47629
|
-
var t =
|
|
47714
|
+
var t = u3();
|
|
47630
47715
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
47631
47716
|
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"}`;
|
|
47632
47717
|
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;
|
|
@@ -47641,10 +47726,10 @@ function g3(e) {
|
|
|
47641
47726
|
return e.onClose;
|
|
47642
47727
|
},
|
|
47643
47728
|
get children() {
|
|
47644
|
-
var t =
|
|
47729
|
+
var t = d3();
|
|
47645
47730
|
return t.$$click = () => e.onClose?.(), t;
|
|
47646
47731
|
}
|
|
47647
|
-
}), 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(
|
|
47732
|
+
}), 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(d4, {})), P(h, j(n3, {})), D((n) => {
|
|
47648
47733
|
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";
|
|
47649
47734
|
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;
|
|
47650
47735
|
}, {
|
|
@@ -47665,12 +47750,12 @@ function g3(e) {
|
|
|
47665
47750
|
rt(["pointerdown", "click"]);
|
|
47666
47751
|
//#endregion
|
|
47667
47752
|
//#region src/styles/app.css?inline
|
|
47668
|
-
var _3 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.-left-\\[13\\.5px\\]{left:-13.5px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-\\[5px\\]{left:5px}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[9px\\]{width:9px;height:9px}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-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-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\\=…\\]\\: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}}";
|
|
47753
|
+
var x3 = "/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:\"Inter\", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif:ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif;--font-mono:ui-monospace, \"SF Mono\", Menlo, monospace;--color-red-500:oklch(63.7% .237 25.331);--color-white:#fff;--spacing:.25rem;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-wide:.025em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0b0c0e;--color-surface:#141517;--color-surface-2:#1c1d21;--color-surface-3:#24262b;--color-border:#26282d;--color-border-strong:#34363d;--color-text:#e8e9eb;--color-text-dim:#8b8e98;--color-text-faint:#5c5f6a;--color-accent:#5e6ad2;--color-accent-hover:#6e79e0;--color-accent-soft:#5e6ad226;--color-success:#4cb782;--color-warn:#f2c94c;--color-danger:#eb5757;--color-danger-soft:#eb575726}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.visible\\!{visibility:visible!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-y-0{inset-block:0}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-\\[2px\\]{top:2px}.top-full{top:100%}.right-0{right:0}.right-0\\.5{right:calc(var(--spacing) * .5)}.right-4{right:calc(var(--spacing) * 4)}.right-full{right:100%}.bottom-0{bottom:0}.bottom-1{bottom:var(--spacing)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-\\[2px\\]{bottom:2px}.bottom-full{bottom:100%}.-left-\\[13\\.5px\\]{left:-13.5px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-\\[5px\\]{left:5px}.left-full{left:100%}.z-1{z-index:1}.z-10{z-index:10}.z-\\[2147483645\\]{z-index:2147483645}.z-\\[2147483646\\]{z-index:2147483646}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.container\\!{width:100%!important}@media (width>=40rem){.container\\!{max-width:40rem!important}}@media (width>=48rem){.container\\!{max-width:48rem!important}}@media (width>=64rem){.container\\!{max-width:64rem!important}}@media (width>=80rem){.container\\!{max-width:80rem!important}}@media (width>=96rem){.container\\!{max-width:96rem!important}}.-m-0{margin:0}.-m-0\\.5{margin:calc(var(--spacing) * -.5)}.-m-4{margin:calc(var(--spacing) * -4)}.m-0{margin:0}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.-my-1{margin-block:calc(var(--spacing) * -1)}.-my-1\\.5{margin-block:calc(var(--spacing) * -1.5)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-px{margin-top:1px}.mr-0{margin-right:0}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-2\\.5{margin-right:calc(var(--spacing) * 2.5)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\\.5{margin-bottom:calc(var(--spacing) * 2.5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-2\\.5{margin-left:calc(var(--spacing) * 2.5)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.ml-px{margin-left:1px}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-5{-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.size-0{width:0;height:0}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-\\[9px\\]{width:9px;height:9px}.size-\\[12px\\]{width:12px;height:12px}.size-\\[16px\\]{width:16px;height:16px}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-16{height:calc(var(--spacing) * 16)}.h-\\[8px\\]{height:8px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-\\[20px\\]{height:20px}.h-\\[24px\\]{height:24px}.h-fit{height:fit-content}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-44{max-height:calc(var(--spacing) * 44)}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[var\\(--rg-edit-list-max-h\\)\\]{max-height:var(--rg-edit-list-max-h)}.min-h-0{min-height:0}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-\\[2lh\\]{min-height:2lh}.min-h-\\[28px\\]{min-height:28px}.w-1{width:var(--spacing)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-16{width:calc(var(--spacing) * 16)}.w-28{width:calc(var(--spacing) * 28)}.w-72{width:calc(var(--spacing) * 72)}.w-\\[2px\\]{width:2px}.w-\\[calc\\(100\\%\\+16px\\)\\]{width:calc(100% + 16px)}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-\\[55\\%\\]{max-width:55%}.max-w-\\[100vw\\]{max-width:100vw}.max-w-\\[110px\\]{max-width:110px}.max-w-\\[280px\\]{max-width:280px}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-\\[3\\.5ch\\]{min-width:3.5ch}.min-w-\\[3ch\\]{min-width:3ch}.min-w-\\[4ch\\]{min-width:4ch}.min-w-\\[5ch\\]{min-width:5ch}.min-w-\\[6ch\\]{min-width:6ch}.min-w-\\[7ch\\]{min-width:7ch}.min-w-\\[8ch\\]{min-width:8ch}.min-w-\\[10ch\\]{min-width:10ch}.min-w-\\[11ch\\]{min-width:11ch}.min-w-\\[12ch\\]{min-width:12ch}.min-w-\\[36px\\]{min-width:36px}.min-w-\\[52px\\]{min-width:52px}.min-w-\\[100px\\]{min-width:100px}.min-w-\\[150px\\]{min-width:150px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-rotate-90{rotate:-90deg}.rotate-0{rotate:0deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-decimal{list-style-type:decimal}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.grid-cols-\\[1fr\\]{grid-template-columns:1fr}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-\\[5px\\]{gap:5px}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[3px\\]{border-radius:3px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[5px\\]{border-radius:5px}.rounded-\\[6px\\]{border-radius:6px}.rounded-\\[13px\\]{border-radius:13px}.rounded-\\[14px\\]{border-radius:14px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-\\[10px\\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-\\[10px\\]{border-top-left-radius:10px;border-bottom-left-radius:10px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-\\[10px\\]{border-top-right-radius:10px;border-bottom-right-radius:10px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-\\[6px\\]{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.rounded-b-\\[10px\\]{border-bottom-right-radius:10px;border-bottom-left-radius:10px}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[var\\(--rg-border-button\\)\\]{border-color:var(--rg-border-button)}.border-accent{border-color:var(--color-accent)}.border-accent\\/40{border-color:#5e6ad266}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-border{border-color:var(--color-border)}.border-success{border-color:var(--color-success)}.border-success\\/40{border-color:#4cb78266}@supports (color:color-mix(in lab, red, red)){.border-success\\/40{border-color:color-mix(in oklab, var(--color-success) 40%, transparent)}}.border-text-dim{border-color:var(--color-text-dim)}.border-transparent{border-color:#0000}.border-warn{border-color:var(--color-warn)}.border-warn\\/40{border-color:#f2c94c66}@supports (color:color-mix(in lab, red, red)){.border-warn\\/40{border-color:color-mix(in oklab, var(--color-warn) 40%, transparent)}}.border-t-\\[var\\(--rg-border-subtle\\)\\]{border-top-color:var(--rg-border-subtle)}.border-t-transparent{border-top-color:#0000}.bg-\\[var\\(--rg-error-bg\\)\\]{background-color:var(--rg-error-bg)}.bg-\\[var\\(--rg-panel-bg\\)\\]{background-color:var(--rg-panel-bg)}.bg-\\[var\\(--rg-submit-bg\\)\\]{background-color:var(--rg-submit-bg)}.bg-\\[var\\(--rg-surface-active\\)\\]{background-color:var(--rg-surface-active)}.bg-\\[var\\(--rg-surface-hover\\)\\]{background-color:var(--rg-surface-hover)}.bg-\\[var\\(--rg-text-primary\\)\\]{background-color:var(--rg-text-primary)}.bg-\\[var\\(--rg-text-secondary\\)\\]{background-color:var(--rg-text-secondary)}.bg-accent{background-color:var(--color-accent)}.bg-accent-soft{background-color:var(--color-accent-soft)}.bg-bg{background-color:var(--color-bg)}.bg-bg\\/80{background-color:#0b0c0ecc}@supports (color:color-mix(in lab, red, red)){.bg-bg\\/80{background-color:color-mix(in oklab, var(--color-bg) 80%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-current{background-color:currentColor}.bg-danger{background-color:var(--color-danger)}.bg-danger-soft{background-color:var(--color-danger-soft)}.bg-red-500{background-color:var(--color-red-500)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-2{background-color:var(--color-surface-2)}.bg-surface-3{background-color:var(--color-surface-3)}.bg-text-faint{background-color:var(--color-text-faint)}.bg-transparent{background-color:#0000}.bg-warn{background-color:var(--color-warn)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\\.25{padding-inline:calc(var(--spacing) * .25)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:0}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-0\\.25{padding-block:calc(var(--spacing) * .25)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-1\\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pb-1\\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pl-0{padding-left:0}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-end{text-align:end}.text-justify{text-align:justify}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-\\[9\\.5px\\]{font-size:9.5px}.text-\\[9px\\]{font-size:9px}.text-\\[10\\.5px\\]{font-size:10.5px}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12\\.5px\\]{font-size:12.5px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-3{--tw-leading:calc(var(--spacing) * 3);line-height:calc(var(--spacing) * 3)}.leading-3\\.5{--tw-leading:calc(var(--spacing) * 3.5);line-height:calc(var(--spacing) * 3.5)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.font-thin{--tw-font-weight:var(--font-weight-thin);font-weight:var(--font-weight-thin)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-normal{overflow-wrap:normal;word-break:normal}.break-words,.wrap-break-word{overflow-wrap:break-word}.break-all{word-break:break-all}.break-keep{word-break:keep-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-break-spaces{white-space:break-spaces}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\\[var\\(--rg-error-text\\)\\]{color:var(--rg-error-text)}.text-\\[var\\(--rg-submit-fg\\)\\]{color:var(--rg-submit-fg)}.text-\\[var\\(--rg-text-primary\\)\\]{color:var(--rg-text-primary)}.text-\\[var\\(--rg-text-primary-85\\)\\]{color:var(--rg-text-primary-85)}.text-\\[var\\(--rg-text-secondary\\)\\]{color:var(--rg-text-secondary)}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text-dim{color:var(--color-text-dim)}.text-text-faint{color:var(--color-text-faint)}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-accent{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\\[box-shadow\\:var\\(--rg-shadow\\)\\]{box-shadow:var(--rg-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\\[filter\\:var\\(--rg-drop-shadow\\)\\]{filter:var(--rg-drop-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[opacity\\,transform\\]{transition-property:opacity,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[padding\\,border-radius\\,transform\\]{transition-property:padding,border-radius,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[top\\,left\\,width\\,height\\,opacity\\,border-radius\\]{transition-property:top,left,width,height,opacity,border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,color\\]{transition-property:transform,color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[transform\\,opacity\\]{transition-property:transform,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-\\[80ms\\]{transition-delay:80ms}.duration-60{--tw-duration:60ms;transition-duration:60ms}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-140{--tw-duration:.14s;transition-duration:.14s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-180{--tw-duration:.18s;transition-duration:.18s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.ease-\\[cubic-bezier\\(0\\,0\\,0\\.2\\,1\\)\\]{--tw-ease:cubic-bezier(0,0,.2,1);transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-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}}";
|
|
47669
47754
|
//#endregion
|
|
47670
47755
|
//#region src/page/index.tsx
|
|
47671
47756
|
Br();
|
|
47672
|
-
var
|
|
47673
|
-
function
|
|
47757
|
+
var S3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), C3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), w3 = /*#__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"), T3 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), E3 = /*#__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"), D3 = /*#__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\">"), O3 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), k3 = /*#__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\">"), A3 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), j3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), M3 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), N3 = /*#__PURE__*/ N("<button title=\"Running agents\"aria-label=\"Running agents\"class=\"hover:bg-surface-2 flex h-7 cursor-pointer items-center gap-1.5 rounded-full px-2 transition-colors\"><span aria-hidden></span><span>"), P3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-accent size-2 shrink-0 animate-pulse rounded-full\">"), F3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[3ch] text-[11px] font-medium tabular-nums\">s"), I3 = /*#__PURE__*/ N("<span class=\"text-text-dim min-w-[7ch] text-[11px] tabular-nums\"> states"), L3 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), R3 = /*#__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\"> · <!> · ");
|
|
47758
|
+
function z3(e = {}) {
|
|
47674
47759
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
47675
47760
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
47676
47761
|
let t = () => {
|
|
@@ -47702,17 +47787,17 @@ function F3(e = {}) {
|
|
|
47702
47787
|
"keypress"
|
|
47703
47788
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
47704
47789
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
47705
|
-
i.textContent =
|
|
47790
|
+
i.textContent = x3, r.appendChild(i);
|
|
47706
47791
|
let a = document.createElement("div");
|
|
47707
47792
|
r.appendChild(a);
|
|
47708
|
-
let o = () => a.setAttribute("data-theme",
|
|
47709
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
47793
|
+
let o = () => a.setAttribute("data-theme", B3());
|
|
47794
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(K3, { get defaultOpen() {
|
|
47710
47795
|
return e.defaultOpen ?? !1;
|
|
47711
47796
|
} }), a);
|
|
47712
47797
|
};
|
|
47713
47798
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
47714
47799
|
}
|
|
47715
|
-
function
|
|
47800
|
+
function B3() {
|
|
47716
47801
|
try {
|
|
47717
47802
|
let e = [document.body, document.documentElement];
|
|
47718
47803
|
for (let t of e) {
|
|
@@ -47722,11 +47807,11 @@ function I3() {
|
|
|
47722
47807
|
} catch {}
|
|
47723
47808
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
47724
47809
|
}
|
|
47725
|
-
var
|
|
47726
|
-
function
|
|
47810
|
+
var V3 = 130, H3 = 36, U3 = 380, W3 = 280, G3 = 720;
|
|
47811
|
+
function K3(e) {
|
|
47727
47812
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
47728
|
-
x: Math.max(8, window.innerWidth -
|
|
47729
|
-
y: Math.max(8, window.innerHeight -
|
|
47813
|
+
x: Math.max(8, window.innerWidth - V3 - 24),
|
|
47814
|
+
y: Math.max(8, window.innerHeight - H3 - 20)
|
|
47730
47815
|
}), [s, c] = T({
|
|
47731
47816
|
running: [],
|
|
47732
47817
|
review: []
|
|
@@ -47746,12 +47831,12 @@ function H3(e) {
|
|
|
47746
47831
|
let t = Math.floor(e / 1e3);
|
|
47747
47832
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
47748
47833
|
}, [b, x] = T(null), S = (e) => ({
|
|
47749
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
47750
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
47834
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - V3 - 8),
|
|
47835
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - H3 - 8)
|
|
47751
47836
|
}), C = (e) => ({
|
|
47752
47837
|
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
47753
47838
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
47754
|
-
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(
|
|
47839
|
+
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(U3), oe = (e) => Math.min(G3, Math.max(W3, Math.min(e, window.innerWidth - 60)));
|
|
47755
47840
|
O(() => {
|
|
47756
47841
|
let e = document.documentElement, n = t() && w();
|
|
47757
47842
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
@@ -47865,7 +47950,7 @@ function H3(e) {
|
|
|
47865
47950
|
return !t();
|
|
47866
47951
|
},
|
|
47867
47952
|
get children() {
|
|
47868
|
-
var e =
|
|
47953
|
+
var e = D3(), t = e.firstChild;
|
|
47869
47954
|
return t.$$click = () => {
|
|
47870
47955
|
ce || p() === "recording" || h().active || (f(!1), n(!0));
|
|
47871
47956
|
}, t.$$pointerdown = le, P(t, j(M, {
|
|
@@ -47875,14 +47960,14 @@ function H3(e) {
|
|
|
47875
47960
|
get fallback() {
|
|
47876
47961
|
return [
|
|
47877
47962
|
(() => {
|
|
47878
|
-
var e =
|
|
47963
|
+
var e = k3();
|
|
47879
47964
|
return e.$$click = () => {
|
|
47880
47965
|
ce || (f(!1), n(!0));
|
|
47881
|
-
}, P(e, j(
|
|
47966
|
+
}, P(e, j(y3, { size: 13 })), e;
|
|
47882
47967
|
})(),
|
|
47883
|
-
|
|
47968
|
+
A3(),
|
|
47884
47969
|
(() => {
|
|
47885
|
-
var e =
|
|
47970
|
+
var e = N3(), t = e.firstChild, n = t.nextSibling;
|
|
47886
47971
|
return e.$$click = (e) => {
|
|
47887
47972
|
e.stopPropagation(), !ce && f((e) => !e);
|
|
47888
47973
|
}, P(n, (() => {
|
|
@@ -47893,8 +47978,8 @@ function H3(e) {
|
|
|
47893
47978
|
return $e(() => !te())() && u().length > 0;
|
|
47894
47979
|
},
|
|
47895
47980
|
get children() {
|
|
47896
|
-
return [
|
|
47897
|
-
var e =
|
|
47981
|
+
return [j3(), (() => {
|
|
47982
|
+
var e = M3(), t = e.firstChild;
|
|
47898
47983
|
return P(e, () => u().length, t), e;
|
|
47899
47984
|
})()];
|
|
47900
47985
|
}
|
|
@@ -47915,17 +48000,17 @@ function H3(e) {
|
|
|
47915
48000
|
},
|
|
47916
48001
|
get fallback() {
|
|
47917
48002
|
return [
|
|
47918
|
-
|
|
48003
|
+
P3(),
|
|
47919
48004
|
(() => {
|
|
47920
|
-
var e =
|
|
48005
|
+
var e = F3(), t = e.firstChild;
|
|
47921
48006
|
return P(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
47922
48007
|
})(),
|
|
47923
48008
|
(() => {
|
|
47924
|
-
var e =
|
|
48009
|
+
var e = I3(), t = e.firstChild;
|
|
47925
48010
|
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;
|
|
47926
48011
|
})(),
|
|
47927
48012
|
(() => {
|
|
47928
|
-
var e =
|
|
48013
|
+
var e = w3();
|
|
47929
48014
|
return e.$$click = (e) => {
|
|
47930
48015
|
e.stopPropagation(), !ce && o2();
|
|
47931
48016
|
}, e;
|
|
@@ -47934,13 +48019,13 @@ function H3(e) {
|
|
|
47934
48019
|
},
|
|
47935
48020
|
get children() {
|
|
47936
48021
|
return [
|
|
47937
|
-
|
|
48022
|
+
S3(),
|
|
47938
48023
|
(() => {
|
|
47939
|
-
var e =
|
|
48024
|
+
var e = C3();
|
|
47940
48025
|
return P(e, () => y(_())), e;
|
|
47941
48026
|
})(),
|
|
47942
48027
|
(() => {
|
|
47943
|
-
var e =
|
|
48028
|
+
var e = w3();
|
|
47944
48029
|
return e.$$click = () => {
|
|
47945
48030
|
ce || eO();
|
|
47946
48031
|
}, e;
|
|
@@ -47954,17 +48039,17 @@ function H3(e) {
|
|
|
47954
48039
|
return d();
|
|
47955
48040
|
},
|
|
47956
48041
|
get children() {
|
|
47957
|
-
var e =
|
|
48042
|
+
var e = E3(), t = e.firstChild;
|
|
47958
48043
|
return P(e, j(M, {
|
|
47959
48044
|
get when() {
|
|
47960
48045
|
return u().length > 0;
|
|
47961
48046
|
},
|
|
47962
48047
|
get children() {
|
|
47963
|
-
return [
|
|
48048
|
+
return [T3(), j(We, {
|
|
47964
48049
|
get each() {
|
|
47965
48050
|
return u();
|
|
47966
48051
|
},
|
|
47967
|
-
children: (e) => j(
|
|
48052
|
+
children: (e) => j(q3, {
|
|
47968
48053
|
agent: e,
|
|
47969
48054
|
review: !0,
|
|
47970
48055
|
onOpen: de
|
|
@@ -47976,14 +48061,14 @@ function H3(e) {
|
|
|
47976
48061
|
return l().length > 0;
|
|
47977
48062
|
},
|
|
47978
48063
|
get fallback() {
|
|
47979
|
-
return
|
|
48064
|
+
return L3();
|
|
47980
48065
|
},
|
|
47981
48066
|
get children() {
|
|
47982
48067
|
return j(We, {
|
|
47983
48068
|
get each() {
|
|
47984
48069
|
return l();
|
|
47985
48070
|
},
|
|
47986
|
-
children: (e) => j(
|
|
48071
|
+
children: (e) => j(q3, {
|
|
47987
48072
|
agent: e,
|
|
47988
48073
|
onOpen: de
|
|
47989
48074
|
})
|
|
@@ -48004,8 +48089,8 @@ function H3(e) {
|
|
|
48004
48089
|
return t();
|
|
48005
48090
|
},
|
|
48006
48091
|
get children() {
|
|
48007
|
-
var e =
|
|
48008
|
-
return t.$$pointerdown = fe, P(e, j(
|
|
48092
|
+
var e = O3(), t = e.firstChild;
|
|
48093
|
+
return t.$$pointerdown = fe, P(e, j(b3, {
|
|
48009
48094
|
onGrab: () => n(!0),
|
|
48010
48095
|
onClose: () => n(!1),
|
|
48011
48096
|
get onHeaderPointerDown() {
|
|
@@ -48033,19 +48118,19 @@ function H3(e) {
|
|
|
48033
48118
|
}
|
|
48034
48119
|
})];
|
|
48035
48120
|
}
|
|
48036
|
-
function
|
|
48121
|
+
function q3(e) {
|
|
48037
48122
|
return (() => {
|
|
48038
|
-
var t =
|
|
48123
|
+
var t = R3(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
48039
48124
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
48040
48125
|
var t = $e(() => !!e.review);
|
|
48041
48126
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
48042
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
48127
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => J3(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
48043
48128
|
})();
|
|
48044
48129
|
}
|
|
48045
|
-
function
|
|
48130
|
+
function J3(e) {
|
|
48046
48131
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
48047
48132
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
48048
48133
|
}
|
|
48049
48134
|
rt(["pointerdown", "click"]);
|
|
48050
48135
|
//#endregion
|
|
48051
|
-
export {
|
|
48136
|
+
export { z3 as init };
|