linear-grab 0.22.2 → 0.23.0
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 +5 -4
- package/dist/linear-grab.js +483 -187
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -45964,32 +45964,226 @@ function u2() {
|
|
|
45964
45964
|
window.addEventListener("mousemove", i, !0), window.addEventListener("click", o, !0), window.addEventListener("keydown", s, !0);
|
|
45965
45965
|
});
|
|
45966
45966
|
}
|
|
45967
|
+
var d2 = 200;
|
|
45968
|
+
function f2(e) {
|
|
45969
|
+
return e.split(",").map((e) => {
|
|
45970
|
+
let t = e.trim();
|
|
45971
|
+
return t.endsWith("ms") ? parseFloat(t) || 0 : t.endsWith("s") ? (parseFloat(t) || 0) * 1e3 : 0;
|
|
45972
|
+
});
|
|
45973
|
+
}
|
|
45974
|
+
function p2(e) {
|
|
45975
|
+
let t = e.id ? `#${e.id}` : "", n = typeof e.className == "string" && e.className ? `.${e.className.split(/\s+/).filter(Boolean).slice(0, 2).join(".")}` : "";
|
|
45976
|
+
return `${e.tagName.toLowerCase()}${t}${n}`;
|
|
45977
|
+
}
|
|
45978
|
+
function m2(e) {
|
|
45979
|
+
if (typeof e.className != "string") return;
|
|
45980
|
+
let t = e.className.split(/\s+/).filter((e) => /^(transition|duration-|delay-|ease-)/.test(e));
|
|
45981
|
+
return t.length ? t.join(" ") : void 0;
|
|
45982
|
+
}
|
|
45983
|
+
function h2(e, t, n, r) {
|
|
45984
|
+
let i = [];
|
|
45985
|
+
return n > 0 && i.push(`remove the ${Math.round(n)}ms transition-delay`), (r?.includes("transition-all") || e.includes("all")) && i.push("scope 'transition-all' to the intended properties (e.g. transition-colors)"), t > 100 && i.push(`shorten ${Math.round(t)}ms → ≤100ms`), i.push("make PRESS feedback instant: 'active:transition-none' (and data-[state=…]:transition-none for toggles) — animate only hover in/out"), i.join("; ");
|
|
45986
|
+
}
|
|
45987
|
+
async function g2() {
|
|
45988
|
+
try {
|
|
45989
|
+
return (await Promise.resolve().then(() => (RZ(), AZ))).getGlobalApi() ?? null;
|
|
45990
|
+
} catch {
|
|
45991
|
+
return null;
|
|
45992
|
+
}
|
|
45993
|
+
}
|
|
45994
|
+
async function _2(e) {
|
|
45995
|
+
let t = await g2(), n = null, r = null;
|
|
45996
|
+
try {
|
|
45997
|
+
n = t?.getDisplayName?.(e) ?? null;
|
|
45998
|
+
} catch {}
|
|
45999
|
+
try {
|
|
46000
|
+
let n = await t?.getSource?.(e);
|
|
46001
|
+
n?.filePath && (r = `${n.filePath}${n.lineNumber == null ? "" : `:${n.lineNumber}`}`);
|
|
46002
|
+
} catch {}
|
|
46003
|
+
return {
|
|
46004
|
+
component: n,
|
|
46005
|
+
source: r
|
|
46006
|
+
};
|
|
46007
|
+
}
|
|
46008
|
+
var v2 = [], y2 = null;
|
|
46009
|
+
function b2(e) {
|
|
46010
|
+
v2.push(e), y2 ??= setTimeout(() => {
|
|
46011
|
+
y2 = null;
|
|
46012
|
+
let e = v2.slice(0, 50).map((e) => ({
|
|
46013
|
+
kind: "css-slowdown",
|
|
46014
|
+
...e
|
|
46015
|
+
}));
|
|
46016
|
+
v2 = [], JO().then((t) => fetch(`${t}/scan/events`, {
|
|
46017
|
+
method: "POST",
|
|
46018
|
+
headers: { "Content-Type": "application/json" },
|
|
46019
|
+
body: JSON.stringify({ events: e }),
|
|
46020
|
+
keepalive: !0
|
|
46021
|
+
})).catch(() => {});
|
|
46022
|
+
}, 1500);
|
|
46023
|
+
}
|
|
46024
|
+
var x2 = [], S2 = /* @__PURE__ */ new Set();
|
|
46025
|
+
function C2(e) {
|
|
46026
|
+
x2 = [e, ...x2].slice(0, 100);
|
|
46027
|
+
for (let e of S2) e(x2);
|
|
46028
|
+
b2(e);
|
|
46029
|
+
}
|
|
46030
|
+
function w2(e) {
|
|
46031
|
+
return S2.add(e), e(x2), () => void S2.delete(e);
|
|
46032
|
+
}
|
|
46033
|
+
function T2() {
|
|
46034
|
+
x2 = x2.filter((e) => e.mode !== "audit");
|
|
46035
|
+
for (let e of S2) e(x2);
|
|
46036
|
+
}
|
|
46037
|
+
var E2 = !1;
|
|
46038
|
+
function D2() {
|
|
46039
|
+
if (E2 || typeof window > "u") return;
|
|
46040
|
+
E2 = !0;
|
|
46041
|
+
let e = 0, t = () => {
|
|
46042
|
+
e = performance.now();
|
|
46043
|
+
};
|
|
46044
|
+
for (let e of [
|
|
46045
|
+
"pointerdown",
|
|
46046
|
+
"pointerup",
|
|
46047
|
+
"keydown"
|
|
46048
|
+
]) window.addEventListener(e, t, {
|
|
46049
|
+
capture: !0,
|
|
46050
|
+
passive: !0
|
|
46051
|
+
});
|
|
46052
|
+
let n = /* @__PURE__ */ new Map();
|
|
46053
|
+
window.addEventListener("transitionrun", (t) => {
|
|
46054
|
+
let r = performance.now() - e;
|
|
46055
|
+
if (r > d2) return;
|
|
46056
|
+
let i = t.target;
|
|
46057
|
+
if (!(i instanceof Element) || i.closest("#linear-grab-root")) return;
|
|
46058
|
+
let a = getComputedStyle(i), o = a.transitionProperty.split(",").map((e) => e.trim()), s = f2(a.transitionDuration), c = f2(a.transitionDelay), l = Math.max(0, o.indexOf(t.propertyName)), u = s[l % s.length] ?? s[0] ?? 0, d = c[l % c.length] ?? c[0] ?? 0;
|
|
46059
|
+
if (u + d < 50) return;
|
|
46060
|
+
let f = `${p2(i)}|${t.propertyName}`, p = Date.now();
|
|
46061
|
+
if (p - (n.get(f) ?? 0) < 5e3) return;
|
|
46062
|
+
n.set(f, p);
|
|
46063
|
+
let m = m2(i);
|
|
46064
|
+
_2(i).then(({ component: e, source: n }) => {
|
|
46065
|
+
C2({
|
|
46066
|
+
mode: "live",
|
|
46067
|
+
page: location.pathname,
|
|
46068
|
+
element: p2(i),
|
|
46069
|
+
component: e,
|
|
46070
|
+
source: n,
|
|
46071
|
+
properties: [t.propertyName],
|
|
46072
|
+
durationMs: Math.round(u),
|
|
46073
|
+
delayMs: Math.round(d),
|
|
46074
|
+
sinceInputMs: Math.round(r),
|
|
46075
|
+
count: 1,
|
|
46076
|
+
classHint: m,
|
|
46077
|
+
suggestion: h2([t.propertyName], u, d, m),
|
|
46078
|
+
at: p
|
|
46079
|
+
});
|
|
46080
|
+
});
|
|
46081
|
+
}, {
|
|
46082
|
+
capture: !0,
|
|
46083
|
+
passive: !0
|
|
46084
|
+
});
|
|
46085
|
+
}
|
|
46086
|
+
var O2 = "button, a, input, select, textarea, [role], [tabindex], [data-state], [aria-expanded]";
|
|
46087
|
+
async function k2() {
|
|
46088
|
+
let e = /* @__PURE__ */ new Map(), t = Array.from(document.querySelectorAll(O2)).slice(0, 3e3);
|
|
46089
|
+
for (let n of t) {
|
|
46090
|
+
if (n.closest("#linear-grab-root")) continue;
|
|
46091
|
+
let t = n.getBoundingClientRect();
|
|
46092
|
+
if (t.width < 2 && t.height < 2) continue;
|
|
46093
|
+
let r = getComputedStyle(n);
|
|
46094
|
+
if (r.cursor !== "pointer" && !n.matches("button, a, input, select, textarea")) continue;
|
|
46095
|
+
let i = f2(r.transitionDuration), a = f2(r.transitionDelay), o = Math.max(...i, 0) + Math.max(...a, 0);
|
|
46096
|
+
if (o < 50) continue;
|
|
46097
|
+
let s = r.transitionProperty.split(",").map((e) => e.trim()), c = m2(n), l = `${n.tagName}|${c ?? s.join()}|${Math.round(o)}`, u = e.get(l);
|
|
46098
|
+
if (u) {
|
|
46099
|
+
u.finding.count += 1;
|
|
46100
|
+
continue;
|
|
46101
|
+
}
|
|
46102
|
+
e.set(l, {
|
|
46103
|
+
example: n,
|
|
46104
|
+
finding: {
|
|
46105
|
+
mode: "audit",
|
|
46106
|
+
page: location.pathname,
|
|
46107
|
+
element: p2(n),
|
|
46108
|
+
component: null,
|
|
46109
|
+
source: null,
|
|
46110
|
+
properties: s,
|
|
46111
|
+
durationMs: Math.round(Math.max(...i, 0)),
|
|
46112
|
+
delayMs: Math.round(Math.max(...a, 0)),
|
|
46113
|
+
count: 1,
|
|
46114
|
+
classHint: c,
|
|
46115
|
+
suggestion: h2(s, Math.max(...i, 0), Math.max(...a, 0), c),
|
|
46116
|
+
at: Date.now()
|
|
46117
|
+
}
|
|
46118
|
+
});
|
|
46119
|
+
}
|
|
46120
|
+
let n = [];
|
|
46121
|
+
for (let { finding: t, example: r } of e.values()) {
|
|
46122
|
+
let { component: e, source: i } = await _2(r);
|
|
46123
|
+
t.component = e, t.source = i, n.push(t);
|
|
46124
|
+
}
|
|
46125
|
+
n.sort((e, t) => t.durationMs + t.delayMs - (e.durationMs + e.delayMs) || t.count - e.count), x2 = [...n, ...x2.filter((e) => e.mode === "live")].slice(0, 100);
|
|
46126
|
+
for (let e of S2) e(x2);
|
|
46127
|
+
for (let e of n) b2(e);
|
|
46128
|
+
return n;
|
|
46129
|
+
}
|
|
46130
|
+
function A2(e) {
|
|
46131
|
+
let t = [
|
|
46132
|
+
`# CSS slowdowns on ${location.host}${location.pathname}`,
|
|
46133
|
+
"Threshold: 50ms (interaction feedback should be instant).",
|
|
46134
|
+
""
|
|
46135
|
+
];
|
|
46136
|
+
for (let n of e) t.push(`## ${n.component ?? n.element}${n.count > 1 ? ` ×${n.count}` : ""} — ${n.durationMs}ms${n.delayMs ? ` +${n.delayMs}ms delay` : ""}`), n.source && t.push(`- source: ${n.source}`), t.push(`- transitions: ${n.properties.join(", ")}`), n.classHint && t.push(`- classes: \`${n.classHint}\``), n.sinceInputMs != null && t.push(`- fired ${n.sinceInputMs}ms after user input (live capture)`), t.push(`- fix: ${n.suggestion}`, "");
|
|
46137
|
+
return t.join("\n");
|
|
46138
|
+
}
|
|
45967
46139
|
//#endregion
|
|
45968
46140
|
//#region src/panel/views/DesignView.tsx
|
|
45969
|
-
var
|
|
45970
|
-
function
|
|
46141
|
+
var j2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[7ch] text-center\">Extract"), M2 = /*#__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>"), N2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[5ch] text-center\">Audit"), P2 = /*#__PURE__*/ N("<div class=\"flex max-h-72 flex-col gap-1.5 overflow-y-auto pr-2\">"), F2 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), I2 = /*#__PURE__*/ N("<div class=\"flex items-center gap-1.5 px-1\">"), L2 = /*#__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."), R2 = /*#__PURE__*/ N("<p class=\"text-text mt-1 text-[11px] font-semibold\">Interaction states"), z2 = /*#__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>"), B2 = /*#__PURE__*/ N("<span class=\"text-warn text-[10.5px] font-medium tabular-nums\">s · <!> states"), V2 = /*#__PURE__*/ N("<span class=\"text-success text-[12px] leading-none\">✓"), H2 = /*#__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\">"), U2 = /*#__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\">"), W2 = /*#__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\">"), G2 = /*#__PURE__*/ N("<span class=text-text-faint> ×"), K2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-text text-[11px] font-medium\">"), q2 = /*#__PURE__*/ N("<span class=text-accent> ← var(<!>)"), J2 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: "), Y2 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-0.5\"><p class=\"text-warn text-[10.5px] font-medium\"> — "), X2 = /*#__PURE__*/ N("<p class=\"text-text-dim font-mono text-[10px] leading-snug break-all\">: <!> → "), Z2 = /*#__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>"), Q2 = /*#__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\">"), $2 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1 text-[10.5px]\">Nothing caught yet — interact with the app, or run Audit."), e4 = /*#__PURE__*/ N("<span class=\"text-text-dim font-mono text-[10px] break-all\">"), t4 = /*#__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\">"), n4 = "linear-grab:genomes:v1", r4 = 30;
|
|
46142
|
+
function i4() {
|
|
45971
46143
|
try {
|
|
45972
|
-
return JSON.parse(localStorage.getItem(
|
|
46144
|
+
return JSON.parse(localStorage.getItem(n4) ?? "[]");
|
|
45973
46145
|
} catch {
|
|
45974
46146
|
return [];
|
|
45975
46147
|
}
|
|
45976
46148
|
}
|
|
45977
|
-
function
|
|
46149
|
+
function a4(e) {
|
|
45978
46150
|
try {
|
|
45979
|
-
localStorage.setItem(
|
|
46151
|
+
localStorage.setItem(n4, JSON.stringify(e.slice(0, r4)));
|
|
45980
46152
|
} catch {}
|
|
45981
46153
|
}
|
|
45982
|
-
var
|
|
45983
|
-
function
|
|
45984
|
-
let [e, t] = T(
|
|
45985
|
-
|
|
45986
|
-
|
|
46154
|
+
var o4 = /* @__PURE__ */ new Map();
|
|
46155
|
+
function s4() {
|
|
46156
|
+
let [e, t] = T(i4()), [n, r] = T(null), [i, a] = T(null), [o, s] = T(null), [c, l] = T(null), [u, d] = T(null), [f, p] = T({
|
|
46157
|
+
active: !1,
|
|
46158
|
+
msLeft: 0,
|
|
46159
|
+
total: 0,
|
|
46160
|
+
byTrigger: {}
|
|
46161
|
+
});
|
|
46162
|
+
ae(i2(p));
|
|
46163
|
+
let [m, h] = T([]);
|
|
46164
|
+
ae(w2(h));
|
|
46165
|
+
let [g, _] = T(!1), [v, y] = T(!1), b = async () => {
|
|
46166
|
+
_(!0);
|
|
46167
|
+
try {
|
|
46168
|
+
await k2();
|
|
46169
|
+
} finally {
|
|
46170
|
+
_(!1);
|
|
46171
|
+
}
|
|
46172
|
+
}, x = async () => {
|
|
46173
|
+
try {
|
|
46174
|
+
await navigator.clipboard.writeText(A2(m())), y(!0), setTimeout(() => y(!1), 1600);
|
|
46175
|
+
} catch {
|
|
46176
|
+
l("Clipboard was blocked — click Copy again.");
|
|
46177
|
+
}
|
|
46178
|
+
}, S = (e) => {
|
|
46179
|
+
t(e), a4(e);
|
|
46180
|
+
}, C = async () => {
|
|
45987
46181
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
45988
46182
|
try {
|
|
45989
46183
|
let t = await u2();
|
|
45990
46184
|
if (!t) return;
|
|
45991
46185
|
let n = await e2(t), i = Date.now();
|
|
45992
|
-
|
|
46186
|
+
o4.set(i, new WeakRef(t)), S([{
|
|
45993
46187
|
id: i,
|
|
45994
46188
|
genome: n
|
|
45995
46189
|
}, ...e()]), r(i);
|
|
@@ -45998,16 +46192,16 @@ function M2() {
|
|
|
45998
46192
|
} finally {
|
|
45999
46193
|
a(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46000
46194
|
}
|
|
46001
|
-
},
|
|
46195
|
+
}, w = async (t) => {
|
|
46002
46196
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
46003
46197
|
try {
|
|
46004
|
-
let n =
|
|
46198
|
+
let n = o4.get(t.id)?.deref() ?? null;
|
|
46005
46199
|
if (!n || !n.isConnected) {
|
|
46006
46200
|
if (n = await u2(), !n) return;
|
|
46007
|
-
|
|
46201
|
+
o4.set(t.id, new WeakRef(n));
|
|
46008
46202
|
}
|
|
46009
46203
|
let r = await c2(n, 8e3, (e) => s(Math.ceil(e / 1e3)));
|
|
46010
|
-
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."),
|
|
46204
|
+
r.length === 0 && l("No state changes captured — hover/open the component while the 8s window runs."), S(e().map((e) => e.id === t.id ? {
|
|
46011
46205
|
...e,
|
|
46012
46206
|
genome: {
|
|
46013
46207
|
...e.genome,
|
|
@@ -46019,26 +46213,28 @@ function M2() {
|
|
|
46019
46213
|
} finally {
|
|
46020
46214
|
a(null), s(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46021
46215
|
}
|
|
46022
|
-
},
|
|
46216
|
+
}, E = async (e) => {
|
|
46023
46217
|
try {
|
|
46024
46218
|
await navigator.clipboard.writeText(l2(e.genome)), d(e.id), setTimeout(() => d(null), 1600);
|
|
46025
46219
|
} catch {
|
|
46026
46220
|
l("Clipboard was blocked — click Copy again.");
|
|
46027
46221
|
}
|
|
46028
|
-
},
|
|
46029
|
-
|
|
46222
|
+
}, O = (t) => {
|
|
46223
|
+
o4.delete(t), S(e().filter((e) => e.id !== t));
|
|
46030
46224
|
};
|
|
46031
46225
|
return (() => {
|
|
46032
|
-
var t =
|
|
46033
|
-
|
|
46226
|
+
var t = L2(), a = t.firstChild;
|
|
46227
|
+
a.firstChild;
|
|
46228
|
+
var o = a.nextSibling, s = o.firstChild;
|
|
46229
|
+
return s.firstChild, P(a, j(kj, {
|
|
46034
46230
|
variant: "primary",
|
|
46035
46231
|
class: "h-7 shrink-0 px-2.5 text-[11.5px]",
|
|
46036
46232
|
get loading() {
|
|
46037
46233
|
return i() === "extract";
|
|
46038
46234
|
},
|
|
46039
|
-
onClick: () => void
|
|
46235
|
+
onClick: () => void C(),
|
|
46040
46236
|
get children() {
|
|
46041
|
-
return
|
|
46237
|
+
return j2();
|
|
46042
46238
|
}
|
|
46043
46239
|
}), null), P(t, j(M, {
|
|
46044
46240
|
get when() {
|
|
@@ -46049,7 +46245,7 @@ function M2() {
|
|
|
46049
46245
|
return c();
|
|
46050
46246
|
} });
|
|
46051
46247
|
}
|
|
46052
|
-
}),
|
|
46248
|
+
}), o), P(t, j(M, {
|
|
46053
46249
|
get when() {
|
|
46054
46250
|
return e().length > 0;
|
|
46055
46251
|
},
|
|
@@ -46060,7 +46256,7 @@ function M2() {
|
|
|
46060
46256
|
});
|
|
46061
46257
|
},
|
|
46062
46258
|
get children() {
|
|
46063
|
-
var t =
|
|
46259
|
+
var t = M2();
|
|
46064
46260
|
return t.firstChild, P(t, j(We, {
|
|
46065
46261
|
get each() {
|
|
46066
46262
|
return e();
|
|
@@ -46068,30 +46264,30 @@ function M2() {
|
|
|
46068
46264
|
children: (e) => {
|
|
46069
46265
|
let t = () => n() === e.id;
|
|
46070
46266
|
return (() => {
|
|
46071
|
-
var n =
|
|
46072
|
-
|
|
46073
|
-
var
|
|
46267
|
+
var n = W2(), a = n.firstChild, o = a.nextSibling, s = o.firstChild, c = s.firstChild, l = c.nextSibling, d = l.firstChild, p = d.nextSibling;
|
|
46268
|
+
p.nextSibling;
|
|
46269
|
+
var m = l.nextSibling;
|
|
46074
46270
|
return s.$$click = () => r(t() ? null : e.id), P(c, () => e.genome.title), P(l, () => e.genome.nodes.length, d), P(l, (() => {
|
|
46075
46271
|
var t = $e(() => !!e.genome.states.length);
|
|
46076
46272
|
return () => t() ? ` · ${e.genome.states.length} states` : "";
|
|
46077
|
-
})(),
|
|
46273
|
+
})(), p), P(l, () => Wj(e.genome.extractedAt), null), P(o, j(M, {
|
|
46078
46274
|
get when() {
|
|
46079
46275
|
return t();
|
|
46080
46276
|
},
|
|
46081
46277
|
get children() {
|
|
46082
|
-
var t =
|
|
46278
|
+
var t = U2(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
46083
46279
|
return P(n, () => e.genome.pageUrl), P(r, j(We, {
|
|
46084
46280
|
get each() {
|
|
46085
46281
|
return e.genome.nodes;
|
|
46086
46282
|
},
|
|
46087
46283
|
children: (e) => (() => {
|
|
46088
|
-
var t =
|
|
46284
|
+
var t = K2(), n = t.firstChild;
|
|
46089
46285
|
return P(n, () => e.label, null), P(n, j(M, {
|
|
46090
46286
|
get when() {
|
|
46091
46287
|
return e.count > 1;
|
|
46092
46288
|
},
|
|
46093
46289
|
get children() {
|
|
46094
|
-
var t =
|
|
46290
|
+
var t = G2();
|
|
46095
46291
|
return t.firstChild, P(t, () => e.count, null), t;
|
|
46096
46292
|
}
|
|
46097
46293
|
}), null), P(t, j(We, {
|
|
@@ -46099,13 +46295,13 @@ function M2() {
|
|
|
46099
46295
|
return Object.entries(e.styles);
|
|
46100
46296
|
},
|
|
46101
46297
|
children: ([t, n]) => (() => {
|
|
46102
|
-
var r =
|
|
46298
|
+
var r = J2(), i = r.firstChild;
|
|
46103
46299
|
return P(r, t, i), P(r, n, null), P(r, j(M, {
|
|
46104
46300
|
get when() {
|
|
46105
46301
|
return e.tokens[t];
|
|
46106
46302
|
},
|
|
46107
46303
|
get children() {
|
|
46108
|
-
var n =
|
|
46304
|
+
var n = q2(), r = n.firstChild.nextSibling;
|
|
46109
46305
|
return r.nextSibling, P(n, () => e.tokens[t], r), n;
|
|
46110
46306
|
}
|
|
46111
46307
|
}), null), r;
|
|
@@ -46117,35 +46313,59 @@ function M2() {
|
|
|
46117
46313
|
return e.genome.states.length > 0;
|
|
46118
46314
|
},
|
|
46119
46315
|
get children() {
|
|
46120
|
-
return [
|
|
46316
|
+
return [R2(), j(We, {
|
|
46121
46317
|
get each() {
|
|
46122
46318
|
return e.genome.states;
|
|
46123
46319
|
},
|
|
46124
46320
|
children: (e) => (() => {
|
|
46125
|
-
var t =
|
|
46321
|
+
var t = Y2(), n = t.firstChild, r = n.firstChild;
|
|
46126
46322
|
return P(n, () => e.label, r), P(n, () => e.trigger, null), P(t, j(We, {
|
|
46127
46323
|
get each() {
|
|
46128
46324
|
return Object.entries(e.changed);
|
|
46129
46325
|
},
|
|
46130
46326
|
children: ([e, t]) => (() => {
|
|
46131
|
-
var n =
|
|
46327
|
+
var n = X2(), r = n.firstChild, i = r.nextSibling;
|
|
46132
46328
|
return i.nextSibling, P(n, e, r), P(n, () => t.from, i), P(n, () => t.to, null), n;
|
|
46133
46329
|
})()
|
|
46134
46330
|
}), null), t;
|
|
46135
46331
|
})()
|
|
46136
46332
|
})];
|
|
46137
46333
|
}
|
|
46138
|
-
}), null), P(a, j(
|
|
46139
|
-
|
|
46140
|
-
|
|
46141
|
-
|
|
46142
|
-
|
|
46334
|
+
}), null), P(a, j(M, {
|
|
46335
|
+
get when() {
|
|
46336
|
+
return $e(() => i() === e.id)() && f().active;
|
|
46337
|
+
},
|
|
46338
|
+
get fallback() {
|
|
46339
|
+
return j(kj, {
|
|
46340
|
+
class: "size-7 px-0",
|
|
46341
|
+
variant: "ghost",
|
|
46342
|
+
get loading() {
|
|
46343
|
+
return i() === e.id;
|
|
46344
|
+
},
|
|
46345
|
+
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46346
|
+
"aria-label": "Capture interaction states",
|
|
46347
|
+
onClick: () => void w(e),
|
|
46348
|
+
get children() {
|
|
46349
|
+
return Z2();
|
|
46350
|
+
}
|
|
46351
|
+
});
|
|
46143
46352
|
},
|
|
46144
|
-
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46145
|
-
"aria-label": "Capture interaction states",
|
|
46146
|
-
onClick: () => void m(e),
|
|
46147
46353
|
get children() {
|
|
46148
|
-
return
|
|
46354
|
+
return [j(kj, {
|
|
46355
|
+
class: "text-danger size-7 px-0",
|
|
46356
|
+
variant: "ghost",
|
|
46357
|
+
get title() {
|
|
46358
|
+
return `Stop recording — ${Math.ceil(f().msLeft / 1e3)}s left · ${f().total} captured`;
|
|
46359
|
+
},
|
|
46360
|
+
"aria-label": "Stop recording states",
|
|
46361
|
+
onClick: () => o2(),
|
|
46362
|
+
get children() {
|
|
46363
|
+
return z2();
|
|
46364
|
+
}
|
|
46365
|
+
}), (() => {
|
|
46366
|
+
var e = B2(), t = e.firstChild, n = t.nextSibling;
|
|
46367
|
+
return n.nextSibling, P(e, () => Math.ceil(f().msLeft / 1e3), t), P(e, () => f().total, n), e;
|
|
46368
|
+
})()];
|
|
46149
46369
|
}
|
|
46150
46370
|
}), null), P(a, j(kj, {
|
|
46151
46371
|
class: "size-7 px-0",
|
|
@@ -46154,17 +46374,17 @@ function M2() {
|
|
|
46154
46374
|
return u() === e.id ? "Copied!" : "Copy spec — markdown for an agent or issue";
|
|
46155
46375
|
},
|
|
46156
46376
|
"aria-label": "Copy genome spec",
|
|
46157
|
-
onClick: () => void
|
|
46377
|
+
onClick: () => void E(e),
|
|
46158
46378
|
get children() {
|
|
46159
46379
|
return j(M, {
|
|
46160
46380
|
get when() {
|
|
46161
46381
|
return u() === e.id;
|
|
46162
46382
|
},
|
|
46163
46383
|
get fallback() {
|
|
46164
|
-
return
|
|
46384
|
+
return Q2();
|
|
46165
46385
|
},
|
|
46166
46386
|
get children() {
|
|
46167
|
-
return
|
|
46387
|
+
return V2();
|
|
46168
46388
|
}
|
|
46169
46389
|
});
|
|
46170
46390
|
}
|
|
@@ -46173,15 +46393,15 @@ function M2() {
|
|
|
46173
46393
|
variant: "ghost",
|
|
46174
46394
|
title: "Delete this genome",
|
|
46175
46395
|
"aria-label": "Delete genome",
|
|
46176
|
-
onClick: () =>
|
|
46396
|
+
onClick: () => O(e.id),
|
|
46177
46397
|
get children() {
|
|
46178
|
-
return
|
|
46398
|
+
return H2();
|
|
46179
46399
|
}
|
|
46180
46400
|
}), null), t;
|
|
46181
46401
|
}
|
|
46182
46402
|
}), null), D((e) => {
|
|
46183
46403
|
var n = { "bg-accent border-accent": t() }, r = !!t();
|
|
46184
|
-
return e.e = lt(a, n, e.e), r !== e.t &&
|
|
46404
|
+
return e.e = lt(a, n, e.e), r !== e.t && m.classList.toggle("rotate-180", e.t = r), e;
|
|
46185
46405
|
}, {
|
|
46186
46406
|
e: void 0,
|
|
46187
46407
|
t: void 0
|
|
@@ -46190,13 +46410,89 @@ function M2() {
|
|
|
46190
46410
|
}
|
|
46191
46411
|
}), null), t;
|
|
46192
46412
|
}
|
|
46413
|
+
}), o), P(s, j(kj, {
|
|
46414
|
+
variant: "ghost",
|
|
46415
|
+
class: "h-7 shrink-0 px-2.5 text-[11.5px]",
|
|
46416
|
+
get loading() {
|
|
46417
|
+
return g();
|
|
46418
|
+
},
|
|
46419
|
+
onClick: () => void b(),
|
|
46420
|
+
get children() {
|
|
46421
|
+
return N2();
|
|
46422
|
+
}
|
|
46423
|
+
}), null), P(o, j(M, {
|
|
46424
|
+
get when() {
|
|
46425
|
+
return m().length > 0;
|
|
46426
|
+
},
|
|
46427
|
+
get fallback() {
|
|
46428
|
+
return $2();
|
|
46429
|
+
},
|
|
46430
|
+
get children() {
|
|
46431
|
+
return [(() => {
|
|
46432
|
+
var e = P2();
|
|
46433
|
+
return P(e, j(We, {
|
|
46434
|
+
get each() {
|
|
46435
|
+
return m();
|
|
46436
|
+
},
|
|
46437
|
+
children: (e) => (() => {
|
|
46438
|
+
var t = t4(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = a.firstChild, s = n.nextSibling, c = s.nextSibling;
|
|
46439
|
+
return P(r, () => e.mode === "live" ? "live" : "audit"), P(i, () => e.component ?? e.element, null), P(i, j(M, {
|
|
46440
|
+
get when() {
|
|
46441
|
+
return e.count > 1;
|
|
46442
|
+
},
|
|
46443
|
+
get children() {
|
|
46444
|
+
return [" ×", $e(() => e.count)];
|
|
46445
|
+
}
|
|
46446
|
+
}), null), P(a, () => e.durationMs, o), P(a, (() => {
|
|
46447
|
+
var t = $e(() => !!e.delayMs);
|
|
46448
|
+
return () => t() ? ` +${e.delayMs}` : "";
|
|
46449
|
+
})(), null), P(t, j(M, {
|
|
46450
|
+
get when() {
|
|
46451
|
+
return e.source;
|
|
46452
|
+
},
|
|
46453
|
+
get children() {
|
|
46454
|
+
var t = e4();
|
|
46455
|
+
return P(t, () => e.source), t;
|
|
46456
|
+
}
|
|
46457
|
+
}), s), P(s, () => e.properties.join(", "), null), P(s, j(M, {
|
|
46458
|
+
get when() {
|
|
46459
|
+
return e.sinceInputMs != null;
|
|
46460
|
+
},
|
|
46461
|
+
get children() {
|
|
46462
|
+
return [
|
|
46463
|
+
" — fired ",
|
|
46464
|
+
$e(() => e.sinceInputMs),
|
|
46465
|
+
"ms after input"
|
|
46466
|
+
];
|
|
46467
|
+
}
|
|
46468
|
+
}), null), P(c, () => e.suggestion), t;
|
|
46469
|
+
})()
|
|
46470
|
+
})), e;
|
|
46471
|
+
})(), (() => {
|
|
46472
|
+
var e = I2();
|
|
46473
|
+
return P(e, j(kj, {
|
|
46474
|
+
class: "h-6 px-2 text-[11px]",
|
|
46475
|
+
variant: "ghost",
|
|
46476
|
+
onClick: () => void x(),
|
|
46477
|
+
get children() {
|
|
46478
|
+
var e = F2();
|
|
46479
|
+
return P(e, () => v() ? "Copied ✓" : "Copy report"), e;
|
|
46480
|
+
}
|
|
46481
|
+
}), null), P(e, j(kj, {
|
|
46482
|
+
class: "h-6 px-2 text-[11px]",
|
|
46483
|
+
variant: "ghost",
|
|
46484
|
+
onClick: T2,
|
|
46485
|
+
children: "Clear audit"
|
|
46486
|
+
}), null), e;
|
|
46487
|
+
})()];
|
|
46488
|
+
}
|
|
46193
46489
|
}), null), t;
|
|
46194
46490
|
})();
|
|
46195
46491
|
}
|
|
46196
46492
|
rt(["click"]);
|
|
46197
46493
|
//#endregion
|
|
46198
46494
|
//#region src/lib/projectConfig.ts
|
|
46199
|
-
var
|
|
46495
|
+
var c4 = [
|
|
46200
46496
|
"defaultTeamId",
|
|
46201
46497
|
"defaultProjectId",
|
|
46202
46498
|
"defaultLabelIds",
|
|
@@ -46211,29 +46507,29 @@ var N2 = [
|
|
|
46211
46507
|
"issueTemplate",
|
|
46212
46508
|
"testUsername"
|
|
46213
46509
|
];
|
|
46214
|
-
function
|
|
46510
|
+
function l4(e) {
|
|
46215
46511
|
let t = {};
|
|
46216
|
-
for (let n of
|
|
46512
|
+
for (let n of c4) {
|
|
46217
46513
|
let r = e[n];
|
|
46218
46514
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
46219
46515
|
}
|
|
46220
46516
|
return t;
|
|
46221
46517
|
}
|
|
46222
|
-
function
|
|
46518
|
+
function u4(e, t) {
|
|
46223
46519
|
let n = {};
|
|
46224
|
-
for (let r of
|
|
46520
|
+
for (let r of c4) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
46225
46521
|
return Object.keys(n).length ? n : null;
|
|
46226
46522
|
}
|
|
46227
46523
|
//#endregion
|
|
46228
46524
|
//#region src/lib/linear/auth.ts
|
|
46229
46525
|
Br();
|
|
46230
|
-
function
|
|
46526
|
+
function d4(e) {
|
|
46231
46527
|
let t = "";
|
|
46232
46528
|
for (let n of e) t += String.fromCharCode(n);
|
|
46233
46529
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
46234
46530
|
}
|
|
46235
|
-
async function
|
|
46236
|
-
let t =
|
|
46531
|
+
async function f4(e) {
|
|
46532
|
+
let t = d4(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(32))), n = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(t)), r = d4(new Uint8Array(n)), i = d4(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16))), a = chrome.identity.getRedirectURL(), o = new URL("https://linear.app/oauth/authorize");
|
|
46237
46533
|
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");
|
|
46238
46534
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
46239
46535
|
url: o.toString(),
|
|
@@ -46261,15 +46557,15 @@ async function L2(e) {
|
|
|
46261
46557
|
linearOauthClientId: e
|
|
46262
46558
|
});
|
|
46263
46559
|
}
|
|
46264
|
-
async function
|
|
46560
|
+
async function p4() {
|
|
46265
46561
|
await Er({
|
|
46266
46562
|
linearAccessToken: void 0,
|
|
46267
46563
|
linearApiKey: void 0
|
|
46268
46564
|
});
|
|
46269
46565
|
}
|
|
46270
46566
|
Br(), Sr(), Fx(), gD();
|
|
46271
|
-
var
|
|
46272
|
-
function
|
|
46567
|
+
var m4 = /*#__PURE__*/ N("<div class=\"bg-surface-2 border-border flex rounded-md border p-0.5\">"), h4 = /*#__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."), g4 = /*#__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"), _4 = /*#__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)."), v4 = /*#__PURE__*/ N("<span class=text-text>Connected as <span class=font-medium></span> · <span class=text-text-dim>"), y4 = /*#__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]\">"), b4 = /*#__PURE__*/ N("<option value>Select a team…"), x4 = /*#__PURE__*/ N("<option value>No project"), S4 = /*#__PURE__*/ N("<div class=\"flex flex-wrap gap-1\">"), C4 = /*#__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."), w4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No agents found — install the Cursor integration in Linear first."), T4 = /*#__PURE__*/ N("<span class=\"text-text-faint text-[10.5px] leading-snug\">Empty = the default above (computer-use testing, video demo, PR + review babysitting)."), E4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-1.5\">"), D4 = /*#__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."), O4 = /*#__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."), k4 = /*#__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."), A4 = /*#__PURE__*/ N("<span class=\"inline-block min-w-[10ch] text-center\">"), j4 = /*#__PURE__*/ N("<div class=\"flex items-center gap-2\">"), M4 = /*#__PURE__*/ N("<option value>Select a channel…"), N4 = /*#__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"), P4 = /*#__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."), F4 = /*#__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"), I4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">"), L4 = /*#__PURE__*/ N("<div class=min-h-[2lh]>"), R4 = /*#__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."), z4 = /*#__PURE__*/ N("<div class=\"flex h-full flex-col gap-5 overflow-y-auto pt-3 pb-6 pl-3 pr-4\">"), B4 = /*#__PURE__*/ N("<button>"), V4 = /*#__PURE__*/ N("<div class=\"flex gap-1.5\">"), H4 = /*#__PURE__*/ N("<p class=\"text-text-faint text-center text-[10.5px]\">or"), U4 = /*#__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\">"), W4 = /*#__PURE__*/ N("<div class=\"flex flex-col gap-3\">"), G4 = /*#__PURE__*/ N("<span class=text-text-dim>Connected — verifying…"), K4 = /*#__PURE__*/ N("<option> (<!>)"), q4 = /*#__PURE__*/ N("<option>"), J4 = /*#__PURE__*/ N("<button type=button><span class=\"mr-1 inline-block size-2 rounded-full align-middle\">"), Y4 = /*#__PURE__*/ N("<option value>Select the agent…"), X4 = /*#__PURE__*/ N("<option>#"), Z4 = /*#__PURE__*/ N("<p class=\"text-text-dim text-[11px]\">No key set — AI drafting disabled, manual drafting still works.");
|
|
46568
|
+
function Q4() {
|
|
46273
46569
|
let e = sr(), t = _r(() => ({
|
|
46274
46570
|
queryKey: ["settings"],
|
|
46275
46571
|
queryFn: Tr,
|
|
@@ -46297,13 +46593,13 @@ function C4() {
|
|
|
46297
46593
|
retry: 0
|
|
46298
46594
|
})), [l, u] = T(!1), d = async () => {
|
|
46299
46595
|
try {
|
|
46300
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
46596
|
+
await navigator.clipboard.writeText(JSON.stringify(l4(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
46301
46597
|
} catch {}
|
|
46302
46598
|
}, f = () => {
|
|
46303
46599
|
let e = c.data?.projectConfig;
|
|
46304
46600
|
if (!e) return;
|
|
46305
46601
|
let t = {};
|
|
46306
|
-
for (let n of
|
|
46602
|
+
for (let n of c4) e[n] !== void 0 && (t[n] = e[n]);
|
|
46307
46603
|
r(t);
|
|
46308
46604
|
}, p = _r(() => ({
|
|
46309
46605
|
queryKey: ["linear-labels"],
|
|
@@ -46336,7 +46632,7 @@ function C4() {
|
|
|
46336
46632
|
}
|
|
46337
46633
|
E(!0), ee("");
|
|
46338
46634
|
try {
|
|
46339
|
-
await
|
|
46635
|
+
await f4(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"] });
|
|
46340
46636
|
} catch (e) {
|
|
46341
46637
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
46342
46638
|
} finally {
|
|
@@ -46347,7 +46643,7 @@ function C4() {
|
|
|
46347
46643
|
async function re() {
|
|
46348
46644
|
ne(!0);
|
|
46349
46645
|
try {
|
|
46350
|
-
await
|
|
46646
|
+
await p4(), 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"] });
|
|
46351
46647
|
} finally {
|
|
46352
46648
|
ne(!1);
|
|
46353
46649
|
}
|
|
@@ -46363,12 +46659,12 @@ function C4() {
|
|
|
46363
46659
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
46364
46660
|
});
|
|
46365
46661
|
return (() => {
|
|
46366
|
-
var e =
|
|
46662
|
+
var e = z4();
|
|
46367
46663
|
return P(e, j(Rj, {
|
|
46368
46664
|
title: "Workflow",
|
|
46369
46665
|
get children() {
|
|
46370
46666
|
return [(() => {
|
|
46371
|
-
var e =
|
|
46667
|
+
var e = m4();
|
|
46372
46668
|
return P(e, j(We, {
|
|
46373
46669
|
each: [{
|
|
46374
46670
|
id: "cloud",
|
|
@@ -46378,19 +46674,19 @@ function C4() {
|
|
|
46378
46674
|
label: "Local · clipboard"
|
|
46379
46675
|
}],
|
|
46380
46676
|
children: (e) => (() => {
|
|
46381
|
-
var t =
|
|
46677
|
+
var t = B4();
|
|
46382
46678
|
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;
|
|
46383
46679
|
})()
|
|
46384
46680
|
})), e;
|
|
46385
|
-
})(),
|
|
46681
|
+
})(), h4()];
|
|
46386
46682
|
}
|
|
46387
46683
|
}), null), P(e, j(Rj, {
|
|
46388
46684
|
title: "Capture",
|
|
46389
46685
|
get children() {
|
|
46390
46686
|
return [(() => {
|
|
46391
|
-
var e =
|
|
46687
|
+
var e = g4(), t = e.firstChild;
|
|
46392
46688
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
46393
|
-
})(),
|
|
46689
|
+
})(), _4()];
|
|
46394
46690
|
}
|
|
46395
46691
|
}), null), P(e, j(Rj, {
|
|
46396
46692
|
title: "Linear",
|
|
@@ -46401,13 +46697,13 @@ function C4() {
|
|
|
46401
46697
|
},
|
|
46402
46698
|
get fallback() {
|
|
46403
46699
|
return (() => {
|
|
46404
|
-
var e =
|
|
46700
|
+
var e = W4();
|
|
46405
46701
|
return P(e, j(Lj, {
|
|
46406
46702
|
label: "Personal API key",
|
|
46407
46703
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
46408
46704
|
get children() {
|
|
46409
46705
|
return [(() => {
|
|
46410
|
-
var e =
|
|
46706
|
+
var e = V4();
|
|
46411
46707
|
return P(e, j(jj, {
|
|
46412
46708
|
type: "password",
|
|
46413
46709
|
placeholder: "lin_api_…",
|
|
@@ -46444,12 +46740,12 @@ function C4() {
|
|
|
46444
46740
|
}), null), P(e, j(M, {
|
|
46445
46741
|
when: xr,
|
|
46446
46742
|
get children() {
|
|
46447
|
-
return [
|
|
46743
|
+
return [H4(), j(Lj, {
|
|
46448
46744
|
label: "OAuth client ID",
|
|
46449
46745
|
get children() {
|
|
46450
46746
|
return [
|
|
46451
46747
|
(() => {
|
|
46452
|
-
var e =
|
|
46748
|
+
var e = V4();
|
|
46453
46749
|
return P(e, j(jj, {
|
|
46454
46750
|
placeholder: "your-client-id",
|
|
46455
46751
|
get value() {
|
|
@@ -46477,7 +46773,7 @@ function C4() {
|
|
|
46477
46773
|
}
|
|
46478
46774
|
}),
|
|
46479
46775
|
(() => {
|
|
46480
|
-
var e =
|
|
46776
|
+
var e = U4(), t = e.firstChild.nextSibling.nextSibling;
|
|
46481
46777
|
return P(t, ie), e;
|
|
46482
46778
|
})()
|
|
46483
46779
|
];
|
|
@@ -46488,13 +46784,13 @@ function C4() {
|
|
|
46488
46784
|
})();
|
|
46489
46785
|
},
|
|
46490
46786
|
get children() {
|
|
46491
|
-
var e =
|
|
46787
|
+
var e = y4(), t = e.firstChild;
|
|
46492
46788
|
return P(t, j(M, {
|
|
46493
46789
|
get when() {
|
|
46494
46790
|
return !a.isLoading;
|
|
46495
46791
|
},
|
|
46496
46792
|
get fallback() {
|
|
46497
|
-
return
|
|
46793
|
+
return G4();
|
|
46498
46794
|
},
|
|
46499
46795
|
get children() {
|
|
46500
46796
|
return j(M, {
|
|
@@ -46507,7 +46803,7 @@ function C4() {
|
|
|
46507
46803
|
return a.isError;
|
|
46508
46804
|
},
|
|
46509
46805
|
get fallback() {
|
|
46510
|
-
return
|
|
46806
|
+
return G4();
|
|
46511
46807
|
},
|
|
46512
46808
|
get children() {
|
|
46513
46809
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -46515,7 +46811,7 @@ function C4() {
|
|
|
46515
46811
|
});
|
|
46516
46812
|
},
|
|
46517
46813
|
get children() {
|
|
46518
|
-
var e =
|
|
46814
|
+
var e = v4(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
46519
46815
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
46520
46816
|
}
|
|
46521
46817
|
});
|
|
@@ -46556,7 +46852,7 @@ function C4() {
|
|
|
46556
46852
|
return o.isLoading;
|
|
46557
46853
|
},
|
|
46558
46854
|
get children() {
|
|
46559
|
-
return [
|
|
46855
|
+
return [b4(), j(M, {
|
|
46560
46856
|
get when() {
|
|
46561
46857
|
return o.data;
|
|
46562
46858
|
},
|
|
@@ -46566,7 +46862,7 @@ function C4() {
|
|
|
46566
46862
|
return o.data;
|
|
46567
46863
|
},
|
|
46568
46864
|
children: (e) => (() => {
|
|
46569
|
-
var t =
|
|
46865
|
+
var t = K4(), r = t.firstChild, i = r.nextSibling;
|
|
46570
46866
|
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;
|
|
46571
46867
|
})()
|
|
46572
46868
|
});
|
|
@@ -46590,14 +46886,14 @@ function C4() {
|
|
|
46590
46886
|
},
|
|
46591
46887
|
get children() {
|
|
46592
46888
|
return [(() => {
|
|
46593
|
-
var e =
|
|
46889
|
+
var e = x4();
|
|
46594
46890
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
46595
46891
|
})(), j(We, {
|
|
46596
46892
|
get each() {
|
|
46597
46893
|
return s.data ?? [];
|
|
46598
46894
|
},
|
|
46599
46895
|
children: (e) => (() => {
|
|
46600
|
-
var t =
|
|
46896
|
+
var t = q4();
|
|
46601
46897
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
46602
46898
|
})()
|
|
46603
46899
|
})];
|
|
@@ -46609,7 +46905,7 @@ function C4() {
|
|
|
46609
46905
|
label: "Default labels",
|
|
46610
46906
|
hint: "Applied to every issue created from the panel.",
|
|
46611
46907
|
get children() {
|
|
46612
|
-
var e =
|
|
46908
|
+
var e = S4();
|
|
46613
46909
|
return P(e, j(We, {
|
|
46614
46910
|
get each() {
|
|
46615
46911
|
return p.data ?? [];
|
|
@@ -46617,7 +46913,7 @@ function C4() {
|
|
|
46617
46913
|
children: (e) => {
|
|
46618
46914
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
46619
46915
|
return (() => {
|
|
46620
|
-
var i =
|
|
46916
|
+
var i = J4(), a = i.firstChild;
|
|
46621
46917
|
return i.$$click = () => {
|
|
46622
46918
|
let i = n().defaultLabelIds ?? [];
|
|
46623
46919
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -46634,7 +46930,7 @@ function C4() {
|
|
|
46634
46930
|
}
|
|
46635
46931
|
}),
|
|
46636
46932
|
(() => {
|
|
46637
|
-
var e =
|
|
46933
|
+
var e = C4(), t = e.firstChild;
|
|
46638
46934
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
46639
46935
|
})(),
|
|
46640
46936
|
j(Lj, {
|
|
@@ -46684,7 +46980,7 @@ function C4() {
|
|
|
46684
46980
|
return m.isLoading;
|
|
46685
46981
|
},
|
|
46686
46982
|
get children() {
|
|
46687
|
-
return [
|
|
46983
|
+
return [Y4(), j(M, {
|
|
46688
46984
|
get when() {
|
|
46689
46985
|
return m.data;
|
|
46690
46986
|
},
|
|
@@ -46694,7 +46990,7 @@ function C4() {
|
|
|
46694
46990
|
return m.data;
|
|
46695
46991
|
},
|
|
46696
46992
|
children: (e) => (() => {
|
|
46697
|
-
var t =
|
|
46993
|
+
var t = q4();
|
|
46698
46994
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
46699
46995
|
})()
|
|
46700
46996
|
});
|
|
@@ -46704,7 +47000,7 @@ function C4() {
|
|
|
46704
47000
|
});
|
|
46705
47001
|
},
|
|
46706
47002
|
get children() {
|
|
46707
|
-
return
|
|
47003
|
+
return w4();
|
|
46708
47004
|
}
|
|
46709
47005
|
});
|
|
46710
47006
|
}
|
|
@@ -46752,7 +47048,7 @@ function C4() {
|
|
|
46752
47048
|
onBlur: (e) => {
|
|
46753
47049
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
46754
47050
|
}
|
|
46755
|
-
}),
|
|
47051
|
+
}), T4()];
|
|
46756
47052
|
}
|
|
46757
47053
|
}),
|
|
46758
47054
|
j(Lj, {
|
|
@@ -46809,7 +47105,7 @@ function C4() {
|
|
|
46809
47105
|
label: "Test account",
|
|
46810
47106
|
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.",
|
|
46811
47107
|
get children() {
|
|
46812
|
-
var e =
|
|
47108
|
+
var e = E4();
|
|
46813
47109
|
return P(e, j(jj, {
|
|
46814
47110
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
46815
47111
|
get value() {
|
|
@@ -46841,7 +47137,7 @@ function C4() {
|
|
|
46841
47137
|
title: "Panel",
|
|
46842
47138
|
get children() {
|
|
46843
47139
|
return [(() => {
|
|
46844
|
-
var e =
|
|
47140
|
+
var e = D4(), t = e.firstChild.nextSibling;
|
|
46845
47141
|
return P(t, j(We, {
|
|
46846
47142
|
each: [{
|
|
46847
47143
|
id: "overlay",
|
|
@@ -46851,7 +47147,7 @@ function C4() {
|
|
|
46851
47147
|
label: "Beside page"
|
|
46852
47148
|
}],
|
|
46853
47149
|
children: (e) => (() => {
|
|
46854
|
-
var t =
|
|
47150
|
+
var t = B4();
|
|
46855
47151
|
return t.$$click = () => void r({
|
|
46856
47152
|
panelMode: e.id,
|
|
46857
47153
|
panelPos: void 0
|
|
@@ -46859,11 +47155,11 @@ function C4() {
|
|
|
46859
47155
|
})()
|
|
46860
47156
|
})), e;
|
|
46861
47157
|
})(), (() => {
|
|
46862
|
-
var e =
|
|
47158
|
+
var e = O4(), t = e.firstChild.nextSibling;
|
|
46863
47159
|
return P(t, j(We, {
|
|
46864
47160
|
each: ["left", "right"],
|
|
46865
47161
|
children: (e) => (() => {
|
|
46866
|
-
var t =
|
|
47162
|
+
var t = B4();
|
|
46867
47163
|
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;
|
|
46868
47164
|
})()
|
|
46869
47165
|
})), e;
|
|
@@ -46893,8 +47189,8 @@ function C4() {
|
|
|
46893
47189
|
}), null), P(e, j(Rj, {
|
|
46894
47190
|
title: "Project config (.lineargrab.json)",
|
|
46895
47191
|
get children() {
|
|
46896
|
-
return [
|
|
46897
|
-
var e =
|
|
47192
|
+
return [k4(), (() => {
|
|
47193
|
+
var e = j4();
|
|
46898
47194
|
return P(e, j(M, {
|
|
46899
47195
|
get when() {
|
|
46900
47196
|
return c.data?.projectConfig;
|
|
@@ -46925,7 +47221,7 @@ function C4() {
|
|
|
46925
47221
|
},
|
|
46926
47222
|
onClick: () => void d(),
|
|
46927
47223
|
get children() {
|
|
46928
|
-
var e =
|
|
47224
|
+
var e = A4();
|
|
46929
47225
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
46930
47226
|
}
|
|
46931
47227
|
}), null), e;
|
|
@@ -47016,12 +47312,12 @@ function C4() {
|
|
|
47016
47312
|
});
|
|
47017
47313
|
},
|
|
47018
47314
|
get children() {
|
|
47019
|
-
return [
|
|
47315
|
+
return [M4(), j(We, {
|
|
47020
47316
|
get each() {
|
|
47021
47317
|
return ae.data ?? [];
|
|
47022
47318
|
},
|
|
47023
47319
|
children: (e) => (() => {
|
|
47024
|
-
var t =
|
|
47320
|
+
var t = X4();
|
|
47025
47321
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
47026
47322
|
})()
|
|
47027
47323
|
})];
|
|
@@ -47072,10 +47368,10 @@ function C4() {
|
|
|
47072
47368
|
}
|
|
47073
47369
|
}),
|
|
47074
47370
|
(() => {
|
|
47075
|
-
var e =
|
|
47371
|
+
var e = N4(), t = e.firstChild;
|
|
47076
47372
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
47077
47373
|
})(),
|
|
47078
|
-
|
|
47374
|
+
P4()
|
|
47079
47375
|
];
|
|
47080
47376
|
}
|
|
47081
47377
|
}), null), P(e, j(Rj, {
|
|
@@ -47113,7 +47409,7 @@ function C4() {
|
|
|
47113
47409
|
}
|
|
47114
47410
|
}),
|
|
47115
47411
|
(() => {
|
|
47116
|
-
var e =
|
|
47412
|
+
var e = F4(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
47117
47413
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
47118
47414
|
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;
|
|
47119
47415
|
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;
|
|
@@ -47126,16 +47422,16 @@ function C4() {
|
|
|
47126
47422
|
}), e;
|
|
47127
47423
|
})(),
|
|
47128
47424
|
(() => {
|
|
47129
|
-
var e =
|
|
47425
|
+
var e = L4();
|
|
47130
47426
|
return P(e, j(M, {
|
|
47131
47427
|
get when() {
|
|
47132
47428
|
return se();
|
|
47133
47429
|
},
|
|
47134
47430
|
get fallback() {
|
|
47135
|
-
return
|
|
47431
|
+
return Z4();
|
|
47136
47432
|
},
|
|
47137
47433
|
get children() {
|
|
47138
|
-
var e =
|
|
47434
|
+
var e = I4();
|
|
47139
47435
|
return P(e, se), e;
|
|
47140
47436
|
}
|
|
47141
47437
|
})), e;
|
|
@@ -47145,7 +47441,7 @@ function C4() {
|
|
|
47145
47441
|
}), null), P(e, j(Rj, {
|
|
47146
47442
|
title: "How it works",
|
|
47147
47443
|
get children() {
|
|
47148
|
-
return
|
|
47444
|
+
return R4();
|
|
47149
47445
|
}
|
|
47150
47446
|
}), null), e;
|
|
47151
47447
|
})();
|
|
@@ -47153,38 +47449,38 @@ function C4() {
|
|
|
47153
47449
|
rt(["click"]);
|
|
47154
47450
|
//#endregion
|
|
47155
47451
|
//#region src/lib/idbCache.ts
|
|
47156
|
-
var
|
|
47452
|
+
var $4 = "linear-grab", e3 = "queries", t3 = [
|
|
47157
47453
|
"my-issues",
|
|
47158
47454
|
"issue",
|
|
47159
47455
|
"sessions",
|
|
47160
47456
|
"teams",
|
|
47161
47457
|
"agents"
|
|
47162
47458
|
];
|
|
47163
|
-
function
|
|
47459
|
+
function n3() {
|
|
47164
47460
|
return new Promise((e) => {
|
|
47165
47461
|
try {
|
|
47166
|
-
let t = indexedDB.open(
|
|
47167
|
-
t.onupgradeneeded = () => t.result.createObjectStore(
|
|
47462
|
+
let t = indexedDB.open($4, 1);
|
|
47463
|
+
t.onupgradeneeded = () => t.result.createObjectStore(e3), t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
47168
47464
|
} catch {
|
|
47169
47465
|
e(null);
|
|
47170
47466
|
}
|
|
47171
47467
|
});
|
|
47172
47468
|
}
|
|
47173
|
-
function
|
|
47174
|
-
return typeof e[0] == "string" &&
|
|
47469
|
+
function r3(e) {
|
|
47470
|
+
return typeof e[0] == "string" && t3.includes(e[0]);
|
|
47175
47471
|
}
|
|
47176
|
-
async function
|
|
47177
|
-
let t = await
|
|
47472
|
+
async function i3(e) {
|
|
47473
|
+
let t = await n3();
|
|
47178
47474
|
if (!t) return () => {};
|
|
47179
47475
|
await new Promise((n) => {
|
|
47180
47476
|
try {
|
|
47181
|
-
let r = t.transaction(
|
|
47477
|
+
let r = t.transaction(e3, "readonly").objectStore(e3).openCursor();
|
|
47182
47478
|
r.onsuccess = () => {
|
|
47183
47479
|
let t = r.result;
|
|
47184
47480
|
if (!t) return n();
|
|
47185
47481
|
try {
|
|
47186
47482
|
let { queryKey: n, data: r } = t.value;
|
|
47187
|
-
|
|
47483
|
+
r3(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
47188
47484
|
} catch {}
|
|
47189
47485
|
t.continue();
|
|
47190
47486
|
}, r.onerror = () => n();
|
|
@@ -47195,14 +47491,14 @@ async function k4(e) {
|
|
|
47195
47491
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
47196
47492
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
47197
47493
|
let { queryKey: i, queryHash: a } = r.query;
|
|
47198
|
-
if (!
|
|
47494
|
+
if (!r3(i)) return;
|
|
47199
47495
|
let o = n.get(a);
|
|
47200
47496
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
47201
47497
|
n.delete(a);
|
|
47202
47498
|
try {
|
|
47203
47499
|
let n = e.getQueryData(i);
|
|
47204
47500
|
if (n === void 0) return;
|
|
47205
|
-
t.transaction(
|
|
47501
|
+
t.transaction(e3, "readwrite").objectStore(e3).put({
|
|
47206
47502
|
queryKey: i,
|
|
47207
47503
|
data: n
|
|
47208
47504
|
}, a);
|
|
@@ -47218,7 +47514,7 @@ async function k4(e) {
|
|
|
47218
47514
|
//#endregion
|
|
47219
47515
|
//#region src/panel/App.tsx
|
|
47220
47516
|
Br();
|
|
47221
|
-
var
|
|
47517
|
+
var a3 = /*#__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\">"), o3 = /*#__PURE__*/ N("<button><svg width=12 height=12 viewBox=\"0 0 16 16\"fill=none stroke=currentColor stroke-width=1.5 aria-hidden><rect x=1.5 y=2.5 width=13 height=11 rx=1.5></rect><path d=\"M10 2.5v11\">"), s3 = /*#__PURE__*/ N("<button aria-label=\"Minimize to launcher\"title=\"Minimize to launcher\"class=\"text-text-dim hover:text-text hover:bg-surface-3 grid size-6 shrink-0 cursor-pointer place-items-center rounded-md text-[15px] leading-none transition-colors\">–"), c3 = /*#__PURE__*/ N("<div class=\"bg-bg text-text flex h-full flex-col\"><header><span class=\"text-accent mr-0.5 inline-flex shrink-0\"title=\"Linear Grab\"></span><div class=\"no-scrollbar flex min-w-0 flex-1 items-center gap-1 overflow-x-auto\"></div></header><main class=\"min-h-0 flex-1\"><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full></div><div class=h-full>"), l3 = /*#__PURE__*/ N("<button>"), u3 = [
|
|
47222
47518
|
{
|
|
47223
47519
|
id: "draft",
|
|
47224
47520
|
label: "Draft"
|
|
@@ -47255,35 +47551,35 @@ var A4 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
47255
47551
|
id: "settings",
|
|
47256
47552
|
label: "Settings"
|
|
47257
47553
|
}
|
|
47258
|
-
],
|
|
47259
|
-
function
|
|
47260
|
-
if (
|
|
47261
|
-
|
|
47554
|
+
], d3 = /* @__PURE__ */ new Set();
|
|
47555
|
+
function f3(e, t, n) {
|
|
47556
|
+
if (d3.has(e) || typeof Notification > "u") return;
|
|
47557
|
+
d3.add(e);
|
|
47262
47558
|
let r = () => new Notification(t, { body: n });
|
|
47263
47559
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
47264
47560
|
}
|
|
47265
|
-
function
|
|
47561
|
+
function p3() {
|
|
47266
47562
|
setInterval(() => {
|
|
47267
47563
|
NO().then((e) => {
|
|
47268
47564
|
for (let t of e) {
|
|
47269
47565
|
if (t.status !== "running") continue;
|
|
47270
47566
|
let e = t.lastEventAt ?? t.startedAt;
|
|
47271
|
-
Date.now() - e > 10 * 6e4 &&
|
|
47567
|
+
Date.now() - e > 10 * 6e4 && f3(`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.`);
|
|
47272
47568
|
}
|
|
47273
47569
|
}).catch(() => {}), gO().then((e) => {
|
|
47274
|
-
for (let t of e) /awaitingInput|elicit/i.test(t.status) &&
|
|
47570
|
+
for (let t of e) /awaitingInput|elicit/i.test(t.status) && f3(`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.`);
|
|
47275
47571
|
}).catch(() => {});
|
|
47276
47572
|
}, 6e4);
|
|
47277
47573
|
}
|
|
47278
|
-
|
|
47279
|
-
var
|
|
47574
|
+
p3();
|
|
47575
|
+
var m3 = new gr({ defaultOptions: { queries: {
|
|
47280
47576
|
retry: 1,
|
|
47281
47577
|
refetchOnWindowFocus: !1,
|
|
47282
47578
|
staleTime: 5e3
|
|
47283
47579
|
} } });
|
|
47284
|
-
function
|
|
47580
|
+
function h3(e) {
|
|
47285
47581
|
return (() => {
|
|
47286
|
-
var t =
|
|
47582
|
+
var t = a3();
|
|
47287
47583
|
return D((n) => {
|
|
47288
47584
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
47289
47585
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -47293,36 +47589,36 @@ function B4(e) {
|
|
|
47293
47589
|
}), t;
|
|
47294
47590
|
})();
|
|
47295
47591
|
}
|
|
47296
|
-
function
|
|
47592
|
+
function g3(e) {
|
|
47297
47593
|
let [t, n] = T("draft"), r = () => {
|
|
47298
|
-
|
|
47594
|
+
m3.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
47299
47595
|
};
|
|
47300
47596
|
return O(() => {
|
|
47301
47597
|
let e = nj();
|
|
47302
47598
|
e && n(e);
|
|
47303
47599
|
}), ie(() => {
|
|
47304
|
-
let e =
|
|
47600
|
+
let e = i3(m3), t = XZ(r), n = () => {
|
|
47305
47601
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
47306
47602
|
if (!e.projectConfig) return;
|
|
47307
|
-
let t =
|
|
47603
|
+
let t = u4(await Tr(), e.projectConfig);
|
|
47308
47604
|
t && await Er(t);
|
|
47309
47605
|
}).catch(() => {});
|
|
47310
47606
|
};
|
|
47311
47607
|
n();
|
|
47312
47608
|
let i = Mr((e) => {
|
|
47313
|
-
e === "settings" && (
|
|
47609
|
+
e === "settings" && (m3.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
47314
47610
|
});
|
|
47315
47611
|
ae(() => {
|
|
47316
47612
|
t(), i(), e.then((e) => e());
|
|
47317
47613
|
});
|
|
47318
47614
|
}), j(cr, {
|
|
47319
|
-
client:
|
|
47615
|
+
client: m3,
|
|
47320
47616
|
get children() {
|
|
47321
|
-
var r =
|
|
47322
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
47323
|
-
each:
|
|
47617
|
+
var r = c3(), i = r.firstChild, a = i.firstChild, o = a.nextSibling, s = i.nextSibling.firstChild, c = s.nextSibling, l = c.nextSibling, u = l.nextSibling, d = u.nextSibling, f = d.nextSibling, p = f.nextSibling, m = p.nextSibling, h = m.nextSibling;
|
|
47618
|
+
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(h3, { size: 14 })), P(o, j(We, {
|
|
47619
|
+
each: u3,
|
|
47324
47620
|
children: (e) => (() => {
|
|
47325
|
-
var r =
|
|
47621
|
+
var r = l3();
|
|
47326
47622
|
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;
|
|
47327
47623
|
})()
|
|
47328
47624
|
})), P(i, j(M, {
|
|
@@ -47330,7 +47626,7 @@ function V4(e) {
|
|
|
47330
47626
|
return e.onTogglePin;
|
|
47331
47627
|
},
|
|
47332
47628
|
get children() {
|
|
47333
|
-
var t =
|
|
47629
|
+
var t = o3();
|
|
47334
47630
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
47335
47631
|
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"}`;
|
|
47336
47632
|
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;
|
|
@@ -47345,10 +47641,10 @@ function V4(e) {
|
|
|
47345
47641
|
return e.onClose;
|
|
47346
47642
|
},
|
|
47347
47643
|
get children() {
|
|
47348
|
-
var t =
|
|
47644
|
+
var t = s3();
|
|
47349
47645
|
return t.$$click = () => e.onClose?.(), t;
|
|
47350
47646
|
}
|
|
47351
|
-
}), 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(
|
|
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(s4, {})), P(h, j(Q4, {})), D((n) => {
|
|
47352
47648
|
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";
|
|
47353
47649
|
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;
|
|
47354
47650
|
}, {
|
|
@@ -47369,16 +47665,16 @@ function V4(e) {
|
|
|
47369
47665
|
rt(["pointerdown", "click"]);
|
|
47370
47666
|
//#endregion
|
|
47371
47667
|
//#region src/styles/app.css?inline
|
|
47372
|
-
var H4 = "/*! 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-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)}.disabled\\:cursor-default:disabled{cursor:default}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:bg-surface-3:disabled{background-color:var(--color-surface-3)}.disabled\\:text-text-faint:disabled{color:var(--color-text-faint)}.disabled\\:opacity-40:disabled{opacity:.4}@media (hover:hover){.disabled\\:hover\\:bg-surface-2:disabled:hover{background-color:var(--color-surface-2)}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light],:host([data-theme=light]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fbfbfc;--color-surface:#fff;--color-surface-2:#f4f4f6;--color-surface-3:#e9e9ee;--color-border:#e2e2e8;--color-border-strong:#cfcfd8;--color-text:#1b1c20;--color-text-dim:#5c5f6a;--color-text-faint:#9a9da8;--color-accent-soft:#5e6ad21f;--color-danger-soft:#eb57571a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-width:320px;margin:0;font-size:13px}@keyframes geist-spinner-fade{0%{opacity:1}to{opacity:.15}}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;z-index:60;background:#1b1c20;border-radius:6px;max-width:260px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.35;position:absolute;bottom:calc(100% + 6px);left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}[data-tip][data-tip-pos~=right]:hover:after{left:0;transform:none}[data-tip][data-tip-pos~=left]:hover:after{left:auto;right:0;transform:none}[data-tip][data-tip-pos~=bottom]:hover:after{top:calc(100% + 6px);bottom:auto}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.lg-md p{margin:0 0 6px}.lg-md p:last-child{margin-bottom:0}.lg-md a{color:var(--color-accent);word-break:break-all;text-decoration:none}.lg-md a:hover{text-decoration:underline}.lg-md code{background:var(--color-surface-2);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:4px;padding:0 4px;font-size:11px}.lg-md pre{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.lg-md pre code{white-space:pre;background:0 0;border:none;padding:0;font-size:11px}.lg-md ul,.lg-md ol{flex-direction:column;gap:2px;margin:4px 0 6px;padding-left:18px;display:flex}.lg-md ul{list-style:outside}.lg-md ol{list-style:decimal}.lg-md h4{margin:8px 0 4px;font-size:12px;font-weight:600}.lg-md lg-media{display:block}.lg-md lg-media img,.lg-md lg-media video{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md video{border:1px solid var(--color-border);background:#000;border-radius:6px;max-width:100%;margin:4px 0}.lg-md img{border:1px solid var(--color-border);border-radius:6px;max-width:100%;margin:4px 0}.lg-md strong{font-weight:600}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}::-webkit-scrollbar-track{background:0 0}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-contain-size{syntax:\"*\";inherits:false}@property --tw-contain-layout{syntax:\"*\";inherits:false}@property --tw-contain-paint{syntax:\"*\";inherits:false}@property --tw-contain-style{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}";
|
|
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}}";
|
|
47373
47669
|
//#endregion
|
|
47374
47670
|
//#region src/page/index.tsx
|
|
47375
47671
|
Br();
|
|
47376
|
-
var
|
|
47377
|
-
function
|
|
47672
|
+
var v3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-danger size-2 shrink-0 animate-pulse rounded-full\">"), y3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[5ch] text-[11px] font-medium tabular-nums\">"), b3 = /*#__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"), x3 = /*#__PURE__*/ N("<p class=\"text-warn px-1.5 pt-1 pb-1.5 text-[10.5px] font-semibold tracking-wide uppercase\">Needs review"), S3 = /*#__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"), C3 = /*#__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\">"), w3 = /*#__PURE__*/ N("<div><div title=\"Drag to resize\">"), T3 = /*#__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\">"), E3 = /*#__PURE__*/ N("<span class=\"bg-border h-4 w-px\"aria-hidden>"), D3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-warn size-2 rounded-full\">"), O3 = /*#__PURE__*/ N("<span class=\"text-warn min-w-[3.5ch] text-left text-[11px] font-medium tabular-nums\"> rev"), k3 = /*#__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>"), A3 = /*#__PURE__*/ N("<span aria-hidden class=\"bg-accent size-2 shrink-0 animate-pulse rounded-full\">"), j3 = /*#__PURE__*/ N("<span class=\"text-text min-w-[3ch] text-[11px] font-medium tabular-nums\">s"), M3 = /*#__PURE__*/ N("<span class=\"text-text-dim min-w-[7ch] text-[11px] tabular-nums\"> states"), N3 = /*#__PURE__*/ N("<p class=\"text-text-faint px-1.5 pb-1.5 text-[11.5px]\">No agents running right now."), P3 = /*#__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\"> · <!> · ");
|
|
47673
|
+
function F3(e = {}) {
|
|
47378
47674
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
47379
47675
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
47380
47676
|
let t = () => {
|
|
47381
|
-
lk(), JZ();
|
|
47677
|
+
lk(), D2(), JZ();
|
|
47382
47678
|
let t = document.createElement("div");
|
|
47383
47679
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
47384
47680
|
let n = (e) => {
|
|
@@ -47406,17 +47702,17 @@ function o3(e = {}) {
|
|
|
47406
47702
|
"keypress"
|
|
47407
47703
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
47408
47704
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
47409
|
-
i.textContent =
|
|
47705
|
+
i.textContent = _3, r.appendChild(i);
|
|
47410
47706
|
let a = document.createElement("div");
|
|
47411
47707
|
r.appendChild(a);
|
|
47412
|
-
let o = () => a.setAttribute("data-theme",
|
|
47413
|
-
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(
|
|
47708
|
+
let o = () => a.setAttribute("data-theme", I3());
|
|
47709
|
+
o(), matchMedia("(prefers-color-scheme: light)").addEventListener("change", o), nt(() => j(H3, { get defaultOpen() {
|
|
47414
47710
|
return e.defaultOpen ?? !1;
|
|
47415
47711
|
} }), a);
|
|
47416
47712
|
};
|
|
47417
47713
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
47418
47714
|
}
|
|
47419
|
-
function
|
|
47715
|
+
function I3() {
|
|
47420
47716
|
try {
|
|
47421
47717
|
let e = [document.body, document.documentElement];
|
|
47422
47718
|
for (let t of e) {
|
|
@@ -47426,11 +47722,11 @@ function s3() {
|
|
|
47426
47722
|
} catch {}
|
|
47427
47723
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
47428
47724
|
}
|
|
47429
|
-
var
|
|
47430
|
-
function
|
|
47725
|
+
var L3 = 130, R3 = 36, z3 = 380, B3 = 280, V3 = 720;
|
|
47726
|
+
function H3(e) {
|
|
47431
47727
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
47432
|
-
x: Math.max(8, window.innerWidth -
|
|
47433
|
-
y: Math.max(8, window.innerHeight -
|
|
47728
|
+
x: Math.max(8, window.innerWidth - L3 - 24),
|
|
47729
|
+
y: Math.max(8, window.innerHeight - R3 - 20)
|
|
47434
47730
|
}), [s, c] = T({
|
|
47435
47731
|
running: [],
|
|
47436
47732
|
review: []
|
|
@@ -47450,12 +47746,12 @@ function p3(e) {
|
|
|
47450
47746
|
let t = Math.floor(e / 1e3);
|
|
47451
47747
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
47452
47748
|
}, [b, x] = T(null), S = (e) => ({
|
|
47453
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
47454
|
-
y: Math.min(Math.max(8, e.y), window.innerHeight -
|
|
47749
|
+
x: Math.min(Math.max(8, e.x), window.innerWidth - L3 - 8),
|
|
47750
|
+
y: Math.min(Math.max(8, e.y), window.innerHeight - R3 - 8)
|
|
47455
47751
|
}), C = (e) => ({
|
|
47456
47752
|
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
47457
47753
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
47458
|
-
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(
|
|
47754
|
+
}), [w, E] = T(!1), [k, ee] = T("cloud"), [te, A] = T(!1), [ne, re] = T(z3), oe = (e) => Math.min(V3, Math.max(B3, Math.min(e, window.innerWidth - 60)));
|
|
47459
47755
|
O(() => {
|
|
47460
47756
|
let e = document.documentElement, n = t() && w();
|
|
47461
47757
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
@@ -47569,7 +47865,7 @@ function p3(e) {
|
|
|
47569
47865
|
return !t();
|
|
47570
47866
|
},
|
|
47571
47867
|
get children() {
|
|
47572
|
-
var e =
|
|
47868
|
+
var e = C3(), t = e.firstChild;
|
|
47573
47869
|
return t.$$click = () => {
|
|
47574
47870
|
ce || p() === "recording" || h().active || (f(!1), n(!0));
|
|
47575
47871
|
}, t.$$pointerdown = le, P(t, j(M, {
|
|
@@ -47579,14 +47875,14 @@ function p3(e) {
|
|
|
47579
47875
|
get fallback() {
|
|
47580
47876
|
return [
|
|
47581
47877
|
(() => {
|
|
47582
|
-
var e =
|
|
47878
|
+
var e = T3();
|
|
47583
47879
|
return e.$$click = () => {
|
|
47584
47880
|
ce || (f(!1), n(!0));
|
|
47585
|
-
}, P(e, j(
|
|
47881
|
+
}, P(e, j(h3, { size: 13 })), e;
|
|
47586
47882
|
})(),
|
|
47587
|
-
|
|
47883
|
+
E3(),
|
|
47588
47884
|
(() => {
|
|
47589
|
-
var e =
|
|
47885
|
+
var e = k3(), t = e.firstChild, n = t.nextSibling;
|
|
47590
47886
|
return e.$$click = (e) => {
|
|
47591
47887
|
e.stopPropagation(), !ce && f((e) => !e);
|
|
47592
47888
|
}, P(n, (() => {
|
|
@@ -47597,8 +47893,8 @@ function p3(e) {
|
|
|
47597
47893
|
return $e(() => !te())() && u().length > 0;
|
|
47598
47894
|
},
|
|
47599
47895
|
get children() {
|
|
47600
|
-
return [
|
|
47601
|
-
var e =
|
|
47896
|
+
return [D3(), (() => {
|
|
47897
|
+
var e = O3(), t = e.firstChild;
|
|
47602
47898
|
return P(e, () => u().length, t), e;
|
|
47603
47899
|
})()];
|
|
47604
47900
|
}
|
|
@@ -47619,17 +47915,17 @@ function p3(e) {
|
|
|
47619
47915
|
},
|
|
47620
47916
|
get fallback() {
|
|
47621
47917
|
return [
|
|
47622
|
-
|
|
47918
|
+
A3(),
|
|
47623
47919
|
(() => {
|
|
47624
|
-
var e =
|
|
47920
|
+
var e = j3(), t = e.firstChild;
|
|
47625
47921
|
return P(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
47626
47922
|
})(),
|
|
47627
47923
|
(() => {
|
|
47628
|
-
var e =
|
|
47924
|
+
var e = M3(), t = e.firstChild;
|
|
47629
47925
|
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;
|
|
47630
47926
|
})(),
|
|
47631
47927
|
(() => {
|
|
47632
|
-
var e =
|
|
47928
|
+
var e = b3();
|
|
47633
47929
|
return e.$$click = (e) => {
|
|
47634
47930
|
e.stopPropagation(), !ce && o2();
|
|
47635
47931
|
}, e;
|
|
@@ -47638,13 +47934,13 @@ function p3(e) {
|
|
|
47638
47934
|
},
|
|
47639
47935
|
get children() {
|
|
47640
47936
|
return [
|
|
47641
|
-
|
|
47937
|
+
v3(),
|
|
47642
47938
|
(() => {
|
|
47643
|
-
var e =
|
|
47939
|
+
var e = y3();
|
|
47644
47940
|
return P(e, () => y(_())), e;
|
|
47645
47941
|
})(),
|
|
47646
47942
|
(() => {
|
|
47647
|
-
var e =
|
|
47943
|
+
var e = b3();
|
|
47648
47944
|
return e.$$click = () => {
|
|
47649
47945
|
ce || eO();
|
|
47650
47946
|
}, e;
|
|
@@ -47658,17 +47954,17 @@ function p3(e) {
|
|
|
47658
47954
|
return d();
|
|
47659
47955
|
},
|
|
47660
47956
|
get children() {
|
|
47661
|
-
var e =
|
|
47957
|
+
var e = S3(), t = e.firstChild;
|
|
47662
47958
|
return P(e, j(M, {
|
|
47663
47959
|
get when() {
|
|
47664
47960
|
return u().length > 0;
|
|
47665
47961
|
},
|
|
47666
47962
|
get children() {
|
|
47667
|
-
return [
|
|
47963
|
+
return [x3(), j(We, {
|
|
47668
47964
|
get each() {
|
|
47669
47965
|
return u();
|
|
47670
47966
|
},
|
|
47671
|
-
children: (e) => j(
|
|
47967
|
+
children: (e) => j(U3, {
|
|
47672
47968
|
agent: e,
|
|
47673
47969
|
review: !0,
|
|
47674
47970
|
onOpen: de
|
|
@@ -47680,14 +47976,14 @@ function p3(e) {
|
|
|
47680
47976
|
return l().length > 0;
|
|
47681
47977
|
},
|
|
47682
47978
|
get fallback() {
|
|
47683
|
-
return
|
|
47979
|
+
return N3();
|
|
47684
47980
|
},
|
|
47685
47981
|
get children() {
|
|
47686
47982
|
return j(We, {
|
|
47687
47983
|
get each() {
|
|
47688
47984
|
return l();
|
|
47689
47985
|
},
|
|
47690
|
-
children: (e) => j(
|
|
47986
|
+
children: (e) => j(U3, {
|
|
47691
47987
|
agent: e,
|
|
47692
47988
|
onOpen: de
|
|
47693
47989
|
})
|
|
@@ -47708,8 +48004,8 @@ function p3(e) {
|
|
|
47708
48004
|
return t();
|
|
47709
48005
|
},
|
|
47710
48006
|
get children() {
|
|
47711
|
-
var e =
|
|
47712
|
-
return t.$$pointerdown = fe, P(e, j(
|
|
48007
|
+
var e = w3(), t = e.firstChild;
|
|
48008
|
+
return t.$$pointerdown = fe, P(e, j(g3, {
|
|
47713
48009
|
onGrab: () => n(!0),
|
|
47714
48010
|
onClose: () => n(!1),
|
|
47715
48011
|
get onHeaderPointerDown() {
|
|
@@ -47737,19 +48033,19 @@ function p3(e) {
|
|
|
47737
48033
|
}
|
|
47738
48034
|
})];
|
|
47739
48035
|
}
|
|
47740
|
-
function
|
|
48036
|
+
function U3(e) {
|
|
47741
48037
|
return (() => {
|
|
47742
|
-
var t =
|
|
48038
|
+
var t = P3(), n = t.firstChild, r = n.firstChild, i = r.nextSibling, a = i.nextSibling, o = n.nextSibling, s = o.firstChild, c = s.nextSibling;
|
|
47743
48039
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
47744
48040
|
var t = $e(() => !!e.review);
|
|
47745
48041
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
47746
|
-
})(), s), P(o, () => e.agent.delegateName, c), P(o, () =>
|
|
48042
|
+
})(), s), P(o, () => e.agent.delegateName, c), P(o, () => W3(e.agent.updatedAt), null), D((t) => dt(r, "background", e.review ? "var(--color-warn)" : e.agent.stateColor)), t;
|
|
47747
48043
|
})();
|
|
47748
48044
|
}
|
|
47749
|
-
function
|
|
48045
|
+
function W3(e) {
|
|
47750
48046
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
47751
48047
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
47752
48048
|
}
|
|
47753
48049
|
rt(["pointerdown", "click"]);
|
|
47754
48050
|
//#endregion
|
|
47755
|
-
export {
|
|
48051
|
+
export { F3 as init };
|