linear-grab 0.22.3 → 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 +444 -179
- package/package.json +1 -1
package/dist/linear-grab.js
CHANGED
|
@@ -45964,39 +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(
|
|
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({
|
|
45985
46157
|
active: !1,
|
|
45986
46158
|
msLeft: 0,
|
|
45987
46159
|
total: 0,
|
|
45988
46160
|
byTrigger: {}
|
|
45989
46161
|
});
|
|
45990
46162
|
ae(i2(p));
|
|
45991
|
-
let m = (
|
|
45992
|
-
|
|
45993
|
-
|
|
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 () => {
|
|
45994
46181
|
l(null), a("extract"), window.dispatchEvent(new CustomEvent(BZ));
|
|
45995
46182
|
try {
|
|
45996
46183
|
let t = await u2();
|
|
45997
46184
|
if (!t) return;
|
|
45998
46185
|
let n = await e2(t), i = Date.now();
|
|
45999
|
-
|
|
46186
|
+
o4.set(i, new WeakRef(t)), S([{
|
|
46000
46187
|
id: i,
|
|
46001
46188
|
genome: n
|
|
46002
46189
|
}, ...e()]), r(i);
|
|
@@ -46005,16 +46192,16 @@ function P2() {
|
|
|
46005
46192
|
} finally {
|
|
46006
46193
|
a(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46007
46194
|
}
|
|
46008
|
-
},
|
|
46195
|
+
}, w = async (t) => {
|
|
46009
46196
|
l(null), a(t.id), window.dispatchEvent(new CustomEvent(BZ));
|
|
46010
46197
|
try {
|
|
46011
|
-
let n =
|
|
46198
|
+
let n = o4.get(t.id)?.deref() ?? null;
|
|
46012
46199
|
if (!n || !n.isConnected) {
|
|
46013
46200
|
if (n = await u2(), !n) return;
|
|
46014
|
-
|
|
46201
|
+
o4.set(t.id, new WeakRef(n));
|
|
46015
46202
|
}
|
|
46016
46203
|
let r = await c2(n, 8e3, (e) => s(Math.ceil(e / 1e3)));
|
|
46017
|
-
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 ? {
|
|
46018
46205
|
...e,
|
|
46019
46206
|
genome: {
|
|
46020
46207
|
...e.genome,
|
|
@@ -46026,26 +46213,28 @@ function P2() {
|
|
|
46026
46213
|
} finally {
|
|
46027
46214
|
a(null), s(null), oj("design"), window.dispatchEvent(new CustomEvent(VZ));
|
|
46028
46215
|
}
|
|
46029
|
-
},
|
|
46216
|
+
}, E = async (e) => {
|
|
46030
46217
|
try {
|
|
46031
46218
|
await navigator.clipboard.writeText(l2(e.genome)), d(e.id), setTimeout(() => d(null), 1600);
|
|
46032
46219
|
} catch {
|
|
46033
46220
|
l("Clipboard was blocked — click Copy again.");
|
|
46034
46221
|
}
|
|
46035
|
-
},
|
|
46036
|
-
|
|
46222
|
+
}, O = (t) => {
|
|
46223
|
+
o4.delete(t), S(e().filter((e) => e.id !== t));
|
|
46037
46224
|
};
|
|
46038
46225
|
return (() => {
|
|
46039
|
-
var t =
|
|
46040
|
-
|
|
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, {
|
|
46041
46230
|
variant: "primary",
|
|
46042
46231
|
class: "h-7 shrink-0 px-2.5 text-[11.5px]",
|
|
46043
46232
|
get loading() {
|
|
46044
46233
|
return i() === "extract";
|
|
46045
46234
|
},
|
|
46046
|
-
onClick: () => void
|
|
46235
|
+
onClick: () => void C(),
|
|
46047
46236
|
get children() {
|
|
46048
|
-
return
|
|
46237
|
+
return j2();
|
|
46049
46238
|
}
|
|
46050
46239
|
}), null), P(t, j(M, {
|
|
46051
46240
|
get when() {
|
|
@@ -46056,7 +46245,7 @@ function P2() {
|
|
|
46056
46245
|
return c();
|
|
46057
46246
|
} });
|
|
46058
46247
|
}
|
|
46059
|
-
}),
|
|
46248
|
+
}), o), P(t, j(M, {
|
|
46060
46249
|
get when() {
|
|
46061
46250
|
return e().length > 0;
|
|
46062
46251
|
},
|
|
@@ -46067,7 +46256,7 @@ function P2() {
|
|
|
46067
46256
|
});
|
|
46068
46257
|
},
|
|
46069
46258
|
get children() {
|
|
46070
|
-
var t =
|
|
46259
|
+
var t = M2();
|
|
46071
46260
|
return t.firstChild, P(t, j(We, {
|
|
46072
46261
|
get each() {
|
|
46073
46262
|
return e();
|
|
@@ -46075,7 +46264,7 @@ function P2() {
|
|
|
46075
46264
|
children: (e) => {
|
|
46076
46265
|
let t = () => n() === e.id;
|
|
46077
46266
|
return (() => {
|
|
46078
|
-
var n =
|
|
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;
|
|
46079
46268
|
p.nextSibling;
|
|
46080
46269
|
var m = l.nextSibling;
|
|
46081
46270
|
return s.$$click = () => r(t() ? null : e.id), P(c, () => e.genome.title), P(l, () => e.genome.nodes.length, d), P(l, (() => {
|
|
@@ -46086,19 +46275,19 @@ function P2() {
|
|
|
46086
46275
|
return t();
|
|
46087
46276
|
},
|
|
46088
46277
|
get children() {
|
|
46089
|
-
var t =
|
|
46278
|
+
var t = U2(), n = t.firstChild, r = n.nextSibling, a = r.nextSibling;
|
|
46090
46279
|
return P(n, () => e.genome.pageUrl), P(r, j(We, {
|
|
46091
46280
|
get each() {
|
|
46092
46281
|
return e.genome.nodes;
|
|
46093
46282
|
},
|
|
46094
46283
|
children: (e) => (() => {
|
|
46095
|
-
var t =
|
|
46284
|
+
var t = K2(), n = t.firstChild;
|
|
46096
46285
|
return P(n, () => e.label, null), P(n, j(M, {
|
|
46097
46286
|
get when() {
|
|
46098
46287
|
return e.count > 1;
|
|
46099
46288
|
},
|
|
46100
46289
|
get children() {
|
|
46101
|
-
var t =
|
|
46290
|
+
var t = G2();
|
|
46102
46291
|
return t.firstChild, P(t, () => e.count, null), t;
|
|
46103
46292
|
}
|
|
46104
46293
|
}), null), P(t, j(We, {
|
|
@@ -46106,13 +46295,13 @@ function P2() {
|
|
|
46106
46295
|
return Object.entries(e.styles);
|
|
46107
46296
|
},
|
|
46108
46297
|
children: ([t, n]) => (() => {
|
|
46109
|
-
var r =
|
|
46298
|
+
var r = J2(), i = r.firstChild;
|
|
46110
46299
|
return P(r, t, i), P(r, n, null), P(r, j(M, {
|
|
46111
46300
|
get when() {
|
|
46112
46301
|
return e.tokens[t];
|
|
46113
46302
|
},
|
|
46114
46303
|
get children() {
|
|
46115
|
-
var n =
|
|
46304
|
+
var n = q2(), r = n.firstChild.nextSibling;
|
|
46116
46305
|
return r.nextSibling, P(n, () => e.tokens[t], r), n;
|
|
46117
46306
|
}
|
|
46118
46307
|
}), null), r;
|
|
@@ -46124,18 +46313,18 @@ function P2() {
|
|
|
46124
46313
|
return e.genome.states.length > 0;
|
|
46125
46314
|
},
|
|
46126
46315
|
get children() {
|
|
46127
|
-
return [
|
|
46316
|
+
return [R2(), j(We, {
|
|
46128
46317
|
get each() {
|
|
46129
46318
|
return e.genome.states;
|
|
46130
46319
|
},
|
|
46131
46320
|
children: (e) => (() => {
|
|
46132
|
-
var t =
|
|
46321
|
+
var t = Y2(), n = t.firstChild, r = n.firstChild;
|
|
46133
46322
|
return P(n, () => e.label, r), P(n, () => e.trigger, null), P(t, j(We, {
|
|
46134
46323
|
get each() {
|
|
46135
46324
|
return Object.entries(e.changed);
|
|
46136
46325
|
},
|
|
46137
46326
|
children: ([e, t]) => (() => {
|
|
46138
|
-
var n =
|
|
46327
|
+
var n = X2(), r = n.firstChild, i = r.nextSibling;
|
|
46139
46328
|
return i.nextSibling, P(n, e, r), P(n, () => t.from, i), P(n, () => t.to, null), n;
|
|
46140
46329
|
})()
|
|
46141
46330
|
}), null), t;
|
|
@@ -46155,9 +46344,9 @@ function P2() {
|
|
|
46155
46344
|
},
|
|
46156
46345
|
title: "Capture states — records hover/focus/open styles for 8s while you interact; the pill shows the timer and Stop",
|
|
46157
46346
|
"aria-label": "Capture interaction states",
|
|
46158
|
-
onClick: () => void
|
|
46347
|
+
onClick: () => void w(e),
|
|
46159
46348
|
get children() {
|
|
46160
|
-
return
|
|
46349
|
+
return Z2();
|
|
46161
46350
|
}
|
|
46162
46351
|
});
|
|
46163
46352
|
},
|
|
@@ -46171,10 +46360,10 @@ function P2() {
|
|
|
46171
46360
|
"aria-label": "Stop recording states",
|
|
46172
46361
|
onClick: () => o2(),
|
|
46173
46362
|
get children() {
|
|
46174
|
-
return
|
|
46363
|
+
return z2();
|
|
46175
46364
|
}
|
|
46176
46365
|
}), (() => {
|
|
46177
|
-
var e =
|
|
46366
|
+
var e = B2(), t = e.firstChild, n = t.nextSibling;
|
|
46178
46367
|
return n.nextSibling, P(e, () => Math.ceil(f().msLeft / 1e3), t), P(e, () => f().total, n), e;
|
|
46179
46368
|
})()];
|
|
46180
46369
|
}
|
|
@@ -46185,17 +46374,17 @@ function P2() {
|
|
|
46185
46374
|
return u() === e.id ? "Copied!" : "Copy spec — markdown for an agent or issue";
|
|
46186
46375
|
},
|
|
46187
46376
|
"aria-label": "Copy genome spec",
|
|
46188
|
-
onClick: () => void
|
|
46377
|
+
onClick: () => void E(e),
|
|
46189
46378
|
get children() {
|
|
46190
46379
|
return j(M, {
|
|
46191
46380
|
get when() {
|
|
46192
46381
|
return u() === e.id;
|
|
46193
46382
|
},
|
|
46194
46383
|
get fallback() {
|
|
46195
|
-
return
|
|
46384
|
+
return Q2();
|
|
46196
46385
|
},
|
|
46197
46386
|
get children() {
|
|
46198
|
-
return
|
|
46387
|
+
return V2();
|
|
46199
46388
|
}
|
|
46200
46389
|
});
|
|
46201
46390
|
}
|
|
@@ -46204,9 +46393,9 @@ function P2() {
|
|
|
46204
46393
|
variant: "ghost",
|
|
46205
46394
|
title: "Delete this genome",
|
|
46206
46395
|
"aria-label": "Delete genome",
|
|
46207
|
-
onClick: () =>
|
|
46396
|
+
onClick: () => O(e.id),
|
|
46208
46397
|
get children() {
|
|
46209
|
-
return
|
|
46398
|
+
return H2();
|
|
46210
46399
|
}
|
|
46211
46400
|
}), null), t;
|
|
46212
46401
|
}
|
|
@@ -46221,13 +46410,89 @@ function P2() {
|
|
|
46221
46410
|
}
|
|
46222
46411
|
}), null), t;
|
|
46223
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
|
+
}
|
|
46224
46489
|
}), null), t;
|
|
46225
46490
|
})();
|
|
46226
46491
|
}
|
|
46227
46492
|
rt(["click"]);
|
|
46228
46493
|
//#endregion
|
|
46229
46494
|
//#region src/lib/projectConfig.ts
|
|
46230
|
-
var
|
|
46495
|
+
var c4 = [
|
|
46231
46496
|
"defaultTeamId",
|
|
46232
46497
|
"defaultProjectId",
|
|
46233
46498
|
"defaultLabelIds",
|
|
@@ -46242,29 +46507,29 @@ var F2 = [
|
|
|
46242
46507
|
"issueTemplate",
|
|
46243
46508
|
"testUsername"
|
|
46244
46509
|
];
|
|
46245
|
-
function
|
|
46510
|
+
function l4(e) {
|
|
46246
46511
|
let t = {};
|
|
46247
|
-
for (let n of
|
|
46512
|
+
for (let n of c4) {
|
|
46248
46513
|
let r = e[n];
|
|
46249
46514
|
r !== void 0 && r !== "" && !(Array.isArray(r) && r.length === 0) && (t[n] = r);
|
|
46250
46515
|
}
|
|
46251
46516
|
return t;
|
|
46252
46517
|
}
|
|
46253
|
-
function
|
|
46518
|
+
function u4(e, t) {
|
|
46254
46519
|
let n = {};
|
|
46255
|
-
for (let r of
|
|
46520
|
+
for (let r of c4) e[r] === void 0 && t[r] !== void 0 && (n[r] = t[r]);
|
|
46256
46521
|
return Object.keys(n).length ? n : null;
|
|
46257
46522
|
}
|
|
46258
46523
|
//#endregion
|
|
46259
46524
|
//#region src/lib/linear/auth.ts
|
|
46260
46525
|
Br();
|
|
46261
|
-
function
|
|
46526
|
+
function d4(e) {
|
|
46262
46527
|
let t = "";
|
|
46263
46528
|
for (let n of e) t += String.fromCharCode(n);
|
|
46264
46529
|
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
46265
46530
|
}
|
|
46266
|
-
async function
|
|
46267
|
-
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");
|
|
46268
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");
|
|
46269
46534
|
let s = await chrome.identity.launchWebAuthFlow({
|
|
46270
46535
|
url: o.toString(),
|
|
@@ -46292,15 +46557,15 @@ async function z2(e) {
|
|
|
46292
46557
|
linearOauthClientId: e
|
|
46293
46558
|
});
|
|
46294
46559
|
}
|
|
46295
|
-
async function
|
|
46560
|
+
async function p4() {
|
|
46296
46561
|
await Er({
|
|
46297
46562
|
linearAccessToken: void 0,
|
|
46298
46563
|
linearApiKey: void 0
|
|
46299
46564
|
});
|
|
46300
46565
|
}
|
|
46301
46566
|
Br(), Sr(), Fx(), gD();
|
|
46302
|
-
var
|
|
46303
|
-
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() {
|
|
46304
46569
|
let e = sr(), t = _r(() => ({
|
|
46305
46570
|
queryKey: ["settings"],
|
|
46306
46571
|
queryFn: Tr,
|
|
@@ -46328,13 +46593,13 @@ function T4() {
|
|
|
46328
46593
|
retry: 0
|
|
46329
46594
|
})), [l, u] = T(!1), d = async () => {
|
|
46330
46595
|
try {
|
|
46331
|
-
await navigator.clipboard.writeText(JSON.stringify(
|
|
46596
|
+
await navigator.clipboard.writeText(JSON.stringify(l4(n()), null, 2) + "\n"), u(!0), setTimeout(() => u(!1), 1800);
|
|
46332
46597
|
} catch {}
|
|
46333
46598
|
}, f = () => {
|
|
46334
46599
|
let e = c.data?.projectConfig;
|
|
46335
46600
|
if (!e) return;
|
|
46336
46601
|
let t = {};
|
|
46337
|
-
for (let n of
|
|
46602
|
+
for (let n of c4) e[n] !== void 0 && (t[n] = e[n]);
|
|
46338
46603
|
r(t);
|
|
46339
46604
|
}, p = _r(() => ({
|
|
46340
46605
|
queryKey: ["linear-labels"],
|
|
@@ -46367,7 +46632,7 @@ function T4() {
|
|
|
46367
46632
|
}
|
|
46368
46633
|
E(!0), ee("");
|
|
46369
46634
|
try {
|
|
46370
|
-
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"] });
|
|
46371
46636
|
} catch (e) {
|
|
46372
46637
|
ee(e instanceof Error ? e.message : "OAuth flow failed.");
|
|
46373
46638
|
} finally {
|
|
@@ -46378,7 +46643,7 @@ function T4() {
|
|
|
46378
46643
|
async function re() {
|
|
46379
46644
|
ne(!0);
|
|
46380
46645
|
try {
|
|
46381
|
-
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"] });
|
|
46382
46647
|
} finally {
|
|
46383
46648
|
ne(!1);
|
|
46384
46649
|
}
|
|
@@ -46394,12 +46659,12 @@ function T4() {
|
|
|
46394
46659
|
return e ? `Drafting with ${e} — ${Nx[e].fast} (fast) / ${Nx[e].best} (best)` : null;
|
|
46395
46660
|
});
|
|
46396
46661
|
return (() => {
|
|
46397
|
-
var e =
|
|
46662
|
+
var e = z4();
|
|
46398
46663
|
return P(e, j(Rj, {
|
|
46399
46664
|
title: "Workflow",
|
|
46400
46665
|
get children() {
|
|
46401
46666
|
return [(() => {
|
|
46402
|
-
var e =
|
|
46667
|
+
var e = m4();
|
|
46403
46668
|
return P(e, j(We, {
|
|
46404
46669
|
each: [{
|
|
46405
46670
|
id: "cloud",
|
|
@@ -46409,19 +46674,19 @@ function T4() {
|
|
|
46409
46674
|
label: "Local · clipboard"
|
|
46410
46675
|
}],
|
|
46411
46676
|
children: (e) => (() => {
|
|
46412
|
-
var t =
|
|
46677
|
+
var t = B4();
|
|
46413
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;
|
|
46414
46679
|
})()
|
|
46415
46680
|
})), e;
|
|
46416
|
-
})(),
|
|
46681
|
+
})(), h4()];
|
|
46417
46682
|
}
|
|
46418
46683
|
}), null), P(e, j(Rj, {
|
|
46419
46684
|
title: "Capture",
|
|
46420
46685
|
get children() {
|
|
46421
46686
|
return [(() => {
|
|
46422
|
-
var e =
|
|
46687
|
+
var e = g4(), t = e.firstChild;
|
|
46423
46688
|
return t.addEventListener("change", (e) => void r({ captureShots: e.currentTarget.checked || void 0 })), D(() => t.checked = !!n().captureShots), e;
|
|
46424
|
-
})(),
|
|
46689
|
+
})(), _4()];
|
|
46425
46690
|
}
|
|
46426
46691
|
}), null), P(e, j(Rj, {
|
|
46427
46692
|
title: "Linear",
|
|
@@ -46432,13 +46697,13 @@ function T4() {
|
|
|
46432
46697
|
},
|
|
46433
46698
|
get fallback() {
|
|
46434
46699
|
return (() => {
|
|
46435
|
-
var e =
|
|
46700
|
+
var e = W4();
|
|
46436
46701
|
return P(e, j(Lj, {
|
|
46437
46702
|
label: "Personal API key",
|
|
46438
46703
|
hint: "Create one at linear.app → Settings → API — fastest path.",
|
|
46439
46704
|
get children() {
|
|
46440
46705
|
return [(() => {
|
|
46441
|
-
var e =
|
|
46706
|
+
var e = V4();
|
|
46442
46707
|
return P(e, j(jj, {
|
|
46443
46708
|
type: "password",
|
|
46444
46709
|
placeholder: "lin_api_…",
|
|
@@ -46475,12 +46740,12 @@ function T4() {
|
|
|
46475
46740
|
}), null), P(e, j(M, {
|
|
46476
46741
|
when: xr,
|
|
46477
46742
|
get children() {
|
|
46478
|
-
return [
|
|
46743
|
+
return [H4(), j(Lj, {
|
|
46479
46744
|
label: "OAuth client ID",
|
|
46480
46745
|
get children() {
|
|
46481
46746
|
return [
|
|
46482
46747
|
(() => {
|
|
46483
|
-
var e =
|
|
46748
|
+
var e = V4();
|
|
46484
46749
|
return P(e, j(jj, {
|
|
46485
46750
|
placeholder: "your-client-id",
|
|
46486
46751
|
get value() {
|
|
@@ -46508,7 +46773,7 @@ function T4() {
|
|
|
46508
46773
|
}
|
|
46509
46774
|
}),
|
|
46510
46775
|
(() => {
|
|
46511
|
-
var e =
|
|
46776
|
+
var e = U4(), t = e.firstChild.nextSibling.nextSibling;
|
|
46512
46777
|
return P(t, ie), e;
|
|
46513
46778
|
})()
|
|
46514
46779
|
];
|
|
@@ -46519,13 +46784,13 @@ function T4() {
|
|
|
46519
46784
|
})();
|
|
46520
46785
|
},
|
|
46521
46786
|
get children() {
|
|
46522
|
-
var e =
|
|
46787
|
+
var e = y4(), t = e.firstChild;
|
|
46523
46788
|
return P(t, j(M, {
|
|
46524
46789
|
get when() {
|
|
46525
46790
|
return !a.isLoading;
|
|
46526
46791
|
},
|
|
46527
46792
|
get fallback() {
|
|
46528
|
-
return
|
|
46793
|
+
return G4();
|
|
46529
46794
|
},
|
|
46530
46795
|
get children() {
|
|
46531
46796
|
return j(M, {
|
|
@@ -46538,7 +46803,7 @@ function T4() {
|
|
|
46538
46803
|
return a.isError;
|
|
46539
46804
|
},
|
|
46540
46805
|
get fallback() {
|
|
46541
|
-
return
|
|
46806
|
+
return G4();
|
|
46542
46807
|
},
|
|
46543
46808
|
get children() {
|
|
46544
46809
|
return j(Hj, { message: "Key rejected — reconnect" });
|
|
@@ -46546,7 +46811,7 @@ function T4() {
|
|
|
46546
46811
|
});
|
|
46547
46812
|
},
|
|
46548
46813
|
get children() {
|
|
46549
|
-
var e =
|
|
46814
|
+
var e = v4(), t = e.firstChild.nextSibling, n = t.nextSibling.nextSibling;
|
|
46550
46815
|
return P(t, () => a.data.name), P(n, () => a.data.email), e;
|
|
46551
46816
|
}
|
|
46552
46817
|
});
|
|
@@ -46587,7 +46852,7 @@ function T4() {
|
|
|
46587
46852
|
return o.isLoading;
|
|
46588
46853
|
},
|
|
46589
46854
|
get children() {
|
|
46590
|
-
return [
|
|
46855
|
+
return [b4(), j(M, {
|
|
46591
46856
|
get when() {
|
|
46592
46857
|
return o.data;
|
|
46593
46858
|
},
|
|
@@ -46597,7 +46862,7 @@ function T4() {
|
|
|
46597
46862
|
return o.data;
|
|
46598
46863
|
},
|
|
46599
46864
|
children: (e) => (() => {
|
|
46600
|
-
var t =
|
|
46865
|
+
var t = K4(), r = t.firstChild, i = r.nextSibling;
|
|
46601
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;
|
|
46602
46867
|
})()
|
|
46603
46868
|
});
|
|
@@ -46621,14 +46886,14 @@ function T4() {
|
|
|
46621
46886
|
},
|
|
46622
46887
|
get children() {
|
|
46623
46888
|
return [(() => {
|
|
46624
|
-
var e =
|
|
46889
|
+
var e = x4();
|
|
46625
46890
|
return D(() => e.selected = !n().defaultProjectId), e;
|
|
46626
46891
|
})(), j(We, {
|
|
46627
46892
|
get each() {
|
|
46628
46893
|
return s.data ?? [];
|
|
46629
46894
|
},
|
|
46630
46895
|
children: (e) => (() => {
|
|
46631
|
-
var t =
|
|
46896
|
+
var t = q4();
|
|
46632
46897
|
return P(t, () => e.name), D(() => t.selected = e.id === n().defaultProjectId), D(() => t.value = e.id), t;
|
|
46633
46898
|
})()
|
|
46634
46899
|
})];
|
|
@@ -46640,7 +46905,7 @@ function T4() {
|
|
|
46640
46905
|
label: "Default labels",
|
|
46641
46906
|
hint: "Applied to every issue created from the panel.",
|
|
46642
46907
|
get children() {
|
|
46643
|
-
var e =
|
|
46908
|
+
var e = S4();
|
|
46644
46909
|
return P(e, j(We, {
|
|
46645
46910
|
get each() {
|
|
46646
46911
|
return p.data ?? [];
|
|
@@ -46648,7 +46913,7 @@ function T4() {
|
|
|
46648
46913
|
children: (e) => {
|
|
46649
46914
|
let t = () => (n().defaultLabelIds ?? []).includes(e.id);
|
|
46650
46915
|
return (() => {
|
|
46651
|
-
var i =
|
|
46916
|
+
var i = J4(), a = i.firstChild;
|
|
46652
46917
|
return i.$$click = () => {
|
|
46653
46918
|
let i = n().defaultLabelIds ?? [];
|
|
46654
46919
|
r({ defaultLabelIds: t() ? i.filter((t) => t !== e.id) : [...i, e.id] });
|
|
@@ -46665,7 +46930,7 @@ function T4() {
|
|
|
46665
46930
|
}
|
|
46666
46931
|
}),
|
|
46667
46932
|
(() => {
|
|
46668
|
-
var e =
|
|
46933
|
+
var e = C4(), t = e.firstChild;
|
|
46669
46934
|
return t.addEventListener("change", (e) => void r({ shareLinearKey: e.currentTarget.checked })), D(() => t.checked = !!n().shareLinearKey), e;
|
|
46670
46935
|
})(),
|
|
46671
46936
|
j(Lj, {
|
|
@@ -46715,7 +46980,7 @@ function T4() {
|
|
|
46715
46980
|
return m.isLoading;
|
|
46716
46981
|
},
|
|
46717
46982
|
get children() {
|
|
46718
|
-
return [
|
|
46983
|
+
return [Y4(), j(M, {
|
|
46719
46984
|
get when() {
|
|
46720
46985
|
return m.data;
|
|
46721
46986
|
},
|
|
@@ -46725,7 +46990,7 @@ function T4() {
|
|
|
46725
46990
|
return m.data;
|
|
46726
46991
|
},
|
|
46727
46992
|
children: (e) => (() => {
|
|
46728
|
-
var t =
|
|
46993
|
+
var t = q4();
|
|
46729
46994
|
return P(t, () => e.displayName), D(() => t.selected = e.id === n().cursorAgentId), D(() => t.value = e.id), t;
|
|
46730
46995
|
})()
|
|
46731
46996
|
});
|
|
@@ -46735,7 +47000,7 @@ function T4() {
|
|
|
46735
47000
|
});
|
|
46736
47001
|
},
|
|
46737
47002
|
get children() {
|
|
46738
|
-
return
|
|
47003
|
+
return w4();
|
|
46739
47004
|
}
|
|
46740
47005
|
});
|
|
46741
47006
|
}
|
|
@@ -46783,7 +47048,7 @@ function T4() {
|
|
|
46783
47048
|
onBlur: (e) => {
|
|
46784
47049
|
r({ issueTemplate: e.currentTarget.value.trim() || void 0 });
|
|
46785
47050
|
}
|
|
46786
|
-
}),
|
|
47051
|
+
}), T4()];
|
|
46787
47052
|
}
|
|
46788
47053
|
}),
|
|
46789
47054
|
j(Lj, {
|
|
@@ -46840,7 +47105,7 @@ function T4() {
|
|
|
46840
47105
|
label: "Test account",
|
|
46841
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.",
|
|
46842
47107
|
get children() {
|
|
46843
|
-
var e =
|
|
47108
|
+
var e = E4();
|
|
46844
47109
|
return P(e, j(jj, {
|
|
46845
47110
|
placeholder: "Username or email (e.g. demo@yourapp.com)",
|
|
46846
47111
|
get value() {
|
|
@@ -46872,7 +47137,7 @@ function T4() {
|
|
|
46872
47137
|
title: "Panel",
|
|
46873
47138
|
get children() {
|
|
46874
47139
|
return [(() => {
|
|
46875
|
-
var e =
|
|
47140
|
+
var e = D4(), t = e.firstChild.nextSibling;
|
|
46876
47141
|
return P(t, j(We, {
|
|
46877
47142
|
each: [{
|
|
46878
47143
|
id: "overlay",
|
|
@@ -46882,7 +47147,7 @@ function T4() {
|
|
|
46882
47147
|
label: "Beside page"
|
|
46883
47148
|
}],
|
|
46884
47149
|
children: (e) => (() => {
|
|
46885
|
-
var t =
|
|
47150
|
+
var t = B4();
|
|
46886
47151
|
return t.$$click = () => void r({
|
|
46887
47152
|
panelMode: e.id,
|
|
46888
47153
|
panelPos: void 0
|
|
@@ -46890,11 +47155,11 @@ function T4() {
|
|
|
46890
47155
|
})()
|
|
46891
47156
|
})), e;
|
|
46892
47157
|
})(), (() => {
|
|
46893
|
-
var e =
|
|
47158
|
+
var e = O4(), t = e.firstChild.nextSibling;
|
|
46894
47159
|
return P(t, j(We, {
|
|
46895
47160
|
each: ["left", "right"],
|
|
46896
47161
|
children: (e) => (() => {
|
|
46897
|
-
var t =
|
|
47162
|
+
var t = B4();
|
|
46898
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;
|
|
46899
47164
|
})()
|
|
46900
47165
|
})), e;
|
|
@@ -46924,8 +47189,8 @@ function T4() {
|
|
|
46924
47189
|
}), null), P(e, j(Rj, {
|
|
46925
47190
|
title: "Project config (.lineargrab.json)",
|
|
46926
47191
|
get children() {
|
|
46927
|
-
return [
|
|
46928
|
-
var e =
|
|
47192
|
+
return [k4(), (() => {
|
|
47193
|
+
var e = j4();
|
|
46929
47194
|
return P(e, j(M, {
|
|
46930
47195
|
get when() {
|
|
46931
47196
|
return c.data?.projectConfig;
|
|
@@ -46956,7 +47221,7 @@ function T4() {
|
|
|
46956
47221
|
},
|
|
46957
47222
|
onClick: () => void d(),
|
|
46958
47223
|
get children() {
|
|
46959
|
-
var e =
|
|
47224
|
+
var e = A4();
|
|
46960
47225
|
return P(e, () => l() ? "Copied ✓" : "Copy config"), e;
|
|
46961
47226
|
}
|
|
46962
47227
|
}), null), e;
|
|
@@ -47047,12 +47312,12 @@ function T4() {
|
|
|
47047
47312
|
});
|
|
47048
47313
|
},
|
|
47049
47314
|
get children() {
|
|
47050
|
-
return [
|
|
47315
|
+
return [M4(), j(We, {
|
|
47051
47316
|
get each() {
|
|
47052
47317
|
return ae.data ?? [];
|
|
47053
47318
|
},
|
|
47054
47319
|
children: (e) => (() => {
|
|
47055
|
-
var t =
|
|
47320
|
+
var t = X4();
|
|
47056
47321
|
return t.firstChild, P(t, () => e.name, null), D(() => t.selected = e.id === n().slackChannelId), D(() => t.value = e.id), t;
|
|
47057
47322
|
})()
|
|
47058
47323
|
})];
|
|
@@ -47103,10 +47368,10 @@ function T4() {
|
|
|
47103
47368
|
}
|
|
47104
47369
|
}),
|
|
47105
47370
|
(() => {
|
|
47106
|
-
var e =
|
|
47371
|
+
var e = N4(), t = e.firstChild;
|
|
47107
47372
|
return t.addEventListener("change", (e) => void r({ notifyOnCreate: e.currentTarget.checked ? void 0 : !1 })), D(() => t.checked = n().notifyOnCreate !== !1), e;
|
|
47108
47373
|
})(),
|
|
47109
|
-
|
|
47374
|
+
P4()
|
|
47110
47375
|
];
|
|
47111
47376
|
}
|
|
47112
47377
|
}), null), P(e, j(Rj, {
|
|
@@ -47144,7 +47409,7 @@ function T4() {
|
|
|
47144
47409
|
}
|
|
47145
47410
|
}),
|
|
47146
47411
|
(() => {
|
|
47147
|
-
var e =
|
|
47412
|
+
var e = F4(), t = e.firstChild.nextSibling.firstChild, i = t.nextSibling, a = i.nextSibling;
|
|
47148
47413
|
return t.$$click = () => void r({ preferredProvider: void 0 }), i.$$click = () => void r({ preferredProvider: "openai" }), a.$$click = () => void r({ preferredProvider: "anthropic" }), D((e) => {
|
|
47149
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;
|
|
47150
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;
|
|
@@ -47157,16 +47422,16 @@ function T4() {
|
|
|
47157
47422
|
}), e;
|
|
47158
47423
|
})(),
|
|
47159
47424
|
(() => {
|
|
47160
|
-
var e =
|
|
47425
|
+
var e = L4();
|
|
47161
47426
|
return P(e, j(M, {
|
|
47162
47427
|
get when() {
|
|
47163
47428
|
return se();
|
|
47164
47429
|
},
|
|
47165
47430
|
get fallback() {
|
|
47166
|
-
return
|
|
47431
|
+
return Z4();
|
|
47167
47432
|
},
|
|
47168
47433
|
get children() {
|
|
47169
|
-
var e =
|
|
47434
|
+
var e = I4();
|
|
47170
47435
|
return P(e, se), e;
|
|
47171
47436
|
}
|
|
47172
47437
|
})), e;
|
|
@@ -47176,7 +47441,7 @@ function T4() {
|
|
|
47176
47441
|
}), null), P(e, j(Rj, {
|
|
47177
47442
|
title: "How it works",
|
|
47178
47443
|
get children() {
|
|
47179
|
-
return
|
|
47444
|
+
return R4();
|
|
47180
47445
|
}
|
|
47181
47446
|
}), null), e;
|
|
47182
47447
|
})();
|
|
@@ -47184,38 +47449,38 @@ function T4() {
|
|
|
47184
47449
|
rt(["click"]);
|
|
47185
47450
|
//#endregion
|
|
47186
47451
|
//#region src/lib/idbCache.ts
|
|
47187
|
-
var
|
|
47452
|
+
var $4 = "linear-grab", e3 = "queries", t3 = [
|
|
47188
47453
|
"my-issues",
|
|
47189
47454
|
"issue",
|
|
47190
47455
|
"sessions",
|
|
47191
47456
|
"teams",
|
|
47192
47457
|
"agents"
|
|
47193
47458
|
];
|
|
47194
|
-
function
|
|
47459
|
+
function n3() {
|
|
47195
47460
|
return new Promise((e) => {
|
|
47196
47461
|
try {
|
|
47197
|
-
let t = indexedDB.open(
|
|
47198
|
-
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);
|
|
47199
47464
|
} catch {
|
|
47200
47465
|
e(null);
|
|
47201
47466
|
}
|
|
47202
47467
|
});
|
|
47203
47468
|
}
|
|
47204
|
-
function
|
|
47205
|
-
return typeof e[0] == "string" &&
|
|
47469
|
+
function r3(e) {
|
|
47470
|
+
return typeof e[0] == "string" && t3.includes(e[0]);
|
|
47206
47471
|
}
|
|
47207
|
-
async function
|
|
47208
|
-
let t = await
|
|
47472
|
+
async function i3(e) {
|
|
47473
|
+
let t = await n3();
|
|
47209
47474
|
if (!t) return () => {};
|
|
47210
47475
|
await new Promise((n) => {
|
|
47211
47476
|
try {
|
|
47212
|
-
let r = t.transaction(
|
|
47477
|
+
let r = t.transaction(e3, "readonly").objectStore(e3).openCursor();
|
|
47213
47478
|
r.onsuccess = () => {
|
|
47214
47479
|
let t = r.result;
|
|
47215
47480
|
if (!t) return n();
|
|
47216
47481
|
try {
|
|
47217
47482
|
let { queryKey: n, data: r } = t.value;
|
|
47218
|
-
|
|
47483
|
+
r3(n) && e.getQueryData(n) === void 0 && e.setQueryData(n, r, { updatedAt: 0 });
|
|
47219
47484
|
} catch {}
|
|
47220
47485
|
t.continue();
|
|
47221
47486
|
}, r.onerror = () => n();
|
|
@@ -47226,14 +47491,14 @@ async function j4(e) {
|
|
|
47226
47491
|
let n = /* @__PURE__ */ new Map(), r = e.getQueryCache().subscribe((r) => {
|
|
47227
47492
|
if (r.type !== "updated" || r.action.type !== "success") return;
|
|
47228
47493
|
let { queryKey: i, queryHash: a } = r.query;
|
|
47229
|
-
if (!
|
|
47494
|
+
if (!r3(i)) return;
|
|
47230
47495
|
let o = n.get(a);
|
|
47231
47496
|
o && clearTimeout(o), n.set(a, setTimeout(() => {
|
|
47232
47497
|
n.delete(a);
|
|
47233
47498
|
try {
|
|
47234
47499
|
let n = e.getQueryData(i);
|
|
47235
47500
|
if (n === void 0) return;
|
|
47236
|
-
t.transaction(
|
|
47501
|
+
t.transaction(e3, "readwrite").objectStore(e3).put({
|
|
47237
47502
|
queryKey: i,
|
|
47238
47503
|
data: n
|
|
47239
47504
|
}, a);
|
|
@@ -47249,7 +47514,7 @@ async function j4(e) {
|
|
|
47249
47514
|
//#endregion
|
|
47250
47515
|
//#region src/panel/App.tsx
|
|
47251
47516
|
Br();
|
|
47252
|
-
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 = [
|
|
47253
47518
|
{
|
|
47254
47519
|
id: "draft",
|
|
47255
47520
|
label: "Draft"
|
|
@@ -47286,35 +47551,35 @@ var M4 = /*#__PURE__*/ N("<svg viewBox=\"0 0 100 100\"fill=currentColor aria-hid
|
|
|
47286
47551
|
id: "settings",
|
|
47287
47552
|
label: "Settings"
|
|
47288
47553
|
}
|
|
47289
|
-
],
|
|
47290
|
-
function
|
|
47291
|
-
if (
|
|
47292
|
-
|
|
47554
|
+
], d3 = /* @__PURE__ */ new Set();
|
|
47555
|
+
function f3(e, t, n) {
|
|
47556
|
+
if (d3.has(e) || typeof Notification > "u") return;
|
|
47557
|
+
d3.add(e);
|
|
47293
47558
|
let r = () => new Notification(t, { body: n });
|
|
47294
47559
|
Notification.permission === "granted" ? r() : Notification.permission === "default" && Notification.requestPermission().then((e) => e === "granted" && r());
|
|
47295
47560
|
}
|
|
47296
|
-
function
|
|
47561
|
+
function p3() {
|
|
47297
47562
|
setInterval(() => {
|
|
47298
47563
|
NO().then((e) => {
|
|
47299
47564
|
for (let t of e) {
|
|
47300
47565
|
if (t.status !== "running") continue;
|
|
47301
47566
|
let e = t.lastEventAt ?? t.startedAt;
|
|
47302
|
-
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.`);
|
|
47303
47568
|
}
|
|
47304
47569
|
}).catch(() => {}), gO().then((e) => {
|
|
47305
|
-
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.`);
|
|
47306
47571
|
}).catch(() => {});
|
|
47307
47572
|
}, 6e4);
|
|
47308
47573
|
}
|
|
47309
|
-
|
|
47310
|
-
var
|
|
47574
|
+
p3();
|
|
47575
|
+
var m3 = new gr({ defaultOptions: { queries: {
|
|
47311
47576
|
retry: 1,
|
|
47312
47577
|
refetchOnWindowFocus: !1,
|
|
47313
47578
|
staleTime: 5e3
|
|
47314
47579
|
} } });
|
|
47315
|
-
function
|
|
47580
|
+
function h3(e) {
|
|
47316
47581
|
return (() => {
|
|
47317
|
-
var t =
|
|
47582
|
+
var t = a3();
|
|
47318
47583
|
return D((n) => {
|
|
47319
47584
|
var r = e.size ?? 14, i = e.size ?? 14;
|
|
47320
47585
|
return r !== n.e && it(t, "width", n.e = r), i !== n.t && it(t, "height", n.t = i), n;
|
|
@@ -47324,36 +47589,36 @@ function H4(e) {
|
|
|
47324
47589
|
}), t;
|
|
47325
47590
|
})();
|
|
47326
47591
|
}
|
|
47327
|
-
function
|
|
47592
|
+
function g3(e) {
|
|
47328
47593
|
let [t, n] = T("draft"), r = () => {
|
|
47329
|
-
|
|
47594
|
+
m3.invalidateQueries({ queryKey: ["grab"] }), cj() === "capture" && n("capture"), e.onGrab?.();
|
|
47330
47595
|
};
|
|
47331
47596
|
return O(() => {
|
|
47332
47597
|
let e = nj();
|
|
47333
47598
|
e && n(e);
|
|
47334
47599
|
}), ie(() => {
|
|
47335
|
-
let e =
|
|
47600
|
+
let e = i3(m3), t = XZ(r), n = () => {
|
|
47336
47601
|
JO().then(y$), VO(), MO().then(async (e) => {
|
|
47337
47602
|
if (!e.projectConfig) return;
|
|
47338
|
-
let t =
|
|
47603
|
+
let t = u4(await Tr(), e.projectConfig);
|
|
47339
47604
|
t && await Er(t);
|
|
47340
47605
|
}).catch(() => {});
|
|
47341
47606
|
};
|
|
47342
47607
|
n();
|
|
47343
47608
|
let i = Mr((e) => {
|
|
47344
|
-
e === "settings" && (
|
|
47609
|
+
e === "settings" && (m3.invalidateQueries({ queryKey: ["settings"] }), n()), e === "grab" && r();
|
|
47345
47610
|
});
|
|
47346
47611
|
ae(() => {
|
|
47347
47612
|
t(), i(), e.then((e) => e());
|
|
47348
47613
|
});
|
|
47349
47614
|
}), j(cr, {
|
|
47350
|
-
client:
|
|
47615
|
+
client: m3,
|
|
47351
47616
|
get children() {
|
|
47352
|
-
var r =
|
|
47353
|
-
return i.$$pointerdown = (t) => e.onHeaderPointerDown?.(t), P(a, j(
|
|
47354
|
-
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,
|
|
47355
47620
|
children: (e) => (() => {
|
|
47356
|
-
var r =
|
|
47621
|
+
var r = l3();
|
|
47357
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;
|
|
47358
47623
|
})()
|
|
47359
47624
|
})), P(i, j(M, {
|
|
@@ -47361,7 +47626,7 @@ function U4(e) {
|
|
|
47361
47626
|
return e.onTogglePin;
|
|
47362
47627
|
},
|
|
47363
47628
|
get children() {
|
|
47364
|
-
var t =
|
|
47629
|
+
var t = o3();
|
|
47365
47630
|
return t.$$click = () => e.onTogglePin?.(), D((n) => {
|
|
47366
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"}`;
|
|
47367
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;
|
|
@@ -47376,10 +47641,10 @@ function U4(e) {
|
|
|
47376
47641
|
return e.onClose;
|
|
47377
47642
|
},
|
|
47378
47643
|
get children() {
|
|
47379
|
-
var t =
|
|
47644
|
+
var t = s3();
|
|
47380
47645
|
return t.$$click = () => e.onClose?.(), t;
|
|
47381
47646
|
}
|
|
47382
|
-
}), 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) => {
|
|
47383
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";
|
|
47384
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;
|
|
47385
47650
|
}, {
|
|
@@ -47400,16 +47665,16 @@ function U4(e) {
|
|
|
47400
47665
|
rt(["pointerdown", "click"]);
|
|
47401
47666
|
//#endregion
|
|
47402
47667
|
//#region src/styles/app.css?inline
|
|
47403
|
-
var W4 = "/*! 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}}";
|
|
47404
47669
|
//#endregion
|
|
47405
47670
|
//#region src/page/index.tsx
|
|
47406
47671
|
Br();
|
|
47407
|
-
var
|
|
47408
|
-
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 = {}) {
|
|
47409
47674
|
if (typeof window > "u" || window.__LINEAR_GRAB_PAGE__) return;
|
|
47410
47675
|
window.__LINEAR_GRAB_PAGE__ = !0;
|
|
47411
47676
|
let t = () => {
|
|
47412
|
-
lk(), JZ();
|
|
47677
|
+
lk(), D2(), JZ();
|
|
47413
47678
|
let t = document.createElement("div");
|
|
47414
47679
|
t.id = "linear-grab-root", document.body.appendChild(t);
|
|
47415
47680
|
let n = (e) => {
|
|
@@ -47437,17 +47702,17 @@ function c3(e = {}) {
|
|
|
47437
47702
|
"keypress"
|
|
47438
47703
|
]) window.addEventListener(e, n, { capture: !0 });
|
|
47439
47704
|
let r = t.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
47440
|
-
i.textContent =
|
|
47705
|
+
i.textContent = _3, r.appendChild(i);
|
|
47441
47706
|
let a = document.createElement("div");
|
|
47442
47707
|
r.appendChild(a);
|
|
47443
|
-
let o = () => a.setAttribute("data-theme",
|
|
47444
|
-
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() {
|
|
47445
47710
|
return e.defaultOpen ?? !1;
|
|
47446
47711
|
} }), a);
|
|
47447
47712
|
};
|
|
47448
47713
|
document.body ? t() : document.addEventListener("DOMContentLoaded", t, { once: !0 });
|
|
47449
47714
|
}
|
|
47450
|
-
function
|
|
47715
|
+
function I3() {
|
|
47451
47716
|
try {
|
|
47452
47717
|
let e = [document.body, document.documentElement];
|
|
47453
47718
|
for (let t of e) {
|
|
@@ -47457,11 +47722,11 @@ function l3() {
|
|
|
47457
47722
|
} catch {}
|
|
47458
47723
|
return matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
|
|
47459
47724
|
}
|
|
47460
|
-
var
|
|
47461
|
-
function
|
|
47725
|
+
var L3 = 130, R3 = 36, z3 = 380, B3 = 280, V3 = 720;
|
|
47726
|
+
function H3(e) {
|
|
47462
47727
|
let [t, n] = T(e.defaultOpen), [r, i] = T("right"), [a, o] = T({
|
|
47463
|
-
x: Math.max(8, window.innerWidth -
|
|
47464
|
-
y: Math.max(8, window.innerHeight -
|
|
47728
|
+
x: Math.max(8, window.innerWidth - L3 - 24),
|
|
47729
|
+
y: Math.max(8, window.innerHeight - R3 - 20)
|
|
47465
47730
|
}), [s, c] = T({
|
|
47466
47731
|
running: [],
|
|
47467
47732
|
review: []
|
|
@@ -47481,12 +47746,12 @@ function h3(e) {
|
|
|
47481
47746
|
let t = Math.floor(e / 1e3);
|
|
47482
47747
|
return `${Math.floor(t / 60)}:${String(t % 60).padStart(2, "0")}`;
|
|
47483
47748
|
}, [b, x] = T(null), S = (e) => ({
|
|
47484
|
-
x: Math.min(Math.max(8, e.x), window.innerWidth -
|
|
47485
|
-
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)
|
|
47486
47751
|
}), C = (e) => ({
|
|
47487
47752
|
x: Math.min(Math.max(8 - (ne() - 80), e.x), window.innerWidth - 80),
|
|
47488
47753
|
y: Math.min(Math.max(0, e.y), window.innerHeight - 80)
|
|
47489
|
-
}), [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)));
|
|
47490
47755
|
O(() => {
|
|
47491
47756
|
let e = document.documentElement, n = t() && w();
|
|
47492
47757
|
e.style.transition = "margin 0.2s ease", e.style.marginRight = n && r() === "right" ? `${ne()}px` : "", e.style.marginLeft = n && r() === "left" ? `${ne()}px` : "";
|
|
@@ -47600,7 +47865,7 @@ function h3(e) {
|
|
|
47600
47865
|
return !t();
|
|
47601
47866
|
},
|
|
47602
47867
|
get children() {
|
|
47603
|
-
var e =
|
|
47868
|
+
var e = C3(), t = e.firstChild;
|
|
47604
47869
|
return t.$$click = () => {
|
|
47605
47870
|
ce || p() === "recording" || h().active || (f(!1), n(!0));
|
|
47606
47871
|
}, t.$$pointerdown = le, P(t, j(M, {
|
|
@@ -47610,14 +47875,14 @@ function h3(e) {
|
|
|
47610
47875
|
get fallback() {
|
|
47611
47876
|
return [
|
|
47612
47877
|
(() => {
|
|
47613
|
-
var e =
|
|
47878
|
+
var e = T3();
|
|
47614
47879
|
return e.$$click = () => {
|
|
47615
47880
|
ce || (f(!1), n(!0));
|
|
47616
|
-
}, P(e, j(
|
|
47881
|
+
}, P(e, j(h3, { size: 13 })), e;
|
|
47617
47882
|
})(),
|
|
47618
|
-
|
|
47883
|
+
E3(),
|
|
47619
47884
|
(() => {
|
|
47620
|
-
var e =
|
|
47885
|
+
var e = k3(), t = e.firstChild, n = t.nextSibling;
|
|
47621
47886
|
return e.$$click = (e) => {
|
|
47622
47887
|
e.stopPropagation(), !ce && f((e) => !e);
|
|
47623
47888
|
}, P(n, (() => {
|
|
@@ -47628,8 +47893,8 @@ function h3(e) {
|
|
|
47628
47893
|
return $e(() => !te())() && u().length > 0;
|
|
47629
47894
|
},
|
|
47630
47895
|
get children() {
|
|
47631
|
-
return [
|
|
47632
|
-
var e =
|
|
47896
|
+
return [D3(), (() => {
|
|
47897
|
+
var e = O3(), t = e.firstChild;
|
|
47633
47898
|
return P(e, () => u().length, t), e;
|
|
47634
47899
|
})()];
|
|
47635
47900
|
}
|
|
@@ -47650,17 +47915,17 @@ function h3(e) {
|
|
|
47650
47915
|
},
|
|
47651
47916
|
get fallback() {
|
|
47652
47917
|
return [
|
|
47653
|
-
|
|
47918
|
+
A3(),
|
|
47654
47919
|
(() => {
|
|
47655
|
-
var e =
|
|
47920
|
+
var e = j3(), t = e.firstChild;
|
|
47656
47921
|
return P(e, () => Math.ceil(h().msLeft / 1e3), t), e;
|
|
47657
47922
|
})(),
|
|
47658
47923
|
(() => {
|
|
47659
|
-
var e =
|
|
47924
|
+
var e = M3(), t = e.firstChild;
|
|
47660
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;
|
|
47661
47926
|
})(),
|
|
47662
47927
|
(() => {
|
|
47663
|
-
var e =
|
|
47928
|
+
var e = b3();
|
|
47664
47929
|
return e.$$click = (e) => {
|
|
47665
47930
|
e.stopPropagation(), !ce && o2();
|
|
47666
47931
|
}, e;
|
|
@@ -47669,13 +47934,13 @@ function h3(e) {
|
|
|
47669
47934
|
},
|
|
47670
47935
|
get children() {
|
|
47671
47936
|
return [
|
|
47672
|
-
|
|
47937
|
+
v3(),
|
|
47673
47938
|
(() => {
|
|
47674
|
-
var e =
|
|
47939
|
+
var e = y3();
|
|
47675
47940
|
return P(e, () => y(_())), e;
|
|
47676
47941
|
})(),
|
|
47677
47942
|
(() => {
|
|
47678
|
-
var e =
|
|
47943
|
+
var e = b3();
|
|
47679
47944
|
return e.$$click = () => {
|
|
47680
47945
|
ce || eO();
|
|
47681
47946
|
}, e;
|
|
@@ -47689,17 +47954,17 @@ function h3(e) {
|
|
|
47689
47954
|
return d();
|
|
47690
47955
|
},
|
|
47691
47956
|
get children() {
|
|
47692
|
-
var e =
|
|
47957
|
+
var e = S3(), t = e.firstChild;
|
|
47693
47958
|
return P(e, j(M, {
|
|
47694
47959
|
get when() {
|
|
47695
47960
|
return u().length > 0;
|
|
47696
47961
|
},
|
|
47697
47962
|
get children() {
|
|
47698
|
-
return [
|
|
47963
|
+
return [x3(), j(We, {
|
|
47699
47964
|
get each() {
|
|
47700
47965
|
return u();
|
|
47701
47966
|
},
|
|
47702
|
-
children: (e) => j(
|
|
47967
|
+
children: (e) => j(U3, {
|
|
47703
47968
|
agent: e,
|
|
47704
47969
|
review: !0,
|
|
47705
47970
|
onOpen: de
|
|
@@ -47711,14 +47976,14 @@ function h3(e) {
|
|
|
47711
47976
|
return l().length > 0;
|
|
47712
47977
|
},
|
|
47713
47978
|
get fallback() {
|
|
47714
|
-
return
|
|
47979
|
+
return N3();
|
|
47715
47980
|
},
|
|
47716
47981
|
get children() {
|
|
47717
47982
|
return j(We, {
|
|
47718
47983
|
get each() {
|
|
47719
47984
|
return l();
|
|
47720
47985
|
},
|
|
47721
|
-
children: (e) => j(
|
|
47986
|
+
children: (e) => j(U3, {
|
|
47722
47987
|
agent: e,
|
|
47723
47988
|
onOpen: de
|
|
47724
47989
|
})
|
|
@@ -47739,8 +48004,8 @@ function h3(e) {
|
|
|
47739
48004
|
return t();
|
|
47740
48005
|
},
|
|
47741
48006
|
get children() {
|
|
47742
|
-
var e =
|
|
47743
|
-
return t.$$pointerdown = fe, P(e, j(
|
|
48007
|
+
var e = w3(), t = e.firstChild;
|
|
48008
|
+
return t.$$pointerdown = fe, P(e, j(g3, {
|
|
47744
48009
|
onGrab: () => n(!0),
|
|
47745
48010
|
onClose: () => n(!1),
|
|
47746
48011
|
get onHeaderPointerDown() {
|
|
@@ -47768,19 +48033,19 @@ function h3(e) {
|
|
|
47768
48033
|
}
|
|
47769
48034
|
})];
|
|
47770
48035
|
}
|
|
47771
|
-
function
|
|
48036
|
+
function U3(e) {
|
|
47772
48037
|
return (() => {
|
|
47773
|
-
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;
|
|
47774
48039
|
return c.nextSibling, t.$$click = () => e.onOpen(e.agent.id), P(i, () => e.agent.identifier), P(a, () => e.agent.title), P(o, (() => {
|
|
47775
48040
|
var t = $e(() => !!e.review);
|
|
47776
48041
|
return () => t() ? "PR ready · needs review" : e.agent.stateName;
|
|
47777
|
-
})(), 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;
|
|
47778
48043
|
})();
|
|
47779
48044
|
}
|
|
47780
|
-
function
|
|
48045
|
+
function W3(e) {
|
|
47781
48046
|
let t = Math.max(0, Math.floor((Date.now() - Date.parse(e)) / 1e3));
|
|
47782
48047
|
return t < 60 ? "now" : t < 3600 ? `${Math.floor(t / 60)}m` : t < 86400 ? `${Math.floor(t / 3600)}h` : `${Math.floor(t / 86400)}d`;
|
|
47783
48048
|
}
|
|
47784
48049
|
rt(["pointerdown", "click"]);
|
|
47785
48050
|
//#endregion
|
|
47786
|
-
export {
|
|
48051
|
+
export { F3 as init };
|