@pixelmatters/markup 1.15.0 → 1.16.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/README.md +6 -6
- package/dist/widget.js +1025 -987
- package/dist/widget.js.map +1 -1
- package/package.json +1 -1
package/dist/widget.js
CHANGED
|
@@ -45,7 +45,7 @@ function w(e, t) {
|
|
|
45
45
|
function T(e) {
|
|
46
46
|
if (e.__P && e.__d) {
|
|
47
47
|
var n = e.__v, r = n.__e, i = [], a = [], o = v({}, n);
|
|
48
|
-
o.__v = n.__v + 1, t.vnode && t.vnode(o),
|
|
48
|
+
o.__v = n.__v + 1, t.vnode && t.vnode(o), ae(e.__P, o, n, e.__n, e.__P.namespaceURI, 32 & n.__u ? [r] : null, i, r ?? w(n), !!(32 & n.__u), a), o.__v = n.__v, o.__.__k[o.__i] = o, se(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
function E(e) {
|
|
@@ -65,19 +65,19 @@ function O() {
|
|
|
65
65
|
}
|
|
66
66
|
function ee(e, t, n, r, i, a, o, s, c, l, u) {
|
|
67
67
|
var d, f, p, g, _, v, y, b = r && r.__k || h, x = t.length;
|
|
68
|
-
for (c =
|
|
68
|
+
for (c = te(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = ae(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ue(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = k(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
|
|
69
69
|
return n.__e = _, c;
|
|
70
70
|
}
|
|
71
|
-
function
|
|
71
|
+
function te(e, t, n, r, i) {
|
|
72
72
|
var a, o, s, c, l, u = n.length, d = u, f = 0;
|
|
73
|
-
for (e.__k = Array(i), a = 0; a < i; a++) (o = t[a]) != null && typeof o != "boolean" && typeof o != "function" ? (typeof o == "string" || typeof o == "number" || typeof o == "bigint" || o.constructor == String ? o = e.__k[a] = x(null, o, null, null, null) : _(o) ? o = e.__k[a] = x(S, { children: o }, null, null, null) : o.constructor === void 0 && o.__b > 0 ? o = e.__k[a] = x(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : e.__k[a] = o, c = a + f, o.__ = e, o.__b = e.__b + 1, s = null, (l = o.__i =
|
|
74
|
-
if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)),
|
|
73
|
+
for (e.__k = Array(i), a = 0; a < i; a++) (o = t[a]) != null && typeof o != "boolean" && typeof o != "function" ? (typeof o == "string" || typeof o == "number" || typeof o == "bigint" || o.constructor == String ? o = e.__k[a] = x(null, o, null, null, null) : _(o) ? o = e.__k[a] = x(S, { children: o }, null, null, null) : o.constructor === void 0 && o.__b > 0 ? o = e.__k[a] = x(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : e.__k[a] = o, c = a + f, o.__ = e, o.__b = e.__b + 1, s = null, (l = o.__i = ne(o, n, c, d)) != -1 && (d--, (s = n[l]) && (s.__u |= 2)), s == null || s.__v == null ? (l == -1 && (i > u ? f-- : i < u && f++), typeof o.type != "function" && (o.__u |= 4)) : l != c && (l == c - 1 ? f-- : l == c + 1 ? f++ : (l > c ? f-- : f++, o.__u |= 4))) : e.__k[a] = null;
|
|
74
|
+
if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), de(s, s));
|
|
75
75
|
return r;
|
|
76
76
|
}
|
|
77
|
-
function
|
|
77
|
+
function k(e, t, n, r) {
|
|
78
78
|
var i, a;
|
|
79
79
|
if (typeof e.type == "function") {
|
|
80
|
-
for (i = e.__k, a = 0; i && a < i.length; a++) i[a] && (i[a].__ = e, t =
|
|
80
|
+
for (i = e.__k, a = 0; i && a < i.length; a++) i[a] && (i[a].__ = e, t = k(i[a], t, n, r));
|
|
81
81
|
return t;
|
|
82
82
|
}
|
|
83
83
|
e.__e != t && (r && (t && e.type && !t.parentNode && (t = w(e)), n.insertBefore(e.__e, t || null)), t = e.__e);
|
|
@@ -86,7 +86,7 @@ function A(e, t, n, r) {
|
|
|
86
86
|
while (t != null && t.nodeType == 8);
|
|
87
87
|
return t;
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function ne(e, t, n, r) {
|
|
90
90
|
var i, a, o, s = e.key, c = e.type, l = t[n], u = l != null && (2 & l.__u) == 0;
|
|
91
91
|
if (l === null && s == null || u && s == l.key && c == l.type) return n;
|
|
92
92
|
if (r > +!!u) {
|
|
@@ -94,15 +94,15 @@ function te(e, t, n, r) {
|
|
|
94
94
|
}
|
|
95
95
|
return -1;
|
|
96
96
|
}
|
|
97
|
-
function
|
|
97
|
+
function A(e, t, n) {
|
|
98
98
|
t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || g.test(t) ? n : n + "px";
|
|
99
99
|
}
|
|
100
|
-
function
|
|
100
|
+
function re(e, t, n, r, i) {
|
|
101
101
|
var a, o;
|
|
102
102
|
n: if (t == "style") if (typeof n == "string") e.style.cssText = n;
|
|
103
103
|
else {
|
|
104
|
-
if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n ||
|
|
105
|
-
if (n) for (t in n) r && n[t] == r[t] ||
|
|
104
|
+
if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || A(e.style, t, "");
|
|
105
|
+
if (n) for (t in n) r && n[t] == r[t] || A(e.style, t, n[t]);
|
|
106
106
|
}
|
|
107
107
|
else if (t[0] == "o" && t[1] == "n") a = t != (t = t.replace(u, "$1")), o = t.toLowerCase(), t = o in e || t == "onFocusOut" || t == "onFocusIn" ? o.slice(2) : t.slice(2), e.l ||= {}, e.l[t + a] = n, n ? r ? n[l] = r[l] : (n[l] = d, e.addEventListener(t, a ? p : f, a)) : e.removeEventListener(t, a ? p : f, a);
|
|
108
108
|
else {
|
|
@@ -114,7 +114,7 @@ function ne(e, t, n, r, i) {
|
|
|
114
114
|
typeof n == "function" || (n == null || !1 === n && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n));
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
|
-
function
|
|
117
|
+
function ie(e) {
|
|
118
118
|
return function(n) {
|
|
119
119
|
if (this.l) {
|
|
120
120
|
var r = this.l[n.type + e];
|
|
@@ -124,14 +124,14 @@ function re(e) {
|
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
-
function
|
|
128
|
-
var d, f, p, m, g, b, x, w, T, E, D, O,
|
|
127
|
+
function ae(e, n, r, i, a, o, s, c, l, u) {
|
|
128
|
+
var d, f, p, m, g, b, x, w, T, E, D, O, te, k, ne, A = n.type;
|
|
129
129
|
if (n.constructor !== void 0) return null;
|
|
130
130
|
128 & r.__u && (l = !!(32 & r.__u), o = [c = n.__e = r.__e]), (d = t.__b) && d(n);
|
|
131
|
-
n: if (typeof
|
|
132
|
-
if (w = n.props, T =
|
|
131
|
+
n: if (typeof A == "function") try {
|
|
132
|
+
if (w = n.props, T = A.prototype && A.prototype.render, E = (d = A.contextType) && i[d.__c], D = d ? E ? E.props.value : d.__ : i, r.__c ? x = (f = n.__c = r.__c).__ = f.__E : (T ? n.__c = f = new A(w, D) : (n.__c = f = new C(w, D), f.constructor = A, f.render = fe), E && E.sub(f), f.state ||= {}, f.__n = i, p = f.__d = !0, f.__h = [], f._sb = []), T && f.__s == null && (f.__s = f.state), T && A.getDerivedStateFromProps != null && (f.__s == f.state && (f.__s = v({}, f.__s)), v(f.__s, A.getDerivedStateFromProps(w, f.__s))), m = f.props, g = f.state, f.__v = n, p) T && A.getDerivedStateFromProps == null && f.componentWillMount != null && f.componentWillMount(), T && f.componentDidMount != null && f.__h.push(f.componentDidMount);
|
|
133
133
|
else {
|
|
134
|
-
if (T &&
|
|
134
|
+
if (T && A.getDerivedStateFromProps == null && w !== m && f.componentWillReceiveProps != null && f.componentWillReceiveProps(w, D), n.__v == r.__v || !f.__e && f.shouldComponentUpdate != null && !1 === f.shouldComponentUpdate(w, f.__s, D)) {
|
|
135
135
|
n.__v != r.__v && (f.props = w, f.state = f.__s, f.__d = !1), n.__e = r.__e, n.__k = r.__k, n.__k.some(function(e) {
|
|
136
136
|
e && (e.__ = n);
|
|
137
137
|
}), h.push.apply(f.__h, f._sb), f._sb = [], f.__h.length && s.push(f);
|
|
@@ -141,30 +141,30 @@ function ie(e, n, r, i, a, o, s, c, l, u) {
|
|
|
141
141
|
f.componentDidUpdate(m, g, b);
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
|
-
if (f.context = D, f.props = w, f.__P = e, f.__e = !1, O = t.__r,
|
|
144
|
+
if (f.context = D, f.props = w, f.__P = e, f.__e = !1, O = t.__r, te = 0, T) f.state = f.__s, f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), h.push.apply(f.__h, f._sb), f._sb = [];
|
|
145
145
|
else do
|
|
146
146
|
f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), f.state = f.__s;
|
|
147
|
-
while (f.__d && ++
|
|
148
|
-
f.state = f.__s, f.getChildContext != null && (i = v(v({}, i), f.getChildContext())), T && !p && f.getSnapshotBeforeUpdate != null && (b = f.getSnapshotBeforeUpdate(m, g)),
|
|
147
|
+
while (f.__d && ++te < 25);
|
|
148
|
+
f.state = f.__s, f.getChildContext != null && (i = v(v({}, i), f.getChildContext())), T && !p && f.getSnapshotBeforeUpdate != null && (b = f.getSnapshotBeforeUpdate(m, g)), k = d != null && d.type === S && d.key == null ? ce(d.props.children) : d, c = ee(e, _(k) ? k : [k], n, r, i, a, o, s, c, l, u), f.base = n.__e, n.__u &= -161, f.__h.length && s.push(f), x && (f.__E = f.__ = null);
|
|
149
149
|
} catch (e) {
|
|
150
150
|
if (n.__v = null, l || o != null) if (e.then) {
|
|
151
151
|
for (n.__u |= l ? 160 : 128; c && c.nodeType == 8 && c.nextSibling;) c = c.nextSibling;
|
|
152
152
|
o[o.indexOf(c)] = null, n.__e = c;
|
|
153
153
|
} else {
|
|
154
|
-
for (
|
|
155
|
-
|
|
154
|
+
for (ne = o.length; ne--;) y(o[ne]);
|
|
155
|
+
oe(n);
|
|
156
156
|
}
|
|
157
|
-
else n.__e = r.__e, n.__k = r.__k, e.then ||
|
|
157
|
+
else n.__e = r.__e, n.__k = r.__k, e.then || oe(n);
|
|
158
158
|
t.__e(e, n, r);
|
|
159
159
|
}
|
|
160
|
-
else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e =
|
|
160
|
+
else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = le(r.__e, n, r, i, a, o, s, l, u);
|
|
161
161
|
return (d = t.diffed) && d(n), 128 & n.__u ? void 0 : c;
|
|
162
162
|
}
|
|
163
|
-
function
|
|
164
|
-
e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(
|
|
163
|
+
function oe(e) {
|
|
164
|
+
e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(oe));
|
|
165
165
|
}
|
|
166
|
-
function
|
|
167
|
-
for (var i = 0; i < r.length; i++)
|
|
166
|
+
function se(e, n, r) {
|
|
167
|
+
for (var i = 0; i < r.length; i++) ue(r[i], r[++i], r[++i]);
|
|
168
168
|
t.__c && t.__c(n, e), e.some(function(n) {
|
|
169
169
|
try {
|
|
170
170
|
e = n.__h, n.__h = [], e.some(function(e) {
|
|
@@ -175,10 +175,10 @@ function oe(e, n, r) {
|
|
|
175
175
|
}
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
-
function
|
|
179
|
-
return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(
|
|
178
|
+
function ce(e) {
|
|
179
|
+
return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(ce) : v({}, e);
|
|
180
180
|
}
|
|
181
|
-
function
|
|
181
|
+
function le(n, r, i, a, o, s, c, l, u) {
|
|
182
182
|
var d, f, p, h, g, v, b, x = i.props || m, S = r.props, C = r.type;
|
|
183
183
|
if (C == "svg" ? o = "http://www.w3.org/2000/svg" : C == "math" ? o = "http://www.w3.org/1998/Math/MathML" : o ||= "http://www.w3.org/1999/xhtml", s != null) {
|
|
184
184
|
for (d = 0; d < s.length; d++) if ((g = s[d]) && "setAttribute" in g == !!C && (C ? g.localName == C : g.nodeType == 3)) {
|
|
@@ -193,15 +193,15 @@ function ce(n, r, i, a, o, s, c, l, u) {
|
|
|
193
193
|
if (C == null) x === S || l && n.data == S || (n.data = S);
|
|
194
194
|
else {
|
|
195
195
|
if (s &&= e.call(n.childNodes), !l && s != null) for (x = {}, d = 0; d < n.attributes.length; d++) x[(g = n.attributes[d]).name] = g.value;
|
|
196
|
-
for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S ||
|
|
197
|
-
for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g ||
|
|
196
|
+
for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || re(n, d, null, g, o);
|
|
197
|
+
for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || re(n, d, g, x[d], o);
|
|
198
198
|
if (f) l || p && (f.__html == p.__html || f.__html == n.innerHTML) || (n.innerHTML = f.__html), r.__k = [];
|
|
199
199
|
else if (p && (n.innerHTML = ""), ee(r.type == "template" ? n.content : n, _(h) ? h : [h], r, i, a, C == "foreignObject" ? "http://www.w3.org/1999/xhtml" : o, s, c, s ? s[0] : i.__k && w(i, 0), l, u), s != null) for (d = s.length; d--;) y(s[d]);
|
|
200
|
-
l || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) &&
|
|
200
|
+
l || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && re(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && re(n, d, b, x[d], o));
|
|
201
201
|
}
|
|
202
202
|
return n;
|
|
203
203
|
}
|
|
204
|
-
function
|
|
204
|
+
function ue(e, n, r) {
|
|
205
205
|
try {
|
|
206
206
|
if (typeof e == "function") {
|
|
207
207
|
var i = typeof e.__u == "function";
|
|
@@ -211,9 +211,9 @@ function le(e, n, r) {
|
|
|
211
211
|
t.__e(e, r);
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
function
|
|
214
|
+
function de(e, n, r) {
|
|
215
215
|
var i, a;
|
|
216
|
-
if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e ||
|
|
216
|
+
if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || ue(i, null, n)), (i = e.__c) != null) {
|
|
217
217
|
if (i.componentWillUnmount) try {
|
|
218
218
|
i.componentWillUnmount();
|
|
219
219
|
} catch (e) {
|
|
@@ -221,15 +221,15 @@ function ue(e, n, r) {
|
|
|
221
221
|
}
|
|
222
222
|
i.base = i.__P = null;
|
|
223
223
|
}
|
|
224
|
-
if (i = e.__k) for (a = 0; a < i.length; a++) i[a] &&
|
|
224
|
+
if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && de(i[a], n, r || typeof e.type != "function");
|
|
225
225
|
r || y(e.__e), e.__c = e.__ = e.__e = void 0;
|
|
226
226
|
}
|
|
227
|
-
function
|
|
227
|
+
function fe(e, t, n) {
|
|
228
228
|
return this.constructor(e, n);
|
|
229
229
|
}
|
|
230
|
-
function
|
|
230
|
+
function pe(n, r, i) {
|
|
231
231
|
var a, o, s, c;
|
|
232
|
-
r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [],
|
|
232
|
+
r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], ae(r, n = (!a && i || r).__k = b(S, null, [n]), o || m, m, r.namespaceURI, !a && i ? [i] : o ? null : r.firstChild ? e.call(r.childNodes) : null, s, !a && i ? i : o ? o.__e : r.firstChild, a, c), se(s, n, c);
|
|
233
233
|
}
|
|
234
234
|
e = h.slice, t = { __e: function(e, t, n, r) {
|
|
235
235
|
for (var i, a, o; t = t.__;) if ((i = t.__c) && !i.__) try {
|
|
@@ -245,10 +245,10 @@ e = h.slice, t = { __e: function(e, t, n, r) {
|
|
|
245
245
|
this.__v && (this.__e = !0, e && this.__h.push(e), D(this));
|
|
246
246
|
}, C.prototype.render = S, r = [], a = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, o = function(e, t) {
|
|
247
247
|
return e.__v.__b - t.__v.__b;
|
|
248
|
-
}, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f =
|
|
248
|
+
}, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = ie(!1), p = ie(!0);
|
|
249
249
|
//#endregion
|
|
250
250
|
//#region src/styles.css?inline
|
|
251
|
-
var pe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-accent-glow);outline:none}.markup-tb-btn[data-on=true]{background:var(--markup-ink);color:var(--markup-paper)}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}}:host([data-theme=dark]) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}.markup-tb-btn[data-armed=true]{background:var(--markup-brand);color:#fff}.markup-tb-btn[data-armed=true]:hover{background:var(--markup-brand-hover);color:#fff}.markup-tb-btn[disabled]{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);cursor:default}.markup-tb-btn[disabled]:hover{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);background:0 0}.markup-tb-btn[data-kind=identity]{gap:6px;width:auto;padding:0 4px}.markup-tb-avatar{background:var(--markup-surface-3);width:28px;height:28px;font-family:var(--markup-font-mono);color:var(--markup-ink);border:1px solid var(--markup-border);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-tb-avatar.is-anon{color:var(--markup-muted);background:var(--markup-surface-2)}.markup-tb-sep{background:var(--markup-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.markup-tb-badge{background:var(--markup-brand);color:#fff;min-width:16px;height:16px;font-family:var(--markup-font-mono);box-shadow:0 0 0 2px var(--markup-surface);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.markup-toolbar-left{left:0;transform:translate(22px)}.markup-toolbar-center{left:50%;transform:translate(-50%)}.markup-toolbar-right{left:100%;transform:translate(calc(-100% - 22px))}.markup-pop{background:var(--markup-surface);border:1px solid var(--markup-border);box-shadow:var(--markup-shadow-pop);color:var(--markup-ink);z-index:11;border-radius:12px;font-size:13px;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.markup-pop[data-pop=overflow]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-path{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:baseline;gap:0;font-size:11px;line-height:1;display:inline-flex;overflow:hidden}.markup-popover-path-host{color:var(--markup-muted);flex-shrink:0}.markup-popover-path-route{color:var(--markup-ink);text-overflow:ellipsis;min-width:0;overflow:hidden}.markup-popover-path-tag{background:color-mix(in srgb, var(--markup-brand) 14%, transparent);color:var(--markup-brand);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;flex-shrink:0;margin-left:6px;padding:1px 6px;font-size:9px}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-comments{flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.markup-comment{border-bottom:1px solid var(--markup-border);grid-template-columns:26px 1fr;align-items:start;gap:0 10px;padding:12px;display:grid}.markup-comment:last-child{border-bottom:none}.markup-comment>:not(.markup-comment-avatar){grid-column:2}.markup-comment-avatar{background:var(--markup-border);width:26px;height:26px;color:var(--markup-ink);font-family:var(--markup-font-mono);letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:999px;grid-area:1/1/span 4;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex}.markup-comment-avatar[data-tone=\"1\"]{color:oklch(25% .07 230);background:oklch(85% .07 200)}.markup-comment-avatar[data-tone=\"2\"]{color:oklch(30% .1 150);background:oklch(88% .07 130)}.markup-comment-avatar[data-tone=\"3\"]{color:oklch(35% .1 40);background:oklch(90% .05 50)}.markup-comment-avatar[data-tone=\"4\"]{color:oklch(30% .1 320);background:oklch(87% .07 320)}.markup-comment-avatar[data-tone=\"5\"]{color:oklch(32% .09 70);background:oklch(88% .06 80)}.markup-comment-meta{align-items:center;gap:8px;min-width:0;margin-bottom:4px;font-size:13px;display:flex}.markup-comment-author{color:var(--markup-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.markup-comment.is-team .markup-comment-author{color:var(--markup-team)}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:10.5px}.markup-comment-body{color:var(--markup-ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:19px}.markup-comment-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;align-items:center;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;display:flex}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb{border:1px solid var(--markup-border-strong);object-fit:cover;border-radius:3px;flex-shrink:0;width:auto;height:25px;margin:-5px 0 -5px auto;display:block}.markup-screenshot-redacted{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10px}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success,oklch(62% .16 150));font-family:var(--markup-font-mono);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;display:inline-flex}.markup-screenshot-redacted-chip:hover{filter:brightness(1.05)}.markup-screenshot-redacted-arrow{font-style:normal}.markup-screenshot-redacted-list{margin-top:3px;padding-left:10px}.markup-screenshot-redacted-selector{font-family:var(--markup-font-mono);color:var(--markup-muted);font-size:9px;display:block}.markup-screenshot-help{font-family:var(--markup-font-mono);color:var(--markup-muted);margin:5px 0 0;font-size:10px;line-height:1.5}.markup-screenshot-help-code{font-family:var(--markup-font-mono);color:var(--markup-ink)}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-toolbar,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-inbox-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-inbox-pop-right{right:22px}.markup-inbox-pop-left{left:22px}.markup-inbox-pop-center{left:50%;transform:translate(-50%)}.markup-inbox-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-inbox-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-inbox-pop .markup-notifications-panel-header{padding:12px 14px}.markup-inbox-pop .markup-notifications-panel-header .markup-icon-btn{display:none}", M = class extends C {
|
|
251
|
+
var me = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-accent-glow);outline:none}.markup-tb-btn[data-on=true]{background:var(--markup-ink);color:var(--markup-paper)}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}}:host([data-theme=dark]) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}.markup-tb-btn[data-armed=true]{background:var(--markup-brand);color:#fff}.markup-tb-btn[data-armed=true]:hover{background:var(--markup-brand-hover);color:#fff}.markup-tb-btn[disabled]{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);cursor:default}.markup-tb-btn[disabled]:hover{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);background:0 0}.markup-tb-btn[data-kind=identity]{gap:6px;width:auto;padding:0 4px}.markup-tb-avatar{background:var(--markup-surface-3);width:28px;height:28px;font-family:var(--markup-font-mono);color:var(--markup-ink);border:1px solid var(--markup-border);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-tb-avatar.is-anon{color:var(--markup-muted);background:var(--markup-surface-2)}.markup-tb-sep{background:var(--markup-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.markup-tb-badge{background:var(--markup-brand);color:#fff;min-width:16px;height:16px;font-family:var(--markup-font-mono);box-shadow:0 0 0 2px var(--markup-surface);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.markup-toolbar-left{left:0;transform:translate(22px)}.markup-toolbar-center{left:50%;transform:translate(-50%)}.markup-toolbar-right{left:100%;transform:translate(calc(-100% - 22px))}.markup-pop{background:var(--markup-surface);border:1px solid var(--markup-border);box-shadow:var(--markup-shadow-pop);color:var(--markup-ink);z-index:11;border-radius:12px;font-size:13px;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.markup-pop[data-pop=overflow]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.markup-kbd.is-inline{background:color-mix(in srgb, var(--markup-ink) 8%, transparent);min-width:14px;height:14px;color:var(--markup-muted);border-radius:3px;padding:0 3px;font-size:9.5px}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-title{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;line-height:1;overflow:hidden}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-header+.markup-popover-body{border-top:none}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-comments{flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.markup-comment{border-bottom:1px solid var(--markup-border);grid-template-columns:26px 1fr;align-items:start;gap:0 10px;padding:12px;display:grid}.markup-comment:last-child{border-bottom:none}.markup-comment>:not(.markup-comment-avatar){grid-column:2}.markup-comment-avatar{background:var(--markup-border);width:26px;height:26px;color:var(--markup-ink);font-family:var(--markup-font-mono);letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:999px;grid-area:1/1/span 4;justify-content:center;align-items:center;margin-top:-3px;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-avatar-initials{text-box-trim:trim-both;text-box-edge:cap alphabetic;line-height:1}.markup-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.markup-comment-avatar[data-tone=\"1\"]{color:oklch(25% .07 230);background:oklch(85% .07 200)}.markup-comment-avatar[data-tone=\"2\"]{color:oklch(30% .1 150);background:oklch(88% .07 130)}.markup-comment-avatar[data-tone=\"3\"]{color:oklch(35% .1 40);background:oklch(90% .05 50)}.markup-comment-avatar[data-tone=\"4\"]{color:oklch(30% .1 320);background:oklch(87% .07 320)}.markup-comment-avatar[data-tone=\"5\"]{color:oklch(32% .09 70);background:oklch(88% .06 80)}.markup-comment-meta{align-items:center;gap:8px;min-width:0;margin-bottom:4px;font-size:13px;display:flex}.markup-comment-author{color:var(--markup-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-badge.is-agent{background:color-mix(in srgb, var(--markup-brand) 14%, transparent);color:var(--markup-brand);letter-spacing:normal;justify-content:center;width:14px;padding:0}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;font-size:10.5px}.markup-comment-body{color:var(--markup-ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:19px}.markup-comment-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.markup-composer-hint-label{margin-left:2px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;align-items:center;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;display:flex}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb{border:1px solid var(--markup-border-strong);object-fit:cover;border-radius:3px;flex-shrink:0;width:auto;height:25px;margin:-5px 0 -5px auto;display:block}.markup-screenshot-redacted{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10px}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success,oklch(62% .16 150));font-family:var(--markup-font-mono);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;display:inline-flex}.markup-screenshot-redacted-chip:hover{filter:brightness(1.05)}.markup-screenshot-redacted-arrow{font-style:normal}.markup-screenshot-redacted-list{margin-top:3px;padding-left:10px}.markup-screenshot-redacted-selector{font-family:var(--markup-font-mono);color:var(--markup-muted);font-size:9px;display:block}.markup-screenshot-help{font-family:var(--markup-font-mono);color:var(--markup-muted);margin:5px 0 0;font-size:10px;line-height:1.5}.markup-screenshot-help-code{font-family:var(--markup-font-mono);color:var(--markup-ink)}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-toolbar,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-inbox-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-inbox-pop-right{right:22px}.markup-inbox-pop-left{left:22px}.markup-inbox-pop-center{left:50%;transform:translate(-50%)}.markup-inbox-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-inbox-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-inbox-pop .markup-notifications-panel-header{padding:12px 14px}.markup-inbox-pop .markup-notifications-panel-header .markup-icon-btn{display:none}", j = class extends C {
|
|
252
252
|
state = { hasError: !1 };
|
|
253
253
|
static getDerivedStateFromError() {
|
|
254
254
|
return { hasError: !0 };
|
|
@@ -261,12 +261,12 @@ var pe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:
|
|
|
261
261
|
render() {
|
|
262
262
|
return this.state.hasError ? null : this.props.children;
|
|
263
263
|
}
|
|
264
|
-
},
|
|
265
|
-
function
|
|
264
|
+
}, he = 1e3;
|
|
265
|
+
function ge(e) {
|
|
266
266
|
let t = !1, n = 0;
|
|
267
267
|
return (r) => {
|
|
268
268
|
let i = Date.now();
|
|
269
|
-
t || i - n <
|
|
269
|
+
t || i - n < he || (t = !0, n = i, fetch(`${e.apiUrl.replace(/\/+$/, "")}/widget/error`, {
|
|
270
270
|
method: "POST",
|
|
271
271
|
headers: {
|
|
272
272
|
"content-type": "application/json",
|
|
@@ -282,97 +282,97 @@ function he(e) {
|
|
|
282
282
|
}));
|
|
283
283
|
};
|
|
284
284
|
}
|
|
285
|
-
function
|
|
285
|
+
function _e() {
|
|
286
286
|
return typeof window < "u" ? window.location.href : void 0;
|
|
287
287
|
}
|
|
288
|
-
function
|
|
288
|
+
function ve() {
|
|
289
289
|
return typeof navigator < "u" ? navigator.userAgent : void 0;
|
|
290
290
|
}
|
|
291
|
-
var
|
|
292
|
-
function
|
|
293
|
-
let r =
|
|
294
|
-
r || (r =
|
|
291
|
+
var ye = /* @__PURE__ */ new WeakMap();
|
|
292
|
+
function be(e, t, n) {
|
|
293
|
+
let r = ye.get(e);
|
|
294
|
+
r || (r = ge(e), ye.set(e, r));
|
|
295
295
|
let i = t instanceof Error ? t : Error(String(t));
|
|
296
296
|
r({
|
|
297
297
|
message: i.message,
|
|
298
298
|
name: i.name,
|
|
299
299
|
stack: i.stack,
|
|
300
|
-
url:
|
|
301
|
-
userAgent:
|
|
300
|
+
url: _e(),
|
|
301
|
+
userAgent: ve(),
|
|
302
302
|
context: n?.context
|
|
303
303
|
});
|
|
304
304
|
}
|
|
305
|
-
var
|
|
306
|
-
function
|
|
307
|
-
|
|
305
|
+
var xe = null;
|
|
306
|
+
function Se(e) {
|
|
307
|
+
xe = e;
|
|
308
308
|
}
|
|
309
|
-
function
|
|
310
|
-
|
|
309
|
+
function M(e, t) {
|
|
310
|
+
xe && be(xe, e, t);
|
|
311
311
|
}
|
|
312
312
|
//#endregion
|
|
313
313
|
//#region src/runtime/theme-store.ts
|
|
314
|
-
var
|
|
315
|
-
function
|
|
314
|
+
var Ce = "markup:widget:theme", N = null, P = Ee() ?? "auto", we = Ee() != null, Te = /* @__PURE__ */ new Set();
|
|
315
|
+
function Ee() {
|
|
316
316
|
try {
|
|
317
|
-
let e = localStorage.getItem(
|
|
317
|
+
let e = localStorage.getItem(Ce);
|
|
318
318
|
if (e === "light" || e === "dark" || e === "auto") return e;
|
|
319
319
|
} catch {}
|
|
320
320
|
return null;
|
|
321
321
|
}
|
|
322
|
-
function
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
function De(e, t) {
|
|
326
|
-
P = e, !Ce && t && (F = t), Ee();
|
|
322
|
+
function De() {
|
|
323
|
+
N && (P === "auto" ? delete N.dataset.theme : N.dataset.theme = P);
|
|
327
324
|
}
|
|
328
|
-
function Oe() {
|
|
329
|
-
|
|
325
|
+
function Oe(e, t) {
|
|
326
|
+
N = e, !we && t && (P = t), De();
|
|
330
327
|
}
|
|
331
328
|
function ke() {
|
|
332
|
-
return
|
|
329
|
+
return P;
|
|
333
330
|
}
|
|
334
|
-
function Ae(
|
|
335
|
-
|
|
336
|
-
|
|
331
|
+
function Ae() {
|
|
332
|
+
return P === "dark" ? "dark" : P === "light" ? "light" : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
|
|
333
|
+
}
|
|
334
|
+
function je(e) {
|
|
335
|
+
if (e !== P) {
|
|
336
|
+
P = e, we = !0;
|
|
337
337
|
try {
|
|
338
|
-
localStorage.setItem(
|
|
338
|
+
localStorage.setItem(Ce, e);
|
|
339
339
|
} catch {}
|
|
340
|
-
|
|
341
|
-
for (let e of
|
|
340
|
+
De();
|
|
341
|
+
for (let e of Te) e(P);
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
|
-
function
|
|
345
|
-
return
|
|
346
|
-
|
|
344
|
+
function Me(e) {
|
|
345
|
+
return Te.add(e), () => {
|
|
346
|
+
Te.delete(e);
|
|
347
347
|
};
|
|
348
348
|
}
|
|
349
|
-
function
|
|
349
|
+
function Ne() {
|
|
350
350
|
if (typeof window > "u" || !window.matchMedia) return () => {};
|
|
351
351
|
let e = window.matchMedia("(prefers-color-scheme: dark)"), t = () => {
|
|
352
|
-
if (
|
|
352
|
+
if (P === "auto") for (let e of Te) e(P);
|
|
353
353
|
};
|
|
354
354
|
return e.addEventListener?.("change", t), () => e.removeEventListener?.("change", t);
|
|
355
355
|
}
|
|
356
356
|
//#endregion
|
|
357
357
|
//#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/hooks/dist/hooks.module.js
|
|
358
|
-
var
|
|
359
|
-
function
|
|
360
|
-
|
|
361
|
-
var n =
|
|
358
|
+
var Pe, F, Fe, Ie, Le = 0, Re = [], I = t, ze = I.__b, Be = I.__r, Ve = I.diffed, He = I.__c, Ue = I.unmount, We = I.__;
|
|
359
|
+
function Ge(e, t) {
|
|
360
|
+
I.__h && I.__h(F, e, Le || t), Le = 0;
|
|
361
|
+
var n = F.__H ||= {
|
|
362
362
|
__: [],
|
|
363
363
|
__h: []
|
|
364
364
|
};
|
|
365
365
|
return e >= n.__.length && n.__.push({}), n.__[e];
|
|
366
366
|
}
|
|
367
|
-
function
|
|
368
|
-
return
|
|
367
|
+
function L(e) {
|
|
368
|
+
return Le = 1, Ke(et, e);
|
|
369
369
|
}
|
|
370
|
-
function
|
|
371
|
-
var r =
|
|
372
|
-
if (r.t = e, !r.__c && (r.__ = [n ? n(t) :
|
|
370
|
+
function Ke(e, t, n) {
|
|
371
|
+
var r = Ge(Pe++, 2);
|
|
372
|
+
if (r.t = e, !r.__c && (r.__ = [n ? n(t) : et(void 0, t), function(e) {
|
|
373
373
|
var t = r.__N ? r.__N[0] : r.__[0], n = r.t(t, e);
|
|
374
374
|
t !== n && (r.__N = [n, r.__[1]], r.__c.setState({}));
|
|
375
|
-
}], r.__c =
|
|
375
|
+
}], r.__c = F, !F.__f)) {
|
|
376
376
|
var i = function(e, t, n) {
|
|
377
377
|
if (!r.__c.__H) return !0;
|
|
378
378
|
var i = r.__c.__H.__.filter(function(e) {
|
|
@@ -389,115 +389,115 @@ function Ge(e, t, n) {
|
|
|
389
389
|
}
|
|
390
390
|
}), a && a.call(this, e, t, n) || o;
|
|
391
391
|
};
|
|
392
|
-
|
|
393
|
-
var a =
|
|
394
|
-
|
|
392
|
+
F.__f = !0;
|
|
393
|
+
var a = F.shouldComponentUpdate, o = F.componentWillUpdate;
|
|
394
|
+
F.componentWillUpdate = function(e, t, n) {
|
|
395
395
|
if (this.__e) {
|
|
396
396
|
var r = a;
|
|
397
397
|
a = void 0, i(e, t, n), a = r;
|
|
398
398
|
}
|
|
399
399
|
o && o.call(this, e, t, n);
|
|
400
|
-
},
|
|
400
|
+
}, F.shouldComponentUpdate = i;
|
|
401
401
|
}
|
|
402
402
|
return r.__N || r.__;
|
|
403
403
|
}
|
|
404
|
-
function
|
|
405
|
-
var n =
|
|
406
|
-
!
|
|
404
|
+
function R(e, t) {
|
|
405
|
+
var n = Ge(Pe++, 3);
|
|
406
|
+
!I.__s && $e(n.__H, t) && (n.__ = e, n.u = t, F.__H.__h.push(n));
|
|
407
407
|
}
|
|
408
|
-
function
|
|
409
|
-
var n =
|
|
410
|
-
!
|
|
408
|
+
function qe(e, t) {
|
|
409
|
+
var n = Ge(Pe++, 4);
|
|
410
|
+
!I.__s && $e(n.__H, t) && (n.__ = e, n.u = t, F.__h.push(n));
|
|
411
411
|
}
|
|
412
|
-
function
|
|
413
|
-
return
|
|
412
|
+
function z(e) {
|
|
413
|
+
return Le = 5, B(function() {
|
|
414
414
|
return { current: e };
|
|
415
415
|
}, []);
|
|
416
416
|
}
|
|
417
|
-
function
|
|
418
|
-
var n =
|
|
419
|
-
return
|
|
417
|
+
function B(e, t) {
|
|
418
|
+
var n = Ge(Pe++, 7);
|
|
419
|
+
return $e(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__;
|
|
420
420
|
}
|
|
421
|
-
function
|
|
422
|
-
return
|
|
421
|
+
function V(e, t) {
|
|
422
|
+
return Le = 8, B(function() {
|
|
423
423
|
return e;
|
|
424
424
|
}, t);
|
|
425
425
|
}
|
|
426
|
-
function
|
|
427
|
-
for (var e; e =
|
|
426
|
+
function Je() {
|
|
427
|
+
for (var e; e = Re.shift();) {
|
|
428
428
|
var t = e.__H;
|
|
429
429
|
if (e.__P && t) try {
|
|
430
|
-
t.__h.some(
|
|
430
|
+
t.__h.some(Ze), t.__h.some(Qe), t.__h = [];
|
|
431
431
|
} catch (n) {
|
|
432
|
-
t.__h = [],
|
|
432
|
+
t.__h = [], I.__e(n, e.__v);
|
|
433
433
|
}
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
},
|
|
439
|
-
e && t.__k && t.__k.__m && (e.__m = t.__k.__m),
|
|
440
|
-
},
|
|
441
|
-
|
|
442
|
-
var t = (
|
|
443
|
-
t && (
|
|
436
|
+
I.__b = function(e) {
|
|
437
|
+
F = null, ze && ze(e);
|
|
438
|
+
}, I.__ = function(e, t) {
|
|
439
|
+
e && t.__k && t.__k.__m && (e.__m = t.__k.__m), We && We(e, t);
|
|
440
|
+
}, I.__r = function(e) {
|
|
441
|
+
Be && Be(e), Pe = 0;
|
|
442
|
+
var t = (F = e.__c).__H;
|
|
443
|
+
t && (Fe === F ? (t.__h = [], F.__h = [], t.__.some(function(e) {
|
|
444
444
|
e.__N && (e.__ = e.__N), e.u = e.__N = void 0;
|
|
445
|
-
})) : (t.__h.some(
|
|
446
|
-
},
|
|
447
|
-
|
|
445
|
+
})) : (t.__h.some(Ze), t.__h.some(Qe), t.__h = [], Pe = 0)), Fe = F;
|
|
446
|
+
}, I.diffed = function(e) {
|
|
447
|
+
Ve && Ve(e);
|
|
448
448
|
var t = e.__c;
|
|
449
|
-
t && t.__H && (t.__H.__h.length && (
|
|
449
|
+
t && t.__H && (t.__H.__h.length && (Re.push(t) !== 1 && Ie === I.requestAnimationFrame || ((Ie = I.requestAnimationFrame) || Xe)(Je)), t.__H.__.some(function(e) {
|
|
450
450
|
e.u && (e.__H = e.u), e.u = void 0;
|
|
451
|
-
})),
|
|
452
|
-
},
|
|
451
|
+
})), Fe = F = null;
|
|
452
|
+
}, I.__c = function(e, t) {
|
|
453
453
|
t.some(function(e) {
|
|
454
454
|
try {
|
|
455
|
-
e.__h.some(
|
|
456
|
-
return !e.__ ||
|
|
455
|
+
e.__h.some(Ze), e.__h = e.__h.filter(function(e) {
|
|
456
|
+
return !e.__ || Qe(e);
|
|
457
457
|
});
|
|
458
458
|
} catch (n) {
|
|
459
459
|
t.some(function(e) {
|
|
460
460
|
e.__h &&= [];
|
|
461
|
-
}), t = [],
|
|
461
|
+
}), t = [], I.__e(n, e.__v);
|
|
462
462
|
}
|
|
463
|
-
}),
|
|
464
|
-
},
|
|
465
|
-
|
|
463
|
+
}), He && He(e, t);
|
|
464
|
+
}, I.unmount = function(e) {
|
|
465
|
+
Ue && Ue(e);
|
|
466
466
|
var t, n = e.__c;
|
|
467
467
|
n && n.__H && (n.__H.__.some(function(e) {
|
|
468
468
|
try {
|
|
469
|
-
|
|
469
|
+
Ze(e);
|
|
470
470
|
} catch (e) {
|
|
471
471
|
t = e;
|
|
472
472
|
}
|
|
473
|
-
}), n.__H = void 0, t &&
|
|
473
|
+
}), n.__H = void 0, t && I.__e(t, n.__v));
|
|
474
474
|
};
|
|
475
|
-
var
|
|
476
|
-
function
|
|
475
|
+
var Ye = typeof requestAnimationFrame == "function";
|
|
476
|
+
function Xe(e) {
|
|
477
477
|
var t, n = function() {
|
|
478
|
-
clearTimeout(r),
|
|
478
|
+
clearTimeout(r), Ye && cancelAnimationFrame(t), setTimeout(e);
|
|
479
479
|
}, r = setTimeout(n, 35);
|
|
480
|
-
|
|
481
|
-
}
|
|
482
|
-
function Xe(e) {
|
|
483
|
-
var t = I, n = e.__c;
|
|
484
|
-
typeof n == "function" && (e.__c = void 0, n()), I = t;
|
|
480
|
+
Ye && (t = requestAnimationFrame(n));
|
|
485
481
|
}
|
|
486
482
|
function Ze(e) {
|
|
487
|
-
var t =
|
|
488
|
-
e.__c =
|
|
483
|
+
var t = F, n = e.__c;
|
|
484
|
+
typeof n == "function" && (e.__c = void 0, n()), F = t;
|
|
485
|
+
}
|
|
486
|
+
function Qe(e) {
|
|
487
|
+
var t = F;
|
|
488
|
+
e.__c = e.__(), F = t;
|
|
489
489
|
}
|
|
490
|
-
function
|
|
490
|
+
function $e(e, t) {
|
|
491
491
|
return !e || e.length !== t.length || t.some(function(t, n) {
|
|
492
492
|
return t !== e[n];
|
|
493
493
|
});
|
|
494
494
|
}
|
|
495
|
-
function
|
|
495
|
+
function et(e, t) {
|
|
496
496
|
return typeof t == "function" ? t(e) : t;
|
|
497
497
|
}
|
|
498
|
-
for (var
|
|
499
|
-
|
|
500
|
-
function
|
|
498
|
+
for (var tt = "1.38.0", H = [], U = [], nt = Uint8Array, rt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", it = 0, at = rt.length; it < at; ++it) H[it] = rt[it], U[rt.charCodeAt(it)] = it;
|
|
499
|
+
U[45] = 62, U[95] = 63;
|
|
500
|
+
function ot(e) {
|
|
501
501
|
var t = e.length;
|
|
502
502
|
if (t % 4 > 0) throw Error("Invalid string. Length must be a multiple of 4");
|
|
503
503
|
var n = e.indexOf("=");
|
|
@@ -505,33 +505,33 @@ function at(e) {
|
|
|
505
505
|
var r = n === t ? 0 : 4 - n % 4;
|
|
506
506
|
return [n, r];
|
|
507
507
|
}
|
|
508
|
-
function
|
|
508
|
+
function st(e, t, n) {
|
|
509
509
|
return (t + n) * 3 / 4 - n;
|
|
510
510
|
}
|
|
511
|
-
function st(e) {
|
|
512
|
-
var t, n = at(e), r = n[0], i = n[1], a = new tt(ot(e, r, i)), o = 0, s = i > 0 ? r - 4 : r, c;
|
|
513
|
-
for (c = 0; c < s; c += 4) t = W[e.charCodeAt(c)] << 18 | W[e.charCodeAt(c + 1)] << 12 | W[e.charCodeAt(c + 2)] << 6 | W[e.charCodeAt(c + 3)], a[o++] = t >> 16 & 255, a[o++] = t >> 8 & 255, a[o++] = t & 255;
|
|
514
|
-
return i === 2 && (t = W[e.charCodeAt(c)] << 2 | W[e.charCodeAt(c + 1)] >> 4, a[o++] = t & 255), i === 1 && (t = W[e.charCodeAt(c)] << 10 | W[e.charCodeAt(c + 1)] << 4 | W[e.charCodeAt(c + 2)] >> 2, a[o++] = t >> 8 & 255, a[o++] = t & 255), a;
|
|
515
|
-
}
|
|
516
511
|
function ct(e) {
|
|
517
|
-
|
|
512
|
+
var t, n = ot(e), r = n[0], i = n[1], a = new nt(st(e, r, i)), o = 0, s = i > 0 ? r - 4 : r, c;
|
|
513
|
+
for (c = 0; c < s; c += 4) t = U[e.charCodeAt(c)] << 18 | U[e.charCodeAt(c + 1)] << 12 | U[e.charCodeAt(c + 2)] << 6 | U[e.charCodeAt(c + 3)], a[o++] = t >> 16 & 255, a[o++] = t >> 8 & 255, a[o++] = t & 255;
|
|
514
|
+
return i === 2 && (t = U[e.charCodeAt(c)] << 2 | U[e.charCodeAt(c + 1)] >> 4, a[o++] = t & 255), i === 1 && (t = U[e.charCodeAt(c)] << 10 | U[e.charCodeAt(c + 1)] << 4 | U[e.charCodeAt(c + 2)] >> 2, a[o++] = t >> 8 & 255, a[o++] = t & 255), a;
|
|
515
|
+
}
|
|
516
|
+
function lt(e) {
|
|
517
|
+
return H[e >> 18 & 63] + H[e >> 12 & 63] + H[e >> 6 & 63] + H[e & 63];
|
|
518
518
|
}
|
|
519
|
-
function
|
|
520
|
-
for (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(
|
|
519
|
+
function ut(e, t, n) {
|
|
520
|
+
for (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(lt(r));
|
|
521
521
|
return i.join("");
|
|
522
522
|
}
|
|
523
|
-
function
|
|
524
|
-
for (var t, n = e.length, r = n % 3, i = [], a = 16383, o = 0, s = n - r; o < s; o += a) i.push(
|
|
525
|
-
return r === 1 ? (t = e[n - 1], i.push(
|
|
523
|
+
function dt(e) {
|
|
524
|
+
for (var t, n = e.length, r = n % 3, i = [], a = 16383, o = 0, s = n - r; o < s; o += a) i.push(ut(e, o, o + a > s ? s : o + a));
|
|
525
|
+
return r === 1 ? (t = e[n - 1], i.push(H[t >> 2] + H[t << 4 & 63] + "==")) : r === 2 && (t = (e[n - 2] << 8) + e[n - 1], i.push(H[t >> 10] + H[t >> 4 & 63] + H[t << 2 & 63] + "=")), i.join("");
|
|
526
526
|
}
|
|
527
527
|
//#endregion
|
|
528
528
|
//#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/common/index.js
|
|
529
|
-
function
|
|
529
|
+
function ft(e) {
|
|
530
530
|
if (e === void 0) return {};
|
|
531
|
-
if (!
|
|
531
|
+
if (!mt(e)) throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);
|
|
532
532
|
return e;
|
|
533
533
|
}
|
|
534
|
-
function
|
|
534
|
+
function pt(e) {
|
|
535
535
|
if (e === void 0) throw Error("Client created with undefined deployment address. If you used an environment variable, check that it's set.");
|
|
536
536
|
if (typeof e != "string") throw Error(`Invalid deployment address: found ${e}".`);
|
|
537
537
|
if (!(e.startsWith("http:") || e.startsWith("https:"))) throw Error(`Invalid deployment address: Must start with "https://" or "http://". Found "${e}".`);
|
|
@@ -542,146 +542,146 @@ function ft(e) {
|
|
|
542
542
|
}
|
|
543
543
|
if (e.endsWith(".convex.site")) throw Error(`Invalid deployment address: "${e}" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`);
|
|
544
544
|
}
|
|
545
|
-
function
|
|
545
|
+
function mt(e) {
|
|
546
546
|
let t = typeof e == "object", n = Object.getPrototypeOf(e), r = n === null || n === Object.prototype || n?.constructor?.name === "Object";
|
|
547
547
|
return t && r;
|
|
548
548
|
}
|
|
549
549
|
//#endregion
|
|
550
550
|
//#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/values/value.js
|
|
551
|
-
var
|
|
552
|
-
function
|
|
551
|
+
var ht = !0, gt = BigInt("-9223372036854775808"), _t = BigInt("9223372036854775807"), vt = BigInt("0"), yt = BigInt("8"), bt = BigInt("256");
|
|
552
|
+
function xt(e) {
|
|
553
553
|
return Number.isNaN(e) || !Number.isFinite(e) || Object.is(e, -0);
|
|
554
554
|
}
|
|
555
|
-
function
|
|
556
|
-
e <
|
|
555
|
+
function St(e) {
|
|
556
|
+
e < vt && (e -= gt + gt);
|
|
557
557
|
let t = e.toString(16);
|
|
558
558
|
t.length % 2 == 1 && (t = "0" + t);
|
|
559
559
|
let n = new Uint8Array(/* @__PURE__ */ new ArrayBuffer(8)), r = 0;
|
|
560
|
-
for (let i of t.match(/.{2}/g).reverse()) n.set([parseInt(i, 16)], r++), e >>=
|
|
561
|
-
return
|
|
560
|
+
for (let i of t.match(/.{2}/g).reverse()) n.set([parseInt(i, 16)], r++), e >>= yt;
|
|
561
|
+
return dt(n);
|
|
562
562
|
}
|
|
563
|
-
function
|
|
564
|
-
let t =
|
|
563
|
+
function Ct(e) {
|
|
564
|
+
let t = ct(e);
|
|
565
565
|
if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);
|
|
566
|
-
let n =
|
|
567
|
-
for (let e of t) n += BigInt(e) *
|
|
568
|
-
return n >
|
|
566
|
+
let n = vt, r = vt;
|
|
567
|
+
for (let e of t) n += BigInt(e) * bt ** r, r++;
|
|
568
|
+
return n > _t && (n += gt + gt), n;
|
|
569
569
|
}
|
|
570
|
-
function
|
|
571
|
-
if (e <
|
|
570
|
+
function wt(e) {
|
|
571
|
+
if (e < gt || _t < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
|
|
572
572
|
let t = /* @__PURE__ */ new ArrayBuffer(8);
|
|
573
|
-
return new DataView(t).setBigInt64(0, e, !0),
|
|
573
|
+
return new DataView(t).setBigInt64(0, e, !0), dt(new Uint8Array(t));
|
|
574
574
|
}
|
|
575
|
-
function
|
|
576
|
-
let t =
|
|
575
|
+
function Tt(e) {
|
|
576
|
+
let t = ct(e);
|
|
577
577
|
if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);
|
|
578
578
|
return new DataView(t.buffer).getBigInt64(0, !0);
|
|
579
579
|
}
|
|
580
|
-
var
|
|
581
|
-
function
|
|
582
|
-
if (e.length >
|
|
580
|
+
var Et = DataView.prototype.setBigInt64 ? wt : St, Dt = DataView.prototype.getBigInt64 ? Tt : Ct, Ot = 1024;
|
|
581
|
+
function kt(e) {
|
|
582
|
+
if (e.length > Ot) throw Error(`Field name ${e} exceeds maximum field name length ${Ot}.`);
|
|
583
583
|
if (e.startsWith("$")) throw Error(`Field name ${e} starts with a '$', which is reserved.`);
|
|
584
584
|
for (let t = 0; t < e.length; t += 1) {
|
|
585
585
|
let n = e.charCodeAt(t);
|
|
586
586
|
if (n < 32 || n >= 127) throw Error(`Field name ${e} has invalid character '${e[t]}': Field names can only contain non-control ASCII characters`);
|
|
587
587
|
}
|
|
588
588
|
}
|
|
589
|
-
function
|
|
589
|
+
function At(e) {
|
|
590
590
|
if (e === null || typeof e == "boolean" || typeof e == "number" || typeof e == "string") return e;
|
|
591
|
-
if (Array.isArray(e)) return e.map((e) =>
|
|
591
|
+
if (Array.isArray(e)) return e.map((e) => At(e));
|
|
592
592
|
if (typeof e != "object") throw Error(`Unexpected type of ${e}`);
|
|
593
593
|
let t = Object.entries(e);
|
|
594
594
|
if (t.length === 1) {
|
|
595
595
|
let n = t[0][0];
|
|
596
596
|
if (n === "$bytes") {
|
|
597
597
|
if (typeof e.$bytes != "string") throw Error(`Malformed $bytes field on ${e}`);
|
|
598
|
-
return
|
|
598
|
+
return ct(e.$bytes).buffer;
|
|
599
599
|
}
|
|
600
600
|
if (n === "$integer") {
|
|
601
601
|
if (typeof e.$integer != "string") throw Error(`Malformed $integer field on ${e}`);
|
|
602
|
-
return
|
|
602
|
+
return Dt(e.$integer);
|
|
603
603
|
}
|
|
604
604
|
if (n === "$float") {
|
|
605
605
|
if (typeof e.$float != "string") throw Error(`Malformed $float field on ${e}`);
|
|
606
|
-
let t =
|
|
606
|
+
let t = ct(e.$float);
|
|
607
607
|
if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);
|
|
608
|
-
let n = new DataView(t.buffer).getFloat64(0,
|
|
609
|
-
if (!
|
|
608
|
+
let n = new DataView(t.buffer).getFloat64(0, ht);
|
|
609
|
+
if (!xt(n)) throw Error(`Float ${n} should be encoded as a number`);
|
|
610
610
|
return n;
|
|
611
611
|
}
|
|
612
612
|
if (n === "$set") throw Error("Received a Set which is no longer supported as a Convex type.");
|
|
613
613
|
if (n === "$map") throw Error("Received a Map which is no longer supported as a Convex type.");
|
|
614
614
|
}
|
|
615
615
|
let n = {};
|
|
616
|
-
for (let [t, r] of Object.entries(e))
|
|
616
|
+
for (let [t, r] of Object.entries(e)) kt(t), n[t] = At(r);
|
|
617
617
|
return n;
|
|
618
618
|
}
|
|
619
|
-
var
|
|
620
|
-
function
|
|
619
|
+
var jt = 16384;
|
|
620
|
+
function Mt(e) {
|
|
621
621
|
let t = JSON.stringify(e, (e, t) => t === void 0 ? "undefined" : typeof t == "bigint" ? `${t.toString()}n` : t);
|
|
622
|
-
if (t.length >
|
|
623
|
-
let e =
|
|
622
|
+
if (t.length > jt) {
|
|
623
|
+
let e = jt - 14, n = t.codePointAt(e - 1);
|
|
624
624
|
return n !== void 0 && n > 65535 && --e, t.substring(0, e) + "[...truncated]";
|
|
625
625
|
}
|
|
626
626
|
return t;
|
|
627
627
|
}
|
|
628
|
-
function
|
|
628
|
+
function Nt(e, t, n, r) {
|
|
629
629
|
if (e === void 0) {
|
|
630
|
-
let e = n && ` (present at path ${n} in original object ${
|
|
630
|
+
let e = n && ` (present at path ${n} in original object ${Mt(t)})`;
|
|
631
631
|
throw Error(`undefined is not a valid Convex value${e}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`);
|
|
632
632
|
}
|
|
633
633
|
if (e === null) return e;
|
|
634
634
|
if (typeof e == "bigint") {
|
|
635
|
-
if (e <
|
|
636
|
-
return { $integer:
|
|
635
|
+
if (e < gt || _t < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
|
|
636
|
+
return { $integer: Et(e) };
|
|
637
637
|
}
|
|
638
|
-
if (typeof e == "number") if (
|
|
638
|
+
if (typeof e == "number") if (xt(e)) {
|
|
639
639
|
let t = /* @__PURE__ */ new ArrayBuffer(8);
|
|
640
|
-
return new DataView(t).setFloat64(0, e,
|
|
640
|
+
return new DataView(t).setFloat64(0, e, ht), { $float: dt(new Uint8Array(t)) };
|
|
641
641
|
} else return e;
|
|
642
642
|
if (typeof e == "boolean" || typeof e == "string") return e;
|
|
643
|
-
if (e instanceof ArrayBuffer) return { $bytes:
|
|
644
|
-
if (Array.isArray(e)) return e.map((e, r) =>
|
|
645
|
-
if (e instanceof Set) throw Error(
|
|
646
|
-
if (e instanceof Map) throw Error(
|
|
647
|
-
if (!
|
|
643
|
+
if (e instanceof ArrayBuffer) return { $bytes: dt(new Uint8Array(e)) };
|
|
644
|
+
if (Array.isArray(e)) return e.map((e, r) => Nt(e, t, n + `[${r}]`, !1));
|
|
645
|
+
if (e instanceof Set) throw Error(Pt(n, "Set", [...e], t));
|
|
646
|
+
if (e instanceof Map) throw Error(Pt(n, "Map", [...e], t));
|
|
647
|
+
if (!mt(e)) {
|
|
648
648
|
let r = e?.constructor?.name, i = r ? `${r} ` : "";
|
|
649
|
-
throw Error(
|
|
649
|
+
throw Error(Pt(n, i, e, t));
|
|
650
650
|
}
|
|
651
651
|
let i = {}, a = Object.entries(e);
|
|
652
652
|
a.sort(([e, t], [n, r]) => e === n ? 0 : e < n ? -1 : 1);
|
|
653
|
-
for (let [e, o] of a) o === void 0 ? r && (
|
|
653
|
+
for (let [e, o] of a) o === void 0 ? r && (kt(e), i[e] = Ft(o, t, n + `.${e}`)) : (kt(e), i[e] = Nt(o, t, n + `.${e}`, !1));
|
|
654
654
|
return i;
|
|
655
655
|
}
|
|
656
|
-
function
|
|
657
|
-
return e ? `${t}${
|
|
656
|
+
function Pt(e, t, n, r) {
|
|
657
|
+
return e ? `${t}${Mt(n)} is not a supported Convex type (present at path ${e} in original object ${Mt(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${t}${Mt(n)} is not a supported Convex type.`;
|
|
658
658
|
}
|
|
659
|
-
function
|
|
659
|
+
function Ft(e, t, n) {
|
|
660
660
|
if (e === void 0) return { $undefined: null };
|
|
661
|
-
if (t === void 0) throw Error(`Programming error. Current value is ${
|
|
662
|
-
return
|
|
661
|
+
if (t === void 0) throw Error(`Programming error. Current value is ${Mt(e)} but original value is undefined`);
|
|
662
|
+
return Nt(e, t, n, !1);
|
|
663
663
|
}
|
|
664
|
-
function
|
|
665
|
-
return
|
|
664
|
+
function It(e) {
|
|
665
|
+
return Nt(e, e, "", !1);
|
|
666
666
|
}
|
|
667
667
|
//#endregion
|
|
668
668
|
//#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/values/errors.js
|
|
669
|
-
var
|
|
669
|
+
var Lt = Object.defineProperty, Rt = (e, t, n) => t in e ? Lt(e, t, {
|
|
670
670
|
enumerable: !0,
|
|
671
671
|
configurable: !0,
|
|
672
672
|
writable: !0,
|
|
673
673
|
value: n
|
|
674
|
-
}) : e[t] = n,
|
|
674
|
+
}) : e[t] = n, zt = (e, t, n) => Rt(e, typeof t == "symbol" ? t : t + "", n), Bt, Vt, Ht = Symbol.for("ConvexError"), Ut = class extends (Vt = Error, Bt = Ht, Vt) {
|
|
675
675
|
constructor(e) {
|
|
676
|
-
super(typeof e == "string" ? e :
|
|
676
|
+
super(typeof e == "string" ? e : Mt(e)), zt(this, "name", "ConvexError"), zt(this, "data"), zt(this, Bt, !0), this.data = e;
|
|
677
677
|
}
|
|
678
|
-
},
|
|
678
|
+
}, Wt = Object.defineProperty, Gt = (e, t, n) => t in e ? Wt(e, t, {
|
|
679
679
|
enumerable: !0,
|
|
680
680
|
configurable: !0,
|
|
681
681
|
writable: !0,
|
|
682
682
|
value: n
|
|
683
|
-
}) : e[t] = n,
|
|
684
|
-
function
|
|
683
|
+
}) : e[t] = n, Kt = (e, t, n) => Gt(e, typeof t == "symbol" ? t : t + "", n), qt = "color:rgb(0, 145, 255)";
|
|
684
|
+
function Jt(e) {
|
|
685
685
|
switch (e) {
|
|
686
686
|
case "query": return "Q";
|
|
687
687
|
case "mutation": return "M";
|
|
@@ -689,9 +689,9 @@ function qt(e) {
|
|
|
689
689
|
case "any": return "?";
|
|
690
690
|
}
|
|
691
691
|
}
|
|
692
|
-
var
|
|
692
|
+
var Yt = class {
|
|
693
693
|
constructor(e) {
|
|
694
|
-
|
|
694
|
+
Kt(this, "_onLogLineFuncs"), Kt(this, "_verbose"), this._onLogLineFuncs = {}, this._verbose = e.verbose;
|
|
695
695
|
}
|
|
696
696
|
addLogLineListener(e) {
|
|
697
697
|
let t = Math.random().toString(36).substring(2, 15);
|
|
@@ -713,8 +713,8 @@ var Jt = class {
|
|
|
713
713
|
for (let t of Object.values(this._onLogLineFuncs)) t("error", ...e);
|
|
714
714
|
}
|
|
715
715
|
};
|
|
716
|
-
function
|
|
717
|
-
let t = new
|
|
716
|
+
function Xt(e) {
|
|
717
|
+
let t = new Yt(e);
|
|
718
718
|
return t.addLogLineListener((e, ...t) => {
|
|
719
719
|
switch (e) {
|
|
720
720
|
case "debug":
|
|
@@ -733,11 +733,11 @@ function Yt(e) {
|
|
|
733
733
|
}
|
|
734
734
|
}), t;
|
|
735
735
|
}
|
|
736
|
-
function
|
|
737
|
-
return new
|
|
736
|
+
function Zt(e) {
|
|
737
|
+
return new Yt(e);
|
|
738
738
|
}
|
|
739
|
-
function
|
|
740
|
-
let a =
|
|
739
|
+
function Qt(e, t, n, r, i) {
|
|
740
|
+
let a = Jt(n);
|
|
741
741
|
if (typeof i == "object" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), t === "info") {
|
|
742
742
|
let t = i.match(/^\[.*?\] /);
|
|
743
743
|
if (t === null) {
|
|
@@ -745,57 +745,57 @@ function Zt(e, t, n, r, i) {
|
|
|
745
745
|
return;
|
|
746
746
|
}
|
|
747
747
|
let n = i.slice(1, t[0].length - 2), o = i.slice(t[0].length);
|
|
748
|
-
e.log(`%c[CONVEX ${a}(${r})] [${n}]`,
|
|
748
|
+
e.log(`%c[CONVEX ${a}(${r})] [${n}]`, qt, o);
|
|
749
749
|
} else e.error(`[CONVEX ${a}(${r})] ${i}`);
|
|
750
750
|
}
|
|
751
|
-
function
|
|
751
|
+
function $t(e, t) {
|
|
752
752
|
let n = `[CONVEX FATAL ERROR] ${t}`;
|
|
753
753
|
return e.error(n), Error(n);
|
|
754
754
|
}
|
|
755
|
-
function
|
|
756
|
-
return `[CONVEX ${
|
|
755
|
+
function en(e, t, n) {
|
|
756
|
+
return `[CONVEX ${Jt(e)}(${t})] ${n.errorMessage}
|
|
757
757
|
Called by client`;
|
|
758
758
|
}
|
|
759
|
-
function
|
|
759
|
+
function tn(e, t) {
|
|
760
760
|
return t.data = e.errorData, t;
|
|
761
761
|
}
|
|
762
762
|
//#endregion
|
|
763
763
|
//#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/udf_path_utils.js
|
|
764
|
-
function
|
|
764
|
+
function nn(e) {
|
|
765
765
|
let t = e.split(":"), n, r;
|
|
766
766
|
return t.length === 1 ? (n = t[0], r = "default") : (n = t.slice(0, t.length - 1).join(":"), r = t[t.length - 1]), n.endsWith(".js") && (n = n.slice(0, -3)), `${n}:${r}`;
|
|
767
767
|
}
|
|
768
|
-
function
|
|
768
|
+
function rn(e, t) {
|
|
769
769
|
return JSON.stringify({
|
|
770
|
-
udfPath:
|
|
771
|
-
args:
|
|
770
|
+
udfPath: nn(e),
|
|
771
|
+
args: It(t)
|
|
772
772
|
});
|
|
773
773
|
}
|
|
774
|
-
function
|
|
774
|
+
function an(e, t, n) {
|
|
775
775
|
let { initialNumItems: r, id: i } = n;
|
|
776
776
|
return JSON.stringify({
|
|
777
777
|
type: "paginated",
|
|
778
|
-
udfPath:
|
|
779
|
-
args:
|
|
780
|
-
options:
|
|
778
|
+
udfPath: nn(e),
|
|
779
|
+
args: It(t),
|
|
780
|
+
options: It({
|
|
781
781
|
initialNumItems: r,
|
|
782
782
|
id: i
|
|
783
783
|
})
|
|
784
784
|
});
|
|
785
785
|
}
|
|
786
|
-
function
|
|
786
|
+
function on(e) {
|
|
787
787
|
return JSON.parse(e).type === "paginated";
|
|
788
788
|
}
|
|
789
789
|
//#endregion
|
|
790
790
|
//#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/local_state.js
|
|
791
|
-
var
|
|
791
|
+
var sn = Object.defineProperty, cn = (e, t, n) => t in e ? sn(e, t, {
|
|
792
792
|
enumerable: !0,
|
|
793
793
|
configurable: !0,
|
|
794
794
|
writable: !0,
|
|
795
795
|
value: n
|
|
796
|
-
}) : e[t] = n,
|
|
796
|
+
}) : e[t] = n, W = (e, t, n) => cn(e, typeof t == "symbol" ? t : t + "", n), ln = class {
|
|
797
797
|
constructor() {
|
|
798
|
-
|
|
798
|
+
W(this, "nextQueryId"), W(this, "querySetVersion"), W(this, "querySet"), W(this, "queryIdToToken"), W(this, "identityVersion"), W(this, "auth"), W(this, "outstandingQueriesOlderThanRestart"), W(this, "outstandingAuthOlderThanRestart"), W(this, "paused"), W(this, "pendingQuerySetModifications"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();
|
|
799
799
|
}
|
|
800
800
|
hasSyncedPastLastReconnect() {
|
|
801
801
|
return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;
|
|
@@ -804,7 +804,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
|
|
|
804
804
|
this.outstandingAuthOlderThanRestart = !1;
|
|
805
805
|
}
|
|
806
806
|
subscribe(e, t, n, r) {
|
|
807
|
-
let i =
|
|
807
|
+
let i = nn(e), a = rn(i, t), o = this.querySet.get(a);
|
|
808
808
|
if (o !== void 0) return o.numSubscribers += 1, {
|
|
809
809
|
queryToken: a,
|
|
810
810
|
modification: null,
|
|
@@ -824,7 +824,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
|
|
|
824
824
|
type: "Add",
|
|
825
825
|
queryId: e,
|
|
826
826
|
udfPath: i,
|
|
827
|
-
args: [
|
|
827
|
+
args: [It(t)],
|
|
828
828
|
journal: n,
|
|
829
829
|
componentPath: r
|
|
830
830
|
};
|
|
@@ -859,7 +859,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
|
|
|
859
859
|
}
|
|
860
860
|
}
|
|
861
861
|
queryId(e, t) {
|
|
862
|
-
let n = nn(
|
|
862
|
+
let n = rn(nn(e), t), r = this.querySet.get(n);
|
|
863
863
|
return r === void 0 ? null : r.id;
|
|
864
864
|
}
|
|
865
865
|
isCurrentOrNewerAuthVersion(e) {
|
|
@@ -931,7 +931,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
|
|
|
931
931
|
type: "Add",
|
|
932
932
|
queryId: t.id,
|
|
933
933
|
udfPath: t.canonicalizedUdfPath,
|
|
934
|
-
args: [
|
|
934
|
+
args: [It(t.args)],
|
|
935
935
|
journal: t.journal,
|
|
936
936
|
componentPath: t.componentPath
|
|
937
937
|
};
|
|
@@ -1016,19 +1016,19 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
|
|
|
1016
1016
|
let t = this.inflightRequests.get(e.requestId);
|
|
1017
1017
|
if (t === void 0 || t.status.status === "Completed") return null;
|
|
1018
1018
|
let n = t.message.type === "Mutation" ? "mutation" : "action", r = t.message.udfPath;
|
|
1019
|
-
for (let t of e.logLines)
|
|
1019
|
+
for (let t of e.logLines) Qt(this.logger, "info", n, r, t);
|
|
1020
1020
|
let i = t.status, a, o;
|
|
1021
1021
|
if (e.success) a = {
|
|
1022
1022
|
success: !0,
|
|
1023
1023
|
logLines: e.logLines,
|
|
1024
|
-
value:
|
|
1024
|
+
value: At(e.result)
|
|
1025
1025
|
}, o = () => i.onResult(a);
|
|
1026
1026
|
else {
|
|
1027
1027
|
let t = e.result, { errorData: s } = e;
|
|
1028
|
-
|
|
1028
|
+
Qt(this.logger, "error", n, r, t), a = {
|
|
1029
1029
|
success: !1,
|
|
1030
1030
|
errorMessage: t,
|
|
1031
|
-
errorData: s === void 0 ? void 0 :
|
|
1031
|
+
errorData: s === void 0 ? void 0 : At(s),
|
|
1032
1032
|
logLines: e.logLines
|
|
1033
1033
|
}, o = () => i.onResult(a);
|
|
1034
1034
|
}
|
|
@@ -1158,19 +1158,19 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
|
|
|
1158
1158
|
wn(this, "queryResults"), wn(this, "modifiedQueries"), this.queryResults = e, this.modifiedQueries = [];
|
|
1159
1159
|
}
|
|
1160
1160
|
getQuery(t, ...n) {
|
|
1161
|
-
let r =
|
|
1161
|
+
let r = ft(n[0]), i = yn(t), a = this.queryResults.get(rn(i, r));
|
|
1162
1162
|
if (a !== void 0) return e.queryValue(a.result);
|
|
1163
1163
|
}
|
|
1164
1164
|
getAllQueries(t) {
|
|
1165
1165
|
let n = [], r = yn(t);
|
|
1166
|
-
for (let t of this.queryResults.values()) t.udfPath ===
|
|
1166
|
+
for (let t of this.queryResults.values()) t.udfPath === nn(r) && n.push({
|
|
1167
1167
|
args: t.args,
|
|
1168
1168
|
value: e.queryValue(t.result)
|
|
1169
1169
|
});
|
|
1170
1170
|
return n;
|
|
1171
1171
|
}
|
|
1172
1172
|
setQuery(e, t, n) {
|
|
1173
|
-
let r =
|
|
1173
|
+
let r = ft(t), i = yn(e), a = rn(i, r), o;
|
|
1174
1174
|
o = n === void 0 ? void 0 : {
|
|
1175
1175
|
success: !0,
|
|
1176
1176
|
value: n,
|
|
@@ -1221,7 +1221,7 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
|
|
|
1221
1221
|
let n = t.result;
|
|
1222
1222
|
if (n !== void 0) {
|
|
1223
1223
|
if (n.success) return n.value;
|
|
1224
|
-
throw n.errorData === void 0 ? Error(
|
|
1224
|
+
throw n.errorData === void 0 ? Error(en("query", t.udfPath, n)) : tn(n, new Ut(en("query", t.udfPath, n)));
|
|
1225
1225
|
}
|
|
1226
1226
|
}
|
|
1227
1227
|
hasQueryResult(e) {
|
|
@@ -1298,8 +1298,8 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
|
|
|
1298
1298
|
for (let t of e.modifications) switch (t.type) {
|
|
1299
1299
|
case "QueryUpdated": {
|
|
1300
1300
|
let e = this.queryPath(t.queryId);
|
|
1301
|
-
if (e) for (let n of t.logLines)
|
|
1302
|
-
let n =
|
|
1301
|
+
if (e) for (let n of t.logLines) Qt(this.logger, "info", "query", e, n);
|
|
1302
|
+
let n = At(t.value ?? null);
|
|
1303
1303
|
this.remoteQuerySet.set(t.queryId, {
|
|
1304
1304
|
success: !0,
|
|
1305
1305
|
value: n,
|
|
@@ -1309,12 +1309,12 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
|
|
|
1309
1309
|
}
|
|
1310
1310
|
case "QueryFailed": {
|
|
1311
1311
|
let e = this.queryPath(t.queryId);
|
|
1312
|
-
if (e) for (let n of t.logLines)
|
|
1312
|
+
if (e) for (let n of t.logLines) Qt(this.logger, "info", "query", e, n);
|
|
1313
1313
|
let { errorData: n } = t;
|
|
1314
1314
|
this.remoteQuerySet.set(t.queryId, {
|
|
1315
1315
|
success: !1,
|
|
1316
1316
|
errorMessage: t.errorMessage,
|
|
1317
|
-
errorData: n === void 0 ? void 0 :
|
|
1317
|
+
errorData: n === void 0 ? void 0 : At(n),
|
|
1318
1318
|
logLines: t.logLines
|
|
1319
1319
|
});
|
|
1320
1320
|
break;
|
|
@@ -1336,11 +1336,11 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
|
|
|
1336
1336
|
//#endregion
|
|
1337
1337
|
//#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/protocol.js
|
|
1338
1338
|
function Bn(e) {
|
|
1339
|
-
let t =
|
|
1339
|
+
let t = ct(e);
|
|
1340
1340
|
return An.fromBytesLE(Array.from(t));
|
|
1341
1341
|
}
|
|
1342
1342
|
function Vn(e) {
|
|
1343
|
-
return
|
|
1343
|
+
return dt(new Uint8Array(e.toBytesLE()));
|
|
1344
1344
|
}
|
|
1345
1345
|
function Hn(e) {
|
|
1346
1346
|
switch (e.type) {
|
|
@@ -1969,17 +1969,17 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
1969
1969
|
}), q(this, "mark", (e) => {
|
|
1970
1970
|
this.debug && mr(e, this.sessionId);
|
|
1971
1971
|
}), typeof e == "object") throw Error("Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.");
|
|
1972
|
-
n?.skipConvexDeploymentUrlCheck !== !0 &&
|
|
1972
|
+
n?.skipConvexDeploymentUrlCheck !== !0 && pt(e), n = { ...n };
|
|
1973
1973
|
let r = n.authRefreshTokenLeewaySeconds ?? 10, i = n.webSocketConstructor;
|
|
1974
1974
|
if (!i && typeof WebSocket > "u") throw Error("No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient");
|
|
1975
|
-
i ||= WebSocket, this.debug = n.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = n.logger === !1 ?
|
|
1975
|
+
i ||= WebSocket, this.debug = n.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = n.logger === !1 ? Zt({ verbose: n.verbose ?? !1 }) : n.logger !== !0 && n.logger ? n.logger : Xt({ verbose: n.verbose ?? !1 });
|
|
1976
1976
|
let a = e.search("://");
|
|
1977
1977
|
if (a === -1) throw Error("Provided address was not an absolute URL.");
|
|
1978
1978
|
let o = e.substring(a + 3), s = e.substring(0, a), c;
|
|
1979
1979
|
if (s === "http") c = "ws";
|
|
1980
1980
|
else if (s === "https") c = "wss";
|
|
1981
1981
|
else throw Error(`Unknown parent protocol ${s}`);
|
|
1982
|
-
let l = `${c}://${o}/api/${
|
|
1982
|
+
let l = `${c}://${o}/api/${tt}/sync`;
|
|
1983
1983
|
this.state = new ln(), this.remoteQuerySet = new zn((e) => this.state.queryPath(e), this.logger), this.requestManager = new pn(this.logger, this.markConnectionStateDirty);
|
|
1984
1984
|
let u = () => {
|
|
1985
1985
|
this.webSocketManager.pause(), this.state.pause();
|
|
@@ -2050,7 +2050,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2050
2050
|
this.authenticationManager.onAuthError(e);
|
|
2051
2051
|
break;
|
|
2052
2052
|
case "FatalError": {
|
|
2053
|
-
let t =
|
|
2053
|
+
let t = $t(this.logger, e.error);
|
|
2054
2054
|
throw this.webSocketManager.terminate(), t;
|
|
2055
2055
|
}
|
|
2056
2056
|
default:
|
|
@@ -2133,7 +2133,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2133
2133
|
this.webSocketManager.sendMessage(e);
|
|
2134
2134
|
}
|
|
2135
2135
|
subscribe(e, t, n) {
|
|
2136
|
-
let r =
|
|
2136
|
+
let r = ft(t), { modification: i, queryToken: a, unsubscribe: o } = this.state.subscribe(e, r, n?.journal, n?.componentPath);
|
|
2137
2137
|
return i !== null && this.webSocketManager.sendMessage(i), {
|
|
2138
2138
|
queryToken: a,
|
|
2139
2139
|
unsubscribe: () => {
|
|
@@ -2143,7 +2143,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2143
2143
|
};
|
|
2144
2144
|
}
|
|
2145
2145
|
localQueryResult(e, t) {
|
|
2146
|
-
let n =
|
|
2146
|
+
let n = rn(e, ft(t));
|
|
2147
2147
|
return this.optimisticQueryResults.queryResult(n);
|
|
2148
2148
|
}
|
|
2149
2149
|
localQueryResultByToken(e) {
|
|
@@ -2153,11 +2153,11 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2153
2153
|
return this.optimisticQueryResults.hasQueryResult(e);
|
|
2154
2154
|
}
|
|
2155
2155
|
localQueryLogs(e, t) {
|
|
2156
|
-
let n =
|
|
2156
|
+
let n = rn(e, ft(t));
|
|
2157
2157
|
return this.optimisticQueryResults.queryLogs(n);
|
|
2158
2158
|
}
|
|
2159
2159
|
queryJournal(e, t) {
|
|
2160
|
-
let n =
|
|
2160
|
+
let n = rn(e, ft(t));
|
|
2161
2161
|
return this.state.queryJournal(n);
|
|
2162
2162
|
}
|
|
2163
2163
|
connectionState() {
|
|
@@ -2181,7 +2181,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2181
2181
|
}
|
|
2182
2182
|
async mutation(e, t, n) {
|
|
2183
2183
|
let r = await this.mutationInternal(e, t, n);
|
|
2184
|
-
if (!r.success) throw r.errorData === void 0 ? Error(
|
|
2184
|
+
if (!r.success) throw r.errorData === void 0 ? Error(en("mutation", e, r)) : tn(r, new Ut(en("mutation", e, r)));
|
|
2185
2185
|
return r.value;
|
|
2186
2186
|
}
|
|
2187
2187
|
async mutationInternal(e, t, n, r) {
|
|
@@ -2189,7 +2189,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2189
2189
|
return i;
|
|
2190
2190
|
}
|
|
2191
2191
|
enqueueMutation(e, t, n, r) {
|
|
2192
|
-
let i =
|
|
2192
|
+
let i = ft(t);
|
|
2193
2193
|
this.tryReportLongDisconnect();
|
|
2194
2194
|
let a = this.nextRequestId;
|
|
2195
2195
|
if (this._nextRequestId++, n !== void 0) {
|
|
@@ -2223,7 +2223,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2223
2223
|
requestId: a,
|
|
2224
2224
|
udfPath: e,
|
|
2225
2225
|
componentPath: r,
|
|
2226
|
-
args: [
|
|
2226
|
+
args: [It(i)]
|
|
2227
2227
|
}, s = this.webSocketManager.sendMessage(o);
|
|
2228
2228
|
return {
|
|
2229
2229
|
requestId: a,
|
|
@@ -2232,18 +2232,18 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2232
2232
|
}
|
|
2233
2233
|
async action(e, t) {
|
|
2234
2234
|
let n = await this.actionInternal(e, t);
|
|
2235
|
-
if (!n.success) throw n.errorData === void 0 ? Error(
|
|
2235
|
+
if (!n.success) throw n.errorData === void 0 ? Error(en("action", e, n)) : tn(n, new Ut(en("action", e, n)));
|
|
2236
2236
|
return n.value;
|
|
2237
2237
|
}
|
|
2238
2238
|
async actionInternal(e, t, n) {
|
|
2239
|
-
let r =
|
|
2239
|
+
let r = ft(t), i = this.nextRequestId;
|
|
2240
2240
|
this._nextRequestId++, this.tryReportLongDisconnect();
|
|
2241
2241
|
let a = {
|
|
2242
2242
|
type: "Action",
|
|
2243
2243
|
requestId: i,
|
|
2244
2244
|
udfPath: e,
|
|
2245
2245
|
componentPath: n,
|
|
2246
|
-
args: [
|
|
2246
|
+
args: [It(r)]
|
|
2247
2247
|
}, o = this.webSocketManager.sendMessage(a);
|
|
2248
2248
|
return this.requestManager.request(a, o);
|
|
2249
2249
|
}
|
|
@@ -2278,7 +2278,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
|
|
|
2278
2278
|
method: "POST",
|
|
2279
2279
|
headers: {
|
|
2280
2280
|
"Content-Type": "application/json",
|
|
2281
|
-
"Convex-Client": `npm-${
|
|
2281
|
+
"Convex-Client": `npm-${tt}`
|
|
2282
2282
|
},
|
|
2283
2283
|
body: JSON.stringify({ event: "LongWebsocketDisconnect" })
|
|
2284
2284
|
}).then((e) => {
|
|
@@ -2306,7 +2306,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
|
|
|
2306
2306
|
this.client = e, this.onTransition = t, Cr(this, "paginatedQuerySet", /* @__PURE__ */ new Map()), Cr(this, "lastTransitionTs"), this.lastTransitionTs = An.fromNumber(0), this.client.addOnTransitionHandler((e) => this.onBaseTransition(e));
|
|
2307
2307
|
}
|
|
2308
2308
|
subscribe(e, t, n) {
|
|
2309
|
-
let r =
|
|
2309
|
+
let r = nn(e), i = an(r, t, n), a = () => this.removePaginatedQuerySubscriber(i), o = this.paginatedQuerySet.get(i);
|
|
2310
2310
|
return o ? (o.numSubscribers += 1, {
|
|
2311
2311
|
paginatedQueryToken: i,
|
|
2312
2312
|
unsubscribe: a
|
|
@@ -2328,7 +2328,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
|
|
|
2328
2328
|
});
|
|
2329
2329
|
}
|
|
2330
2330
|
localQueryResult(e, t, n) {
|
|
2331
|
-
let r =
|
|
2331
|
+
let r = an(nn(e), t, n);
|
|
2332
2332
|
return this.localQueryResultByToken(r);
|
|
2333
2333
|
}
|
|
2334
2334
|
localQueryResultByToken(e) {
|
|
@@ -2486,7 +2486,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
|
|
|
2486
2486
|
value: n
|
|
2487
2487
|
}) : e[t] = n, Dr = (e, t, n) => Er(e, typeof t == "symbol" ? t : t + "", n), Or, kr = class {
|
|
2488
2488
|
constructor(e, t = {}) {
|
|
2489
|
-
Dr(this, "listeners"), Dr(this, "_client"), Dr(this, "_paginatedClient"), Dr(this, "callNewListenersWithCurrentValuesTimer"), Dr(this, "_closed"), Dr(this, "_disabled"), t.skipConvexDeploymentUrlCheck !== !0 &&
|
|
2489
|
+
Dr(this, "listeners"), Dr(this, "_client"), Dr(this, "_paginatedClient"), Dr(this, "callNewListenersWithCurrentValuesTimer"), Dr(this, "_closed"), Dr(this, "_disabled"), t.skipConvexDeploymentUrlCheck !== !0 && pt(e);
|
|
2490
2490
|
let { disabled: n, ...r } = t;
|
|
2491
2491
|
this._closed = !1, this._disabled = !!n, Or && !("webSocketConstructor" in r) && typeof WebSocket > "u" && (r.webSocketConstructor = Or), typeof window > "u" && !("unsavedChangesWarning" in r) && (r.unsavedChangesWarning = !1), this.disabled || (this._client = new yr(e, () => {}, r), this._paginatedClient = new wr(this._client, (e) => this._transition(e))), this.listeners = /* @__PURE__ */ new Set();
|
|
2492
2492
|
}
|
|
@@ -2584,7 +2584,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
|
|
|
2584
2584
|
_transition({ queries: e, paginatedQueries: t }, n = !1) {
|
|
2585
2585
|
let r = [...e.map((e) => e.token), ...t.map((e) => e.token)];
|
|
2586
2586
|
for (let e of this.listeners) {
|
|
2587
|
-
let { callback: t, queryToken: i, onError: a, hasEverRun: o } = e, s =
|
|
2587
|
+
let { callback: t, queryToken: i, onError: a, hasEverRun: o } = e, s = on(i), c = s ? !!this.paginatedClient.localQueryResultByToken(i) : this.client.hasLocalQueryResultByToken(i);
|
|
2588
2588
|
if (r.includes(i) || n && !o && c) {
|
|
2589
2589
|
e.hasEverRun = !0;
|
|
2590
2590
|
let n;
|
|
@@ -2632,10 +2632,10 @@ function Ar(e) {
|
|
|
2632
2632
|
return e;
|
|
2633
2633
|
}
|
|
2634
2634
|
function jr(e, t) {
|
|
2635
|
-
let n =
|
|
2635
|
+
let n = z(e);
|
|
2636
2636
|
n.current = e;
|
|
2637
|
-
let [r, i] =
|
|
2638
|
-
return [r,
|
|
2637
|
+
let [r, i] = L(() => typeof t == "function" ? t() : t);
|
|
2638
|
+
return [r, V((e) => {
|
|
2639
2639
|
i((t) => {
|
|
2640
2640
|
let r = n.current[t.kind]?.[e.type];
|
|
2641
2641
|
return r ? r(t, e) : t;
|
|
@@ -2714,9 +2714,9 @@ var Lr = Ar({
|
|
|
2714
2714
|
}
|
|
2715
2715
|
});
|
|
2716
2716
|
function Rr() {
|
|
2717
|
-
let [e, t] = jr(Lr, { kind: "idle" }), n = e, r =
|
|
2717
|
+
let [e, t] = jr(Lr, { kind: "idle" }), n = e, r = z(n);
|
|
2718
2718
|
r.current = n;
|
|
2719
|
-
let i =
|
|
2719
|
+
let i = V(async (e, n) => {
|
|
2720
2720
|
if (r.current.kind !== "pending") {
|
|
2721
2721
|
t({ type: "start" });
|
|
2722
2722
|
try {
|
|
@@ -2734,7 +2734,7 @@ function Rr() {
|
|
|
2734
2734
|
return;
|
|
2735
2735
|
}
|
|
2736
2736
|
}
|
|
2737
|
-
}, [t]), a =
|
|
2737
|
+
}, [t]), a = V(() => t({ type: "reset" }), [t]);
|
|
2738
2738
|
return {
|
|
2739
2739
|
state: n,
|
|
2740
2740
|
isIdle: n.kind === "idle",
|
|
@@ -3204,7 +3204,7 @@ async function hi(e, t) {
|
|
|
3204
3204
|
} catch {}
|
|
3205
3205
|
return i;
|
|
3206
3206
|
} catch (e) {
|
|
3207
|
-
return e?.name !== "TypeError" &&
|
|
3207
|
+
return e?.name !== "TypeError" && M(e, { context: "cookie-probe" }), !1;
|
|
3208
3208
|
}
|
|
3209
3209
|
}
|
|
3210
3210
|
//#endregion
|
|
@@ -3215,7 +3215,7 @@ function vi(e) {
|
|
|
3215
3215
|
try {
|
|
3216
3216
|
e();
|
|
3217
3217
|
} catch (e) {
|
|
3218
|
-
|
|
3218
|
+
M(e, { context: "history-observer-listener" });
|
|
3219
3219
|
}
|
|
3220
3220
|
});
|
|
3221
3221
|
}
|
|
@@ -3252,27 +3252,42 @@ function Si(e) {
|
|
|
3252
3252
|
};
|
|
3253
3253
|
}
|
|
3254
3254
|
//#endregion
|
|
3255
|
+
//#region src/runtime/safe-url.ts
|
|
3256
|
+
var Ci = new Set(["http:", "https:"]);
|
|
3257
|
+
function wi(e, t) {
|
|
3258
|
+
let n;
|
|
3259
|
+
try {
|
|
3260
|
+
n = new URL(e, t);
|
|
3261
|
+
} catch {
|
|
3262
|
+
return null;
|
|
3263
|
+
}
|
|
3264
|
+
return Ci.has(n.protocol) ? n : null;
|
|
3265
|
+
}
|
|
3266
|
+
//#endregion
|
|
3255
3267
|
//#region src/runtime/identity-store.ts
|
|
3256
|
-
var
|
|
3257
|
-
function
|
|
3268
|
+
var Ti = "markup.identity";
|
|
3269
|
+
function Ei() {
|
|
3258
3270
|
try {
|
|
3259
|
-
let e = localStorage.getItem(
|
|
3271
|
+
let e = localStorage.getItem(Ti);
|
|
3260
3272
|
return e ? JSON.parse(e) : null;
|
|
3261
3273
|
} catch {
|
|
3262
3274
|
return null;
|
|
3263
3275
|
}
|
|
3264
3276
|
}
|
|
3265
|
-
function
|
|
3277
|
+
function Di(e) {
|
|
3278
|
+
if (typeof e.image == "string") return wi(e.image, location.href)?.href ?? void 0;
|
|
3279
|
+
}
|
|
3280
|
+
function Oi(e) {
|
|
3266
3281
|
try {
|
|
3267
3282
|
if (e == null) {
|
|
3268
|
-
localStorage.removeItem(
|
|
3283
|
+
localStorage.removeItem(Ti);
|
|
3269
3284
|
return;
|
|
3270
3285
|
}
|
|
3271
|
-
localStorage.setItem(
|
|
3286
|
+
localStorage.setItem(Ti, JSON.stringify(e));
|
|
3272
3287
|
} catch {}
|
|
3273
3288
|
}
|
|
3274
|
-
function
|
|
3275
|
-
let e =
|
|
3289
|
+
function ki() {
|
|
3290
|
+
let e = Ei(), t = {
|
|
3276
3291
|
name: e?.name,
|
|
3277
3292
|
email: e?.email
|
|
3278
3293
|
};
|
|
@@ -3290,7 +3305,8 @@ function Ei() {
|
|
|
3290
3305
|
tokenExpiresAt: e.tokenExpiresAt,
|
|
3291
3306
|
refreshTokenExpiresAt: e.refreshTokenExpiresAt,
|
|
3292
3307
|
name: e.name,
|
|
3293
|
-
email: e.email
|
|
3308
|
+
email: e.email,
|
|
3309
|
+
image: Di(e)
|
|
3294
3310
|
}
|
|
3295
3311
|
},
|
|
3296
3312
|
preserved: t
|
|
@@ -3310,7 +3326,8 @@ function Ei() {
|
|
|
3310
3326
|
refreshTokenExpiresAt: e.refreshTokenExpiresAt
|
|
3311
3327
|
} : {},
|
|
3312
3328
|
name: e.name,
|
|
3313
|
-
email: e.email
|
|
3329
|
+
email: e.email,
|
|
3330
|
+
image: Di(e)
|
|
3314
3331
|
}
|
|
3315
3332
|
},
|
|
3316
3333
|
preserved: t
|
|
@@ -3332,10 +3349,10 @@ function Ei() {
|
|
|
3332
3349
|
preserved: t
|
|
3333
3350
|
};
|
|
3334
3351
|
}
|
|
3335
|
-
function
|
|
3352
|
+
function Ai(e) {
|
|
3336
3353
|
switch (e.kind) {
|
|
3337
3354
|
case "verified":
|
|
3338
|
-
|
|
3355
|
+
Oi({
|
|
3339
3356
|
clientId: e.identity.clientId,
|
|
3340
3357
|
storage: e.identity.storage,
|
|
3341
3358
|
token: e.identity.storage === "cookies" ? void 0 : e.identity.token,
|
|
@@ -3344,11 +3361,12 @@ function Di(e) {
|
|
|
3344
3361
|
refreshTokenExpiresAt: e.identity.refreshTokenExpiresAt,
|
|
3345
3362
|
isVerified: !0,
|
|
3346
3363
|
name: e.identity.name,
|
|
3347
|
-
email: e.identity.email
|
|
3364
|
+
email: e.identity.email,
|
|
3365
|
+
image: e.identity.image
|
|
3348
3366
|
});
|
|
3349
3367
|
return;
|
|
3350
3368
|
case "anon":
|
|
3351
|
-
|
|
3369
|
+
Oi({
|
|
3352
3370
|
clientId: e.identity.clientId,
|
|
3353
3371
|
anonToken: e.identity.anonToken,
|
|
3354
3372
|
name: e.identity.name,
|
|
@@ -3356,23 +3374,23 @@ function Di(e) {
|
|
|
3356
3374
|
});
|
|
3357
3375
|
return;
|
|
3358
3376
|
case "recovering":
|
|
3359
|
-
|
|
3377
|
+
Oi({
|
|
3360
3378
|
name: e.preserved.name,
|
|
3361
3379
|
email: e.preserved.email
|
|
3362
3380
|
});
|
|
3363
3381
|
return;
|
|
3364
3382
|
case "unresolved":
|
|
3365
|
-
|
|
3383
|
+
Oi(null);
|
|
3366
3384
|
return;
|
|
3367
3385
|
}
|
|
3368
3386
|
}
|
|
3369
|
-
function
|
|
3387
|
+
function ji(e) {
|
|
3370
3388
|
if (e.kind === "anon" || e.kind === "verified") return e.identity.clientId;
|
|
3371
3389
|
}
|
|
3372
|
-
function
|
|
3390
|
+
function Mi(e) {
|
|
3373
3391
|
return e.kind === "anon" ? e.identity.name ?? null : e.kind === "verified" ? e.identity.name : null;
|
|
3374
3392
|
}
|
|
3375
|
-
function
|
|
3393
|
+
function Ni(e) {
|
|
3376
3394
|
if (e.kind === "anon") {
|
|
3377
3395
|
let t = e.identity.name;
|
|
3378
3396
|
return t ? {
|
|
@@ -3387,8 +3405,8 @@ function Ai(e) {
|
|
|
3387
3405
|
}
|
|
3388
3406
|
//#endregion
|
|
3389
3407
|
//#region src/runtime/popup-auth.ts
|
|
3390
|
-
var
|
|
3391
|
-
async function
|
|
3408
|
+
var Pi = "MARKUP_AUTH_RESULT", Fi = "MARKUP_AUTH_RETRY", Ii = "MARKUP_AUTH_EXPIRED", Li = 5;
|
|
3409
|
+
async function Ri(e) {
|
|
3392
3410
|
let { apiUrl: t, apiKey: n, useCookies: r } = e, i = new URL(t).origin, a = r ? "refresh,cookies" : "refresh";
|
|
3393
3411
|
async function o() {
|
|
3394
3412
|
let e = await fetch(`${t.replace(/\/+$/, "")}/widget/popup-exchange`, {
|
|
@@ -3407,7 +3425,7 @@ async function Fi(e) {
|
|
|
3407
3425
|
try {
|
|
3408
3426
|
s = await o();
|
|
3409
3427
|
} catch (e) {
|
|
3410
|
-
return e?.name !== "TypeError" &&
|
|
3428
|
+
return e?.name !== "TypeError" && M(e, { context: "popup-exchange" }), Promise.reject(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to start popup exchange"));
|
|
3411
3429
|
}
|
|
3412
3430
|
let c = Math.max(0, window.screenX + (window.outerWidth - 420) / 2), l = Math.max(0, window.screenY + (window.outerHeight - 560) / 2), u = window.open(s, "markup-auth", `width=420,height=560,left=${c},top=${l}`);
|
|
3413
3431
|
if (!u) return Promise.reject(/* @__PURE__ */ Error("Popup blocked — allow popups for this site to sign in"));
|
|
@@ -3419,7 +3437,7 @@ async function Fi(e) {
|
|
|
3419
3437
|
let s = (e) => {
|
|
3420
3438
|
if (!r) {
|
|
3421
3439
|
if (e) {
|
|
3422
|
-
if (n >=
|
|
3440
|
+
if (n >= Li) {
|
|
3423
3441
|
a(), t(/* @__PURE__ */ Error("Sign-in could not be restarted — close the window and try again"));
|
|
3424
3442
|
return;
|
|
3425
3443
|
}
|
|
@@ -3428,7 +3446,7 @@ async function Fi(e) {
|
|
|
3428
3446
|
r = !0, o().then((e) => {
|
|
3429
3447
|
u.closed || (u.location.href = e);
|
|
3430
3448
|
}).catch((e) => {
|
|
3431
|
-
a(),
|
|
3449
|
+
a(), M(e, { context: "popup-exchange-remint" }), t(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to restart sign-in"));
|
|
3432
3450
|
}).finally(() => {
|
|
3433
3451
|
r = !1;
|
|
3434
3452
|
});
|
|
@@ -3437,15 +3455,15 @@ async function Fi(e) {
|
|
|
3437
3455
|
function c(n) {
|
|
3438
3456
|
if (n.origin !== i || n.source !== u) return;
|
|
3439
3457
|
let r = n.data;
|
|
3440
|
-
if (r?.type ===
|
|
3458
|
+
if (r?.type === Fi) {
|
|
3441
3459
|
s(!1);
|
|
3442
3460
|
return;
|
|
3443
3461
|
}
|
|
3444
|
-
if (r?.type ===
|
|
3462
|
+
if (r?.type === Ii) {
|
|
3445
3463
|
s(!0);
|
|
3446
3464
|
return;
|
|
3447
3465
|
}
|
|
3448
|
-
r?.type ===
|
|
3466
|
+
r?.type === Pi && (a(), r.identity?.id && r.identity?.name ? e({
|
|
3449
3467
|
mode: r.mode === "cookies" ? "cookies" : "localStorage",
|
|
3450
3468
|
identity: r.identity,
|
|
3451
3469
|
token: typeof r.token == "string" ? r.token : null,
|
|
@@ -3476,7 +3494,7 @@ async function Fi(e) {
|
|
|
3476
3494
|
});
|
|
3477
3495
|
if (!e.ok) {
|
|
3478
3496
|
let t = /* @__PURE__ */ Error(`Failed to install widget cookies (${e.status})`);
|
|
3479
|
-
throw
|
|
3497
|
+
throw M(t, { context: "install-cookies" }), t;
|
|
3480
3498
|
}
|
|
3481
3499
|
return {
|
|
3482
3500
|
...d,
|
|
@@ -3487,58 +3505,46 @@ async function Fi(e) {
|
|
|
3487
3505
|
return d;
|
|
3488
3506
|
}
|
|
3489
3507
|
//#endregion
|
|
3490
|
-
//#region src/runtime/safe-url.ts
|
|
3491
|
-
var Ii = new Set(["http:", "https:"]);
|
|
3492
|
-
function Li(e, t) {
|
|
3493
|
-
let n;
|
|
3494
|
-
try {
|
|
3495
|
-
n = new URL(e, t);
|
|
3496
|
-
} catch {
|
|
3497
|
-
return null;
|
|
3498
|
-
}
|
|
3499
|
-
return Ii.has(n.protocol) ? n : null;
|
|
3500
|
-
}
|
|
3501
|
-
//#endregion
|
|
3502
3508
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js
|
|
3503
|
-
function
|
|
3509
|
+
function zi(e, t) {
|
|
3504
3510
|
if (e.match(/^[a-z]+:\/\//i)) return e;
|
|
3505
3511
|
if (e.match(/^\/\//)) return window.location.protocol + e;
|
|
3506
3512
|
if (e.match(/^[a-z]+:/i)) return e;
|
|
3507
3513
|
let n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
|
|
3508
3514
|
return n.head.appendChild(r), n.body.appendChild(i), t && (r.href = t), i.href = e, i.href;
|
|
3509
3515
|
}
|
|
3510
|
-
var
|
|
3516
|
+
var Bi = (() => {
|
|
3511
3517
|
let e = 0, t = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);
|
|
3512
3518
|
return () => (e += 1, `u${t()}${e}`);
|
|
3513
3519
|
})();
|
|
3514
|
-
function
|
|
3520
|
+
function Vi(e) {
|
|
3515
3521
|
let t = [];
|
|
3516
3522
|
for (let n = 0, r = e.length; n < r; n++) t.push(e[n]);
|
|
3517
3523
|
return t;
|
|
3518
3524
|
}
|
|
3519
|
-
var
|
|
3520
|
-
function
|
|
3521
|
-
return
|
|
3525
|
+
var Hi = null;
|
|
3526
|
+
function Ui(e = {}) {
|
|
3527
|
+
return Hi || (e.includeStyleProperties ? (Hi = e.includeStyleProperties, Hi) : (Hi = Vi(window.getComputedStyle(document.documentElement)), Hi));
|
|
3522
3528
|
}
|
|
3523
|
-
function
|
|
3529
|
+
function Wi(e, t) {
|
|
3524
3530
|
let n = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
|
|
3525
3531
|
return n ? parseFloat(n.replace("px", "")) : 0;
|
|
3526
3532
|
}
|
|
3527
|
-
function
|
|
3528
|
-
let t =
|
|
3533
|
+
function Gi(e) {
|
|
3534
|
+
let t = Wi(e, "border-left-width"), n = Wi(e, "border-right-width");
|
|
3529
3535
|
return e.clientWidth + t + n;
|
|
3530
3536
|
}
|
|
3531
|
-
function
|
|
3532
|
-
let t =
|
|
3537
|
+
function Ki(e) {
|
|
3538
|
+
let t = Wi(e, "border-top-width"), n = Wi(e, "border-bottom-width");
|
|
3533
3539
|
return e.clientHeight + t + n;
|
|
3534
3540
|
}
|
|
3535
|
-
function
|
|
3541
|
+
function qi(e, t = {}) {
|
|
3536
3542
|
return {
|
|
3537
|
-
width: t.width ||
|
|
3538
|
-
height: t.height ||
|
|
3543
|
+
width: t.width || Gi(e),
|
|
3544
|
+
height: t.height || Ki(e)
|
|
3539
3545
|
};
|
|
3540
3546
|
}
|
|
3541
|
-
function
|
|
3547
|
+
function Ji() {
|
|
3542
3548
|
let e, t;
|
|
3543
3549
|
try {
|
|
3544
3550
|
t = process;
|
|
@@ -3547,10 +3553,10 @@ function qi() {
|
|
|
3547
3553
|
return n && (e = parseInt(n, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
|
|
3548
3554
|
}
|
|
3549
3555
|
var Y = 16384;
|
|
3550
|
-
function
|
|
3556
|
+
function Yi(e) {
|
|
3551
3557
|
(e.width > Y || e.height > Y) && (e.width > Y && e.height > Y ? e.width > e.height ? (e.height *= Y / e.width, e.width = Y) : (e.width *= Y / e.height, e.height = Y) : e.width > Y ? (e.height *= Y / e.width, e.width = Y) : (e.width *= Y / e.height, e.height = Y));
|
|
3552
3558
|
}
|
|
3553
|
-
function
|
|
3559
|
+
function Xi(e) {
|
|
3554
3560
|
return new Promise((t, n) => {
|
|
3555
3561
|
let r = new Image();
|
|
3556
3562
|
r.onload = () => {
|
|
@@ -3560,12 +3566,12 @@ function Yi(e) {
|
|
|
3560
3566
|
}, r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = e;
|
|
3561
3567
|
});
|
|
3562
3568
|
}
|
|
3563
|
-
async function
|
|
3569
|
+
async function Zi(e) {
|
|
3564
3570
|
return Promise.resolve().then(() => new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then((e) => `data:image/svg+xml;charset=utf-8,${e}`);
|
|
3565
3571
|
}
|
|
3566
|
-
async function
|
|
3572
|
+
async function Qi(e, t, n) {
|
|
3567
3573
|
let r = "http://www.w3.org/2000/svg", i = document.createElementNS(r, "svg"), a = document.createElementNS(r, "foreignObject");
|
|
3568
|
-
return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("x", "0"), a.setAttribute("y", "0"), a.setAttribute("externalResourcesRequired", "true"), i.appendChild(a), a.appendChild(e),
|
|
3574
|
+
return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("x", "0"), a.setAttribute("y", "0"), a.setAttribute("externalResourcesRequired", "true"), i.appendChild(a), a.appendChild(e), Zi(i);
|
|
3569
3575
|
}
|
|
3570
3576
|
var X = (e, t) => {
|
|
3571
3577
|
if (e instanceof t) return !0;
|
|
@@ -3574,66 +3580,66 @@ var X = (e, t) => {
|
|
|
3574
3580
|
};
|
|
3575
3581
|
//#endregion
|
|
3576
3582
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js
|
|
3577
|
-
function
|
|
3583
|
+
function $i(e) {
|
|
3578
3584
|
let t = e.getPropertyValue("content");
|
|
3579
3585
|
return `${e.cssText} content: '${t.replace(/'|"/g, "")}';`;
|
|
3580
3586
|
}
|
|
3581
|
-
function
|
|
3582
|
-
return
|
|
3587
|
+
function ea(e, t) {
|
|
3588
|
+
return Ui(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
|
|
3583
3589
|
}
|
|
3584
|
-
function
|
|
3585
|
-
let i = `.${e}:${t}`, a = n.cssText ?
|
|
3590
|
+
function ta(e, t, n, r) {
|
|
3591
|
+
let i = `.${e}:${t}`, a = n.cssText ? $i(n) : ea(n, r);
|
|
3586
3592
|
return document.createTextNode(`${i}{${a}}`);
|
|
3587
3593
|
}
|
|
3588
|
-
function
|
|
3594
|
+
function na(e, t, n, r) {
|
|
3589
3595
|
let i = window.getComputedStyle(e, n), a = i.getPropertyValue("content");
|
|
3590
3596
|
if (a === "" || a === "none") return;
|
|
3591
|
-
let o =
|
|
3597
|
+
let o = Bi();
|
|
3592
3598
|
try {
|
|
3593
3599
|
t.className = `${t.className} ${o}`;
|
|
3594
3600
|
} catch {
|
|
3595
3601
|
return;
|
|
3596
3602
|
}
|
|
3597
3603
|
let s = document.createElement("style");
|
|
3598
|
-
s.appendChild(
|
|
3604
|
+
s.appendChild(ta(o, n, i, r)), t.appendChild(s);
|
|
3599
3605
|
}
|
|
3600
|
-
function
|
|
3601
|
-
|
|
3606
|
+
function ra(e, t, n) {
|
|
3607
|
+
na(e, t, ":before", n), na(e, t, ":after", n);
|
|
3602
3608
|
}
|
|
3603
3609
|
//#endregion
|
|
3604
3610
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js
|
|
3605
|
-
var
|
|
3606
|
-
woff:
|
|
3607
|
-
woff2:
|
|
3611
|
+
var ia = "application/font-woff", aa = "image/jpeg", oa = {
|
|
3612
|
+
woff: ia,
|
|
3613
|
+
woff2: ia,
|
|
3608
3614
|
ttf: "application/font-truetype",
|
|
3609
3615
|
eot: "application/vnd.ms-fontobject",
|
|
3610
3616
|
png: "image/png",
|
|
3611
|
-
jpg:
|
|
3612
|
-
jpeg:
|
|
3617
|
+
jpg: aa,
|
|
3618
|
+
jpeg: aa,
|
|
3613
3619
|
gif: "image/gif",
|
|
3614
3620
|
tiff: "image/tiff",
|
|
3615
3621
|
svg: "image/svg+xml",
|
|
3616
3622
|
webp: "image/webp"
|
|
3617
3623
|
};
|
|
3618
|
-
function
|
|
3624
|
+
function sa(e) {
|
|
3619
3625
|
let t = /\.([^./]*?)$/g.exec(e);
|
|
3620
3626
|
return t ? t[1] : "";
|
|
3621
3627
|
}
|
|
3622
|
-
function
|
|
3623
|
-
return
|
|
3628
|
+
function ca(e) {
|
|
3629
|
+
return oa[sa(e).toLowerCase()] || "";
|
|
3624
3630
|
}
|
|
3625
3631
|
//#endregion
|
|
3626
3632
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js
|
|
3627
|
-
function
|
|
3633
|
+
function la(e) {
|
|
3628
3634
|
return e.split(/,/)[1];
|
|
3629
3635
|
}
|
|
3630
|
-
function
|
|
3636
|
+
function ua(e) {
|
|
3631
3637
|
return e.search(/^(data:)/) !== -1;
|
|
3632
3638
|
}
|
|
3633
|
-
function
|
|
3639
|
+
function da(e, t) {
|
|
3634
3640
|
return `data:${t};base64,${e}`;
|
|
3635
3641
|
}
|
|
3636
|
-
async function
|
|
3642
|
+
async function fa(e, t, n) {
|
|
3637
3643
|
let r = await fetch(e, t);
|
|
3638
3644
|
if (r.status === 404) throw Error(`Resource "${r.url}" not found`);
|
|
3639
3645
|
let i = await r.blob();
|
|
@@ -3651,78 +3657,78 @@ async function da(e, t, n) {
|
|
|
3651
3657
|
}, a.readAsDataURL(i);
|
|
3652
3658
|
});
|
|
3653
3659
|
}
|
|
3654
|
-
var
|
|
3655
|
-
function
|
|
3660
|
+
var pa = {};
|
|
3661
|
+
function ma(e, t, n) {
|
|
3656
3662
|
let r = e.replace(/\?.*/, "");
|
|
3657
3663
|
return n && (r = e), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\//, "")), t ? `[${t}]${r}` : r;
|
|
3658
3664
|
}
|
|
3659
|
-
async function
|
|
3660
|
-
let r =
|
|
3661
|
-
if (
|
|
3665
|
+
async function ha(e, t, n) {
|
|
3666
|
+
let r = ma(e, t, n.includeQueryParams);
|
|
3667
|
+
if (pa[r] != null) return pa[r];
|
|
3662
3668
|
n.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
|
|
3663
3669
|
let i;
|
|
3664
3670
|
try {
|
|
3665
|
-
i =
|
|
3671
|
+
i = da(await fa(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", la(n))), t);
|
|
3666
3672
|
} catch (t) {
|
|
3667
3673
|
i = n.imagePlaceholder || "";
|
|
3668
3674
|
let r = `Failed to fetch resource: ${e}`;
|
|
3669
3675
|
t && (r = typeof t == "string" ? t : t.message), r && console.warn(r);
|
|
3670
3676
|
}
|
|
3671
|
-
return
|
|
3677
|
+
return pa[r] = i, i;
|
|
3672
3678
|
}
|
|
3673
3679
|
//#endregion
|
|
3674
3680
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js
|
|
3675
|
-
async function
|
|
3681
|
+
async function ga(e) {
|
|
3676
3682
|
let t = e.toDataURL();
|
|
3677
|
-
return t === "data:," ? e.cloneNode(!1) :
|
|
3683
|
+
return t === "data:," ? e.cloneNode(!1) : Xi(t);
|
|
3678
3684
|
}
|
|
3679
|
-
async function
|
|
3685
|
+
async function _a(e, t) {
|
|
3680
3686
|
if (e.currentSrc) {
|
|
3681
3687
|
let t = document.createElement("canvas"), n = t.getContext("2d");
|
|
3682
|
-
return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height),
|
|
3688
|
+
return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), Xi(t.toDataURL());
|
|
3683
3689
|
}
|
|
3684
3690
|
let n = e.poster;
|
|
3685
|
-
return
|
|
3691
|
+
return Xi(await ha(n, ca(n), t));
|
|
3686
3692
|
}
|
|
3687
|
-
async function
|
|
3693
|
+
async function va(e, t) {
|
|
3688
3694
|
try {
|
|
3689
|
-
if (e?.contentDocument?.body) return await
|
|
3695
|
+
if (e?.contentDocument?.body) return await Oa(e.contentDocument.body, t, !0);
|
|
3690
3696
|
} catch {}
|
|
3691
3697
|
return e.cloneNode(!1);
|
|
3692
3698
|
}
|
|
3693
|
-
async function
|
|
3694
|
-
return X(e, HTMLCanvasElement) ?
|
|
3699
|
+
async function ya(e, t) {
|
|
3700
|
+
return X(e, HTMLCanvasElement) ? ga(e) : X(e, HTMLVideoElement) ? _a(e, t) : X(e, HTMLIFrameElement) ? va(e, t) : e.cloneNode(xa(e));
|
|
3695
3701
|
}
|
|
3696
|
-
var
|
|
3697
|
-
async function
|
|
3698
|
-
if (
|
|
3702
|
+
var ba = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", xa = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
|
|
3703
|
+
async function Sa(e, t, n) {
|
|
3704
|
+
if (xa(t)) return t;
|
|
3699
3705
|
let r = [];
|
|
3700
|
-
return r =
|
|
3706
|
+
return r = ba(e) && e.assignedNodes ? Vi(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? Vi(e.contentDocument.body.childNodes) : Vi((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => Oa(r, n)).then((e) => {
|
|
3701
3707
|
e && t.appendChild(e);
|
|
3702
3708
|
}), Promise.resolve()), t;
|
|
3703
3709
|
}
|
|
3704
|
-
function
|
|
3710
|
+
function Ca(e, t, n) {
|
|
3705
3711
|
let r = t.style;
|
|
3706
3712
|
if (!r) return;
|
|
3707
3713
|
let i = window.getComputedStyle(e);
|
|
3708
|
-
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) :
|
|
3714
|
+
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : Ui(n).forEach((n) => {
|
|
3709
3715
|
let a = i.getPropertyValue(n);
|
|
3710
3716
|
n === "font-size" && a.endsWith("px") && (a = `${Math.floor(parseFloat(a.substring(0, a.length - 2))) - .1}px`), X(e, HTMLIFrameElement) && n === "display" && a === "inline" && (a = "block"), n === "d" && t.getAttribute("d") && (a = `path(${t.getAttribute("d")})`), r.setProperty(n, a, i.getPropertyPriority(n));
|
|
3711
3717
|
});
|
|
3712
3718
|
}
|
|
3713
|
-
function
|
|
3719
|
+
function wa(e, t) {
|
|
3714
3720
|
X(e, HTMLTextAreaElement) && (t.innerHTML = e.value), X(e, HTMLInputElement) && t.setAttribute("value", e.value);
|
|
3715
3721
|
}
|
|
3716
|
-
function
|
|
3722
|
+
function Ta(e, t) {
|
|
3717
3723
|
if (X(e, HTMLSelectElement)) {
|
|
3718
3724
|
let n = t, r = Array.from(n.children).find((t) => e.value === t.getAttribute("value"));
|
|
3719
3725
|
r && r.setAttribute("selected", "");
|
|
3720
3726
|
}
|
|
3721
3727
|
}
|
|
3722
|
-
function
|
|
3723
|
-
return X(t, Element) && (
|
|
3728
|
+
function Ea(e, t, n) {
|
|
3729
|
+
return X(t, Element) && (Ca(e, t, n), ra(e, t, n), wa(e, t), Ta(e, t)), t;
|
|
3724
3730
|
}
|
|
3725
|
-
async function
|
|
3731
|
+
async function Da(e, t) {
|
|
3726
3732
|
let n = e.querySelectorAll ? e.querySelectorAll("use") : [];
|
|
3727
3733
|
if (n.length === 0) return e;
|
|
3728
3734
|
let r = {};
|
|
@@ -3730,7 +3736,7 @@ async function Ea(e, t) {
|
|
|
3730
3736
|
let a = n[i].getAttribute("xlink:href");
|
|
3731
3737
|
if (a) {
|
|
3732
3738
|
let n = e.querySelector(a), i = document.querySelector(a);
|
|
3733
|
-
!n && i && !r[a] && (r[a] = await
|
|
3739
|
+
!n && i && !r[a] && (r[a] = await Oa(i, t, !0));
|
|
3734
3740
|
}
|
|
3735
3741
|
}
|
|
3736
3742
|
let i = Object.values(r);
|
|
@@ -3744,61 +3750,61 @@ async function Ea(e, t) {
|
|
|
3744
3750
|
}
|
|
3745
3751
|
return e;
|
|
3746
3752
|
}
|
|
3747
|
-
async function
|
|
3748
|
-
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) =>
|
|
3753
|
+
async function Oa(e, t, n) {
|
|
3754
|
+
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => ya(e, t)).then((n) => Sa(e, n, t)).then((n) => Ea(e, n, t)).then((e) => Da(e, t));
|
|
3749
3755
|
}
|
|
3750
3756
|
//#endregion
|
|
3751
3757
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js
|
|
3752
|
-
var
|
|
3753
|
-
function
|
|
3758
|
+
var ka = /url\((['"]?)([^'"]+?)\1\)/g, Aa = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, ja = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
|
|
3759
|
+
function Ma(e) {
|
|
3754
3760
|
let t = e.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
|
|
3755
3761
|
return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`, "g");
|
|
3756
3762
|
}
|
|
3757
|
-
function
|
|
3763
|
+
function Na(e) {
|
|
3758
3764
|
let t = [];
|
|
3759
|
-
return e.replace(
|
|
3765
|
+
return e.replace(ka, (e, n, r) => (t.push(r), e)), t.filter((e) => !ua(e));
|
|
3760
3766
|
}
|
|
3761
|
-
async function
|
|
3767
|
+
async function Pa(e, t, n, r, i) {
|
|
3762
3768
|
try {
|
|
3763
|
-
let a = n ?
|
|
3764
|
-
return s = i ?
|
|
3769
|
+
let a = n ? zi(t, n) : t, o = ca(t), s;
|
|
3770
|
+
return s = i ? da(await i(a), o) : await ha(a, o, r), e.replace(Ma(t), `$1${s}$3`);
|
|
3765
3771
|
} catch {}
|
|
3766
3772
|
return e;
|
|
3767
3773
|
}
|
|
3768
|
-
function
|
|
3769
|
-
return t ? e.replace(
|
|
3774
|
+
function Fa(e, { preferredFontFormat: t }) {
|
|
3775
|
+
return t ? e.replace(ja, (e) => {
|
|
3770
3776
|
for (;;) {
|
|
3771
|
-
let [n, , r] =
|
|
3777
|
+
let [n, , r] = Aa.exec(e) || [];
|
|
3772
3778
|
if (!r) return "";
|
|
3773
3779
|
if (r === t) return `src: ${n};`;
|
|
3774
3780
|
}
|
|
3775
3781
|
}) : e;
|
|
3776
3782
|
}
|
|
3777
|
-
function
|
|
3778
|
-
return e.search(
|
|
3783
|
+
function Ia(e) {
|
|
3784
|
+
return e.search(ka) !== -1;
|
|
3779
3785
|
}
|
|
3780
|
-
async function
|
|
3781
|
-
if (!
|
|
3782
|
-
let r =
|
|
3783
|
-
return
|
|
3786
|
+
async function La(e, t, n) {
|
|
3787
|
+
if (!Ia(e)) return e;
|
|
3788
|
+
let r = Fa(e, n);
|
|
3789
|
+
return Na(r).reduce((e, r) => e.then((e) => Pa(e, r, t, n)), Promise.resolve(r));
|
|
3784
3790
|
}
|
|
3785
3791
|
//#endregion
|
|
3786
3792
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js
|
|
3787
|
-
async function
|
|
3793
|
+
async function Ra(e, t, n) {
|
|
3788
3794
|
let r = t.style?.getPropertyValue(e);
|
|
3789
3795
|
if (r) {
|
|
3790
|
-
let i = await
|
|
3796
|
+
let i = await La(r, null, n);
|
|
3791
3797
|
return t.style.setProperty(e, i, t.style.getPropertyPriority(e)), !0;
|
|
3792
3798
|
}
|
|
3793
3799
|
return !1;
|
|
3794
3800
|
}
|
|
3795
|
-
async function Ra(e, t) {
|
|
3796
|
-
await La("background", e, t) || await La("background-image", e, t), await La("mask", e, t) || await La("-webkit-mask", e, t) || await La("mask-image", e, t) || await La("-webkit-mask-image", e, t);
|
|
3797
|
-
}
|
|
3798
3801
|
async function za(e, t) {
|
|
3802
|
+
await Ra("background", e, t) || await Ra("background-image", e, t), await Ra("mask", e, t) || await Ra("-webkit-mask", e, t) || await Ra("mask-image", e, t) || await Ra("-webkit-mask-image", e, t);
|
|
3803
|
+
}
|
|
3804
|
+
async function Ba(e, t) {
|
|
3799
3805
|
let n = X(e, HTMLImageElement);
|
|
3800
|
-
if (!(n && !
|
|
3801
|
-
let r = n ? e.src : e.href.baseVal, i = await
|
|
3806
|
+
if (!(n && !ua(e.src)) && !(X(e, SVGImageElement) && !ua(e.href.baseVal))) return;
|
|
3807
|
+
let r = n ? e.src : e.href.baseVal, i = await ha(r, ca(r), t);
|
|
3802
3808
|
await new Promise((r, a) => {
|
|
3803
3809
|
e.onload = r, e.onerror = t.onImageErrorHandler ? (...e) => {
|
|
3804
3810
|
try {
|
|
@@ -3811,16 +3817,16 @@ async function za(e, t) {
|
|
|
3811
3817
|
o.decode &&= r, o.loading === "lazy" && (o.loading = "eager"), n ? (e.srcset = "", e.src = i) : e.href.baseVal = i;
|
|
3812
3818
|
});
|
|
3813
3819
|
}
|
|
3814
|
-
async function
|
|
3815
|
-
let n =
|
|
3820
|
+
async function Va(e, t) {
|
|
3821
|
+
let n = Vi(e.childNodes).map((e) => Ha(e, t));
|
|
3816
3822
|
await Promise.all(n).then(() => e);
|
|
3817
3823
|
}
|
|
3818
|
-
async function
|
|
3819
|
-
X(e, Element) && (await
|
|
3824
|
+
async function Ha(e, t) {
|
|
3825
|
+
X(e, Element) && (await za(e, t), await Ba(e, t), await Va(e, t));
|
|
3820
3826
|
}
|
|
3821
3827
|
//#endregion
|
|
3822
3828
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js
|
|
3823
|
-
function
|
|
3829
|
+
function Ua(e, t) {
|
|
3824
3830
|
let { style: n } = e;
|
|
3825
3831
|
t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.width && (n.width = `${t.width}px`), t.height && (n.height = `${t.height}px`);
|
|
3826
3832
|
let r = t.style;
|
|
@@ -3830,22 +3836,22 @@ function Ha(e, t) {
|
|
|
3830
3836
|
}
|
|
3831
3837
|
//#endregion
|
|
3832
3838
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js
|
|
3833
|
-
var
|
|
3834
|
-
async function
|
|
3835
|
-
let t =
|
|
3839
|
+
var Wa = {};
|
|
3840
|
+
async function Ga(e) {
|
|
3841
|
+
let t = Wa[e];
|
|
3836
3842
|
return t ?? (t = {
|
|
3837
3843
|
url: e,
|
|
3838
3844
|
cssText: await (await fetch(e)).text()
|
|
3839
|
-
},
|
|
3845
|
+
}, Wa[e] = t, t);
|
|
3840
3846
|
}
|
|
3841
|
-
async function
|
|
3847
|
+
async function Ka(e, t) {
|
|
3842
3848
|
let n = e.cssText, r = /url\(["']?([^"')]+)["']?\)/g, i = (n.match(/url\([^)]+\)/g) || []).map(async (i) => {
|
|
3843
3849
|
let a = i.replace(r, "$1");
|
|
3844
|
-
return a.startsWith("https://") || (a = new URL(a, e.url).href),
|
|
3850
|
+
return a.startsWith("https://") || (a = new URL(a, e.url).href), fa(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
|
|
3845
3851
|
});
|
|
3846
3852
|
return Promise.all(i).then(() => n);
|
|
3847
3853
|
}
|
|
3848
|
-
function
|
|
3854
|
+
function qa(e) {
|
|
3849
3855
|
if (e == null) return [];
|
|
3850
3856
|
let t = [], n = e.replace(/(\/\*[\s\S]*?\*\/)/gi, ""), r = /* @__PURE__ */ RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
|
|
3851
3857
|
for (;;) {
|
|
@@ -3865,13 +3871,13 @@ function Ka(e) {
|
|
|
3865
3871
|
}
|
|
3866
3872
|
return t;
|
|
3867
3873
|
}
|
|
3868
|
-
async function
|
|
3874
|
+
async function Ja(e, t) {
|
|
3869
3875
|
let n = [], r = [];
|
|
3870
3876
|
return e.forEach((n) => {
|
|
3871
3877
|
if ("cssRules" in n) try {
|
|
3872
|
-
|
|
3878
|
+
Vi(n.cssRules || []).forEach((e, i) => {
|
|
3873
3879
|
if (e.type === CSSRule.IMPORT_RULE) {
|
|
3874
|
-
let a = i + 1, o = e.href, s =
|
|
3880
|
+
let a = i + 1, o = e.href, s = Ga(o).then((e) => Ka(e, t)).then((e) => qa(e).forEach((e) => {
|
|
3875
3881
|
try {
|
|
3876
3882
|
n.insertRule(e, e.startsWith("@import") ? a += 1 : n.cssRules.length);
|
|
3877
3883
|
} catch (t) {
|
|
@@ -3888,7 +3894,7 @@ async function qa(e, t) {
|
|
|
3888
3894
|
});
|
|
3889
3895
|
} catch (i) {
|
|
3890
3896
|
let a = e.find((e) => e.href == null) || document.styleSheets[0];
|
|
3891
|
-
n.href != null && r.push(
|
|
3897
|
+
n.href != null && r.push(Ga(n.href).then((e) => Ka(e, t)).then((e) => qa(e).forEach((e) => {
|
|
3892
3898
|
a.insertRule(e, a.cssRules.length);
|
|
3893
3899
|
})).catch((e) => {
|
|
3894
3900
|
console.error("Error loading remote stylesheet", e);
|
|
@@ -3896,7 +3902,7 @@ async function qa(e, t) {
|
|
|
3896
3902
|
}
|
|
3897
3903
|
}), Promise.all(r).then(() => (e.forEach((e) => {
|
|
3898
3904
|
if ("cssRules" in e) try {
|
|
3899
|
-
|
|
3905
|
+
Vi(e.cssRules || []).forEach((e) => {
|
|
3900
3906
|
n.push(e);
|
|
3901
3907
|
});
|
|
3902
3908
|
} catch (t) {
|
|
@@ -3904,36 +3910,36 @@ async function qa(e, t) {
|
|
|
3904
3910
|
}
|
|
3905
3911
|
}), n));
|
|
3906
3912
|
}
|
|
3907
|
-
function
|
|
3908
|
-
return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) =>
|
|
3913
|
+
function Ya(e) {
|
|
3914
|
+
return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => Ia(e.style.getPropertyValue("src")));
|
|
3909
3915
|
}
|
|
3910
|
-
async function
|
|
3916
|
+
async function Xa(e, t) {
|
|
3911
3917
|
if (e.ownerDocument == null) throw Error("Provided element is not within a Document");
|
|
3912
|
-
return
|
|
3918
|
+
return Ya(await Ja(Vi(e.ownerDocument.styleSheets), t));
|
|
3913
3919
|
}
|
|
3914
|
-
function
|
|
3920
|
+
function Za(e) {
|
|
3915
3921
|
return e.trim().replace(/["']/g, "");
|
|
3916
3922
|
}
|
|
3917
|
-
function
|
|
3923
|
+
function Qa(e) {
|
|
3918
3924
|
let t = /* @__PURE__ */ new Set();
|
|
3919
3925
|
function n(e) {
|
|
3920
3926
|
(e.style.fontFamily || getComputedStyle(e).fontFamily).split(",").forEach((e) => {
|
|
3921
|
-
t.add(
|
|
3927
|
+
t.add(Za(e));
|
|
3922
3928
|
}), Array.from(e.children).forEach((e) => {
|
|
3923
3929
|
e instanceof HTMLElement && n(e);
|
|
3924
3930
|
});
|
|
3925
3931
|
}
|
|
3926
3932
|
return n(e), t;
|
|
3927
3933
|
}
|
|
3928
|
-
async function
|
|
3929
|
-
let n = await
|
|
3930
|
-
return (await Promise.all(n.filter((e) => r.has(
|
|
3934
|
+
async function $a(e, t) {
|
|
3935
|
+
let n = await Xa(e, t), r = Qa(e);
|
|
3936
|
+
return (await Promise.all(n.filter((e) => r.has(Za(e.style.fontFamily))).map((e) => {
|
|
3931
3937
|
let n = e.parentStyleSheet ? e.parentStyleSheet.href : null;
|
|
3932
|
-
return
|
|
3938
|
+
return La(e.cssText, n, t);
|
|
3933
3939
|
}))).join("\n");
|
|
3934
3940
|
}
|
|
3935
|
-
async function
|
|
3936
|
-
let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await
|
|
3941
|
+
async function eo(e, t) {
|
|
3942
|
+
let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await $a(e, t) : t.fontEmbedCSS;
|
|
3937
3943
|
if (n) {
|
|
3938
3944
|
let t = document.createElement("style"), r = document.createTextNode(n);
|
|
3939
3945
|
t.appendChild(r), e.firstChild ? e.insertBefore(t, e.firstChild) : e.appendChild(t);
|
|
@@ -3941,18 +3947,18 @@ async function $a(e, t) {
|
|
|
3941
3947
|
}
|
|
3942
3948
|
//#endregion
|
|
3943
3949
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js
|
|
3944
|
-
async function eo(e, t = {}) {
|
|
3945
|
-
let { width: n, height: r } = Ki(e, t), i = await Da(e, t, !0);
|
|
3946
|
-
return await $a(i, t), await Va(i, t), Ha(i, t), await Zi(i, n, r);
|
|
3947
|
-
}
|
|
3948
3950
|
async function to(e, t = {}) {
|
|
3949
|
-
let { width: n, height: r } =
|
|
3950
|
-
return
|
|
3951
|
+
let { width: n, height: r } = qi(e, t), i = await Oa(e, t, !0);
|
|
3952
|
+
return await eo(i, t), await Ha(i, t), Ua(i, t), await Qi(i, n, r);
|
|
3953
|
+
}
|
|
3954
|
+
async function no(e, t = {}) {
|
|
3955
|
+
let { width: n, height: r } = qi(e, t), i = await Xi(await to(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || Ji(), c = t.canvasWidth || n, l = t.canvasHeight || r;
|
|
3956
|
+
return a.width = c * s, a.height = l * s, t.skipAutoScale || Yi(a), a.style.width = `${c}`, a.style.height = `${l}`, t.backgroundColor && (o.fillStyle = t.backgroundColor, o.fillRect(0, 0, a.width, a.height)), o.drawImage(i, 0, 0, a.width, a.height), a;
|
|
3951
3957
|
}
|
|
3952
3958
|
//#endregion
|
|
3953
3959
|
//#region src/runtime/screenshot.ts
|
|
3954
|
-
var
|
|
3955
|
-
function
|
|
3960
|
+
var ro = 2 * 1024 * 1024, io = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", ao = "input[type=\"password\"],input[autocomplete~=\"cc-number\"],input[autocomplete~=\"cc-csc\"],input[autocomplete~=\"cc-exp\"],input[autocomplete~=\"cc-name\"],input[autocomplete~=\"cc-type\"],input[autocomplete~=\"current-password\"],input[autocomplete~=\"new-password\"],input[autocomplete~=\"one-time-code\"]";
|
|
3961
|
+
function oo(e) {
|
|
3956
3962
|
let t = e.parentElement;
|
|
3957
3963
|
for (; t;) {
|
|
3958
3964
|
if (t.hasAttribute("data-markup-safe")) return !0;
|
|
@@ -3960,37 +3966,37 @@ function ao(e) {
|
|
|
3960
3966
|
}
|
|
3961
3967
|
return !1;
|
|
3962
3968
|
}
|
|
3963
|
-
function
|
|
3969
|
+
function so(e) {
|
|
3964
3970
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
3965
3971
|
function r(e) {
|
|
3966
3972
|
t.has(e) || (t.add(e), n.push(e));
|
|
3967
3973
|
}
|
|
3968
3974
|
for (let e of document.querySelectorAll("[data-markup-private],[data-markup-redact]")) r(e);
|
|
3969
|
-
for (let e of document.querySelectorAll(
|
|
3975
|
+
for (let e of document.querySelectorAll(ao)) oo(e) || r(e);
|
|
3970
3976
|
if (e.redactSelector) try {
|
|
3971
|
-
for (let t of document.querySelectorAll(e.redactSelector))
|
|
3977
|
+
for (let t of document.querySelectorAll(e.redactSelector)) oo(t) || r(t);
|
|
3972
3978
|
} catch (e) {
|
|
3973
|
-
|
|
3979
|
+
M(e, { context: "screenshot-redact-selector" });
|
|
3974
3980
|
}
|
|
3975
|
-
if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea"))
|
|
3981
|
+
if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) oo(e) || r(e);
|
|
3976
3982
|
return n;
|
|
3977
3983
|
}
|
|
3978
|
-
function
|
|
3984
|
+
function co(e) {
|
|
3979
3985
|
let t = e.getAttribute("style");
|
|
3980
|
-
return e.setAttribute("style", t ? `${t};${
|
|
3986
|
+
return e.setAttribute("style", t ? `${t};${io}` : io), () => {
|
|
3981
3987
|
t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
|
|
3982
3988
|
};
|
|
3983
3989
|
}
|
|
3984
|
-
function
|
|
3990
|
+
function lo(e) {
|
|
3985
3991
|
if (e.id) return `#${CSS.escape(e.id)}`;
|
|
3986
3992
|
let t = e.tagName.toLowerCase(), n = e.getAttribute("type"), r = e.getAttribute("name");
|
|
3987
3993
|
return n && r ? `${t}[type="${n}"][name="${r}"]` : n ? `${t}[type="${n}"]` : r ? `${t}[name="${r}"]` : t;
|
|
3988
3994
|
}
|
|
3989
|
-
async function
|
|
3995
|
+
async function uo(e, t, n) {
|
|
3990
3996
|
try {
|
|
3991
|
-
let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ?
|
|
3997
|
+
let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ? so(n) : [], s = o.map(lo), c = o.map(co), l;
|
|
3992
3998
|
try {
|
|
3993
|
-
l = await
|
|
3999
|
+
l = await no(document.documentElement, {
|
|
3994
4000
|
width: r,
|
|
3995
4001
|
height: i,
|
|
3996
4002
|
cacheBust: !0,
|
|
@@ -4009,29 +4015,29 @@ async function lo(e, t, n) {
|
|
|
4009
4015
|
}
|
|
4010
4016
|
if (t) {
|
|
4011
4017
|
let e = l.getContext("2d");
|
|
4012
|
-
e &&
|
|
4018
|
+
e && po(e, t.x, t.y, a);
|
|
4013
4019
|
}
|
|
4014
|
-
let u = await
|
|
4020
|
+
let u = await fo(l, .85);
|
|
4015
4021
|
if (!u) return null;
|
|
4016
|
-
if (u.size <=
|
|
4022
|
+
if (u.size <= ro) return {
|
|
4017
4023
|
blob: u,
|
|
4018
4024
|
redactedCount: s.length,
|
|
4019
4025
|
redactedSelectors: s
|
|
4020
4026
|
};
|
|
4021
|
-
let d = await
|
|
4022
|
-
return !d || d.size >
|
|
4027
|
+
let d = await fo(l, .5);
|
|
4028
|
+
return !d || d.size > ro ? null : {
|
|
4023
4029
|
blob: d,
|
|
4024
4030
|
redactedCount: s.length,
|
|
4025
4031
|
redactedSelectors: s
|
|
4026
4032
|
};
|
|
4027
4033
|
} catch (e) {
|
|
4028
|
-
return
|
|
4034
|
+
return M(e, { context: "screenshot-capture" }), null;
|
|
4029
4035
|
}
|
|
4030
4036
|
}
|
|
4031
|
-
function
|
|
4037
|
+
function fo(e, t) {
|
|
4032
4038
|
return new Promise((n) => e.toBlob(n, "image/jpeg", t));
|
|
4033
4039
|
}
|
|
4034
|
-
function
|
|
4040
|
+
function po(e, t, n, r) {
|
|
4035
4041
|
let i = r, a = 28 * i, o = a / 2, s = t * i, c = n * i;
|
|
4036
4042
|
e.save();
|
|
4037
4043
|
let l = 2 * i;
|
|
@@ -4049,7 +4055,7 @@ function fo(e, t, n, r) {
|
|
|
4049
4055
|
}
|
|
4050
4056
|
//#endregion
|
|
4051
4057
|
//#region src/runtime/use-subscription-token.ts
|
|
4052
|
-
var
|
|
4058
|
+
var mo = Ar({
|
|
4053
4059
|
idle: { issued: (e, t) => ({
|
|
4054
4060
|
kind: "active",
|
|
4055
4061
|
token: t.token,
|
|
@@ -4060,10 +4066,10 @@ var po = Ar({
|
|
|
4060
4066
|
token: t.token,
|
|
4061
4067
|
expiresAt: t.expiresAt
|
|
4062
4068
|
}) }
|
|
4063
|
-
}),
|
|
4064
|
-
function
|
|
4065
|
-
let [t, n] = jr(
|
|
4066
|
-
return
|
|
4069
|
+
}), ho = 30 * 6e4, go = 6e4, _o = 6e4;
|
|
4070
|
+
function vo(e) {
|
|
4071
|
+
let [t, n] = jr(mo, { kind: "idle" });
|
|
4072
|
+
return R(() => {
|
|
4067
4073
|
let t = !1, r = null;
|
|
4068
4074
|
async function i() {
|
|
4069
4075
|
try {
|
|
@@ -4074,11 +4080,11 @@ function _o(e) {
|
|
|
4074
4080
|
token: a.token,
|
|
4075
4081
|
expiresAt: a.expiresAt
|
|
4076
4082
|
});
|
|
4077
|
-
let o = Math.max(
|
|
4083
|
+
let o = Math.max(go, a.expiresAt - Date.now() - ho);
|
|
4078
4084
|
r = setTimeout(i, o);
|
|
4079
4085
|
} catch (e) {
|
|
4080
4086
|
if (t) return;
|
|
4081
|
-
e?.name !== "TypeError" &&
|
|
4087
|
+
e?.name !== "TypeError" && M(e, { context: "subscription-token-refresh" }), r = setTimeout(i, _o);
|
|
4082
4088
|
}
|
|
4083
4089
|
}
|
|
4084
4090
|
return i(), () => {
|
|
@@ -4088,7 +4094,7 @@ function _o(e) {
|
|
|
4088
4094
|
}
|
|
4089
4095
|
//#endregion
|
|
4090
4096
|
//#region src/runtime/refresh-token.ts
|
|
4091
|
-
async function
|
|
4097
|
+
async function yo(e) {
|
|
4092
4098
|
try {
|
|
4093
4099
|
let t = {
|
|
4094
4100
|
method: "POST",
|
|
@@ -4119,23 +4125,23 @@ async function vo(e) {
|
|
|
4119
4125
|
};
|
|
4120
4126
|
} catch (e) {
|
|
4121
4127
|
let t = e?.name;
|
|
4122
|
-
return t !== "AbortError" && t !== "TypeError" &&
|
|
4128
|
+
return t !== "AbortError" && t !== "TypeError" && M(e, { context: "refresh-token" }), null;
|
|
4123
4129
|
}
|
|
4124
4130
|
}
|
|
4125
4131
|
//#endregion
|
|
4126
4132
|
//#region src/runtime/use-token-refresh.ts
|
|
4127
|
-
var
|
|
4128
|
-
function
|
|
4133
|
+
var bo = 6e4, xo = 500;
|
|
4134
|
+
function So(e, t, n, r, i) {
|
|
4129
4135
|
let a = e.kind === "verified", o = a ? e.identity.storage : void 0, s = a ? e.identity.refreshToken : void 0, c = a ? e.identity.refreshTokenExpiresAt : void 0, l = a ? e.identity.tokenExpiresAt : void 0;
|
|
4130
|
-
|
|
4136
|
+
R(() => {
|
|
4131
4137
|
if (!a || c == null || l == null || o === "localStorage" && s == null || o !== "cookies" && o !== "localStorage") return;
|
|
4132
4138
|
let u = Date.now();
|
|
4133
4139
|
if (c <= u) {
|
|
4134
4140
|
i();
|
|
4135
4141
|
return;
|
|
4136
4142
|
}
|
|
4137
|
-
let d = Math.max(
|
|
4138
|
-
let a = await
|
|
4143
|
+
let d = Math.max(xo, l - bo - u), f = new AbortController(), p = window.setTimeout(async () => {
|
|
4144
|
+
let a = await yo({
|
|
4139
4145
|
apiUrl: t,
|
|
4140
4146
|
apiKey: n,
|
|
4141
4147
|
mode: o,
|
|
@@ -4178,9 +4184,18 @@ function xo(e, t, n, r, i) {
|
|
|
4178
4184
|
function Z(...e) {
|
|
4179
4185
|
return e.filter(Boolean).join(" ");
|
|
4180
4186
|
}
|
|
4187
|
+
function Co() {
|
|
4188
|
+
return typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? {
|
|
4189
|
+
mod: "⌘",
|
|
4190
|
+
enter: "↵"
|
|
4191
|
+
} : {
|
|
4192
|
+
mod: "Ctrl",
|
|
4193
|
+
enter: "Enter"
|
|
4194
|
+
};
|
|
4195
|
+
}
|
|
4181
4196
|
//#endregion
|
|
4182
4197
|
//#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
|
|
4183
|
-
var
|
|
4198
|
+
var wo = 0;
|
|
4184
4199
|
Array.isArray;
|
|
4185
4200
|
function Q(e, n, r, i, a, o) {
|
|
4186
4201
|
n ||= {};
|
|
@@ -4197,7 +4212,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4197
4212
|
__e: null,
|
|
4198
4213
|
__c: null,
|
|
4199
4214
|
constructor: void 0,
|
|
4200
|
-
__v: --
|
|
4215
|
+
__v: --wo,
|
|
4201
4216
|
__i: -1,
|
|
4202
4217
|
__u: 0,
|
|
4203
4218
|
__source: a,
|
|
@@ -4208,7 +4223,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4208
4223
|
}
|
|
4209
4224
|
//#endregion
|
|
4210
4225
|
//#region src/runtime/ui/icons.tsx
|
|
4211
|
-
function
|
|
4226
|
+
function To({ size: e = 16 }) {
|
|
4212
4227
|
return /* @__PURE__ */ Q("svg", {
|
|
4213
4228
|
width: e,
|
|
4214
4229
|
height: e,
|
|
@@ -4218,7 +4233,7 @@ function Co({ size: e = 16 }) {
|
|
|
4218
4233
|
children: /* @__PURE__ */ Q("path", { d: "M63.4561 0.00557731C70.6277 -0.0175584 76.9025 1.04088 83.5898 3.71066C97.7952 9.43043 109.186 20.5001 115.311 34.5359C119.708 44.8002 120.746 54.7869 119.156 65.8171C116.857 82.7956 105.129 98.8382 90.0566 106.846C83.4394 110.362 74.7336 113.029 67.2051 113.271C62.4204 113.425 61.1274 113.32 56.6807 115.204C50.2035 117.858 43.6874 120.417 37.1348 122.879C34.8442 123.763 32.3203 124.902 29.9404 125.51C29.4023 125.648 28.1978 125.009 27.7598 124.646C26.9046 123.951 27.0582 122.505 27.0264 121.484C26.8123 114.646 27.3302 107.458 26.8604 100.656C25.1578 98.6714 22.4026 96.603 20.3086 94.1989C12.1853 84.8731 7.05334 73.9949 6.18164 61.6101C4.95583 46.292 9.97176 31.1285 20.0908 19.5632C29.989 8.13202 44.0369 1.11921 59.1221 0.0788195C60.2694 -0.0356049 62.2637 0.00944821 63.4561 0.00557731ZM92.2676 55.7497C91.5754 39.5314 77.8207 26.9725 61.6064 27.7536C45.5175 28.5287 33.0758 42.1537 33.7627 58.2468C34.4496 74.3398 48.007 86.8553 64.1035 86.2566C80.3254 85.6533 92.9599 71.968 92.2676 55.7497Z" })
|
|
4219
4234
|
});
|
|
4220
4235
|
}
|
|
4221
|
-
function
|
|
4236
|
+
function Eo({ size: e = 16 }) {
|
|
4222
4237
|
return /* @__PURE__ */ Q("svg", {
|
|
4223
4238
|
width: e,
|
|
4224
4239
|
height: e,
|
|
@@ -4227,7 +4242,7 @@ function wo({ size: e = 16 }) {
|
|
|
4227
4242
|
children: /* @__PURE__ */ Q("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" })
|
|
4228
4243
|
});
|
|
4229
4244
|
}
|
|
4230
|
-
function
|
|
4245
|
+
function Do({ size: e = 16 }) {
|
|
4231
4246
|
return /* @__PURE__ */ Q("svg", {
|
|
4232
4247
|
width: e,
|
|
4233
4248
|
height: e,
|
|
@@ -4237,7 +4252,7 @@ function To({ size: e = 16 }) {
|
|
|
4237
4252
|
children: /* @__PURE__ */ Q("path", { d: "M12.78 5.22a.75.75 0 0 1 0 1.06L9.06 10l3.72 3.72a.75.75 0 1 1-1.06 1.06l-4.25-4.25a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Z" })
|
|
4238
4253
|
});
|
|
4239
4254
|
}
|
|
4240
|
-
function
|
|
4255
|
+
function Oo({ size: e = 16 }) {
|
|
4241
4256
|
return /* @__PURE__ */ Q("svg", {
|
|
4242
4257
|
width: e,
|
|
4243
4258
|
height: e,
|
|
@@ -4246,7 +4261,7 @@ function Eo({ size: e = 16 }) {
|
|
|
4246
4261
|
children: /* @__PURE__ */ Q("path", { d: "M3 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8.5 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM15.5 8.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" })
|
|
4247
4262
|
});
|
|
4248
4263
|
}
|
|
4249
|
-
function
|
|
4264
|
+
function ko({ size: e = 16 }) {
|
|
4250
4265
|
return /* @__PURE__ */ Q("svg", {
|
|
4251
4266
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4252
4267
|
width: e,
|
|
@@ -4256,7 +4271,7 @@ function Do({ size: e = 16 }) {
|
|
|
4256
4271
|
children: /* @__PURE__ */ Q("path", { d: "M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z" })
|
|
4257
4272
|
});
|
|
4258
4273
|
}
|
|
4259
|
-
function
|
|
4274
|
+
function Ao({ size: e = 16 }) {
|
|
4260
4275
|
return /* @__PURE__ */ Q("svg", {
|
|
4261
4276
|
width: e,
|
|
4262
4277
|
height: e,
|
|
@@ -4270,7 +4285,7 @@ function Oo({ size: e = 16 }) {
|
|
|
4270
4285
|
})
|
|
4271
4286
|
});
|
|
4272
4287
|
}
|
|
4273
|
-
function
|
|
4288
|
+
function jo({ size: e = 16 }) {
|
|
4274
4289
|
return /* @__PURE__ */ Q("svg", {
|
|
4275
4290
|
width: e,
|
|
4276
4291
|
height: e,
|
|
@@ -4279,7 +4294,7 @@ function ko({ size: e = 16 }) {
|
|
|
4279
4294
|
children: /* @__PURE__ */ Q("path", { d: "M2.87 2.298a.75.75 0 0 0-.812 1.021L3.39 6.624a1 1 0 0 0 .928.626H8.25a.75.75 0 0 1 0 1.5H4.318a1 1 0 0 0-.927.626l-1.333 3.305a.75.75 0 0 0 .811 1.022 24.89 24.89 0 0 0 11.668-5.115.75.75 0 0 0 0-1.175A24.89 24.89 0 0 0 2.869 2.298Z" })
|
|
4280
4295
|
});
|
|
4281
4296
|
}
|
|
4282
|
-
function
|
|
4297
|
+
function Mo({ size: e = 16 }) {
|
|
4283
4298
|
return /* @__PURE__ */ Q("svg", {
|
|
4284
4299
|
width: e,
|
|
4285
4300
|
height: e,
|
|
@@ -4303,19 +4318,19 @@ function $({ size: e = 16, children: t }) {
|
|
|
4303
4318
|
children: t
|
|
4304
4319
|
});
|
|
4305
4320
|
}
|
|
4306
|
-
function
|
|
4321
|
+
function No({ size: e = 16 }) {
|
|
4307
4322
|
return /* @__PURE__ */ Q($, {
|
|
4308
4323
|
size: e,
|
|
4309
4324
|
children: /* @__PURE__ */ Q("path", { d: "M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.5 8.5 0 0 1 8 8v.5z" })
|
|
4310
4325
|
});
|
|
4311
4326
|
}
|
|
4312
|
-
function
|
|
4327
|
+
function Po({ size: e = 16 }) {
|
|
4313
4328
|
return /* @__PURE__ */ Q($, {
|
|
4314
4329
|
size: e,
|
|
4315
4330
|
children: [/* @__PURE__ */ Q("path", { d: "M22 12h-6l-2 3h-4l-2-3H2" }), /* @__PURE__ */ Q("path", { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" })]
|
|
4316
4331
|
});
|
|
4317
4332
|
}
|
|
4318
|
-
function
|
|
4333
|
+
function Fo({ size: e = 16 }) {
|
|
4319
4334
|
return /* @__PURE__ */ Q($, {
|
|
4320
4335
|
size: e,
|
|
4321
4336
|
children: [/* @__PURE__ */ Q("path", { d: "M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z" }), /* @__PURE__ */ Q("circle", {
|
|
@@ -4325,7 +4340,7 @@ function No({ size: e = 16 }) {
|
|
|
4325
4340
|
})]
|
|
4326
4341
|
});
|
|
4327
4342
|
}
|
|
4328
|
-
function
|
|
4343
|
+
function Io({ size: e = 16 }) {
|
|
4329
4344
|
return /* @__PURE__ */ Q($, {
|
|
4330
4345
|
size: e,
|
|
4331
4346
|
children: [
|
|
@@ -4336,13 +4351,13 @@ function Po({ size: e = 16 }) {
|
|
|
4336
4351
|
]
|
|
4337
4352
|
});
|
|
4338
4353
|
}
|
|
4339
|
-
function
|
|
4354
|
+
function Lo({ size: e = 16 }) {
|
|
4340
4355
|
return /* @__PURE__ */ Q($, {
|
|
4341
4356
|
size: e,
|
|
4342
4357
|
children: /* @__PURE__ */ Q("path", { d: "M3 6h18M3 12h18M3 18h18" })
|
|
4343
4358
|
});
|
|
4344
4359
|
}
|
|
4345
|
-
function
|
|
4360
|
+
function Ro({ size: e = 16 }) {
|
|
4346
4361
|
return /* @__PURE__ */ Q($, {
|
|
4347
4362
|
size: e,
|
|
4348
4363
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4352,13 +4367,13 @@ function Io({ size: e = 16 }) {
|
|
|
4352
4367
|
}), /* @__PURE__ */ Q("path", { d: "M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41" })]
|
|
4353
4368
|
});
|
|
4354
4369
|
}
|
|
4355
|
-
function
|
|
4370
|
+
function zo({ size: e = 16 }) {
|
|
4356
4371
|
return /* @__PURE__ */ Q($, {
|
|
4357
4372
|
size: e,
|
|
4358
4373
|
children: /* @__PURE__ */ Q("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" })
|
|
4359
4374
|
});
|
|
4360
4375
|
}
|
|
4361
|
-
function
|
|
4376
|
+
function Bo({ size: e = 16 }) {
|
|
4362
4377
|
return /* @__PURE__ */ Q($, {
|
|
4363
4378
|
size: e,
|
|
4364
4379
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4370,13 +4385,13 @@ function Ro({ size: e = 16 }) {
|
|
|
4370
4385
|
}), /* @__PURE__ */ Q("path", { d: "M8 21h8M12 17v4" })]
|
|
4371
4386
|
});
|
|
4372
4387
|
}
|
|
4373
|
-
function
|
|
4388
|
+
function Vo({ size: e = 16 }) {
|
|
4374
4389
|
return /* @__PURE__ */ Q($, {
|
|
4375
4390
|
size: e,
|
|
4376
4391
|
children: /* @__PURE__ */ Q("path", { d: "M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z" })
|
|
4377
4392
|
});
|
|
4378
4393
|
}
|
|
4379
|
-
function
|
|
4394
|
+
function Ho({ size: e = 16 }) {
|
|
4380
4395
|
return /* @__PURE__ */ Q($, {
|
|
4381
4396
|
size: e,
|
|
4382
4397
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4388,19 +4403,19 @@ function Bo({ size: e = 16 }) {
|
|
|
4388
4403
|
}), /* @__PURE__ */ Q("path", { d: "M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4" })]
|
|
4389
4404
|
});
|
|
4390
4405
|
}
|
|
4391
|
-
function
|
|
4406
|
+
function Uo({ size: e = 16 }) {
|
|
4392
4407
|
return /* @__PURE__ */ Q($, {
|
|
4393
4408
|
size: e,
|
|
4394
4409
|
children: [/* @__PURE__ */ Q("path", { d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4" }), /* @__PURE__ */ Q("path", { d: "M10 17l5-5-5-5M15 12H3" })]
|
|
4395
4410
|
});
|
|
4396
4411
|
}
|
|
4397
|
-
function
|
|
4412
|
+
function Wo({ size: e = 16 }) {
|
|
4398
4413
|
return /* @__PURE__ */ Q($, {
|
|
4399
4414
|
size: e,
|
|
4400
4415
|
children: [/* @__PURE__ */ Q("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }), /* @__PURE__ */ Q("path", { d: "M16 17l5-5-5-5M21 12H9" })]
|
|
4401
4416
|
});
|
|
4402
4417
|
}
|
|
4403
|
-
function
|
|
4418
|
+
function Go({ size: e = 16 }) {
|
|
4404
4419
|
return /* @__PURE__ */ Q($, {
|
|
4405
4420
|
size: e,
|
|
4406
4421
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4410,7 +4425,26 @@ function Uo({ size: e = 16 }) {
|
|
|
4410
4425
|
}), /* @__PURE__ */ Q("path", { d: "M4 21a8 8 0 0 1 16 0" })]
|
|
4411
4426
|
});
|
|
4412
4427
|
}
|
|
4413
|
-
function
|
|
4428
|
+
function Ko({ size: e = 16 }) {
|
|
4429
|
+
return /* @__PURE__ */ Q($, {
|
|
4430
|
+
size: e,
|
|
4431
|
+
children: [
|
|
4432
|
+
/* @__PURE__ */ Q("path", { d: "M12 8V4H8" }),
|
|
4433
|
+
/* @__PURE__ */ Q("rect", {
|
|
4434
|
+
x: "4",
|
|
4435
|
+
y: "8",
|
|
4436
|
+
width: "16",
|
|
4437
|
+
height: "12",
|
|
4438
|
+
rx: "2"
|
|
4439
|
+
}),
|
|
4440
|
+
/* @__PURE__ */ Q("path", { d: "M2 14h2" }),
|
|
4441
|
+
/* @__PURE__ */ Q("path", { d: "M20 14h2" }),
|
|
4442
|
+
/* @__PURE__ */ Q("path", { d: "M15 13v2" }),
|
|
4443
|
+
/* @__PURE__ */ Q("path", { d: "M9 13v2" })
|
|
4444
|
+
]
|
|
4445
|
+
});
|
|
4446
|
+
}
|
|
4447
|
+
function qo({ size: e = 16 }) {
|
|
4414
4448
|
return /* @__PURE__ */ Q($, {
|
|
4415
4449
|
size: e,
|
|
4416
4450
|
children: [
|
|
@@ -4422,9 +4456,9 @@ function Wo({ size: e = 16 }) {
|
|
|
4422
4456
|
}
|
|
4423
4457
|
//#endregion
|
|
4424
4458
|
//#region src/runtime/ui/identity-menu.tsx
|
|
4425
|
-
function
|
|
4426
|
-
let [c, l] =
|
|
4427
|
-
|
|
4459
|
+
function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, onSignIn: a, onSignOut: o, onForgetMe: s }) {
|
|
4460
|
+
let [c, l] = L(!1), [u, d] = L(!1), [f, p] = L(!1), m = z(null);
|
|
4461
|
+
R(() => {
|
|
4428
4462
|
if (!c) return;
|
|
4429
4463
|
function e(e) {
|
|
4430
4464
|
let t = m.current;
|
|
@@ -4436,10 +4470,10 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4436
4470
|
return document.addEventListener("click", e, !0), document.addEventListener("keydown", t), () => {
|
|
4437
4471
|
document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
|
|
4438
4472
|
};
|
|
4439
|
-
}, [c]),
|
|
4473
|
+
}, [c]), R(() => {
|
|
4440
4474
|
c || (d(!1), p(!1));
|
|
4441
4475
|
}, [c]);
|
|
4442
|
-
let h =
|
|
4476
|
+
let h = Mi(e), g = Yo(h), _ = e.kind === "verified", v = e.kind === "verified" ? e.identity.image : void 0, [y, b] = L(null), x = _ && v != null && y !== v, C = _ ? e.identity.email : null, w = t === "bottom-left" ? "is-anchor-left" : t === "bottom-center" ? "is-anchor-center" : "is-anchor-right";
|
|
4443
4477
|
return /* @__PURE__ */ Q("div", {
|
|
4444
4478
|
ref: m,
|
|
4445
4479
|
style: {
|
|
@@ -4462,13 +4496,23 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4462
4496
|
children: [/* @__PURE__ */ Q("span", {
|
|
4463
4497
|
class: Z("markup-tb-avatar", !_ && "is-anon"),
|
|
4464
4498
|
"aria-hidden": "true",
|
|
4465
|
-
children:
|
|
4499
|
+
children: x ? /* @__PURE__ */ Q("img", {
|
|
4500
|
+
class: "markup-avatar-img",
|
|
4501
|
+
src: v,
|
|
4502
|
+
alt: "",
|
|
4503
|
+
decoding: "async",
|
|
4504
|
+
referrerpolicy: "no-referrer",
|
|
4505
|
+
onError: () => b(v)
|
|
4506
|
+
}) : _ && g ? /* @__PURE__ */ Q("span", {
|
|
4507
|
+
class: "markup-avatar-initials",
|
|
4508
|
+
children: g
|
|
4509
|
+
}) : /* @__PURE__ */ Q(Go, { size: 14 })
|
|
4466
4510
|
}), _ && h ? /* @__PURE__ */ Q("span", {
|
|
4467
4511
|
class: "markup-sr-only",
|
|
4468
4512
|
children: h
|
|
4469
4513
|
}) : null]
|
|
4470
4514
|
}), c ? /* @__PURE__ */ Q("div", {
|
|
4471
|
-
class: Z("markup-pop",
|
|
4515
|
+
class: Z("markup-pop", w),
|
|
4472
4516
|
"data-pop": "identity",
|
|
4473
4517
|
role: "menu",
|
|
4474
4518
|
children: _ ? /* @__PURE__ */ Q(S, { children: [
|
|
@@ -4477,9 +4521,9 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4477
4521
|
children: [/* @__PURE__ */ Q("span", {
|
|
4478
4522
|
class: "nm",
|
|
4479
4523
|
children: h ?? "Account"
|
|
4480
|
-
}),
|
|
4524
|
+
}), C ? /* @__PURE__ */ Q("span", {
|
|
4481
4525
|
class: "em",
|
|
4482
|
-
children:
|
|
4526
|
+
children: C
|
|
4483
4527
|
}) : null]
|
|
4484
4528
|
}),
|
|
4485
4529
|
i ? /* @__PURE__ */ Q("a", {
|
|
@@ -4491,7 +4535,7 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4491
4535
|
onClick: () => l(!1),
|
|
4492
4536
|
children: [/* @__PURE__ */ Q("span", {
|
|
4493
4537
|
class: "ic",
|
|
4494
|
-
children: /* @__PURE__ */ Q(
|
|
4538
|
+
children: /* @__PURE__ */ Q(qo, { size: 16 })
|
|
4495
4539
|
}), /* @__PURE__ */ Q("span", {
|
|
4496
4540
|
class: "lbl",
|
|
4497
4541
|
children: "Account"
|
|
@@ -4507,7 +4551,7 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4507
4551
|
},
|
|
4508
4552
|
children: [/* @__PURE__ */ Q("span", {
|
|
4509
4553
|
class: "ic",
|
|
4510
|
-
children: /* @__PURE__ */ Q(
|
|
4554
|
+
children: /* @__PURE__ */ Q(Wo, { size: 16 })
|
|
4511
4555
|
}), /* @__PURE__ */ Q("span", {
|
|
4512
4556
|
class: "lbl",
|
|
4513
4557
|
children: r ? "Signing out…" : f ? "Confirm — sign out of this site" : "Sign out"
|
|
@@ -4530,7 +4574,7 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4530
4574
|
onClick: () => {
|
|
4531
4575
|
l(!1), a();
|
|
4532
4576
|
},
|
|
4533
|
-
children: [/* @__PURE__ */ Q(
|
|
4577
|
+
children: [/* @__PURE__ */ Q(Uo, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
|
|
4534
4578
|
}),
|
|
4535
4579
|
/* @__PURE__ */ Q("button", {
|
|
4536
4580
|
type: "button",
|
|
@@ -4549,12 +4593,12 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4549
4593
|
}) : null]
|
|
4550
4594
|
});
|
|
4551
4595
|
}
|
|
4552
|
-
function
|
|
4596
|
+
function Yo(e) {
|
|
4553
4597
|
return e && e.trim().split(/\s+/).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("") || null;
|
|
4554
4598
|
}
|
|
4555
4599
|
//#endregion
|
|
4556
4600
|
//#region src/runtime/ui/notifications-panel.tsx
|
|
4557
|
-
function
|
|
4601
|
+
function Xo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
|
|
4558
4602
|
let s = e.some((e) => e.readAt == null);
|
|
4559
4603
|
return /* @__PURE__ */ Q("div", {
|
|
4560
4604
|
class: "markup-notifications-panel",
|
|
@@ -4569,7 +4613,7 @@ function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4569
4613
|
title: "Back to menu",
|
|
4570
4614
|
"aria-label": "Back to menu",
|
|
4571
4615
|
onClick: r,
|
|
4572
|
-
children: /* @__PURE__ */ Q(
|
|
4616
|
+
children: /* @__PURE__ */ Q(Do, { size: 16 })
|
|
4573
4617
|
}),
|
|
4574
4618
|
/* @__PURE__ */ Q("span", {
|
|
4575
4619
|
class: "markup-eyebrow",
|
|
@@ -4621,13 +4665,20 @@ function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4621
4665
|
class: "markup-notifications-panel-actor",
|
|
4622
4666
|
children: e.actorName
|
|
4623
4667
|
}),
|
|
4668
|
+
e.actorVia === "mcp" ? /* @__PURE__ */ Q("span", {
|
|
4669
|
+
class: "markup-comment-badge is-agent",
|
|
4670
|
+
role: "img",
|
|
4671
|
+
"aria-label": "Written by an AI agent",
|
|
4672
|
+
title: "Written by an AI agent on this person's behalf",
|
|
4673
|
+
children: /* @__PURE__ */ Q(Ko, { size: 11 })
|
|
4674
|
+
}) : null,
|
|
4624
4675
|
/* @__PURE__ */ Q("span", {
|
|
4625
4676
|
class: "markup-notifications-panel-sep",
|
|
4626
4677
|
children: "·"
|
|
4627
4678
|
}),
|
|
4628
4679
|
/* @__PURE__ */ Q("span", {
|
|
4629
4680
|
class: "markup-notifications-panel-time",
|
|
4630
|
-
children:
|
|
4681
|
+
children: Zo(e.createdAt)
|
|
4631
4682
|
})
|
|
4632
4683
|
]
|
|
4633
4684
|
}),
|
|
@@ -4656,7 +4707,7 @@ function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4656
4707
|
})]
|
|
4657
4708
|
});
|
|
4658
4709
|
}
|
|
4659
|
-
function
|
|
4710
|
+
function Zo(e) {
|
|
4660
4711
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
4661
4712
|
if (n < 60) return "just now";
|
|
4662
4713
|
let r = Math.floor(n / 60);
|
|
@@ -4668,9 +4719,9 @@ function Jo(e) {
|
|
|
4668
4719
|
}
|
|
4669
4720
|
//#endregion
|
|
4670
4721
|
//#region src/runtime/ui/inbox-popover.tsx
|
|
4671
|
-
function
|
|
4672
|
-
let c =
|
|
4673
|
-
return
|
|
4722
|
+
function Qo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, onClose: a, onItemClick: o, onMarkAllRead: s }) {
|
|
4723
|
+
let c = z(null);
|
|
4724
|
+
return R(() => {
|
|
4674
4725
|
function e(e) {
|
|
4675
4726
|
let t = c.current;
|
|
4676
4727
|
if (t && !e.composedPath().includes(t)) {
|
|
@@ -4692,7 +4743,7 @@ function Yo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, on
|
|
|
4692
4743
|
children: /* @__PURE__ */ Q("div", {
|
|
4693
4744
|
class: "markup-pop",
|
|
4694
4745
|
"data-pop": "inbox",
|
|
4695
|
-
children: /* @__PURE__ */ Q(
|
|
4746
|
+
children: /* @__PURE__ */ Q(Xo, {
|
|
4696
4747
|
items: t,
|
|
4697
4748
|
isLoading: n,
|
|
4698
4749
|
error: r,
|
|
@@ -4706,12 +4757,12 @@ function Yo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, on
|
|
|
4706
4757
|
}
|
|
4707
4758
|
//#endregion
|
|
4708
4759
|
//#region src/runtime/use-drag.ts
|
|
4709
|
-
function
|
|
4710
|
-
let t =
|
|
4760
|
+
function $o(e) {
|
|
4761
|
+
let t = z(e);
|
|
4711
4762
|
t.current = e;
|
|
4712
|
-
let [n, r] =
|
|
4763
|
+
let [n, r] = L(!1);
|
|
4713
4764
|
return {
|
|
4714
|
-
onPointerDown:
|
|
4765
|
+
onPointerDown: V((e) => {
|
|
4715
4766
|
let n = t.current;
|
|
4716
4767
|
if (n.preventDefault && e.preventDefault(), n.stopPropagation && e.stopPropagation(), e.button !== 0 || n.shouldStart && !n.shouldStart(e)) return;
|
|
4717
4768
|
let i = e.currentTarget;
|
|
@@ -4734,8 +4785,8 @@ function Xo(e) {
|
|
|
4734
4785
|
h = !0, r(!0), t.current.onStart?.();
|
|
4735
4786
|
}
|
|
4736
4787
|
let a = Math.max(p, window.innerWidth - u - p), _ = Math.max(p, window.innerHeight - d - p), v = {
|
|
4737
|
-
left:
|
|
4738
|
-
top:
|
|
4788
|
+
left: es(c + n, p, a),
|
|
4789
|
+
top: es(l + i, p, _)
|
|
4739
4790
|
};
|
|
4740
4791
|
g = v, t.current.onMove(v);
|
|
4741
4792
|
}
|
|
@@ -4750,12 +4801,12 @@ function Xo(e) {
|
|
|
4750
4801
|
isDragging: n
|
|
4751
4802
|
};
|
|
4752
4803
|
}
|
|
4753
|
-
function
|
|
4804
|
+
function es(e, t, n) {
|
|
4754
4805
|
return Math.max(t, Math.min(n, e));
|
|
4755
4806
|
}
|
|
4756
4807
|
//#endregion
|
|
4757
4808
|
//#region src/runtime/use-focus-trap.ts
|
|
4758
|
-
var
|
|
4809
|
+
var ts = [
|
|
4759
4810
|
"a[href]",
|
|
4760
4811
|
"button:not([disabled])",
|
|
4761
4812
|
"input:not([disabled])",
|
|
@@ -4763,14 +4814,14 @@ var Qo = [
|
|
|
4763
4814
|
"textarea:not([disabled])",
|
|
4764
4815
|
"[tabindex]:not([tabindex=\"-1\"])"
|
|
4765
4816
|
].join(",");
|
|
4766
|
-
function
|
|
4767
|
-
|
|
4817
|
+
function ns(e, t) {
|
|
4818
|
+
R(() => {
|
|
4768
4819
|
if (!t) return;
|
|
4769
4820
|
let n = e.current;
|
|
4770
4821
|
if (!n) return;
|
|
4771
4822
|
function r(e) {
|
|
4772
4823
|
if (e.key !== "Tab") return;
|
|
4773
|
-
let t = Array.from(n.querySelectorAll(
|
|
4824
|
+
let t = Array.from(n.querySelectorAll(ts)), r = t[0], i = t[t.length - 1];
|
|
4774
4825
|
if (!r || !i) return;
|
|
4775
4826
|
let a = n.getRootNode(), o = a instanceof ShadowRoot ? a.activeElement : document.activeElement;
|
|
4776
4827
|
(e.shiftKey ? o === r : o === i) && (e.preventDefault(), (e.shiftKey ? i : r).focus());
|
|
@@ -4780,9 +4831,9 @@ function $o(e, t) {
|
|
|
4780
4831
|
}
|
|
4781
4832
|
//#endregion
|
|
4782
4833
|
//#region src/runtime/use-object-url.ts
|
|
4783
|
-
function
|
|
4784
|
-
let [t, n] =
|
|
4785
|
-
return
|
|
4834
|
+
function rs(e) {
|
|
4835
|
+
let [t, n] = L(null);
|
|
4836
|
+
return R(() => {
|
|
4786
4837
|
if (!e) {
|
|
4787
4838
|
n(null);
|
|
4788
4839
|
return;
|
|
@@ -4793,9 +4844,9 @@ function es(e) {
|
|
|
4793
4844
|
}
|
|
4794
4845
|
//#endregion
|
|
4795
4846
|
//#region src/runtime/ui/author-prompt.tsx
|
|
4796
|
-
function
|
|
4797
|
-
let [o, s] =
|
|
4798
|
-
|
|
4847
|
+
function is({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit: r, onCancel: i, onSignIn: a }) {
|
|
4848
|
+
let [o, s] = L(""), [c, l] = L(""), u = z(null);
|
|
4849
|
+
R(() => {
|
|
4799
4850
|
u.current?.focus();
|
|
4800
4851
|
}, []);
|
|
4801
4852
|
function d(n) {
|
|
@@ -4872,27 +4923,27 @@ function ts({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit:
|
|
|
4872
4923
|
}
|
|
4873
4924
|
//#endregion
|
|
4874
4925
|
//#region src/runtime/mention-input.ts
|
|
4875
|
-
var
|
|
4926
|
+
var as = "data-markup-mention", os = "data-markup-mention-name", ss = new Set([
|
|
4876
4927
|
"DIV",
|
|
4877
4928
|
"P",
|
|
4878
4929
|
"LI",
|
|
4879
4930
|
"BLOCKQUOTE",
|
|
4880
4931
|
"PRE"
|
|
4881
|
-
]),
|
|
4882
|
-
function
|
|
4932
|
+
]), cs = 3, ls = 1;
|
|
4933
|
+
function us(e) {
|
|
4883
4934
|
let t = "", n = (r) => {
|
|
4884
4935
|
let i = r.childNodes;
|
|
4885
4936
|
for (let a = 0; a < i.length; a++) {
|
|
4886
4937
|
let o = i[a];
|
|
4887
4938
|
if (!o) continue;
|
|
4888
|
-
if (o.nodeType ===
|
|
4939
|
+
if (o.nodeType === cs) {
|
|
4889
4940
|
t += o.data;
|
|
4890
4941
|
continue;
|
|
4891
4942
|
}
|
|
4892
|
-
if (o.nodeType !==
|
|
4893
|
-
let s = o, c = s.getAttribute(
|
|
4943
|
+
if (o.nodeType !== ls) continue;
|
|
4944
|
+
let s = o, c = s.getAttribute(as);
|
|
4894
4945
|
if (c) {
|
|
4895
|
-
let e =
|
|
4946
|
+
let e = ds(s);
|
|
4896
4947
|
t += Ir({
|
|
4897
4948
|
userId: c,
|
|
4898
4949
|
name: e
|
|
@@ -4903,77 +4954,77 @@ function ss(e) {
|
|
|
4903
4954
|
r === e && a === i.length - 1 || (t += "\n");
|
|
4904
4955
|
continue;
|
|
4905
4956
|
}
|
|
4906
|
-
|
|
4957
|
+
ss.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
|
|
4907
4958
|
}
|
|
4908
4959
|
};
|
|
4909
4960
|
return n(e), t;
|
|
4910
4961
|
}
|
|
4911
|
-
function
|
|
4912
|
-
return e.getAttribute(
|
|
4962
|
+
function ds(e) {
|
|
4963
|
+
return e.getAttribute(os) || (e.textContent ?? "").replace(/^@/, "");
|
|
4913
4964
|
}
|
|
4914
|
-
function
|
|
4965
|
+
function fs(e, t, n) {
|
|
4915
4966
|
let r = e.createElement("span");
|
|
4916
|
-
return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(
|
|
4967
|
+
return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(as, t.userId), r.setAttribute(os, t.name), r.textContent = `@${t.name}`, r;
|
|
4917
4968
|
}
|
|
4918
|
-
function
|
|
4969
|
+
function ps(e, t, n) {
|
|
4919
4970
|
let r = e.createDocumentFragment();
|
|
4920
4971
|
for (let i of Nr(t)) {
|
|
4921
4972
|
if (i.type === "text") {
|
|
4922
4973
|
i.value && r.appendChild(e.createTextNode(i.value));
|
|
4923
4974
|
continue;
|
|
4924
4975
|
}
|
|
4925
|
-
r.appendChild(
|
|
4976
|
+
r.appendChild(fs(e, {
|
|
4926
4977
|
userId: i.userId,
|
|
4927
4978
|
name: i.name
|
|
4928
4979
|
}, n));
|
|
4929
4980
|
}
|
|
4930
4981
|
return r;
|
|
4931
4982
|
}
|
|
4932
|
-
function
|
|
4983
|
+
function ms(e) {
|
|
4933
4984
|
let t = e.getRootNode();
|
|
4934
4985
|
return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument.getSelection();
|
|
4935
4986
|
}
|
|
4936
|
-
function
|
|
4937
|
-
let t =
|
|
4987
|
+
function hs(e) {
|
|
4988
|
+
let t = ms(e);
|
|
4938
4989
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return null;
|
|
4939
4990
|
let n = t.focusNode;
|
|
4940
|
-
return !n || n.nodeType !==
|
|
4991
|
+
return !n || n.nodeType !== cs || !e.contains(n) || gs(n, e) ? null : {
|
|
4941
4992
|
node: n,
|
|
4942
4993
|
offset: t.focusOffset
|
|
4943
4994
|
};
|
|
4944
4995
|
}
|
|
4945
|
-
function
|
|
4996
|
+
function gs(e, t) {
|
|
4946
4997
|
let n = e;
|
|
4947
4998
|
for (; n && n !== t;) {
|
|
4948
|
-
if (n.nodeType ===
|
|
4999
|
+
if (n.nodeType === ls && n.hasAttribute("data-markup-mention")) return n;
|
|
4949
5000
|
n = n.parentNode;
|
|
4950
5001
|
}
|
|
4951
5002
|
return null;
|
|
4952
5003
|
}
|
|
4953
|
-
function
|
|
4954
|
-
let t =
|
|
5004
|
+
function _s(e) {
|
|
5005
|
+
let t = ms(e);
|
|
4955
5006
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return;
|
|
4956
5007
|
let n = t.focusNode;
|
|
4957
5008
|
if (!n || !e.contains(n)) return;
|
|
4958
|
-
let r =
|
|
5009
|
+
let r = gs(n, e);
|
|
4959
5010
|
if (!r) return;
|
|
4960
5011
|
let i = r.nextSibling;
|
|
4961
|
-
(!i || i.nodeType !==
|
|
5012
|
+
(!i || i.nodeType !== cs) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), vs(e, i, 0);
|
|
4962
5013
|
}
|
|
4963
|
-
function
|
|
4964
|
-
let r =
|
|
5014
|
+
function vs(e, t, n) {
|
|
5015
|
+
let r = ms(e);
|
|
4965
5016
|
if (!r) return;
|
|
4966
5017
|
let i = e.ownerDocument.createRange();
|
|
4967
5018
|
i.setStart(t, n), i.collapse(!0), r.removeAllRanges(), r.addRange(i);
|
|
4968
5019
|
}
|
|
4969
|
-
function
|
|
5020
|
+
function ys(e) {
|
|
4970
5021
|
let t = Fr(e.node.data, e.offset);
|
|
4971
5022
|
return t ? {
|
|
4972
5023
|
...t,
|
|
4973
5024
|
textNode: e.node
|
|
4974
5025
|
} : null;
|
|
4975
5026
|
}
|
|
4976
|
-
function
|
|
5027
|
+
function bs(e, t, n, r) {
|
|
4977
5028
|
if (Ir(n) == null) return !1;
|
|
4978
5029
|
let i = t.textNode;
|
|
4979
5030
|
if (!e.contains(i)) return !1;
|
|
@@ -4981,31 +5032,31 @@ function _s(e, t, n, r) {
|
|
|
4981
5032
|
if (!a || t.caret > i.data.length) return !1;
|
|
4982
5033
|
i.deleteData(t.at, t.caret - t.at);
|
|
4983
5034
|
let o = i.splitText(t.at);
|
|
4984
|
-
return a.insertBefore(
|
|
5035
|
+
return a.insertBefore(fs(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), vs(e, o, 1), !0;
|
|
4985
5036
|
}
|
|
4986
|
-
function
|
|
4987
|
-
let n =
|
|
5037
|
+
function xs(e, t) {
|
|
5038
|
+
let n = ms(e);
|
|
4988
5039
|
if (!n || n.rangeCount === 0) return;
|
|
4989
5040
|
let r = n.getRangeAt(0);
|
|
4990
5041
|
if (!e.contains(r.commonAncestorContainer)) return;
|
|
4991
5042
|
r.deleteContents();
|
|
4992
5043
|
let { startContainer: i, startOffset: a } = r;
|
|
4993
|
-
if (i.nodeType ===
|
|
5044
|
+
if (i.nodeType === cs) {
|
|
4994
5045
|
let n = i;
|
|
4995
|
-
n.insertData(a, t),
|
|
5046
|
+
n.insertData(a, t), vs(e, n, a + t.length);
|
|
4996
5047
|
return;
|
|
4997
5048
|
}
|
|
4998
5049
|
let o = e.ownerDocument.createTextNode(t);
|
|
4999
|
-
r.insertNode(o),
|
|
5050
|
+
r.insertNode(o), vs(e, o, o.data.length);
|
|
5000
5051
|
}
|
|
5001
|
-
function
|
|
5052
|
+
function Ss(e, t) {
|
|
5002
5053
|
let n = e.ownerDocument, r = null, i = null, a = !0;
|
|
5003
5054
|
function o(t) {
|
|
5004
5055
|
let n = t.length === 0;
|
|
5005
5056
|
n === a && e.hasAttribute("data-empty") === n || (a = n, e.toggleAttribute("data-empty", n));
|
|
5006
5057
|
}
|
|
5007
5058
|
function s() {
|
|
5008
|
-
let n =
|
|
5059
|
+
let n = us(e);
|
|
5009
5060
|
o(n), t.onChange(n);
|
|
5010
5061
|
}
|
|
5011
5062
|
function c(e) {
|
|
@@ -5021,7 +5072,7 @@ function ys(e, t) {
|
|
|
5021
5072
|
c(null);
|
|
5022
5073
|
return;
|
|
5023
5074
|
}
|
|
5024
|
-
let n =
|
|
5075
|
+
let n = hs(e), r = n ? ys(n) : null;
|
|
5025
5076
|
if (r && i && r.textNode === i.node && r.at === i.at) {
|
|
5026
5077
|
c(null);
|
|
5027
5078
|
return;
|
|
@@ -5029,29 +5080,29 @@ function ys(e, t) {
|
|
|
5029
5080
|
i = null, c(r);
|
|
5030
5081
|
}
|
|
5031
5082
|
function u(r) {
|
|
5032
|
-
e.replaceChildren(
|
|
5083
|
+
e.replaceChildren(ps(n, r, t.chipClass)), o(us(e)), i = null, c(null);
|
|
5033
5084
|
}
|
|
5034
5085
|
let d = () => {
|
|
5035
5086
|
s(), l();
|
|
5036
5087
|
}, f = () => l(), p = () => {
|
|
5037
|
-
|
|
5088
|
+
_s(e), l();
|
|
5038
5089
|
}, m = (t) => {
|
|
5039
5090
|
let n = t.clipboardData?.getData("text/plain");
|
|
5040
|
-
t.preventDefault(), n && (
|
|
5091
|
+
t.preventDefault(), n && (xs(e, n.replace(/\r\n?/g, "\n")), s(), l());
|
|
5041
5092
|
}, h = (e) => {
|
|
5042
5093
|
e.preventDefault();
|
|
5043
5094
|
};
|
|
5044
5095
|
return e.addEventListener("input", d), e.addEventListener("keyup", f), e.addEventListener("mouseup", p), e.addEventListener("focus", p), e.addEventListener("paste", m), e.addEventListener("drop", h), u(t.initialValue ?? ""), {
|
|
5045
|
-
getValue: () =>
|
|
5096
|
+
getValue: () => us(e),
|
|
5046
5097
|
setValue: u,
|
|
5047
5098
|
focus() {
|
|
5048
5099
|
e.focus();
|
|
5049
5100
|
let t = e.lastChild;
|
|
5050
|
-
t && (t.nodeType ===
|
|
5101
|
+
t && (t.nodeType === cs ? vs(e, t, t.data.length) : vs(e, e, e.childNodes.length));
|
|
5051
5102
|
},
|
|
5052
5103
|
insertMention(n) {
|
|
5053
|
-
let a =
|
|
5054
|
-
o &&
|
|
5104
|
+
let a = hs(e), o = (a ? ys(a) : null) ?? r;
|
|
5105
|
+
o && bs(e, o, n, t.chipClass) && (s(), i = null, c(null));
|
|
5055
5106
|
},
|
|
5056
5107
|
syncTrigger: l,
|
|
5057
5108
|
clearTrigger: () => c(null),
|
|
@@ -5066,37 +5117,37 @@ function ys(e, t) {
|
|
|
5066
5117
|
}
|
|
5067
5118
|
};
|
|
5068
5119
|
}
|
|
5069
|
-
var
|
|
5070
|
-
function
|
|
5071
|
-
if (
|
|
5120
|
+
var Cs = null;
|
|
5121
|
+
function ws() {
|
|
5122
|
+
if (Cs) return Cs;
|
|
5072
5123
|
if (typeof document > "u") return "true";
|
|
5073
5124
|
let e = document.createElement("div");
|
|
5074
5125
|
try {
|
|
5075
|
-
e.contentEditable = "plaintext-only",
|
|
5126
|
+
e.contentEditable = "plaintext-only", Cs = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
|
|
5076
5127
|
} catch {
|
|
5077
|
-
|
|
5128
|
+
Cs = "true";
|
|
5078
5129
|
}
|
|
5079
|
-
return
|
|
5130
|
+
return Cs;
|
|
5080
5131
|
}
|
|
5081
5132
|
//#endregion
|
|
5082
5133
|
//#region src/runtime/ui/mentions.tsx
|
|
5083
|
-
function
|
|
5084
|
-
let r =
|
|
5134
|
+
function Ts({ body: e, mentions: t, trailing: n }) {
|
|
5135
|
+
let r = B(() => new Set(t), [t]);
|
|
5085
5136
|
return /* @__PURE__ */ Q("p", {
|
|
5086
5137
|
class: "markup-comment-body",
|
|
5087
|
-
children: [
|
|
5138
|
+
children: [B(() => Nr(e), [e]).map((e, t) => e.type === "mention" && r.has(e.userId) ? /* @__PURE__ */ Q("span", {
|
|
5088
5139
|
class: "markup-mention-chip",
|
|
5089
5140
|
children: ["@", e.name]
|
|
5090
5141
|
}, t) : /* @__PURE__ */ Q("span", { children: e.type === "mention" ? `@${e.name}` : e.value }, t)), n]
|
|
5091
5142
|
});
|
|
5092
5143
|
}
|
|
5093
|
-
function
|
|
5094
|
-
let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] =
|
|
5144
|
+
function Es(e) {
|
|
5145
|
+
let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = L(0), s = B(() => {
|
|
5095
5146
|
if (!n) return [];
|
|
5096
5147
|
let e = n.query.toLowerCase();
|
|
5097
5148
|
return t.filter((t) => t.name.toLowerCase().includes(e)).slice(0, 6);
|
|
5098
5149
|
}, [n, t]);
|
|
5099
|
-
|
|
5150
|
+
R(() => {
|
|
5100
5151
|
o((e) => e >= s.length ? 0 : e);
|
|
5101
5152
|
}, [s]);
|
|
5102
5153
|
function c(e) {
|
|
@@ -5118,7 +5169,7 @@ function Cs(e) {
|
|
|
5118
5169
|
handleKeyDown: c
|
|
5119
5170
|
};
|
|
5120
5171
|
}
|
|
5121
|
-
function
|
|
5172
|
+
function Ds({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
|
|
5122
5173
|
return e.length === 0 ? null : /* @__PURE__ */ Q("ul", {
|
|
5123
5174
|
class: "markup-mention-picker",
|
|
5124
5175
|
role: "listbox",
|
|
@@ -5144,16 +5195,16 @@ function ws({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
|
|
|
5144
5195
|
}
|
|
5145
5196
|
//#endregion
|
|
5146
5197
|
//#region src/runtime/ui/mention-input.tsx
|
|
5147
|
-
function
|
|
5148
|
-
let u =
|
|
5198
|
+
function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
|
|
5199
|
+
let u = z(null), d = z(null), [f, p] = L(null), m = z(t);
|
|
5149
5200
|
m.current = t;
|
|
5150
|
-
let h =
|
|
5201
|
+
let h = z(r);
|
|
5151
5202
|
h.current = r;
|
|
5152
|
-
let g =
|
|
5153
|
-
|
|
5203
|
+
let g = z(e);
|
|
5204
|
+
qe(() => {
|
|
5154
5205
|
let e = u.current;
|
|
5155
5206
|
if (!e) return;
|
|
5156
|
-
let t =
|
|
5207
|
+
let t = Ss(e, {
|
|
5157
5208
|
chipClass: "markup-mention-chip",
|
|
5158
5209
|
initialValue: g.current,
|
|
5159
5210
|
onChange: (e) => m.current(e),
|
|
@@ -5163,17 +5214,17 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5163
5214
|
return d.current = t, () => {
|
|
5164
5215
|
t.destroy(), d.current = null;
|
|
5165
5216
|
};
|
|
5166
|
-
}, []),
|
|
5217
|
+
}, []), qe(() => {
|
|
5167
5218
|
if (l) return l.current = { focus: () => d.current?.focus() }, () => {
|
|
5168
5219
|
l.current = null;
|
|
5169
5220
|
};
|
|
5170
|
-
}, [l]),
|
|
5221
|
+
}, [l]), qe(() => {
|
|
5171
5222
|
s && d.current?.focus();
|
|
5172
|
-
}, [s]),
|
|
5223
|
+
}, [s]), qe(() => {
|
|
5173
5224
|
let t = d.current;
|
|
5174
5225
|
t && t.getValue() !== e && t.setValue(e);
|
|
5175
5226
|
}, [e]);
|
|
5176
|
-
let _ =
|
|
5227
|
+
let _ = Es({
|
|
5177
5228
|
members: r ?? [],
|
|
5178
5229
|
trigger: f,
|
|
5179
5230
|
onSelect: (e) => d.current?.insertMention(e),
|
|
@@ -5186,7 +5237,7 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5186
5237
|
"aria-label": i,
|
|
5187
5238
|
"aria-disabled": o || void 0,
|
|
5188
5239
|
class: Z("markup-mention-input", c),
|
|
5189
|
-
contentEditable: o ? "false" :
|
|
5240
|
+
contentEditable: o ? "false" : ws(),
|
|
5190
5241
|
"data-placeholder": a,
|
|
5191
5242
|
tabIndex: o ? -1 : 0,
|
|
5192
5243
|
onKeyDown: (e) => {
|
|
@@ -5195,7 +5246,7 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5195
5246
|
onBlur: () => {
|
|
5196
5247
|
setTimeout(() => d.current?.clearTrigger(), 120);
|
|
5197
5248
|
}
|
|
5198
|
-
}), _.isOpen ? /* @__PURE__ */ Q(
|
|
5249
|
+
}), _.isOpen ? /* @__PURE__ */ Q(Ds, {
|
|
5199
5250
|
items: _.items,
|
|
5200
5251
|
highlight: _.highlight,
|
|
5201
5252
|
setHighlight: _.setHighlight,
|
|
@@ -5204,13 +5255,13 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5204
5255
|
}
|
|
5205
5256
|
//#endregion
|
|
5206
5257
|
//#region src/runtime/ui/composer.tsx
|
|
5207
|
-
var
|
|
5208
|
-
function
|
|
5209
|
-
let [c, l] =
|
|
5210
|
-
|
|
5258
|
+
var ks = 4e3;
|
|
5259
|
+
function As({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, members: s }) {
|
|
5260
|
+
let [c, l] = L(""), u = z(null), d = z(!1);
|
|
5261
|
+
R(() => {
|
|
5211
5262
|
d.current && !i && !a && (l(""), u.current?.focus()), d.current = i;
|
|
5212
5263
|
}, [i, a]);
|
|
5213
|
-
let f =
|
|
5264
|
+
let f = ks - c.length, p = f < 0;
|
|
5214
5265
|
function m(e) {
|
|
5215
5266
|
e?.preventDefault();
|
|
5216
5267
|
let t = c.trim();
|
|
@@ -5219,8 +5270,8 @@ function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5219
5270
|
function h(e) {
|
|
5220
5271
|
(e.metaKey || e.ctrlKey) && e.key === "Enter" && m(e);
|
|
5221
5272
|
}
|
|
5222
|
-
let g = c.length > 0;
|
|
5223
|
-
function
|
|
5273
|
+
let g = c.length > 0, _ = Co();
|
|
5274
|
+
function v(e) {
|
|
5224
5275
|
return /* @__PURE__ */ Q("button", {
|
|
5225
5276
|
type: "submit",
|
|
5226
5277
|
class: "markup-btn markup-btn-primary",
|
|
@@ -5228,14 +5279,14 @@ function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5228
5279
|
"aria-label": i ? "Sending…" : n,
|
|
5229
5280
|
title: i ? "Sending…" : n,
|
|
5230
5281
|
tabIndex: e,
|
|
5231
|
-
children: /* @__PURE__ */ Q(
|
|
5282
|
+
children: /* @__PURE__ */ Q(jo, { size: 14 })
|
|
5232
5283
|
});
|
|
5233
5284
|
}
|
|
5234
5285
|
return /* @__PURE__ */ Q("form", {
|
|
5235
5286
|
class: Z("markup-composer", g && "is-filled"),
|
|
5236
5287
|
onSubmit: m,
|
|
5237
5288
|
children: [
|
|
5238
|
-
/* @__PURE__ */ Q(
|
|
5289
|
+
/* @__PURE__ */ Q(Os, {
|
|
5239
5290
|
class: "markup-composer-input",
|
|
5240
5291
|
label: e,
|
|
5241
5292
|
placeholder: t,
|
|
@@ -5259,32 +5310,45 @@ function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5259
5310
|
}) : p ? /* @__PURE__ */ Q("span", {
|
|
5260
5311
|
class: "markup-composer-error",
|
|
5261
5312
|
children: [Math.abs(f), " too long"]
|
|
5262
|
-
}) : /* @__PURE__ */ Q(
|
|
5313
|
+
}) : /* @__PURE__ */ Q(S, { children: [
|
|
5314
|
+
/* @__PURE__ */ Q("kbd", {
|
|
5315
|
+
class: "markup-kbd is-inline",
|
|
5316
|
+
children: _.mod
|
|
5317
|
+
}),
|
|
5318
|
+
/* @__PURE__ */ Q("kbd", {
|
|
5319
|
+
class: "markup-kbd is-inline",
|
|
5320
|
+
children: _.enter
|
|
5321
|
+
}),
|
|
5322
|
+
/* @__PURE__ */ Q("span", {
|
|
5323
|
+
class: "markup-composer-hint-label",
|
|
5324
|
+
children: "to send"
|
|
5325
|
+
})
|
|
5326
|
+
] })
|
|
5263
5327
|
}), /* @__PURE__ */ Q("div", {
|
|
5264
5328
|
class: "markup-composer-actions",
|
|
5265
|
-
children:
|
|
5329
|
+
children: v(g ? void 0 : -1)
|
|
5266
5330
|
})]
|
|
5267
5331
|
})
|
|
5268
5332
|
}),
|
|
5269
5333
|
/* @__PURE__ */ Q("span", {
|
|
5270
5334
|
class: "markup-composer-actions-empty",
|
|
5271
5335
|
"aria-hidden": g || void 0,
|
|
5272
|
-
children:
|
|
5336
|
+
children: v(g ? -1 : void 0)
|
|
5273
5337
|
})
|
|
5274
5338
|
]
|
|
5275
5339
|
});
|
|
5276
5340
|
}
|
|
5277
5341
|
//#endregion
|
|
5278
5342
|
//#region src/runtime/ui/new-thread-popover.tsx
|
|
5279
|
-
function
|
|
5280
|
-
let _ =
|
|
5281
|
-
|
|
5282
|
-
let [v, y] =
|
|
5343
|
+
function js({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, isPending: o, error: s, screenshot: c, isScreenshotCapturing: l, screenshotRedactedCount: u, screenshotRedactedSelectors: d, members: f = [], onAuthor: p, onSignIn: m, onSubmit: h, onClose: g }) {
|
|
5344
|
+
let _ = z(null);
|
|
5345
|
+
ns(_, !0);
|
|
5346
|
+
let [v, y] = L(!1), [b, x] = L(!1), C = rs(c), [w, T] = L(null), { onPointerDown: E, isDragging: D } = $o({
|
|
5283
5347
|
targetRef: _,
|
|
5284
5348
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
5285
5349
|
onMove: T
|
|
5286
5350
|
});
|
|
5287
|
-
|
|
5351
|
+
R(() => {
|
|
5288
5352
|
let e = _.current;
|
|
5289
5353
|
if (!e) return;
|
|
5290
5354
|
if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
|
|
@@ -5295,7 +5359,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5295
5359
|
}
|
|
5296
5360
|
return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
|
|
5297
5361
|
}, [g]);
|
|
5298
|
-
let O =
|
|
5362
|
+
let O = Ms(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), ee = Ms(t - window.scrollY - 16, 12, window.innerHeight - 220), te = typeof window < "u" ? window.location.href : "", k = c != null, ne = l || k;
|
|
5299
5363
|
return /* @__PURE__ */ Q("div", {
|
|
5300
5364
|
ref: _,
|
|
5301
5365
|
class: Z("markup-popover", w && "is-floating", D && "is-dragging"),
|
|
@@ -5310,30 +5374,17 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5310
5374
|
class: "markup-popover-header",
|
|
5311
5375
|
onPointerDown: E,
|
|
5312
5376
|
children: [/* @__PURE__ */ Q("span", {
|
|
5313
|
-
class: "markup-popover-
|
|
5314
|
-
title:
|
|
5315
|
-
children:
|
|
5316
|
-
/* @__PURE__ */ Q("span", {
|
|
5317
|
-
class: "markup-popover-path-host",
|
|
5318
|
-
children: As(k)
|
|
5319
|
-
}),
|
|
5320
|
-
/* @__PURE__ */ Q("span", {
|
|
5321
|
-
class: "markup-popover-path-route",
|
|
5322
|
-
children: js(k)
|
|
5323
|
-
}),
|
|
5324
|
-
/* @__PURE__ */ Q("span", {
|
|
5325
|
-
class: "markup-popover-path-tag",
|
|
5326
|
-
children: "new"
|
|
5327
|
-
})
|
|
5328
|
-
]
|
|
5377
|
+
class: "markup-popover-title",
|
|
5378
|
+
title: te,
|
|
5379
|
+
children: "New comment"
|
|
5329
5380
|
}), /* @__PURE__ */ Q("button", {
|
|
5330
5381
|
type: "button",
|
|
5331
5382
|
class: "markup-icon-btn",
|
|
5332
5383
|
"aria-label": "Discard pin",
|
|
5333
5384
|
onClick: g,
|
|
5334
|
-
children: /* @__PURE__ */ Q(
|
|
5385
|
+
children: /* @__PURE__ */ Q(Eo, { size: 16 })
|
|
5335
5386
|
})]
|
|
5336
|
-
}), n == null ? /* @__PURE__ */ Q(
|
|
5387
|
+
}), n == null ? /* @__PURE__ */ Q(is, {
|
|
5337
5388
|
isPending: o,
|
|
5338
5389
|
isConnecting: i,
|
|
5339
5390
|
isSigningIn: a,
|
|
@@ -5357,16 +5408,16 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5357
5408
|
}) : null
|
|
5358
5409
|
]
|
|
5359
5410
|
}),
|
|
5360
|
-
/* @__PURE__ */ Q(
|
|
5411
|
+
/* @__PURE__ */ Q(As, {
|
|
5361
5412
|
label: "Feedback",
|
|
5362
5413
|
placeholder: "What's wrong, missing, or worth noting?",
|
|
5363
5414
|
submitLabel: "Post markup",
|
|
5364
5415
|
isPending: o,
|
|
5365
5416
|
error: s,
|
|
5366
|
-
onSubmit: (e) => h(e, v &&
|
|
5417
|
+
onSubmit: (e) => h(e, v && k),
|
|
5367
5418
|
members: f
|
|
5368
5419
|
}),
|
|
5369
|
-
|
|
5420
|
+
ne ? /* @__PURE__ */ Q("div", {
|
|
5370
5421
|
class: "markup-screenshot-row",
|
|
5371
5422
|
children: [l ? /* @__PURE__ */ Q("span", {
|
|
5372
5423
|
class: "markup-screenshot-status",
|
|
@@ -5376,7 +5427,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5376
5427
|
class: "markup-screenshot-checkbox",
|
|
5377
5428
|
disabled: !0
|
|
5378
5429
|
}),
|
|
5379
|
-
/* @__PURE__ */ Q(
|
|
5430
|
+
/* @__PURE__ */ Q(Ao, { size: 12 }),
|
|
5380
5431
|
/* @__PURE__ */ Q("span", { children: "Capturing…" })
|
|
5381
5432
|
]
|
|
5382
5433
|
}) : /* @__PURE__ */ Q("label", {
|
|
@@ -5388,7 +5439,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5388
5439
|
checked: v,
|
|
5389
5440
|
onChange: (e) => y(e.currentTarget.checked)
|
|
5390
5441
|
}),
|
|
5391
|
-
/* @__PURE__ */ Q(
|
|
5442
|
+
/* @__PURE__ */ Q(Ao, { size: 12 }),
|
|
5392
5443
|
/* @__PURE__ */ Q("span", { children: "Attach screenshot" }),
|
|
5393
5444
|
C && v ? /* @__PURE__ */ Q("img", {
|
|
5394
5445
|
class: "markup-screenshot-thumb",
|
|
@@ -5396,7 +5447,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5396
5447
|
alt: "Screenshot preview"
|
|
5397
5448
|
}) : null
|
|
5398
5449
|
]
|
|
5399
|
-
}), v &&
|
|
5450
|
+
}), v && k ? /* @__PURE__ */ Q(S, { children: [u > 0 ? /* @__PURE__ */ Q("div", {
|
|
5400
5451
|
class: "markup-screenshot-redacted",
|
|
5401
5452
|
children: [/* @__PURE__ */ Q("button", {
|
|
5402
5453
|
type: "button",
|
|
@@ -5436,39 +5487,24 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5436
5487
|
})]
|
|
5437
5488
|
});
|
|
5438
5489
|
}
|
|
5439
|
-
function
|
|
5490
|
+
function Ms(e, t, n) {
|
|
5440
5491
|
return Math.max(t, Math.min(n, e));
|
|
5441
5492
|
}
|
|
5442
|
-
function As(e) {
|
|
5443
|
-
try {
|
|
5444
|
-
return new URL(e).host;
|
|
5445
|
-
} catch {
|
|
5446
|
-
return "";
|
|
5447
|
-
}
|
|
5448
|
-
}
|
|
5449
|
-
function js(e) {
|
|
5450
|
-
try {
|
|
5451
|
-
let t = new URL(e);
|
|
5452
|
-
return `${t.pathname}${t.search}` || "/";
|
|
5453
|
-
} catch {
|
|
5454
|
-
return "";
|
|
5455
|
-
}
|
|
5456
|
-
}
|
|
5457
5493
|
//#endregion
|
|
5458
5494
|
//#region src/runtime/use-theme.ts
|
|
5459
|
-
function
|
|
5460
|
-
let [, e] =
|
|
5461
|
-
return
|
|
5462
|
-
mode:
|
|
5463
|
-
resolved:
|
|
5464
|
-
set:
|
|
5495
|
+
function Ns() {
|
|
5496
|
+
let [, e] = L(0);
|
|
5497
|
+
return R(() => Me(() => e((e) => e + 1)), []), {
|
|
5498
|
+
mode: ke(),
|
|
5499
|
+
resolved: Ae(),
|
|
5500
|
+
set: je
|
|
5465
5501
|
};
|
|
5466
5502
|
}
|
|
5467
5503
|
//#endregion
|
|
5468
5504
|
//#region src/runtime/ui/overflow-menu.tsx
|
|
5469
|
-
function
|
|
5470
|
-
let [u, d] =
|
|
5471
|
-
|
|
5505
|
+
function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, onOpenPrivacy: a, onOpenShortcuts: o, onHideForSession: s, version: c, dashboardUrl: l }) {
|
|
5506
|
+
let [u, d] = L(!1), f = z(null), p = Ns();
|
|
5507
|
+
R(() => {
|
|
5472
5508
|
if (!u) return;
|
|
5473
5509
|
function e(e) {
|
|
5474
5510
|
let t = f.current;
|
|
@@ -5481,7 +5517,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5481
5517
|
document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
|
|
5482
5518
|
};
|
|
5483
5519
|
}, [u]);
|
|
5484
|
-
let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right",
|
|
5520
|
+
let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: h } = Co();
|
|
5485
5521
|
return /* @__PURE__ */ Q("div", {
|
|
5486
5522
|
ref: f,
|
|
5487
5523
|
style: {
|
|
@@ -5500,7 +5536,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5500
5536
|
onClick: (e) => {
|
|
5501
5537
|
e.preventDefault(), e.stopPropagation(), d((e) => !e);
|
|
5502
5538
|
},
|
|
5503
|
-
children: /* @__PURE__ */ Q(
|
|
5539
|
+
children: /* @__PURE__ */ Q(Lo, { size: 16 })
|
|
5504
5540
|
}), u ? /* @__PURE__ */ Q("div", {
|
|
5505
5541
|
class: Z("markup-pop", m),
|
|
5506
5542
|
"data-pop": "overflow",
|
|
@@ -5524,7 +5560,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5524
5560
|
title: "Light",
|
|
5525
5561
|
class: Z(p.mode === "light" && "is-on"),
|
|
5526
5562
|
onClick: () => p.set("light"),
|
|
5527
|
-
children: /* @__PURE__ */ Q(
|
|
5563
|
+
children: /* @__PURE__ */ Q(Ro, { size: 14 })
|
|
5528
5564
|
}),
|
|
5529
5565
|
/* @__PURE__ */ Q("button", {
|
|
5530
5566
|
type: "button",
|
|
@@ -5534,7 +5570,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5534
5570
|
title: "Dark",
|
|
5535
5571
|
class: Z(p.mode === "dark" && "is-on"),
|
|
5536
5572
|
onClick: () => p.set("dark"),
|
|
5537
|
-
children: /* @__PURE__ */ Q(
|
|
5573
|
+
children: /* @__PURE__ */ Q(zo, { size: 14 })
|
|
5538
5574
|
}),
|
|
5539
5575
|
/* @__PURE__ */ Q("button", {
|
|
5540
5576
|
type: "button",
|
|
@@ -5544,7 +5580,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5544
5580
|
title: `Auto — currently ${p.resolved}`,
|
|
5545
5581
|
class: Z(p.mode === "auto" && "is-on"),
|
|
5546
5582
|
onClick: () => p.set("auto"),
|
|
5547
|
-
children: /* @__PURE__ */ Q(
|
|
5583
|
+
children: /* @__PURE__ */ Q(Bo, { size: 14 })
|
|
5548
5584
|
})
|
|
5549
5585
|
]
|
|
5550
5586
|
})]
|
|
@@ -5567,7 +5603,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5567
5603
|
title: "Bottom left",
|
|
5568
5604
|
class: Z(e === "bottom-left" && "is-on"),
|
|
5569
5605
|
onClick: () => t("bottom-left"),
|
|
5570
|
-
children: /* @__PURE__ */ Q(
|
|
5606
|
+
children: /* @__PURE__ */ Q(Fs, { side: "left" })
|
|
5571
5607
|
}),
|
|
5572
5608
|
/* @__PURE__ */ Q("button", {
|
|
5573
5609
|
type: "button",
|
|
@@ -5577,7 +5613,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5577
5613
|
title: "Bottom center",
|
|
5578
5614
|
class: Z(e === "bottom-center" && "is-on"),
|
|
5579
5615
|
onClick: () => t("bottom-center"),
|
|
5580
|
-
children: /* @__PURE__ */ Q(
|
|
5616
|
+
children: /* @__PURE__ */ Q(Fs, { side: "center" })
|
|
5581
5617
|
}),
|
|
5582
5618
|
/* @__PURE__ */ Q("button", {
|
|
5583
5619
|
type: "button",
|
|
@@ -5587,7 +5623,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5587
5623
|
title: "Bottom right",
|
|
5588
5624
|
class: Z(e === "bottom-right" && "is-on"),
|
|
5589
5625
|
onClick: () => t("bottom-right"),
|
|
5590
|
-
children: /* @__PURE__ */ Q(
|
|
5626
|
+
children: /* @__PURE__ */ Q(Fs, { side: "right" })
|
|
5591
5627
|
})
|
|
5592
5628
|
]
|
|
5593
5629
|
})]
|
|
@@ -5609,7 +5645,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5609
5645
|
children: [
|
|
5610
5646
|
/* @__PURE__ */ Q("span", {
|
|
5611
5647
|
class: "ic",
|
|
5612
|
-
children: /* @__PURE__ */ Q(
|
|
5648
|
+
children: /* @__PURE__ */ Q(Is, {})
|
|
5613
5649
|
}),
|
|
5614
5650
|
/* @__PURE__ */ Q("span", {
|
|
5615
5651
|
class: "lbl",
|
|
@@ -5634,7 +5670,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5634
5670
|
},
|
|
5635
5671
|
children: [/* @__PURE__ */ Q("span", {
|
|
5636
5672
|
class: "ic",
|
|
5637
|
-
children: /* @__PURE__ */ Q(
|
|
5673
|
+
children: /* @__PURE__ */ Q(Vo, { size: 16 })
|
|
5638
5674
|
}), /* @__PURE__ */ Q("span", {
|
|
5639
5675
|
class: "lbl",
|
|
5640
5676
|
children: "Privacy & data"
|
|
@@ -5651,7 +5687,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5651
5687
|
children: [
|
|
5652
5688
|
/* @__PURE__ */ Q("span", {
|
|
5653
5689
|
class: "ic",
|
|
5654
|
-
children: /* @__PURE__ */ Q(
|
|
5690
|
+
children: /* @__PURE__ */ Q(Ho, { size: 16 })
|
|
5655
5691
|
}),
|
|
5656
5692
|
/* @__PURE__ */ Q("span", {
|
|
5657
5693
|
class: "lbl",
|
|
@@ -5674,7 +5710,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5674
5710
|
children: [
|
|
5675
5711
|
/* @__PURE__ */ Q("span", {
|
|
5676
5712
|
class: "ic",
|
|
5677
|
-
children: /* @__PURE__ */ Q(
|
|
5713
|
+
children: /* @__PURE__ */ Q(Ls, {})
|
|
5678
5714
|
}),
|
|
5679
5715
|
/* @__PURE__ */ Q("span", {
|
|
5680
5716
|
class: "lbl",
|
|
@@ -5692,7 +5728,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5692
5728
|
target: "_blank",
|
|
5693
5729
|
rel: "noopener noreferrer",
|
|
5694
5730
|
children: [
|
|
5695
|
-
/* @__PURE__ */ Q(
|
|
5731
|
+
/* @__PURE__ */ Q(To, { size: 12 }),
|
|
5696
5732
|
/* @__PURE__ */ Q("span", { children: "Powered by Markup" }),
|
|
5697
5733
|
/* @__PURE__ */ Q("span", {
|
|
5698
5734
|
class: "ver",
|
|
@@ -5704,7 +5740,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5704
5740
|
}) : null]
|
|
5705
5741
|
});
|
|
5706
5742
|
}
|
|
5707
|
-
function
|
|
5743
|
+
function Fs({ side: e }) {
|
|
5708
5744
|
return /* @__PURE__ */ Q("svg", {
|
|
5709
5745
|
width: 14,
|
|
5710
5746
|
height: 14,
|
|
@@ -5730,7 +5766,7 @@ function Ps({ side: e }) {
|
|
|
5730
5766
|
})]
|
|
5731
5767
|
});
|
|
5732
5768
|
}
|
|
5733
|
-
function
|
|
5769
|
+
function Is() {
|
|
5734
5770
|
return /* @__PURE__ */ Q("svg", {
|
|
5735
5771
|
width: 16,
|
|
5736
5772
|
height: 16,
|
|
@@ -5748,7 +5784,7 @@ function Fs() {
|
|
|
5748
5784
|
})]
|
|
5749
5785
|
});
|
|
5750
5786
|
}
|
|
5751
|
-
function
|
|
5787
|
+
function Ls() {
|
|
5752
5788
|
return /* @__PURE__ */ Q("svg", {
|
|
5753
5789
|
width: 16,
|
|
5754
5790
|
height: 16,
|
|
@@ -5769,7 +5805,7 @@ function Is() {
|
|
|
5769
5805
|
}
|
|
5770
5806
|
//#endregion
|
|
5771
5807
|
//#region src/runtime/ui/pin.tsx
|
|
5772
|
-
function
|
|
5808
|
+
function Rs({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClick: a }) {
|
|
5773
5809
|
let o = t - window.scrollY, s = e - window.scrollX;
|
|
5774
5810
|
return /* @__PURE__ */ Q("button", {
|
|
5775
5811
|
type: "button",
|
|
@@ -5789,7 +5825,7 @@ function Ls({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClic
|
|
|
5789
5825
|
})
|
|
5790
5826
|
});
|
|
5791
5827
|
}
|
|
5792
|
-
function
|
|
5828
|
+
function zs({ pageX: e, pageY: t }) {
|
|
5793
5829
|
let n = t - window.scrollY, r = e - window.scrollX;
|
|
5794
5830
|
return /* @__PURE__ */ Q("div", {
|
|
5795
5831
|
class: "markup-pin markup-pin-ghost is-anchor",
|
|
@@ -5806,8 +5842,8 @@ function Rs({ pageX: e, pageY: t }) {
|
|
|
5806
5842
|
}
|
|
5807
5843
|
//#endregion
|
|
5808
5844
|
//#region src/runtime/ui/placement-overlay.tsx
|
|
5809
|
-
function
|
|
5810
|
-
|
|
5845
|
+
function Bs({ onPlace: e, onCancel: t }) {
|
|
5846
|
+
R(() => {
|
|
5811
5847
|
function e(e) {
|
|
5812
5848
|
e.key === "Escape" && t();
|
|
5813
5849
|
}
|
|
@@ -5832,14 +5868,14 @@ function zs({ onPlace: e, onCancel: t }) {
|
|
|
5832
5868
|
}
|
|
5833
5869
|
//#endregion
|
|
5834
5870
|
//#region src/runtime/ui/thread-popover.tsx
|
|
5835
|
-
var
|
|
5871
|
+
var Vs = [
|
|
5836
5872
|
"👍",
|
|
5837
5873
|
"❤️",
|
|
5838
5874
|
"🎉",
|
|
5839
5875
|
"😮",
|
|
5840
5876
|
"😄",
|
|
5841
5877
|
"❓"
|
|
5842
|
-
],
|
|
5878
|
+
], Hs = Ar({
|
|
5843
5879
|
none: {
|
|
5844
5880
|
"toggle-thread-menu": () => ({
|
|
5845
5881
|
kind: "thread-menu",
|
|
@@ -5895,22 +5931,22 @@ var Bs = [
|
|
|
5895
5931
|
dismiss: () => ({ kind: "none" })
|
|
5896
5932
|
}
|
|
5897
5933
|
});
|
|
5898
|
-
function
|
|
5899
|
-
let b =
|
|
5934
|
+
function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, canDelete: o, isPending: s, error: c, isHidden: l = !1, members: u = [], onAuthor: d, onSignIn: f, onClose: p, onReply: m, onEditComment: h, onDeleteComment: g, onToggleReaction: _, onResolve: v, onDelete: y }) {
|
|
5935
|
+
let b = z(null), x = z(null), S = z(null), C = z(null), [w, T] = jr(Hs, { kind: "none" }), [E, D] = L(null), { onPointerDown: O, isDragging: ee } = $o({
|
|
5900
5936
|
targetRef: b,
|
|
5901
5937
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
5902
5938
|
onMove: D
|
|
5903
5939
|
});
|
|
5904
|
-
|
|
5905
|
-
let
|
|
5906
|
-
|
|
5940
|
+
ns(b, !0);
|
|
5941
|
+
let te = e.resolvedAt != null, k = B(() => e.comments.filter((e) => !e.deleted), [e.comments]);
|
|
5942
|
+
R(() => {
|
|
5907
5943
|
if (w.kind === "none" || w.kind === "editing") return;
|
|
5908
5944
|
function e(e) {
|
|
5909
5945
|
let t = C.current;
|
|
5910
5946
|
t && !e.composedPath().includes(t) && T({ type: "dismiss" });
|
|
5911
5947
|
}
|
|
5912
5948
|
return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
5913
|
-
}, [w.kind, T]),
|
|
5949
|
+
}, [w.kind, T]), R(() => {
|
|
5914
5950
|
if (w.kind !== "editing") return;
|
|
5915
5951
|
let t = e.comments.find((e) => e._id === w.commentId);
|
|
5916
5952
|
(!t || t.deleted) && T({ type: "dismiss" });
|
|
@@ -5919,17 +5955,17 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5919
5955
|
w,
|
|
5920
5956
|
T
|
|
5921
5957
|
]);
|
|
5922
|
-
let
|
|
5923
|
-
|
|
5958
|
+
let ne = z(!0);
|
|
5959
|
+
R(() => {
|
|
5924
5960
|
let e = x.current;
|
|
5925
5961
|
if (e) {
|
|
5926
|
-
if (
|
|
5927
|
-
|
|
5962
|
+
if (ne.current) {
|
|
5963
|
+
ne.current = !1, e.scrollTop = e.scrollHeight;
|
|
5928
5964
|
return;
|
|
5929
5965
|
}
|
|
5930
5966
|
e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
|
|
5931
5967
|
}
|
|
5932
|
-
}, [
|
|
5968
|
+
}, [k.length]), R(() => {
|
|
5933
5969
|
let e = b.current;
|
|
5934
5970
|
if (!e) return;
|
|
5935
5971
|
if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
|
|
@@ -5940,15 +5976,15 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5940
5976
|
}
|
|
5941
5977
|
return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
|
|
5942
5978
|
}, [p]);
|
|
5943
|
-
let
|
|
5979
|
+
let A = B(() => {
|
|
5944
5980
|
let t = oi({
|
|
5945
5981
|
anchorX: e.anchorX,
|
|
5946
5982
|
anchorY: e.anchorY,
|
|
5947
5983
|
anchorSelector: e.anchorSelector
|
|
5948
5984
|
});
|
|
5949
5985
|
return {
|
|
5950
|
-
left:
|
|
5951
|
-
top:
|
|
5986
|
+
left: qs(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
|
|
5987
|
+
top: qs(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
|
|
5952
5988
|
};
|
|
5953
5989
|
}, [
|
|
5954
5990
|
e.anchorX,
|
|
@@ -5961,8 +5997,8 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5961
5997
|
class: Z("markup-popover", E && "is-floating", ee && "is-dragging", l && "is-hud-hidden"),
|
|
5962
5998
|
popover: "auto",
|
|
5963
5999
|
style: {
|
|
5964
|
-
"--markup-pop-x": `${E?.left ??
|
|
5965
|
-
"--markup-pop-y": `${E?.top ??
|
|
6000
|
+
"--markup-pop-x": `${E?.left ?? A.left}px`,
|
|
6001
|
+
"--markup-pop-y": `${E?.top ?? A.top}px`
|
|
5966
6002
|
},
|
|
5967
6003
|
role: "dialog",
|
|
5968
6004
|
"aria-label": "Markup thread",
|
|
@@ -5972,15 +6008,9 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5972
6008
|
class: "markup-popover-header",
|
|
5973
6009
|
onPointerDown: O,
|
|
5974
6010
|
children: [/* @__PURE__ */ Q("span", {
|
|
5975
|
-
class: "markup-popover-
|
|
6011
|
+
class: "markup-popover-title",
|
|
5976
6012
|
title: e.url,
|
|
5977
|
-
children:
|
|
5978
|
-
class: "markup-popover-path-host",
|
|
5979
|
-
children: qs(e.url)
|
|
5980
|
-
}), /* @__PURE__ */ Q("span", {
|
|
5981
|
-
class: "markup-popover-path-route",
|
|
5982
|
-
children: Js(e.url)
|
|
5983
|
-
})]
|
|
6013
|
+
children: k.length === 1 ? "1 comment" : `${k.length} comments`
|
|
5984
6014
|
}), /* @__PURE__ */ Q("div", {
|
|
5985
6015
|
class: "markup-popover-header-actions",
|
|
5986
6016
|
children: [
|
|
@@ -5994,7 +6024,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5994
6024
|
class: Z("markup-icon-btn", w.kind === "thread-menu" && "is-open"),
|
|
5995
6025
|
title: "More options",
|
|
5996
6026
|
onClick: () => T({ type: "toggle-thread-menu" }),
|
|
5997
|
-
children: /* @__PURE__ */ Q(
|
|
6027
|
+
children: /* @__PURE__ */ Q(Oo, { size: 16 })
|
|
5998
6028
|
}), w.kind === "thread-menu" ? /* @__PURE__ */ Q("div", {
|
|
5999
6029
|
class: "markup-thread-menu-list",
|
|
6000
6030
|
children: [/* @__PURE__ */ Q("button", {
|
|
@@ -6022,14 +6052,14 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6022
6052
|
title: "Mark as resolved",
|
|
6023
6053
|
disabled: s,
|
|
6024
6054
|
onClick: v,
|
|
6025
|
-
children: /* @__PURE__ */ Q(
|
|
6055
|
+
children: /* @__PURE__ */ Q(ko, { size: 16 })
|
|
6026
6056
|
}) : null,
|
|
6027
6057
|
/* @__PURE__ */ Q("button", {
|
|
6028
6058
|
type: "button",
|
|
6029
6059
|
class: "markup-icon-btn",
|
|
6030
6060
|
title: "Close thread",
|
|
6031
6061
|
onClick: p,
|
|
6032
|
-
children: /* @__PURE__ */ Q(
|
|
6062
|
+
children: /* @__PURE__ */ Q(Eo, { size: 16 })
|
|
6033
6063
|
})
|
|
6034
6064
|
]
|
|
6035
6065
|
})]
|
|
@@ -6037,16 +6067,15 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6037
6067
|
/* @__PURE__ */ Q("ol", {
|
|
6038
6068
|
ref: x,
|
|
6039
6069
|
class: "markup-comments",
|
|
6040
|
-
children:
|
|
6041
|
-
let i = !t.fromDashboard && n != null && t.authorClientId === n, a = r === 0, o = i && !
|
|
6070
|
+
children: k.map((t, r) => {
|
|
6071
|
+
let i = !t.fromDashboard && n != null && t.authorClientId === n, a = r === 0, o = i && !te && !t.deleted, c = i && !te && !t.deleted && !a, l = w.kind === "editing" && w.commentId === t._id, d = (o || c) && !l && !t.deleted, f = w.kind === "comment-menu" && w.commentId === t._id, p = f && w.confirmDelete, m = w.kind === "reaction-picker" && w.commentId === t._id, v = m ? w.direction : "down", y = f ? w.direction : "down";
|
|
6042
6072
|
return /* @__PURE__ */ Q("li", {
|
|
6043
|
-
class:
|
|
6073
|
+
class: "markup-comment",
|
|
6044
6074
|
children: [
|
|
6045
|
-
/* @__PURE__ */ Q(
|
|
6046
|
-
|
|
6047
|
-
|
|
6048
|
-
|
|
6049
|
-
children: Ys(t.authorName)
|
|
6075
|
+
/* @__PURE__ */ Q(Js, {
|
|
6076
|
+
name: t.authorName,
|
|
6077
|
+
image: t.authorImage,
|
|
6078
|
+
tone: Xs(t.authorClientId ?? t.authorName)
|
|
6050
6079
|
}),
|
|
6051
6080
|
/* @__PURE__ */ Q("div", {
|
|
6052
6081
|
class: "markup-comment-meta",
|
|
@@ -6055,9 +6084,12 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6055
6084
|
class: "markup-comment-author",
|
|
6056
6085
|
children: t.authorName
|
|
6057
6086
|
}),
|
|
6058
|
-
t.
|
|
6059
|
-
class: "markup-comment-badge",
|
|
6060
|
-
|
|
6087
|
+
t.authoredVia === "mcp" ? /* @__PURE__ */ Q("span", {
|
|
6088
|
+
class: "markup-comment-badge is-agent",
|
|
6089
|
+
role: "img",
|
|
6090
|
+
"aria-label": "Written by an AI agent",
|
|
6091
|
+
title: "Written by an AI agent",
|
|
6092
|
+
children: /* @__PURE__ */ Q(Ko, { size: 11 })
|
|
6061
6093
|
}) : null,
|
|
6062
6094
|
/* @__PURE__ */ Q("time", {
|
|
6063
6095
|
class: "markup-comment-time",
|
|
@@ -6073,11 +6105,11 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6073
6105
|
}),
|
|
6074
6106
|
/* @__PURE__ */ Q("div", {
|
|
6075
6107
|
class: "markup-thread-actions",
|
|
6076
|
-
children: [!
|
|
6108
|
+
children: [!te && !l ? /* @__PURE__ */ Q(Ws, {
|
|
6077
6109
|
comment: t,
|
|
6078
6110
|
pickerOpen: m,
|
|
6079
6111
|
pickerDirection: v,
|
|
6080
|
-
pickerSide:
|
|
6112
|
+
pickerSide: k.length === 1,
|
|
6081
6113
|
pickerRef: (e) => {
|
|
6082
6114
|
m && (C.current = e);
|
|
6083
6115
|
},
|
|
@@ -6090,7 +6122,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6090
6122
|
});
|
|
6091
6123
|
return;
|
|
6092
6124
|
}
|
|
6093
|
-
if (
|
|
6125
|
+
if (k.length === 1) {
|
|
6094
6126
|
T({
|
|
6095
6127
|
type: "toggle-reaction-picker",
|
|
6096
6128
|
commentId: t._id,
|
|
@@ -6109,7 +6141,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6109
6141
|
T({ type: "dismiss" }), _(t._id, e);
|
|
6110
6142
|
}
|
|
6111
6143
|
}) : null, d ? /* @__PURE__ */ Q("div", {
|
|
6112
|
-
class: Z("markup-thread-menu markup-comment-menu", f && "is-open", f && y === "up" && "is-up",
|
|
6144
|
+
class: Z("markup-thread-menu markup-comment-menu", f && "is-open", f && y === "up" && "is-up", k.length === 1 && "is-side"),
|
|
6113
6145
|
ref: (e) => {
|
|
6114
6146
|
f && (C.current = e);
|
|
6115
6147
|
},
|
|
@@ -6126,7 +6158,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6126
6158
|
});
|
|
6127
6159
|
return;
|
|
6128
6160
|
}
|
|
6129
|
-
if (
|
|
6161
|
+
if (k.length === 1) {
|
|
6130
6162
|
T({
|
|
6131
6163
|
type: "toggle-comment-menu",
|
|
6132
6164
|
commentId: t._id,
|
|
@@ -6141,7 +6173,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6141
6173
|
direction: a < i ? "up" : "down"
|
|
6142
6174
|
});
|
|
6143
6175
|
},
|
|
6144
|
-
children: /* @__PURE__ */ Q(
|
|
6176
|
+
children: /* @__PURE__ */ Q(Oo, { size: 16 })
|
|
6145
6177
|
}), f ? /* @__PURE__ */ Q("div", {
|
|
6146
6178
|
class: "markup-thread-menu-list",
|
|
6147
6179
|
children: [o ? /* @__PURE__ */ Q("button", {
|
|
@@ -6181,7 +6213,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6181
6213
|
await h(t._id, n), T({ type: "dismiss" });
|
|
6182
6214
|
} catch {}
|
|
6183
6215
|
},
|
|
6184
|
-
children: [/* @__PURE__ */ Q(
|
|
6216
|
+
children: [/* @__PURE__ */ Q(Os, {
|
|
6185
6217
|
class: "markup-comment-edit-input",
|
|
6186
6218
|
label: "Edit comment",
|
|
6187
6219
|
value: w.draft,
|
|
@@ -6207,7 +6239,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6207
6239
|
children: "Save"
|
|
6208
6240
|
})]
|
|
6209
6241
|
})]
|
|
6210
|
-
}) : /* @__PURE__ */ Q(
|
|
6242
|
+
}) : /* @__PURE__ */ Q(Ts, {
|
|
6211
6243
|
body: t.body,
|
|
6212
6244
|
mentions: t.mentions
|
|
6213
6245
|
}),
|
|
@@ -6220,9 +6252,9 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6220
6252
|
alt: "Screenshot"
|
|
6221
6253
|
})
|
|
6222
6254
|
}) : null,
|
|
6223
|
-
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(
|
|
6255
|
+
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Gs, {
|
|
6224
6256
|
comment: t,
|
|
6225
|
-
isResolved:
|
|
6257
|
+
isResolved: te,
|
|
6226
6258
|
onToggle: (e) => _(t._id, e)
|
|
6227
6259
|
}) : null
|
|
6228
6260
|
]
|
|
@@ -6240,7 +6272,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6240
6272
|
onClick: (e) => {
|
|
6241
6273
|
e.stopPropagation(), S.current?.close();
|
|
6242
6274
|
},
|
|
6243
|
-
children: /* @__PURE__ */ Q(
|
|
6275
|
+
children: /* @__PURE__ */ Q(Eo, { size: 16 })
|
|
6244
6276
|
}), /* @__PURE__ */ Q("img", {
|
|
6245
6277
|
class: "markup-lightbox-img",
|
|
6246
6278
|
src: e.screenshotUrl,
|
|
@@ -6248,7 +6280,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6248
6280
|
onClick: (e) => e.stopPropagation()
|
|
6249
6281
|
})]
|
|
6250
6282
|
}) : null,
|
|
6251
|
-
t == null ? /* @__PURE__ */ Q(
|
|
6283
|
+
t == null ? /* @__PURE__ */ Q(is, {
|
|
6252
6284
|
isPending: s,
|
|
6253
6285
|
isConnecting: i,
|
|
6254
6286
|
isSigningIn: a,
|
|
@@ -6270,7 +6302,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6270
6302
|
children: "team"
|
|
6271
6303
|
}) : null
|
|
6272
6304
|
]
|
|
6273
|
-
}), /* @__PURE__ */ Q(
|
|
6305
|
+
}), /* @__PURE__ */ Q(As, {
|
|
6274
6306
|
label: "Reply",
|
|
6275
6307
|
placeholder: "Write a reply…",
|
|
6276
6308
|
submitLabel: "Reply",
|
|
@@ -6284,7 +6316,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6284
6316
|
]
|
|
6285
6317
|
});
|
|
6286
6318
|
}
|
|
6287
|
-
function
|
|
6319
|
+
function Ws({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
|
|
6288
6320
|
return /* @__PURE__ */ Q("div", {
|
|
6289
6321
|
class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
|
|
6290
6322
|
ref: i,
|
|
@@ -6294,11 +6326,11 @@ function Us({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6294
6326
|
title: "Add reaction",
|
|
6295
6327
|
"aria-label": "Add reaction",
|
|
6296
6328
|
onClick: a,
|
|
6297
|
-
children: /* @__PURE__ */ Q(
|
|
6329
|
+
children: /* @__PURE__ */ Q(Mo, { size: 16 })
|
|
6298
6330
|
}), t ? /* @__PURE__ */ Q("div", {
|
|
6299
6331
|
class: "markup-reaction-picker",
|
|
6300
6332
|
role: "menu",
|
|
6301
|
-
children:
|
|
6333
|
+
children: Vs.map((t) => /* @__PURE__ */ Q("button", {
|
|
6302
6334
|
type: "button",
|
|
6303
6335
|
role: "menuitem",
|
|
6304
6336
|
class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
|
|
@@ -6308,11 +6340,11 @@ function Us({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6308
6340
|
}) : null]
|
|
6309
6341
|
});
|
|
6310
6342
|
}
|
|
6311
|
-
function
|
|
6343
|
+
function Gs({ comment: e, isResolved: t, onToggle: n }) {
|
|
6312
6344
|
return /* @__PURE__ */ Q("div", {
|
|
6313
6345
|
class: "markup-reactions",
|
|
6314
6346
|
children: e.reactions.map((e) => {
|
|
6315
|
-
let r =
|
|
6347
|
+
let r = Ks(e.reactors, e.mine, e.count, e.emoji);
|
|
6316
6348
|
return /* @__PURE__ */ Q("button", {
|
|
6317
6349
|
type: "button",
|
|
6318
6350
|
class: Z("markup-reaction-chip", e.mine && "is-mine"),
|
|
@@ -6333,27 +6365,32 @@ function Ws({ comment: e, isResolved: t, onToggle: n }) {
|
|
|
6333
6365
|
})
|
|
6334
6366
|
});
|
|
6335
6367
|
}
|
|
6336
|
-
function
|
|
6368
|
+
function Ks(e, t, n, r) {
|
|
6337
6369
|
let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
|
|
6338
6370
|
return o > 0 && i.push(`${o} other${o === 1 ? "" : "s"}`), t && i.push("you"), i.length === 0 ? `${n} reacted with ${r}` : `${i.length === 1 ? i[0] : `${i.slice(0, -1).join(", ")} and ${i[i.length - 1]}`} reacted with ${r}`;
|
|
6339
6371
|
}
|
|
6340
|
-
function
|
|
6372
|
+
function qs(e, t, n) {
|
|
6341
6373
|
return Math.max(t, Math.min(n, e));
|
|
6342
6374
|
}
|
|
6343
|
-
function
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6375
|
+
function Js({ name: e, image: t, tone: n }) {
|
|
6376
|
+
let [r, i] = L(null);
|
|
6377
|
+
return /* @__PURE__ */ Q("span", {
|
|
6378
|
+
class: "markup-comment-avatar",
|
|
6379
|
+
"data-tone": n,
|
|
6380
|
+
"aria-hidden": !0,
|
|
6381
|
+
children: t != null && r !== t ? /* @__PURE__ */ Q("img", {
|
|
6382
|
+
class: "markup-avatar-img",
|
|
6383
|
+
src: t,
|
|
6384
|
+
alt: "",
|
|
6385
|
+
loading: "lazy",
|
|
6386
|
+
decoding: "async",
|
|
6387
|
+
referrerpolicy: "no-referrer",
|
|
6388
|
+
onError: () => i(t)
|
|
6389
|
+
}) : /* @__PURE__ */ Q("span", {
|
|
6390
|
+
class: "markup-avatar-initials",
|
|
6391
|
+
children: Ys(e)
|
|
6392
|
+
})
|
|
6393
|
+
});
|
|
6357
6394
|
}
|
|
6358
6395
|
function Ys(e) {
|
|
6359
6396
|
let t = e.trim();
|
|
@@ -6418,7 +6455,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6418
6455
|
title: e ? "Cancel placing markup" : "Leave a markup",
|
|
6419
6456
|
"aria-pressed": e,
|
|
6420
6457
|
onClick: p,
|
|
6421
|
-
children: Q(e ?
|
|
6458
|
+
children: Q(e ? Eo : No, { size: 16 })
|
|
6422
6459
|
}),
|
|
6423
6460
|
a ? /* @__PURE__ */ Q("button", {
|
|
6424
6461
|
type: "button",
|
|
@@ -6430,7 +6467,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6430
6467
|
onClick: (e) => {
|
|
6431
6468
|
e.preventDefault(), e.stopPropagation(), o?.();
|
|
6432
6469
|
},
|
|
6433
|
-
children: [/* @__PURE__ */ Q(
|
|
6470
|
+
children: [/* @__PURE__ */ Q(Po, { size: 16 }), i > 0 ? /* @__PURE__ */ Q("span", {
|
|
6434
6471
|
class: "markup-tb-badge",
|
|
6435
6472
|
"aria-hidden": "true",
|
|
6436
6473
|
children: i > 9 ? "9+" : i
|
|
@@ -6449,7 +6486,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6449
6486
|
onClick: (e) => {
|
|
6450
6487
|
e.preventDefault(), e.stopPropagation(), l();
|
|
6451
6488
|
},
|
|
6452
|
-
children: Q(c ?
|
|
6489
|
+
children: Q(c ? Fo : Io, { size: 16 })
|
|
6453
6490
|
})] }) : null,
|
|
6454
6491
|
u || d ? /* @__PURE__ */ Q("div", {
|
|
6455
6492
|
class: "markup-tb-sep",
|
|
@@ -6463,7 +6500,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6463
6500
|
"data-kind": "overflow",
|
|
6464
6501
|
"aria-label": "More options",
|
|
6465
6502
|
disabled: !0,
|
|
6466
|
-
children: /* @__PURE__ */ Q(
|
|
6503
|
+
children: /* @__PURE__ */ Q(Lo, { size: 16 })
|
|
6467
6504
|
})
|
|
6468
6505
|
]
|
|
6469
6506
|
});
|
|
@@ -6474,7 +6511,8 @@ function ec(e) {
|
|
|
6474
6511
|
let t = {
|
|
6475
6512
|
clientId: `markup_user_${e.identity.id}`,
|
|
6476
6513
|
name: e.identity.name,
|
|
6477
|
-
email: e.identity.email
|
|
6514
|
+
email: e.identity.email,
|
|
6515
|
+
image: e.identity.image == null ? void 0 : wi(e.identity.image, location.href)?.href ?? void 0
|
|
6478
6516
|
};
|
|
6479
6517
|
if (e.mode === "cookies") return e.tokenExpiresAt == null || e.refreshTokenExpiresAt == null ? null : {
|
|
6480
6518
|
storage: "cookies",
|
|
@@ -6517,7 +6555,7 @@ var rc = Ar({
|
|
|
6517
6555
|
hidden: { toggle: () => ({ kind: "visible" }) }
|
|
6518
6556
|
});
|
|
6519
6557
|
function ic(e) {
|
|
6520
|
-
return
|
|
6558
|
+
return Ai(e), e;
|
|
6521
6559
|
}
|
|
6522
6560
|
var ac = Ar({
|
|
6523
6561
|
unresolved: {
|
|
@@ -6571,8 +6609,8 @@ var ac = Ar({
|
|
|
6571
6609
|
}
|
|
6572
6610
|
});
|
|
6573
6611
|
function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
|
|
6574
|
-
let [a, o] =
|
|
6575
|
-
|
|
6612
|
+
let [a, o] = L(nc), [s, c] = L([]), [l, u] = L(!1), d = B(() => ki(), []), [f, p] = jr(ac, d.state), [m, h] = L(null);
|
|
6613
|
+
R(() => {
|
|
6576
6614
|
let n = !1;
|
|
6577
6615
|
return hi(e, t).then((e) => {
|
|
6578
6616
|
n || h(e);
|
|
@@ -6580,12 +6618,12 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6580
6618
|
n = !0;
|
|
6581
6619
|
};
|
|
6582
6620
|
}, [e, t]);
|
|
6583
|
-
let [g, _] =
|
|
6584
|
-
w.current = f,
|
|
6621
|
+
let [g, _] = L(n), [v, y] = L(!0), [b, x] = L(!0), [S, C] = L(!1), w = z(f);
|
|
6622
|
+
w.current = f, So(f, e, t, (e) => p({
|
|
6585
6623
|
type: "signed-in",
|
|
6586
6624
|
identity: e
|
|
6587
6625
|
}), () => p({ type: "unauthorized" }));
|
|
6588
|
-
let T =
|
|
6626
|
+
let T = B(() => fi({
|
|
6589
6627
|
apiUrl: e,
|
|
6590
6628
|
apiKey: t,
|
|
6591
6629
|
getToken: () => {
|
|
@@ -6610,8 +6648,8 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6610
6648
|
e,
|
|
6611
6649
|
t,
|
|
6612
6650
|
p
|
|
6613
|
-
]), [E, D] =
|
|
6614
|
-
|
|
6651
|
+
]), [E, D] = L({ kind: "idle" }), [O, ee] = L([]);
|
|
6652
|
+
R(() => {
|
|
6615
6653
|
let e = !1;
|
|
6616
6654
|
return T.listMembers().then((t) => {
|
|
6617
6655
|
e || ee(t.members);
|
|
@@ -6619,16 +6657,16 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6619
6657
|
e = !0;
|
|
6620
6658
|
};
|
|
6621
6659
|
}, [T]);
|
|
6622
|
-
let [
|
|
6623
|
-
|
|
6624
|
-
|
|
6660
|
+
let [te, k] = L(0), [ne, A] = L([]), [re, ie] = L(!1), [ae, oe] = L(void 0), [se, ce] = L(!1), le = V(() => {
|
|
6661
|
+
ie(!0), oe(void 0), T.listNotifications().then((e) => {
|
|
6662
|
+
A(e.notifications);
|
|
6625
6663
|
}).catch((e) => {
|
|
6626
|
-
|
|
6664
|
+
oe(e instanceof Error ? e.message : "Failed to load.");
|
|
6627
6665
|
}).finally(() => {
|
|
6628
|
-
|
|
6666
|
+
ie(!1);
|
|
6629
6667
|
});
|
|
6630
|
-
}, [T]),
|
|
6631
|
-
|
|
6668
|
+
}, [T]), ue = Rr(), de = Rr(), fe = Rr(), pe = Rr(), me = Rr(), { run: j, reset: he } = ue, { run: ge } = de, { run: _e, reset: ve } = fe, { run: ye } = pe, { run: be } = me, xe = me.isPending, Se = ue.isPending, M = ue.error ?? de.error ?? fe.error, [Ce, N] = jr(rc, { kind: "visible" }), P = Ce.kind !== "visible", [we, Te] = L(0), Ee = z(null), De = Mi(f), Oe = f.kind === "verified", ke = f.kind === "unresolved" || f.kind === "recovering", Ae = ji(f);
|
|
6669
|
+
R(() => {
|
|
6632
6670
|
if (f.kind !== "unresolved" && f.kind !== "recovering") return;
|
|
6633
6671
|
let e = f.kind === "recovering" ? f.preserved : d.preserved, t = !1, n = null, r = 1e3;
|
|
6634
6672
|
function i() {
|
|
@@ -6655,43 +6693,43 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6655
6693
|
p,
|
|
6656
6694
|
d
|
|
6657
6695
|
]);
|
|
6658
|
-
let
|
|
6659
|
-
|
|
6696
|
+
let je = vo(T), [Me, Ne] = L(null);
|
|
6697
|
+
R(() => {
|
|
6660
6698
|
let t = new kr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
|
|
6661
|
-
return
|
|
6662
|
-
t.close(),
|
|
6699
|
+
return Ne(t), () => {
|
|
6700
|
+
t.close(), Ne((e) => e === t ? null : e);
|
|
6663
6701
|
};
|
|
6664
6702
|
}, [e]);
|
|
6665
|
-
let
|
|
6666
|
-
|
|
6667
|
-
if (!(!
|
|
6668
|
-
subscriptionToken:
|
|
6703
|
+
let Pe = z(!1);
|
|
6704
|
+
R(() => {
|
|
6705
|
+
if (!(!Me || !je)) return he(), ve(), Me.onUpdate(bn("widget/queries:subscribeThreadsForRoute"), {
|
|
6706
|
+
subscriptionToken: je,
|
|
6669
6707
|
route: a,
|
|
6670
|
-
viewerClientId:
|
|
6708
|
+
viewerClientId: Ae
|
|
6671
6709
|
}, (e) => {
|
|
6672
6710
|
e !== void 0 && (c(e), u(!0));
|
|
6673
6711
|
});
|
|
6674
6712
|
}, [
|
|
6713
|
+
Me,
|
|
6675
6714
|
je,
|
|
6676
|
-
Ae,
|
|
6677
6715
|
a,
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
]),
|
|
6716
|
+
Ae,
|
|
6717
|
+
he,
|
|
6718
|
+
ve
|
|
6719
|
+
]), R(() => {
|
|
6682
6720
|
if (f.kind !== "verified") {
|
|
6683
|
-
|
|
6721
|
+
k(0);
|
|
6684
6722
|
return;
|
|
6685
6723
|
}
|
|
6686
|
-
if (!(!
|
|
6687
|
-
e !== void 0 &&
|
|
6724
|
+
if (!(!Me || !je)) return Me.onUpdate(bn("widget/queries:subscribeUnreadCountForProject"), { subscriptionToken: je }, (e) => {
|
|
6725
|
+
e !== void 0 && k(e.count);
|
|
6688
6726
|
});
|
|
6689
6727
|
}, [
|
|
6728
|
+
Me,
|
|
6690
6729
|
je,
|
|
6691
|
-
Ae,
|
|
6692
6730
|
f.kind
|
|
6693
|
-
]),
|
|
6694
|
-
if (
|
|
6731
|
+
]), R(() => {
|
|
6732
|
+
if (Pe.current || !l) return;
|
|
6695
6733
|
let e = window.location.hash.match(/^#markup-thread=(.+)$/);
|
|
6696
6734
|
if (e) {
|
|
6697
6735
|
let t = decodeURIComponent(e[1] ?? "");
|
|
@@ -6700,21 +6738,21 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6700
6738
|
threadId: t
|
|
6701
6739
|
}), history.replaceState(null, "", window.location.pathname + window.location.search);
|
|
6702
6740
|
}
|
|
6703
|
-
|
|
6704
|
-
}, [s, l]),
|
|
6741
|
+
Pe.current = !0;
|
|
6742
|
+
}, [s, l]), R(() => Si(() => o(nc())), []), R(() => {
|
|
6705
6743
|
function e(e) {
|
|
6706
|
-
e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(),
|
|
6744
|
+
e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), N({ type: "toggle" })));
|
|
6707
6745
|
}
|
|
6708
6746
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
6709
|
-
}, [
|
|
6710
|
-
if (
|
|
6711
|
-
let e = window.setTimeout(() =>
|
|
6747
|
+
}, [N]), R(() => {
|
|
6748
|
+
if (Ce.kind !== "hidden-with-toast") return;
|
|
6749
|
+
let e = window.setTimeout(() => N({ type: "dismiss-toast" }), 5e3);
|
|
6712
6750
|
return () => window.clearTimeout(e);
|
|
6713
|
-
}, [
|
|
6751
|
+
}, [Ce.kind, N]), R(() => {
|
|
6714
6752
|
let e = null;
|
|
6715
6753
|
function t() {
|
|
6716
6754
|
e ??= requestAnimationFrame(() => {
|
|
6717
|
-
e = null,
|
|
6755
|
+
e = null, Te((e) => e + 1);
|
|
6718
6756
|
});
|
|
6719
6757
|
}
|
|
6720
6758
|
window.addEventListener("scroll", t, { passive: !0 }), window.addEventListener("resize", t);
|
|
@@ -6723,23 +6761,23 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6723
6761
|
window.removeEventListener("scroll", t), window.removeEventListener("resize", t), n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
6724
6762
|
};
|
|
6725
6763
|
}, []);
|
|
6726
|
-
let
|
|
6727
|
-
|
|
6728
|
-
}, [
|
|
6729
|
-
|
|
6764
|
+
let F = V(() => {
|
|
6765
|
+
he(), ve(), D({ kind: "placing" });
|
|
6766
|
+
}, [he, ve]);
|
|
6767
|
+
R(() => {
|
|
6730
6768
|
function e(e) {
|
|
6731
|
-
e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || E.kind === "idle" && (
|
|
6769
|
+
e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || E.kind === "idle" && (P || tc() || (e.preventDefault(), F())));
|
|
6732
6770
|
}
|
|
6733
6771
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
6734
6772
|
}, [
|
|
6735
6773
|
E.kind,
|
|
6736
|
-
|
|
6737
|
-
|
|
6774
|
+
P,
|
|
6775
|
+
F
|
|
6738
6776
|
]);
|
|
6739
|
-
let
|
|
6740
|
-
D({ kind: "idle" }),
|
|
6741
|
-
}, [
|
|
6742
|
-
let i = t + window.scrollX, a = n + window.scrollY, o = ++
|
|
6777
|
+
let Fe = V(() => {
|
|
6778
|
+
D({ kind: "idle" }), he(), ve();
|
|
6779
|
+
}, [he, ve]), Ie = z(0), Le = V((e, t, n) => {
|
|
6780
|
+
let i = t + window.scrollX, a = n + window.scrollY, o = ++Ie.current;
|
|
6743
6781
|
if (r?.enabled === !1 || !b) {
|
|
6744
6782
|
D({
|
|
6745
6783
|
kind: "composing-new",
|
|
@@ -6765,11 +6803,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6765
6803
|
screenshotRedactedSelectors: [],
|
|
6766
6804
|
captureToken: o
|
|
6767
6805
|
});
|
|
6768
|
-
let s =
|
|
6806
|
+
let s = Ee.current != null && Ee.current.getRootNode() instanceof ShadowRoot ? Ee.current.getRootNode().host : null, c = {
|
|
6769
6807
|
strictScrub: r?.strictScrub,
|
|
6770
6808
|
redactSelector: r?.redactSelector
|
|
6771
6809
|
};
|
|
6772
|
-
|
|
6810
|
+
uo(s, {
|
|
6773
6811
|
x: t,
|
|
6774
6812
|
y: n
|
|
6775
6813
|
}, c).then((e) => {
|
|
@@ -6781,15 +6819,15 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6781
6819
|
screenshotRedactedSelectors: e?.redactedSelectors ?? []
|
|
6782
6820
|
});
|
|
6783
6821
|
});
|
|
6784
|
-
}, [r, b]),
|
|
6822
|
+
}, [r, b]), Re = V((e, t) => {
|
|
6785
6823
|
p({
|
|
6786
6824
|
type: "author-set",
|
|
6787
6825
|
name: e,
|
|
6788
6826
|
email: t
|
|
6789
6827
|
});
|
|
6790
|
-
}, [p]),
|
|
6791
|
-
await
|
|
6792
|
-
let n = ec(await
|
|
6828
|
+
}, [p]), I = de.isPending, ze = V(async () => {
|
|
6829
|
+
await ge(async () => {
|
|
6830
|
+
let n = ec(await Ri({
|
|
6793
6831
|
apiUrl: e,
|
|
6794
6832
|
apiKey: t,
|
|
6795
6833
|
useCookies: m === !0
|
|
@@ -6804,12 +6842,12 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6804
6842
|
e,
|
|
6805
6843
|
t,
|
|
6806
6844
|
m,
|
|
6807
|
-
|
|
6845
|
+
ge,
|
|
6808
6846
|
p
|
|
6809
|
-
]),
|
|
6847
|
+
]), Be = V(async (e, t) => {
|
|
6810
6848
|
if (E.kind !== "composing-new") return;
|
|
6811
|
-
let n =
|
|
6812
|
-
n && await
|
|
6849
|
+
let n = Ni(f);
|
|
6850
|
+
n && await j(async () => {
|
|
6813
6851
|
let r;
|
|
6814
6852
|
if (t && E.screenshot) {
|
|
6815
6853
|
let { uploadUrl: e } = await T.getScreenshotUploadUrl(), t;
|
|
@@ -6854,30 +6892,30 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6854
6892
|
f,
|
|
6855
6893
|
E,
|
|
6856
6894
|
a,
|
|
6857
|
-
|
|
6858
|
-
]),
|
|
6895
|
+
j
|
|
6896
|
+
]), Ve = V(async () => {
|
|
6859
6897
|
if (E.kind !== "thread") return;
|
|
6860
6898
|
let e = E.threadId;
|
|
6861
|
-
await
|
|
6899
|
+
await j(async () => {
|
|
6862
6900
|
await T.deleteThread(e), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
|
|
6863
6901
|
});
|
|
6864
6902
|
}, [
|
|
6865
6903
|
T,
|
|
6866
6904
|
E,
|
|
6867
|
-
|
|
6868
|
-
]),
|
|
6905
|
+
j
|
|
6906
|
+
]), He = V(async () => {
|
|
6869
6907
|
if (E.kind !== "thread") return;
|
|
6870
6908
|
let e = E.threadId;
|
|
6871
|
-
await
|
|
6872
|
-
await T.resolveThread(e,
|
|
6909
|
+
await j(async () => {
|
|
6910
|
+
await T.resolveThread(e, Ae), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
|
|
6873
6911
|
});
|
|
6874
6912
|
}, [
|
|
6875
6913
|
T,
|
|
6876
6914
|
E,
|
|
6877
|
-
|
|
6878
|
-
|
|
6879
|
-
]),
|
|
6880
|
-
if (e.readAt ?? (
|
|
6915
|
+
Ae,
|
|
6916
|
+
j
|
|
6917
|
+
]), Ue = V((e) => {
|
|
6918
|
+
if (e.readAt ?? (k((e) => Math.max(0, e - 1)), A((t) => t.map((t) => t._id === e._id ? {
|
|
6881
6919
|
...t,
|
|
6882
6920
|
readAt: Date.now()
|
|
6883
6921
|
} : t)), T.markNotificationRead(e._id).catch(() => {})), s.some((t) => t._id === e.threadId)) D({
|
|
@@ -6885,20 +6923,20 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6885
6923
|
threadId: e.threadId
|
|
6886
6924
|
});
|
|
6887
6925
|
else {
|
|
6888
|
-
let t =
|
|
6926
|
+
let t = wi(e.threadUrl, window.location.href);
|
|
6889
6927
|
t && (t.hash = `markup-thread=${e.threadId}`, window.location.href = t.toString());
|
|
6890
6928
|
}
|
|
6891
|
-
}, [T, s]),
|
|
6892
|
-
|
|
6929
|
+
}, [T, s]), We = V(() => {
|
|
6930
|
+
ce(!0), k(0), A((e) => e.map((e) => e.readAt == null ? {
|
|
6893
6931
|
...e,
|
|
6894
6932
|
readAt: Date.now()
|
|
6895
|
-
} : e)), T.markAllNotificationsRead().catch(() => {}).finally(() =>
|
|
6896
|
-
}, [T]),
|
|
6933
|
+
} : e)), T.markAllNotificationsRead().catch(() => {}).finally(() => ce(!1));
|
|
6934
|
+
}, [T]), Ge = V(async (e) => {
|
|
6897
6935
|
if (E.kind !== "thread") return;
|
|
6898
|
-
let t =
|
|
6936
|
+
let t = Ni(f);
|
|
6899
6937
|
if (!t) return;
|
|
6900
6938
|
let n = E.threadId;
|
|
6901
|
-
await
|
|
6939
|
+
await j(async () => {
|
|
6902
6940
|
let r = Pr(e), i = await T.addComment(n, {
|
|
6903
6941
|
body: e,
|
|
6904
6942
|
authorName: t.name,
|
|
@@ -6911,11 +6949,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6911
6949
|
T,
|
|
6912
6950
|
f,
|
|
6913
6951
|
E,
|
|
6914
|
-
|
|
6915
|
-
]),
|
|
6952
|
+
j
|
|
6953
|
+
]), Ke = V(async (e, t) => {
|
|
6916
6954
|
if (E.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
|
|
6917
6955
|
let n = E.threadId;
|
|
6918
|
-
await
|
|
6956
|
+
await j(async () => {
|
|
6919
6957
|
let r = Pr(t), i = await T.editComment(n, e, {
|
|
6920
6958
|
body: t,
|
|
6921
6959
|
mentions: r.length > 0 ? r : void 0
|
|
@@ -6926,11 +6964,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6926
6964
|
T,
|
|
6927
6965
|
f,
|
|
6928
6966
|
E,
|
|
6929
|
-
|
|
6930
|
-
]),
|
|
6967
|
+
j
|
|
6968
|
+
]), qe = V(async (e) => {
|
|
6931
6969
|
if (E.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
|
|
6932
6970
|
let t = E.threadId;
|
|
6933
|
-
await
|
|
6971
|
+
await j(async () => {
|
|
6934
6972
|
let n = await T.deleteComment(t, e);
|
|
6935
6973
|
c((e) => e.map((e) => e._id === t ? n.thread : e));
|
|
6936
6974
|
});
|
|
@@ -6938,13 +6976,13 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6938
6976
|
T,
|
|
6939
6977
|
f,
|
|
6940
6978
|
E,
|
|
6941
|
-
|
|
6942
|
-
]),
|
|
6979
|
+
j
|
|
6980
|
+
]), Je = V(async (e, t) => {
|
|
6943
6981
|
if (E.kind !== "thread") return;
|
|
6944
|
-
let n =
|
|
6982
|
+
let n = Ni(f);
|
|
6945
6983
|
if (!n) return;
|
|
6946
6984
|
let r = E.threadId;
|
|
6947
|
-
await
|
|
6985
|
+
await _e(async () => {
|
|
6948
6986
|
let i = await T.toggleReaction(e, {
|
|
6949
6987
|
emoji: t,
|
|
6950
6988
|
authorName: n.name
|
|
@@ -6955,36 +6993,36 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6955
6993
|
T,
|
|
6956
6994
|
f,
|
|
6957
6995
|
E,
|
|
6958
|
-
|
|
6959
|
-
]), [
|
|
6960
|
-
await
|
|
6961
|
-
await T.forgetMe(), D({ kind: "idle" }), p({ type: "forget-me" }),
|
|
6996
|
+
_e
|
|
6997
|
+
]), [Ye, Xe] = L(!1), Ze = V(async () => {
|
|
6998
|
+
await ye(async () => {
|
|
6999
|
+
await T.forgetMe(), D({ kind: "idle" }), p({ type: "forget-me" }), Xe(!0);
|
|
6962
7000
|
});
|
|
6963
7001
|
}, [
|
|
6964
7002
|
T,
|
|
6965
|
-
|
|
7003
|
+
ye,
|
|
6966
7004
|
p
|
|
6967
7005
|
]);
|
|
6968
|
-
|
|
6969
|
-
if (!
|
|
6970
|
-
let e = window.setTimeout(() =>
|
|
7006
|
+
R(() => {
|
|
7007
|
+
if (!Ye) return;
|
|
7008
|
+
let e = window.setTimeout(() => Xe(!1), 5e3);
|
|
6971
7009
|
return () => window.clearTimeout(e);
|
|
6972
|
-
}, [
|
|
6973
|
-
let [
|
|
6974
|
-
await
|
|
6975
|
-
await T.signOut(), D({ kind: "idle" }), p({ type: "signed-out" }),
|
|
7010
|
+
}, [Ye]);
|
|
7011
|
+
let [Qe, $e] = L(!1), et = V(async () => {
|
|
7012
|
+
await be(async () => {
|
|
7013
|
+
await T.signOut(), D({ kind: "idle" }), p({ type: "signed-out" }), $e(!0);
|
|
6976
7014
|
});
|
|
6977
7015
|
}, [
|
|
6978
7016
|
T,
|
|
6979
|
-
|
|
7017
|
+
be,
|
|
6980
7018
|
p
|
|
6981
7019
|
]);
|
|
6982
|
-
|
|
6983
|
-
if (!
|
|
6984
|
-
let e = window.setTimeout(() =>
|
|
7020
|
+
R(() => {
|
|
7021
|
+
if (!Qe) return;
|
|
7022
|
+
let e = window.setTimeout(() => $e(!1), 5e3);
|
|
6985
7023
|
return () => window.clearTimeout(e);
|
|
6986
|
-
}, [
|
|
6987
|
-
let
|
|
7024
|
+
}, [Qe]);
|
|
7025
|
+
let tt = E.kind === "thread" ? s.find((e) => e._id === E.threadId) ?? null : null, H = Oe || Ae != null && Ae === tt?.authorClientId, U = B(() => s.map((e) => ({
|
|
6988
7026
|
thread: e,
|
|
6989
7027
|
point: oi({
|
|
6990
7028
|
anchorX: e.anchorX,
|
|
@@ -6993,13 +7031,13 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6993
7031
|
anchorOffsetX: e.anchorOffsetX,
|
|
6994
7032
|
anchorOffsetY: e.anchorOffsetY
|
|
6995
7033
|
})
|
|
6996
|
-
})), [s,
|
|
6997
|
-
return
|
|
6998
|
-
if (!
|
|
7034
|
+
})), [s, we]), nt = U.some((e) => !e.point.resolved);
|
|
7035
|
+
return R(() => {
|
|
7036
|
+
if (!nt) return;
|
|
6999
7037
|
let e = null;
|
|
7000
7038
|
function t() {
|
|
7001
7039
|
e ??= requestAnimationFrame(() => {
|
|
7002
|
-
e = null,
|
|
7040
|
+
e = null, Te((e) => e + 1);
|
|
7003
7041
|
});
|
|
7004
7042
|
}
|
|
7005
7043
|
let n = new MutationObserver(t);
|
|
@@ -7009,21 +7047,21 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7009
7047
|
}), () => {
|
|
7010
7048
|
n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
7011
7049
|
};
|
|
7012
|
-
}, [
|
|
7013
|
-
E.kind === "thread" &&
|
|
7050
|
+
}, [nt]), R(() => {
|
|
7051
|
+
E.kind === "thread" && tt == null && Fe();
|
|
7014
7052
|
}, [
|
|
7015
7053
|
E,
|
|
7016
|
-
|
|
7017
|
-
|
|
7054
|
+
tt,
|
|
7055
|
+
Fe
|
|
7018
7056
|
]), /* @__PURE__ */ Q("div", {
|
|
7019
7057
|
class: "markup-root",
|
|
7020
|
-
ref:
|
|
7058
|
+
ref: Ee,
|
|
7021
7059
|
children: [
|
|
7022
7060
|
E.kind === "placing" ? null : /* @__PURE__ */ Q("div", {
|
|
7023
7061
|
class: "markup-pins-layer",
|
|
7024
|
-
children: [!
|
|
7062
|
+
children: [!P && v ? U.map(({ thread: e, point: t }) => {
|
|
7025
7063
|
let n = E.kind === "thread" && E.threadId === e._id, r = e.comments.reduce((e, t) => e + +!t.deleted, 0);
|
|
7026
|
-
return /* @__PURE__ */ Q(
|
|
7064
|
+
return /* @__PURE__ */ Q(Rs, {
|
|
7027
7065
|
pageX: t.pageX,
|
|
7028
7066
|
pageY: t.pageY,
|
|
7029
7067
|
count: r,
|
|
@@ -7034,111 +7072,111 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7034
7072
|
threadId: e._id
|
|
7035
7073
|
})
|
|
7036
7074
|
}, e._id);
|
|
7037
|
-
}) : null, E.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7075
|
+
}) : null, E.kind === "composing-new" ? /* @__PURE__ */ Q(zs, {
|
|
7038
7076
|
pageX: E.pageX,
|
|
7039
7077
|
pageY: E.pageY
|
|
7040
7078
|
}) : null]
|
|
7041
7079
|
}),
|
|
7042
|
-
E.kind === "placing" ? /* @__PURE__ */ Q(
|
|
7043
|
-
onPlace:
|
|
7044
|
-
onCancel:
|
|
7080
|
+
E.kind === "placing" ? /* @__PURE__ */ Q(Bs, {
|
|
7081
|
+
onPlace: Le,
|
|
7082
|
+
onCancel: Fe
|
|
7045
7083
|
}) : null,
|
|
7046
|
-
E.kind === "thread" &&
|
|
7047
|
-
thread:
|
|
7048
|
-
authorName:
|
|
7049
|
-
currentClientId:
|
|
7050
|
-
isVerified:
|
|
7051
|
-
isIdentityResolving:
|
|
7052
|
-
isSigningIn:
|
|
7053
|
-
canDelete:
|
|
7054
|
-
isPending:
|
|
7055
|
-
error:
|
|
7056
|
-
isHidden:
|
|
7084
|
+
E.kind === "thread" && tt ? /* @__PURE__ */ Q(Us, {
|
|
7085
|
+
thread: tt,
|
|
7086
|
+
authorName: De,
|
|
7087
|
+
currentClientId: Ae ?? null,
|
|
7088
|
+
isVerified: Oe,
|
|
7089
|
+
isIdentityResolving: ke,
|
|
7090
|
+
isSigningIn: I,
|
|
7091
|
+
canDelete: H,
|
|
7092
|
+
isPending: Se,
|
|
7093
|
+
error: M,
|
|
7094
|
+
isHidden: P,
|
|
7057
7095
|
members: O,
|
|
7058
|
-
onAuthor:
|
|
7059
|
-
onSignIn:
|
|
7060
|
-
onClose:
|
|
7061
|
-
onReply:
|
|
7062
|
-
onEditComment:
|
|
7063
|
-
onDeleteComment:
|
|
7064
|
-
onToggleReaction:
|
|
7065
|
-
onDelete:
|
|
7066
|
-
onResolve:
|
|
7067
|
-
},
|
|
7068
|
-
E.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7096
|
+
onAuthor: Re,
|
|
7097
|
+
onSignIn: ze,
|
|
7098
|
+
onClose: Fe,
|
|
7099
|
+
onReply: Ge,
|
|
7100
|
+
onEditComment: Ke,
|
|
7101
|
+
onDeleteComment: qe,
|
|
7102
|
+
onToggleReaction: Je,
|
|
7103
|
+
onDelete: Ve,
|
|
7104
|
+
onResolve: He
|
|
7105
|
+
}, tt._id) : null,
|
|
7106
|
+
E.kind === "composing-new" ? /* @__PURE__ */ Q(js, {
|
|
7069
7107
|
pageX: E.pageX,
|
|
7070
7108
|
pageY: E.pageY,
|
|
7071
|
-
authorName:
|
|
7072
|
-
isVerified:
|
|
7073
|
-
isIdentityResolving:
|
|
7074
|
-
isSigningIn:
|
|
7075
|
-
isPending:
|
|
7076
|
-
error:
|
|
7109
|
+
authorName: De,
|
|
7110
|
+
isVerified: Oe,
|
|
7111
|
+
isIdentityResolving: ke,
|
|
7112
|
+
isSigningIn: I,
|
|
7113
|
+
isPending: Se,
|
|
7114
|
+
error: M,
|
|
7077
7115
|
screenshot: E.screenshot,
|
|
7078
7116
|
isScreenshotCapturing: E.isScreenshotCapturing,
|
|
7079
7117
|
screenshotRedactedCount: E.screenshotRedactedCount,
|
|
7080
7118
|
screenshotRedactedSelectors: E.screenshotRedactedSelectors,
|
|
7081
7119
|
members: O,
|
|
7082
|
-
onAuthor:
|
|
7083
|
-
onSignIn:
|
|
7084
|
-
onSubmit:
|
|
7085
|
-
onClose:
|
|
7120
|
+
onAuthor: Re,
|
|
7121
|
+
onSignIn: ze,
|
|
7122
|
+
onSubmit: Be,
|
|
7123
|
+
onClose: Fe
|
|
7086
7124
|
}) : null,
|
|
7087
|
-
!
|
|
7125
|
+
!P || E.kind === "placing" || E.kind === "composing-new" ? /* @__PURE__ */ Q($s, {
|
|
7088
7126
|
isActive: E.kind === "placing",
|
|
7089
|
-
onToggle: () => E.kind === "placing" ?
|
|
7090
|
-
onHide: () =>
|
|
7127
|
+
onToggle: () => E.kind === "placing" ? Fe() : F(),
|
|
7128
|
+
onHide: () => N({ type: "hide-with-toast" }),
|
|
7091
7129
|
position: g,
|
|
7092
|
-
showInbox:
|
|
7093
|
-
unreadCount:
|
|
7130
|
+
showInbox: Oe,
|
|
7131
|
+
unreadCount: Oe ? te : 0,
|
|
7094
7132
|
inboxOpen: S,
|
|
7095
7133
|
onOpenInbox: () => {
|
|
7096
7134
|
let e = !S;
|
|
7097
|
-
C(e), e &&
|
|
7135
|
+
C(e), e && le();
|
|
7098
7136
|
},
|
|
7099
7137
|
pinsVisible: v,
|
|
7100
7138
|
onTogglePins: () => y((e) => !e),
|
|
7101
|
-
identityButton: /* @__PURE__ */ Q(
|
|
7139
|
+
identityButton: /* @__PURE__ */ Q(Jo, {
|
|
7102
7140
|
identity: f,
|
|
7103
7141
|
position: g,
|
|
7104
|
-
isSigningIn:
|
|
7105
|
-
isSigningOut:
|
|
7142
|
+
isSigningIn: I,
|
|
7143
|
+
isSigningOut: xe,
|
|
7106
7144
|
dashboardUrl: i,
|
|
7107
|
-
onSignIn:
|
|
7108
|
-
onSignOut:
|
|
7109
|
-
onForgetMe:
|
|
7145
|
+
onSignIn: ze,
|
|
7146
|
+
onSignOut: et,
|
|
7147
|
+
onForgetMe: Ze
|
|
7110
7148
|
}),
|
|
7111
|
-
overflowButton: /* @__PURE__ */ Q(
|
|
7149
|
+
overflowButton: /* @__PURE__ */ Q(Ps, {
|
|
7112
7150
|
position: g,
|
|
7113
7151
|
onSetPosition: _,
|
|
7114
7152
|
autoCapture: b && r?.enabled !== !1,
|
|
7115
7153
|
autoCaptureLocked: r?.enabled === !1,
|
|
7116
7154
|
onToggleAutoCapture: () => x((e) => !e),
|
|
7117
|
-
onHideForSession: () =>
|
|
7118
|
-
version: "1.
|
|
7155
|
+
onHideForSession: () => N({ type: "hide-with-toast" }),
|
|
7156
|
+
version: "1.16.0",
|
|
7119
7157
|
dashboardUrl: i
|
|
7120
7158
|
})
|
|
7121
7159
|
}) : null,
|
|
7122
|
-
S &&
|
|
7160
|
+
S && Oe ? /* @__PURE__ */ Q(Qo, {
|
|
7123
7161
|
position: g,
|
|
7124
|
-
items:
|
|
7125
|
-
isLoading:
|
|
7126
|
-
error:
|
|
7127
|
-
isMarkingAll:
|
|
7162
|
+
items: ne,
|
|
7163
|
+
isLoading: re,
|
|
7164
|
+
error: ae,
|
|
7165
|
+
isMarkingAll: se,
|
|
7128
7166
|
onClose: () => C(!1),
|
|
7129
7167
|
onItemClick: (e) => {
|
|
7130
|
-
C(!1),
|
|
7168
|
+
C(!1), Ue(e);
|
|
7131
7169
|
},
|
|
7132
|
-
onMarkAllRead:
|
|
7170
|
+
onMarkAllRead: We
|
|
7133
7171
|
}) : null,
|
|
7134
|
-
|
|
7135
|
-
|
|
7136
|
-
|
|
7172
|
+
Ce.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(sc, { position: g }) : null,
|
|
7173
|
+
Ye ? /* @__PURE__ */ Q(cc, { position: g }) : null,
|
|
7174
|
+
Qe ? /* @__PURE__ */ Q(lc, { position: g }) : null
|
|
7137
7175
|
]
|
|
7138
7176
|
});
|
|
7139
7177
|
}
|
|
7140
7178
|
function sc({ position: e }) {
|
|
7141
|
-
let t =
|
|
7179
|
+
let { mod: t } = Co();
|
|
7142
7180
|
return /* @__PURE__ */ Q("div", {
|
|
7143
7181
|
class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
|
|
7144
7182
|
role: "status",
|
|
@@ -7176,21 +7214,21 @@ function lc({ position: e }) {
|
|
|
7176
7214
|
//#endregion
|
|
7177
7215
|
//#region src/runtime/mount.tsx
|
|
7178
7216
|
function uc(e, t) {
|
|
7179
|
-
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none",
|
|
7180
|
-
let n =
|
|
7181
|
-
i.textContent =
|
|
7217
|
+
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", Oe(e, t.theme ?? "auto");
|
|
7218
|
+
let n = Ne(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
7219
|
+
i.textContent = me, r.appendChild(i);
|
|
7182
7220
|
let a = document.createElement("div");
|
|
7183
|
-
a.className = "markup-shadow-root", r.appendChild(a),
|
|
7221
|
+
a.className = "markup-shadow-root", r.appendChild(a), Se({
|
|
7184
7222
|
apiUrl: t.apiUrl,
|
|
7185
7223
|
apiKey: t.apiKey,
|
|
7186
|
-
widgetVersion: "1.
|
|
7224
|
+
widgetVersion: "1.16.0"
|
|
7187
7225
|
});
|
|
7188
7226
|
let { theme: o, ...s } = t;
|
|
7189
|
-
return
|
|
7190
|
-
onError: (e) =>
|
|
7227
|
+
return pe(/* @__PURE__ */ Q(j, {
|
|
7228
|
+
onError: (e) => M(e, { context: "render" }),
|
|
7191
7229
|
children: /* @__PURE__ */ Q(oc, { ...s })
|
|
7192
7230
|
}), a), () => {
|
|
7193
|
-
n(),
|
|
7231
|
+
n(), Se(null), pe(null, a);
|
|
7194
7232
|
};
|
|
7195
7233
|
}
|
|
7196
7234
|
//#endregion
|