@pixelmatters/markup 1.16.0 → 1.16.1
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 +94 -22
- package/dist/widget.js +715 -661
- 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), ie(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, oe(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
function E(e) {
|
|
@@ -65,13 +65,13 @@ 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 = 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 =
|
|
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 = ie(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && le(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
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 = A(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)), ue(s, s));
|
|
75
75
|
return r;
|
|
76
76
|
}
|
|
77
77
|
function k(e, t, n, r) {
|
|
@@ -86,7 +86,7 @@ function k(e, t, n, r) {
|
|
|
86
86
|
while (t != null && t.nodeType == 8);
|
|
87
87
|
return t;
|
|
88
88
|
}
|
|
89
|
-
function
|
|
89
|
+
function A(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 ne(e, t, n, r) {
|
|
|
94
94
|
}
|
|
95
95
|
return -1;
|
|
96
96
|
}
|
|
97
|
-
function
|
|
97
|
+
function j(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 ne(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 || j(e.style, t, "");
|
|
105
|
+
if (n) for (t in n) r && n[t] == r[t] || j(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 re(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 re(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 ie(e) {
|
|
|
124
124
|
}
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
-
function
|
|
128
|
-
var d, f, p, m, g, b, x, w, T, E, D, O, te, k,
|
|
127
|
+
function ie(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, A, j = 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 j == "function") try {
|
|
132
|
+
if (w = n.props, T = j.prototype && j.prototype.render, E = (d = j.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 j(w, D) : (n.__c = f = new C(w, D), f.constructor = j, f.render = de), 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 && j.getDerivedStateFromProps != null && (f.__s == f.state && (f.__s = v({}, f.__s)), v(f.__s, j.getDerivedStateFromProps(w, f.__s))), m = f.props, g = f.state, f.__v = n, p) T && j.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 && j.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);
|
|
@@ -145,26 +145,26 @@ function ae(e, n, r, i, a, o, s, c, l, u) {
|
|
|
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
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 ?
|
|
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 ? se(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 (A = o.length; A--;) y(o[A]);
|
|
155
|
+
ae(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 || ae(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 = ce(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 ae(e) {
|
|
164
|
+
e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(ae));
|
|
165
165
|
}
|
|
166
|
-
function
|
|
167
|
-
for (var i = 0; i < r.length; i++)
|
|
166
|
+
function oe(e, n, r) {
|
|
167
|
+
for (var i = 0; i < r.length; i++) le(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 se(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 se(e) {
|
|
179
|
+
return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(se) : v({}, e);
|
|
180
180
|
}
|
|
181
|
-
function
|
|
181
|
+
function ce(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 le(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 || ne(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 || ne(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]) && ne(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && ne(n, d, b, x[d], o));
|
|
201
201
|
}
|
|
202
202
|
return n;
|
|
203
203
|
}
|
|
204
|
-
function
|
|
204
|
+
function le(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 ue(e, n, r) {
|
|
|
211
211
|
t.__e(e, r);
|
|
212
212
|
}
|
|
213
213
|
}
|
|
214
|
-
function
|
|
214
|
+
function ue(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 || le(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 de(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] && ue(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 de(e, t, n) {
|
|
228
228
|
return this.constructor(e, n);
|
|
229
229
|
}
|
|
230
|
-
function
|
|
230
|
+
function fe(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 = [], ie(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), oe(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 = re(!1), p = re(!0);
|
|
249
249
|
//#endregion
|
|
250
250
|
//#region src/styles.css?inline
|
|
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 {
|
|
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}.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-row.is-failed{opacity:.85;border-style:dotted}.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 {
|
|
252
252
|
state = { hasError: !1 };
|
|
253
253
|
static getDerivedStateFromError() {
|
|
254
254
|
return { hasError: !0 };
|
|
@@ -261,12 +261,12 @@ var me = ":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
|
+
}, me = 1e3;
|
|
265
|
+
function he(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 < me || (t = !0, n = i, fetch(`${e.apiUrl.replace(/\/+$/, "")}/widget/error`, {
|
|
270
270
|
method: "POST",
|
|
271
271
|
headers: {
|
|
272
272
|
"content-type": "application/json",
|
|
@@ -282,48 +282,48 @@ function ge(e) {
|
|
|
282
282
|
}));
|
|
283
283
|
};
|
|
284
284
|
}
|
|
285
|
-
function
|
|
285
|
+
function ge() {
|
|
286
286
|
return typeof window < "u" ? window.location.href : void 0;
|
|
287
287
|
}
|
|
288
|
-
function
|
|
288
|
+
function _e() {
|
|
289
289
|
return typeof navigator < "u" ? navigator.userAgent : void 0;
|
|
290
290
|
}
|
|
291
|
-
var
|
|
292
|
-
function
|
|
293
|
-
let r =
|
|
294
|
-
r || (r =
|
|
291
|
+
var ve = /* @__PURE__ */ new WeakMap();
|
|
292
|
+
function ye(e, t, n) {
|
|
293
|
+
let r = ve.get(e);
|
|
294
|
+
r || (r = he(e), ve.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: ge(),
|
|
301
|
+
userAgent: _e(),
|
|
302
302
|
context: n?.context
|
|
303
303
|
});
|
|
304
304
|
}
|
|
305
|
-
var
|
|
306
|
-
function
|
|
307
|
-
|
|
305
|
+
var be = null;
|
|
306
|
+
function xe(e) {
|
|
307
|
+
be = e;
|
|
308
308
|
}
|
|
309
|
-
function
|
|
310
|
-
|
|
309
|
+
function N(e, t) {
|
|
310
|
+
be && ye(be, e, t);
|
|
311
311
|
}
|
|
312
312
|
//#endregion
|
|
313
313
|
//#region src/runtime/theme-store.ts
|
|
314
|
-
var
|
|
314
|
+
var Se = "markup:widget:theme", Ce = null, P = Ee() ?? "auto", we = Ee() != null, Te = /* @__PURE__ */ new Set();
|
|
315
315
|
function Ee() {
|
|
316
316
|
try {
|
|
317
|
-
let e = localStorage.getItem(
|
|
317
|
+
let e = localStorage.getItem(Se);
|
|
318
318
|
if (e === "light" || e === "dark" || e === "auto") return e;
|
|
319
319
|
} catch {}
|
|
320
320
|
return null;
|
|
321
321
|
}
|
|
322
322
|
function De() {
|
|
323
|
-
|
|
323
|
+
Ce && (P === "auto" ? delete Ce.dataset.theme : Ce.dataset.theme = P);
|
|
324
324
|
}
|
|
325
325
|
function Oe(e, t) {
|
|
326
|
-
|
|
326
|
+
Ce = e, !we && t && (P = t), De();
|
|
327
327
|
}
|
|
328
328
|
function ke() {
|
|
329
329
|
return P;
|
|
@@ -335,7 +335,7 @@ function je(e) {
|
|
|
335
335
|
if (e !== P) {
|
|
336
336
|
P = e, we = !0;
|
|
337
337
|
try {
|
|
338
|
-
localStorage.setItem(
|
|
338
|
+
localStorage.setItem(Se, e);
|
|
339
339
|
} catch {}
|
|
340
340
|
De();
|
|
341
341
|
for (let e of Te) e(P);
|
|
@@ -2930,7 +2930,7 @@ function* ii(e, t, n, r, i) {
|
|
|
2930
2930
|
//#endregion
|
|
2931
2931
|
//#region src/runtime/anchor.ts
|
|
2932
2932
|
function ai(e, t) {
|
|
2933
|
-
let n = document.documentElement, r = Math.max(n.scrollWidth, n.clientWidth), i = Math.max(n.scrollHeight, n.clientHeight), a = e.clientX + window.scrollX, o = e.clientY + window.scrollY, s = t === void 0 ? e.target instanceof Element ? e.target : null : t, c = s ?
|
|
2933
|
+
let n = document.documentElement, r = Math.max(n.scrollWidth, n.clientWidth), i = Math.max(n.scrollHeight, n.clientHeight), a = e.clientX + window.scrollX, o = e.clientY + window.scrollY, s = t === void 0 ? e.target instanceof Element ? e.target : null : t, c = s ? ci(s) : void 0, l, u;
|
|
2934
2934
|
if (s) {
|
|
2935
2935
|
let t = s.getBoundingClientRect();
|
|
2936
2936
|
t.width > 0 && t.height > 0 && (l = Math.max(0, Math.min(1, (e.clientX - t.left) / t.width)), u = Math.max(0, Math.min(1, (e.clientY - t.top) / t.height)));
|
|
@@ -2947,24 +2947,26 @@ function ai(e, t) {
|
|
|
2947
2947
|
}
|
|
2948
2948
|
function oi(e) {
|
|
2949
2949
|
if (e.anchorSelector) try {
|
|
2950
|
-
let t = document.querySelector(e.anchorSelector);
|
|
2951
|
-
if (t) {
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
};
|
|
2958
|
-
}
|
|
2950
|
+
let t = document.querySelector(e.anchorSelector), n = t?.getBoundingClientRect();
|
|
2951
|
+
if (t && n && si(n)) return {
|
|
2952
|
+
pageX: n.left + window.scrollX + (e.anchorOffsetX ?? .5) * n.width,
|
|
2953
|
+
pageY: n.top + window.scrollY + (e.anchorOffsetY ?? .5) * n.height,
|
|
2954
|
+
resolved: !0,
|
|
2955
|
+
element: t
|
|
2956
|
+
};
|
|
2959
2957
|
} catch {}
|
|
2960
2958
|
let t = document.documentElement, n = Math.max(t.scrollWidth, t.clientWidth), r = Math.max(t.scrollHeight, t.clientHeight);
|
|
2961
2959
|
return {
|
|
2962
2960
|
pageX: e.anchorX * n,
|
|
2963
2961
|
pageY: e.anchorY * r,
|
|
2964
|
-
resolved: !1
|
|
2962
|
+
resolved: !1,
|
|
2963
|
+
element: null
|
|
2965
2964
|
};
|
|
2966
2965
|
}
|
|
2967
2966
|
function si(e) {
|
|
2967
|
+
return e.width !== 0 || e.height !== 0 || e.top !== 0 || e.left !== 0;
|
|
2968
|
+
}
|
|
2969
|
+
function ci(e) {
|
|
2968
2970
|
try {
|
|
2969
2971
|
return Wr(e, { timeoutMs: 1e3 });
|
|
2970
2972
|
} catch {
|
|
@@ -2973,22 +2975,22 @@ function si(e) {
|
|
|
2973
2975
|
}
|
|
2974
2976
|
//#endregion
|
|
2975
2977
|
//#region src/runtime/api.ts
|
|
2976
|
-
var
|
|
2978
|
+
var li = class extends Error {
|
|
2977
2979
|
status;
|
|
2978
2980
|
constructor(e, t) {
|
|
2979
2981
|
super(e), this.name = "WidgetApiError", this.status = t;
|
|
2980
2982
|
}
|
|
2981
|
-
},
|
|
2983
|
+
}, ui = class extends li {
|
|
2982
2984
|
category;
|
|
2983
2985
|
constructor(e, t) {
|
|
2984
2986
|
super(`${e} took too long — check your connection`, 0), this.name = "WidgetTimeoutError", this.category = t;
|
|
2985
2987
|
}
|
|
2986
|
-
},
|
|
2987
|
-
function
|
|
2988
|
+
}, di = 15e3, J = 3e4;
|
|
2989
|
+
function fi(e, t) {
|
|
2988
2990
|
let n = AbortSignal.timeout(e);
|
|
2989
2991
|
return t ? AbortSignal.any([t, n]) : n;
|
|
2990
2992
|
}
|
|
2991
|
-
function
|
|
2993
|
+
function pi(e) {
|
|
2992
2994
|
let t = e.apiUrl.replace(/\/+$/, "");
|
|
2993
2995
|
async function n(n, r, i) {
|
|
2994
2996
|
let a = {
|
|
@@ -3002,23 +3004,23 @@ function fi(e) {
|
|
|
3002
3004
|
let l = e.getStorageMode?.() === "cookies", u = {
|
|
3003
3005
|
...r,
|
|
3004
3006
|
headers: a,
|
|
3005
|
-
signal:
|
|
3007
|
+
signal: fi(i.timeoutMs, i.signal)
|
|
3006
3008
|
};
|
|
3007
3009
|
l && (u.credentials = "include");
|
|
3008
3010
|
let d;
|
|
3009
3011
|
try {
|
|
3010
3012
|
d = await fetch(`${t}${n}`, u);
|
|
3011
3013
|
} catch (e) {
|
|
3012
|
-
throw e instanceof DOMException && e.name === "TimeoutError" ? new
|
|
3014
|
+
throw e instanceof DOMException && e.name === "TimeoutError" ? new ui(i.operation, i.category) : e;
|
|
3013
3015
|
}
|
|
3014
|
-
let f = await d.text(), p = f ?
|
|
3015
|
-
if (!d.ok) throw d.status === 401 && (s || l) && e.onUnauthorized?.(), new
|
|
3016
|
+
let f = await d.text(), p = f ? mi(f) : null;
|
|
3017
|
+
if (!d.ok) throw d.status === 401 && (s || l) && e.onUnauthorized?.(), new li((p && typeof p == "object" && "error" in p && typeof p.error == "string" ? p.error : null) ?? `Request failed with ${d.status}`, d.status);
|
|
3016
3018
|
return p;
|
|
3017
3019
|
}
|
|
3018
3020
|
return {
|
|
3019
3021
|
mintAnonIdentity(e) {
|
|
3020
3022
|
return n("/widget/anon-identity", { method: "POST" }, {
|
|
3021
|
-
timeoutMs:
|
|
3023
|
+
timeoutMs: di,
|
|
3022
3024
|
category: "read",
|
|
3023
3025
|
operation: "mint-anon-identity",
|
|
3024
3026
|
signal: e?.signal
|
|
@@ -3026,7 +3028,7 @@ function fi(e) {
|
|
|
3026
3028
|
},
|
|
3027
3029
|
getSubscriptionToken(e) {
|
|
3028
3030
|
return n("/widget/subscription-token", { method: "POST" }, {
|
|
3029
|
-
timeoutMs:
|
|
3031
|
+
timeoutMs: di,
|
|
3030
3032
|
category: "read",
|
|
3031
3033
|
operation: "mint-subscription-token",
|
|
3032
3034
|
signal: e?.signal
|
|
@@ -3034,7 +3036,7 @@ function fi(e) {
|
|
|
3034
3036
|
},
|
|
3035
3037
|
getScreenshotUploadUrl(e) {
|
|
3036
3038
|
return n("/widget/screenshots/upload-url", { method: "POST" }, {
|
|
3037
|
-
timeoutMs:
|
|
3039
|
+
timeoutMs: di,
|
|
3038
3040
|
category: "read",
|
|
3039
3041
|
operation: "mint-screenshot-upload-url",
|
|
3040
3042
|
signal: e?.signal
|
|
@@ -3042,7 +3044,7 @@ function fi(e) {
|
|
|
3042
3044
|
},
|
|
3043
3045
|
listThreads(e, t) {
|
|
3044
3046
|
return n(`/widget/threads?route=${encodeURIComponent(e)}`, { method: "GET" }, {
|
|
3045
|
-
timeoutMs:
|
|
3047
|
+
timeoutMs: di,
|
|
3046
3048
|
category: "read",
|
|
3047
3049
|
operation: "list-threads",
|
|
3048
3050
|
signal: t?.signal
|
|
@@ -3050,7 +3052,7 @@ function fi(e) {
|
|
|
3050
3052
|
},
|
|
3051
3053
|
listMembers(e) {
|
|
3052
3054
|
return n("/widget/members", { method: "GET" }, {
|
|
3053
|
-
timeoutMs:
|
|
3055
|
+
timeoutMs: di,
|
|
3054
3056
|
category: "read",
|
|
3055
3057
|
operation: "list-members",
|
|
3056
3058
|
signal: e?.signal
|
|
@@ -3058,7 +3060,7 @@ function fi(e) {
|
|
|
3058
3060
|
},
|
|
3059
3061
|
listNotifications(e) {
|
|
3060
3062
|
return n("/widget/notifications", { method: "GET" }, {
|
|
3061
|
-
timeoutMs:
|
|
3063
|
+
timeoutMs: di,
|
|
3062
3064
|
category: "read",
|
|
3063
3065
|
operation: "list-notifications",
|
|
3064
3066
|
signal: e?.signal
|
|
@@ -3169,7 +3171,7 @@ function fi(e) {
|
|
|
3169
3171
|
}
|
|
3170
3172
|
};
|
|
3171
3173
|
}
|
|
3172
|
-
function
|
|
3174
|
+
function mi(e) {
|
|
3173
3175
|
try {
|
|
3174
3176
|
return JSON.parse(e);
|
|
3175
3177
|
} catch {
|
|
@@ -3178,10 +3180,10 @@ function pi(e) {
|
|
|
3178
3180
|
}
|
|
3179
3181
|
//#endregion
|
|
3180
3182
|
//#region src/runtime/cookie-probe.ts
|
|
3181
|
-
var
|
|
3182
|
-
async function
|
|
3183
|
+
var hi = "markup.cookieProbe";
|
|
3184
|
+
async function gi(e, t) {
|
|
3183
3185
|
try {
|
|
3184
|
-
let e = sessionStorage.getItem(
|
|
3186
|
+
let e = sessionStorage.getItem(hi);
|
|
3185
3187
|
if (e === "supported") return !0;
|
|
3186
3188
|
if (e === "unsupported") return !1;
|
|
3187
3189
|
} catch {}
|
|
@@ -3200,94 +3202,94 @@ async function hi(e, t) {
|
|
|
3200
3202
|
if (!e.ok) return !1;
|
|
3201
3203
|
let { supported: t } = await e.json(), i = t === !0;
|
|
3202
3204
|
try {
|
|
3203
|
-
sessionStorage.setItem(
|
|
3205
|
+
sessionStorage.setItem(hi, i ? "supported" : "unsupported");
|
|
3204
3206
|
} catch {}
|
|
3205
3207
|
return i;
|
|
3206
3208
|
} catch (e) {
|
|
3207
|
-
return e?.name !== "TypeError" &&
|
|
3209
|
+
return e?.name !== "TypeError" && N(e, { context: "cookie-probe" }), !1;
|
|
3208
3210
|
}
|
|
3209
3211
|
}
|
|
3210
3212
|
//#endregion
|
|
3211
3213
|
//#region src/runtime/history-observer.ts
|
|
3212
|
-
var
|
|
3213
|
-
function
|
|
3214
|
+
var _i = "__markup_history_observer__", vi = "__markup_history_listeners__";
|
|
3215
|
+
function yi(e) {
|
|
3214
3216
|
e.forEach((e) => {
|
|
3215
3217
|
try {
|
|
3216
3218
|
e();
|
|
3217
3219
|
} catch (e) {
|
|
3218
|
-
|
|
3220
|
+
N(e, { context: "history-observer-listener" });
|
|
3219
3221
|
}
|
|
3220
3222
|
});
|
|
3221
3223
|
}
|
|
3222
|
-
var
|
|
3223
|
-
function
|
|
3224
|
+
var bi = "__markup_history_restore__";
|
|
3225
|
+
function xi() {
|
|
3224
3226
|
let e = history.pushState;
|
|
3225
|
-
if (e[
|
|
3226
|
-
listeners: e[
|
|
3227
|
-
restore: e[
|
|
3227
|
+
if (e[_i]) return {
|
|
3228
|
+
listeners: e[vi],
|
|
3229
|
+
restore: e[bi]
|
|
3228
3230
|
};
|
|
3229
3231
|
let t = /* @__PURE__ */ new Set(), n = history.pushState, r = history.replaceState;
|
|
3230
3232
|
function i(...e) {
|
|
3231
|
-
n.apply(this, e),
|
|
3233
|
+
n.apply(this, e), yi(t);
|
|
3232
3234
|
}
|
|
3233
3235
|
function a(...e) {
|
|
3234
|
-
r.apply(this, e),
|
|
3236
|
+
r.apply(this, e), yi(t);
|
|
3235
3237
|
}
|
|
3236
|
-
let o = () =>
|
|
3238
|
+
let o = () => yi(t), s = () => {
|
|
3237
3239
|
history.pushState === i && (history.pushState = n), history.replaceState === a && (history.replaceState = r), window.removeEventListener("popstate", o), t.clear();
|
|
3238
3240
|
};
|
|
3239
|
-
return Object.defineProperty(i,
|
|
3241
|
+
return Object.defineProperty(i, _i, { value: 1 }), Object.defineProperty(i, vi, { value: t }), Object.defineProperty(i, bi, { value: s }), Object.defineProperty(a, _i, { value: 1 }), history.pushState = i, history.replaceState = a, window.addEventListener("popstate", o), {
|
|
3240
3242
|
listeners: t,
|
|
3241
3243
|
restore: s
|
|
3242
3244
|
};
|
|
3243
3245
|
}
|
|
3244
|
-
var
|
|
3245
|
-
function
|
|
3246
|
-
|
|
3247
|
-
let t =
|
|
3246
|
+
var Si = null;
|
|
3247
|
+
function Ci(e) {
|
|
3248
|
+
Si ||= xi();
|
|
3249
|
+
let t = Si;
|
|
3248
3250
|
t.listeners.add(e);
|
|
3249
3251
|
let n = !1;
|
|
3250
3252
|
return () => {
|
|
3251
|
-
n || (n = !0, t.listeners.delete(e), t.listeners.size === 0 && (t.restore(),
|
|
3253
|
+
n || (n = !0, t.listeners.delete(e), t.listeners.size === 0 && (t.restore(), Si === t && (Si = null)));
|
|
3252
3254
|
};
|
|
3253
3255
|
}
|
|
3254
3256
|
//#endregion
|
|
3255
3257
|
//#region src/runtime/safe-url.ts
|
|
3256
|
-
var
|
|
3257
|
-
function
|
|
3258
|
+
var wi = new Set(["http:", "https:"]);
|
|
3259
|
+
function Ti(e, t) {
|
|
3258
3260
|
let n;
|
|
3259
3261
|
try {
|
|
3260
3262
|
n = new URL(e, t);
|
|
3261
3263
|
} catch {
|
|
3262
3264
|
return null;
|
|
3263
3265
|
}
|
|
3264
|
-
return
|
|
3266
|
+
return wi.has(n.protocol) ? n : null;
|
|
3265
3267
|
}
|
|
3266
3268
|
//#endregion
|
|
3267
3269
|
//#region src/runtime/identity-store.ts
|
|
3268
|
-
var
|
|
3269
|
-
function
|
|
3270
|
+
var Ei = "markup.identity";
|
|
3271
|
+
function Di() {
|
|
3270
3272
|
try {
|
|
3271
|
-
let e = localStorage.getItem(
|
|
3273
|
+
let e = localStorage.getItem(Ei);
|
|
3272
3274
|
return e ? JSON.parse(e) : null;
|
|
3273
3275
|
} catch {
|
|
3274
3276
|
return null;
|
|
3275
3277
|
}
|
|
3276
3278
|
}
|
|
3277
|
-
function Di(e) {
|
|
3278
|
-
if (typeof e.image == "string") return wi(e.image, location.href)?.href ?? void 0;
|
|
3279
|
-
}
|
|
3280
3279
|
function Oi(e) {
|
|
3280
|
+
if (typeof e.image == "string") return Ti(e.image, location.href)?.href ?? void 0;
|
|
3281
|
+
}
|
|
3282
|
+
function ki(e) {
|
|
3281
3283
|
try {
|
|
3282
3284
|
if (e == null) {
|
|
3283
|
-
localStorage.removeItem(
|
|
3285
|
+
localStorage.removeItem(Ei);
|
|
3284
3286
|
return;
|
|
3285
3287
|
}
|
|
3286
|
-
localStorage.setItem(
|
|
3288
|
+
localStorage.setItem(Ei, JSON.stringify(e));
|
|
3287
3289
|
} catch {}
|
|
3288
3290
|
}
|
|
3289
|
-
function
|
|
3290
|
-
let e =
|
|
3291
|
+
function Ai() {
|
|
3292
|
+
let e = Di(), t = {
|
|
3291
3293
|
name: e?.name,
|
|
3292
3294
|
email: e?.email
|
|
3293
3295
|
};
|
|
@@ -3306,7 +3308,7 @@ function ki() {
|
|
|
3306
3308
|
refreshTokenExpiresAt: e.refreshTokenExpiresAt,
|
|
3307
3309
|
name: e.name,
|
|
3308
3310
|
email: e.email,
|
|
3309
|
-
image:
|
|
3311
|
+
image: Oi(e)
|
|
3310
3312
|
}
|
|
3311
3313
|
},
|
|
3312
3314
|
preserved: t
|
|
@@ -3327,7 +3329,7 @@ function ki() {
|
|
|
3327
3329
|
} : {},
|
|
3328
3330
|
name: e.name,
|
|
3329
3331
|
email: e.email,
|
|
3330
|
-
image:
|
|
3332
|
+
image: Oi(e)
|
|
3331
3333
|
}
|
|
3332
3334
|
},
|
|
3333
3335
|
preserved: t
|
|
@@ -3349,10 +3351,10 @@ function ki() {
|
|
|
3349
3351
|
preserved: t
|
|
3350
3352
|
};
|
|
3351
3353
|
}
|
|
3352
|
-
function
|
|
3354
|
+
function ji(e) {
|
|
3353
3355
|
switch (e.kind) {
|
|
3354
3356
|
case "verified":
|
|
3355
|
-
|
|
3357
|
+
ki({
|
|
3356
3358
|
clientId: e.identity.clientId,
|
|
3357
3359
|
storage: e.identity.storage,
|
|
3358
3360
|
token: e.identity.storage === "cookies" ? void 0 : e.identity.token,
|
|
@@ -3366,7 +3368,7 @@ function Ai(e) {
|
|
|
3366
3368
|
});
|
|
3367
3369
|
return;
|
|
3368
3370
|
case "anon":
|
|
3369
|
-
|
|
3371
|
+
ki({
|
|
3370
3372
|
clientId: e.identity.clientId,
|
|
3371
3373
|
anonToken: e.identity.anonToken,
|
|
3372
3374
|
name: e.identity.name,
|
|
@@ -3374,23 +3376,23 @@ function Ai(e) {
|
|
|
3374
3376
|
});
|
|
3375
3377
|
return;
|
|
3376
3378
|
case "recovering":
|
|
3377
|
-
|
|
3379
|
+
ki({
|
|
3378
3380
|
name: e.preserved.name,
|
|
3379
3381
|
email: e.preserved.email
|
|
3380
3382
|
});
|
|
3381
3383
|
return;
|
|
3382
3384
|
case "unresolved":
|
|
3383
|
-
|
|
3385
|
+
ki(null);
|
|
3384
3386
|
return;
|
|
3385
3387
|
}
|
|
3386
3388
|
}
|
|
3387
|
-
function
|
|
3389
|
+
function Mi(e) {
|
|
3388
3390
|
if (e.kind === "anon" || e.kind === "verified") return e.identity.clientId;
|
|
3389
3391
|
}
|
|
3390
|
-
function
|
|
3392
|
+
function Ni(e) {
|
|
3391
3393
|
return e.kind === "anon" ? e.identity.name ?? null : e.kind === "verified" ? e.identity.name : null;
|
|
3392
3394
|
}
|
|
3393
|
-
function
|
|
3395
|
+
function Pi(e) {
|
|
3394
3396
|
if (e.kind === "anon") {
|
|
3395
3397
|
let t = e.identity.name;
|
|
3396
3398
|
return t ? {
|
|
@@ -3405,8 +3407,8 @@ function Ni(e) {
|
|
|
3405
3407
|
}
|
|
3406
3408
|
//#endregion
|
|
3407
3409
|
//#region src/runtime/popup-auth.ts
|
|
3408
|
-
var
|
|
3409
|
-
async function
|
|
3410
|
+
var Fi = "MARKUP_AUTH_RESULT", Ii = "MARKUP_AUTH_RETRY", Li = "MARKUP_AUTH_EXPIRED", Ri = 5;
|
|
3411
|
+
async function zi(e) {
|
|
3410
3412
|
let { apiUrl: t, apiKey: n, useCookies: r } = e, i = new URL(t).origin, a = r ? "refresh,cookies" : "refresh";
|
|
3411
3413
|
async function o() {
|
|
3412
3414
|
let e = await fetch(`${t.replace(/\/+$/, "")}/widget/popup-exchange`, {
|
|
@@ -3425,7 +3427,7 @@ async function Ri(e) {
|
|
|
3425
3427
|
try {
|
|
3426
3428
|
s = await o();
|
|
3427
3429
|
} catch (e) {
|
|
3428
|
-
return e?.name !== "TypeError" &&
|
|
3430
|
+
return e?.name !== "TypeError" && N(e, { context: "popup-exchange" }), Promise.reject(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to start popup exchange"));
|
|
3429
3431
|
}
|
|
3430
3432
|
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}`);
|
|
3431
3433
|
if (!u) return Promise.reject(/* @__PURE__ */ Error("Popup blocked — allow popups for this site to sign in"));
|
|
@@ -3437,7 +3439,7 @@ async function Ri(e) {
|
|
|
3437
3439
|
let s = (e) => {
|
|
3438
3440
|
if (!r) {
|
|
3439
3441
|
if (e) {
|
|
3440
|
-
if (n >=
|
|
3442
|
+
if (n >= Ri) {
|
|
3441
3443
|
a(), t(/* @__PURE__ */ Error("Sign-in could not be restarted — close the window and try again"));
|
|
3442
3444
|
return;
|
|
3443
3445
|
}
|
|
@@ -3446,7 +3448,7 @@ async function Ri(e) {
|
|
|
3446
3448
|
r = !0, o().then((e) => {
|
|
3447
3449
|
u.closed || (u.location.href = e);
|
|
3448
3450
|
}).catch((e) => {
|
|
3449
|
-
a(),
|
|
3451
|
+
a(), N(e, { context: "popup-exchange-remint" }), t(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to restart sign-in"));
|
|
3450
3452
|
}).finally(() => {
|
|
3451
3453
|
r = !1;
|
|
3452
3454
|
});
|
|
@@ -3455,15 +3457,15 @@ async function Ri(e) {
|
|
|
3455
3457
|
function c(n) {
|
|
3456
3458
|
if (n.origin !== i || n.source !== u) return;
|
|
3457
3459
|
let r = n.data;
|
|
3458
|
-
if (r?.type ===
|
|
3460
|
+
if (r?.type === Ii) {
|
|
3459
3461
|
s(!1);
|
|
3460
3462
|
return;
|
|
3461
3463
|
}
|
|
3462
|
-
if (r?.type ===
|
|
3464
|
+
if (r?.type === Li) {
|
|
3463
3465
|
s(!0);
|
|
3464
3466
|
return;
|
|
3465
3467
|
}
|
|
3466
|
-
r?.type ===
|
|
3468
|
+
r?.type === Fi && (a(), r.identity?.id && r.identity?.name ? e({
|
|
3467
3469
|
mode: r.mode === "cookies" ? "cookies" : "localStorage",
|
|
3468
3470
|
identity: r.identity,
|
|
3469
3471
|
token: typeof r.token == "string" ? r.token : null,
|
|
@@ -3494,7 +3496,7 @@ async function Ri(e) {
|
|
|
3494
3496
|
});
|
|
3495
3497
|
if (!e.ok) {
|
|
3496
3498
|
let t = /* @__PURE__ */ Error(`Failed to install widget cookies (${e.status})`);
|
|
3497
|
-
throw
|
|
3499
|
+
throw N(t, { context: "install-cookies" }), t;
|
|
3498
3500
|
}
|
|
3499
3501
|
return {
|
|
3500
3502
|
...d,
|
|
@@ -3506,45 +3508,45 @@ async function Ri(e) {
|
|
|
3506
3508
|
}
|
|
3507
3509
|
//#endregion
|
|
3508
3510
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js
|
|
3509
|
-
function
|
|
3511
|
+
function Bi(e, t) {
|
|
3510
3512
|
if (e.match(/^[a-z]+:\/\//i)) return e;
|
|
3511
3513
|
if (e.match(/^\/\//)) return window.location.protocol + e;
|
|
3512
3514
|
if (e.match(/^[a-z]+:/i)) return e;
|
|
3513
3515
|
let n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
|
|
3514
3516
|
return n.head.appendChild(r), n.body.appendChild(i), t && (r.href = t), i.href = e, i.href;
|
|
3515
3517
|
}
|
|
3516
|
-
var
|
|
3518
|
+
var Vi = (() => {
|
|
3517
3519
|
let e = 0, t = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);
|
|
3518
3520
|
return () => (e += 1, `u${t()}${e}`);
|
|
3519
3521
|
})();
|
|
3520
|
-
function
|
|
3522
|
+
function Hi(e) {
|
|
3521
3523
|
let t = [];
|
|
3522
3524
|
for (let n = 0, r = e.length; n < r; n++) t.push(e[n]);
|
|
3523
3525
|
return t;
|
|
3524
3526
|
}
|
|
3525
|
-
var
|
|
3526
|
-
function
|
|
3527
|
-
return
|
|
3527
|
+
var Ui = null;
|
|
3528
|
+
function Wi(e = {}) {
|
|
3529
|
+
return Ui || (e.includeStyleProperties ? (Ui = e.includeStyleProperties, Ui) : (Ui = Hi(window.getComputedStyle(document.documentElement)), Ui));
|
|
3528
3530
|
}
|
|
3529
|
-
function
|
|
3531
|
+
function Gi(e, t) {
|
|
3530
3532
|
let n = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
|
|
3531
3533
|
return n ? parseFloat(n.replace("px", "")) : 0;
|
|
3532
3534
|
}
|
|
3533
|
-
function
|
|
3534
|
-
let t =
|
|
3535
|
+
function Ki(e) {
|
|
3536
|
+
let t = Gi(e, "border-left-width"), n = Gi(e, "border-right-width");
|
|
3535
3537
|
return e.clientWidth + t + n;
|
|
3536
3538
|
}
|
|
3537
|
-
function
|
|
3538
|
-
let t =
|
|
3539
|
+
function qi(e) {
|
|
3540
|
+
let t = Gi(e, "border-top-width"), n = Gi(e, "border-bottom-width");
|
|
3539
3541
|
return e.clientHeight + t + n;
|
|
3540
3542
|
}
|
|
3541
|
-
function
|
|
3543
|
+
function Ji(e, t = {}) {
|
|
3542
3544
|
return {
|
|
3543
|
-
width: t.width ||
|
|
3544
|
-
height: t.height ||
|
|
3545
|
+
width: t.width || Ki(e),
|
|
3546
|
+
height: t.height || qi(e)
|
|
3545
3547
|
};
|
|
3546
3548
|
}
|
|
3547
|
-
function
|
|
3549
|
+
function Yi() {
|
|
3548
3550
|
let e, t;
|
|
3549
3551
|
try {
|
|
3550
3552
|
t = process;
|
|
@@ -3553,10 +3555,10 @@ function Ji() {
|
|
|
3553
3555
|
return n && (e = parseInt(n, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
|
|
3554
3556
|
}
|
|
3555
3557
|
var Y = 16384;
|
|
3556
|
-
function
|
|
3558
|
+
function Xi(e) {
|
|
3557
3559
|
(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));
|
|
3558
3560
|
}
|
|
3559
|
-
function
|
|
3561
|
+
function Zi(e) {
|
|
3560
3562
|
return new Promise((t, n) => {
|
|
3561
3563
|
let r = new Image();
|
|
3562
3564
|
r.onload = () => {
|
|
@@ -3566,12 +3568,12 @@ function Xi(e) {
|
|
|
3566
3568
|
}, r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = e;
|
|
3567
3569
|
});
|
|
3568
3570
|
}
|
|
3569
|
-
async function
|
|
3571
|
+
async function Qi(e) {
|
|
3570
3572
|
return Promise.resolve().then(() => new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then((e) => `data:image/svg+xml;charset=utf-8,${e}`);
|
|
3571
3573
|
}
|
|
3572
|
-
async function
|
|
3574
|
+
async function $i(e, t, n) {
|
|
3573
3575
|
let r = "http://www.w3.org/2000/svg", i = document.createElementNS(r, "svg"), a = document.createElementNS(r, "foreignObject");
|
|
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),
|
|
3576
|
+
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), Qi(i);
|
|
3575
3577
|
}
|
|
3576
3578
|
var X = (e, t) => {
|
|
3577
3579
|
if (e instanceof t) return !0;
|
|
@@ -3580,66 +3582,66 @@ var X = (e, t) => {
|
|
|
3580
3582
|
};
|
|
3581
3583
|
//#endregion
|
|
3582
3584
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js
|
|
3583
|
-
function
|
|
3585
|
+
function ea(e) {
|
|
3584
3586
|
let t = e.getPropertyValue("content");
|
|
3585
3587
|
return `${e.cssText} content: '${t.replace(/'|"/g, "")}';`;
|
|
3586
3588
|
}
|
|
3587
|
-
function
|
|
3588
|
-
return
|
|
3589
|
+
function ta(e, t) {
|
|
3590
|
+
return Wi(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
|
|
3589
3591
|
}
|
|
3590
|
-
function
|
|
3591
|
-
let i = `.${e}:${t}`, a = n.cssText ?
|
|
3592
|
+
function na(e, t, n, r) {
|
|
3593
|
+
let i = `.${e}:${t}`, a = n.cssText ? ea(n) : ta(n, r);
|
|
3592
3594
|
return document.createTextNode(`${i}{${a}}`);
|
|
3593
3595
|
}
|
|
3594
|
-
function
|
|
3596
|
+
function ra(e, t, n, r) {
|
|
3595
3597
|
let i = window.getComputedStyle(e, n), a = i.getPropertyValue("content");
|
|
3596
3598
|
if (a === "" || a === "none") return;
|
|
3597
|
-
let o =
|
|
3599
|
+
let o = Vi();
|
|
3598
3600
|
try {
|
|
3599
3601
|
t.className = `${t.className} ${o}`;
|
|
3600
3602
|
} catch {
|
|
3601
3603
|
return;
|
|
3602
3604
|
}
|
|
3603
3605
|
let s = document.createElement("style");
|
|
3604
|
-
s.appendChild(
|
|
3606
|
+
s.appendChild(na(o, n, i, r)), t.appendChild(s);
|
|
3605
3607
|
}
|
|
3606
|
-
function
|
|
3607
|
-
|
|
3608
|
+
function ia(e, t, n) {
|
|
3609
|
+
ra(e, t, ":before", n), ra(e, t, ":after", n);
|
|
3608
3610
|
}
|
|
3609
3611
|
//#endregion
|
|
3610
3612
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js
|
|
3611
|
-
var
|
|
3612
|
-
woff:
|
|
3613
|
-
woff2:
|
|
3613
|
+
var aa = "application/font-woff", oa = "image/jpeg", sa = {
|
|
3614
|
+
woff: aa,
|
|
3615
|
+
woff2: aa,
|
|
3614
3616
|
ttf: "application/font-truetype",
|
|
3615
3617
|
eot: "application/vnd.ms-fontobject",
|
|
3616
3618
|
png: "image/png",
|
|
3617
|
-
jpg:
|
|
3618
|
-
jpeg:
|
|
3619
|
+
jpg: oa,
|
|
3620
|
+
jpeg: oa,
|
|
3619
3621
|
gif: "image/gif",
|
|
3620
3622
|
tiff: "image/tiff",
|
|
3621
3623
|
svg: "image/svg+xml",
|
|
3622
3624
|
webp: "image/webp"
|
|
3623
3625
|
};
|
|
3624
|
-
function
|
|
3626
|
+
function ca(e) {
|
|
3625
3627
|
let t = /\.([^./]*?)$/g.exec(e);
|
|
3626
3628
|
return t ? t[1] : "";
|
|
3627
3629
|
}
|
|
3628
|
-
function
|
|
3629
|
-
return
|
|
3630
|
+
function la(e) {
|
|
3631
|
+
return sa[ca(e).toLowerCase()] || "";
|
|
3630
3632
|
}
|
|
3631
3633
|
//#endregion
|
|
3632
3634
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js
|
|
3633
|
-
function
|
|
3635
|
+
function ua(e) {
|
|
3634
3636
|
return e.split(/,/)[1];
|
|
3635
3637
|
}
|
|
3636
|
-
function
|
|
3638
|
+
function da(e) {
|
|
3637
3639
|
return e.search(/^(data:)/) !== -1;
|
|
3638
3640
|
}
|
|
3639
|
-
function
|
|
3641
|
+
function fa(e, t) {
|
|
3640
3642
|
return `data:${t};base64,${e}`;
|
|
3641
3643
|
}
|
|
3642
|
-
async function
|
|
3644
|
+
async function pa(e, t, n) {
|
|
3643
3645
|
let r = await fetch(e, t);
|
|
3644
3646
|
if (r.status === 404) throw Error(`Resource "${r.url}" not found`);
|
|
3645
3647
|
let i = await r.blob();
|
|
@@ -3657,78 +3659,78 @@ async function fa(e, t, n) {
|
|
|
3657
3659
|
}, a.readAsDataURL(i);
|
|
3658
3660
|
});
|
|
3659
3661
|
}
|
|
3660
|
-
var
|
|
3661
|
-
function
|
|
3662
|
+
var ma = {};
|
|
3663
|
+
function ha(e, t, n) {
|
|
3662
3664
|
let r = e.replace(/\?.*/, "");
|
|
3663
3665
|
return n && (r = e), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\//, "")), t ? `[${t}]${r}` : r;
|
|
3664
3666
|
}
|
|
3665
|
-
async function
|
|
3666
|
-
let r =
|
|
3667
|
-
if (
|
|
3667
|
+
async function ga(e, t, n) {
|
|
3668
|
+
let r = ha(e, t, n.includeQueryParams);
|
|
3669
|
+
if (ma[r] != null) return ma[r];
|
|
3668
3670
|
n.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
|
|
3669
3671
|
let i;
|
|
3670
3672
|
try {
|
|
3671
|
-
i =
|
|
3673
|
+
i = fa(await pa(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", ua(n))), t);
|
|
3672
3674
|
} catch (t) {
|
|
3673
3675
|
i = n.imagePlaceholder || "";
|
|
3674
3676
|
let r = `Failed to fetch resource: ${e}`;
|
|
3675
3677
|
t && (r = typeof t == "string" ? t : t.message), r && console.warn(r);
|
|
3676
3678
|
}
|
|
3677
|
-
return
|
|
3679
|
+
return ma[r] = i, i;
|
|
3678
3680
|
}
|
|
3679
3681
|
//#endregion
|
|
3680
3682
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js
|
|
3681
|
-
async function
|
|
3683
|
+
async function _a(e) {
|
|
3682
3684
|
let t = e.toDataURL();
|
|
3683
|
-
return t === "data:," ? e.cloneNode(!1) :
|
|
3685
|
+
return t === "data:," ? e.cloneNode(!1) : Zi(t);
|
|
3684
3686
|
}
|
|
3685
|
-
async function
|
|
3687
|
+
async function va(e, t) {
|
|
3686
3688
|
if (e.currentSrc) {
|
|
3687
3689
|
let t = document.createElement("canvas"), n = t.getContext("2d");
|
|
3688
|
-
return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height),
|
|
3690
|
+
return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), Zi(t.toDataURL());
|
|
3689
3691
|
}
|
|
3690
3692
|
let n = e.poster;
|
|
3691
|
-
return
|
|
3693
|
+
return Zi(await ga(n, la(n), t));
|
|
3692
3694
|
}
|
|
3693
|
-
async function
|
|
3695
|
+
async function ya(e, t) {
|
|
3694
3696
|
try {
|
|
3695
|
-
if (e?.contentDocument?.body) return await
|
|
3697
|
+
if (e?.contentDocument?.body) return await ka(e.contentDocument.body, t, !0);
|
|
3696
3698
|
} catch {}
|
|
3697
3699
|
return e.cloneNode(!1);
|
|
3698
3700
|
}
|
|
3699
|
-
async function
|
|
3700
|
-
return X(e, HTMLCanvasElement) ?
|
|
3701
|
+
async function ba(e, t) {
|
|
3702
|
+
return X(e, HTMLCanvasElement) ? _a(e) : X(e, HTMLVideoElement) ? va(e, t) : X(e, HTMLIFrameElement) ? ya(e, t) : e.cloneNode(Sa(e));
|
|
3701
3703
|
}
|
|
3702
|
-
var
|
|
3703
|
-
async function
|
|
3704
|
-
if (
|
|
3704
|
+
var xa = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", Sa = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
|
|
3705
|
+
async function Ca(e, t, n) {
|
|
3706
|
+
if (Sa(t)) return t;
|
|
3705
3707
|
let r = [];
|
|
3706
|
-
return r =
|
|
3708
|
+
return r = xa(e) && e.assignedNodes ? Hi(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? Hi(e.contentDocument.body.childNodes) : Hi((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => ka(r, n)).then((e) => {
|
|
3707
3709
|
e && t.appendChild(e);
|
|
3708
3710
|
}), Promise.resolve()), t;
|
|
3709
3711
|
}
|
|
3710
|
-
function
|
|
3712
|
+
function wa(e, t, n) {
|
|
3711
3713
|
let r = t.style;
|
|
3712
3714
|
if (!r) return;
|
|
3713
3715
|
let i = window.getComputedStyle(e);
|
|
3714
|
-
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) :
|
|
3716
|
+
i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : Wi(n).forEach((n) => {
|
|
3715
3717
|
let a = i.getPropertyValue(n);
|
|
3716
3718
|
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));
|
|
3717
3719
|
});
|
|
3718
3720
|
}
|
|
3719
|
-
function
|
|
3721
|
+
function Ta(e, t) {
|
|
3720
3722
|
X(e, HTMLTextAreaElement) && (t.innerHTML = e.value), X(e, HTMLInputElement) && t.setAttribute("value", e.value);
|
|
3721
3723
|
}
|
|
3722
|
-
function
|
|
3724
|
+
function Ea(e, t) {
|
|
3723
3725
|
if (X(e, HTMLSelectElement)) {
|
|
3724
3726
|
let n = t, r = Array.from(n.children).find((t) => e.value === t.getAttribute("value"));
|
|
3725
3727
|
r && r.setAttribute("selected", "");
|
|
3726
3728
|
}
|
|
3727
3729
|
}
|
|
3728
|
-
function
|
|
3729
|
-
return X(t, Element) && (
|
|
3730
|
+
function Da(e, t, n) {
|
|
3731
|
+
return X(t, Element) && (wa(e, t, n), ia(e, t, n), Ta(e, t), Ea(e, t)), t;
|
|
3730
3732
|
}
|
|
3731
|
-
async function
|
|
3733
|
+
async function Oa(e, t) {
|
|
3732
3734
|
let n = e.querySelectorAll ? e.querySelectorAll("use") : [];
|
|
3733
3735
|
if (n.length === 0) return e;
|
|
3734
3736
|
let r = {};
|
|
@@ -3736,7 +3738,7 @@ async function Da(e, t) {
|
|
|
3736
3738
|
let a = n[i].getAttribute("xlink:href");
|
|
3737
3739
|
if (a) {
|
|
3738
3740
|
let n = e.querySelector(a), i = document.querySelector(a);
|
|
3739
|
-
!n && i && !r[a] && (r[a] = await
|
|
3741
|
+
!n && i && !r[a] && (r[a] = await ka(i, t, !0));
|
|
3740
3742
|
}
|
|
3741
3743
|
}
|
|
3742
3744
|
let i = Object.values(r);
|
|
@@ -3750,61 +3752,61 @@ async function Da(e, t) {
|
|
|
3750
3752
|
}
|
|
3751
3753
|
return e;
|
|
3752
3754
|
}
|
|
3753
|
-
async function
|
|
3754
|
-
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) =>
|
|
3755
|
+
async function ka(e, t, n) {
|
|
3756
|
+
return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => ba(e, t)).then((n) => Ca(e, n, t)).then((n) => Da(e, n, t)).then((e) => Oa(e, t));
|
|
3755
3757
|
}
|
|
3756
3758
|
//#endregion
|
|
3757
3759
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js
|
|
3758
|
-
var
|
|
3759
|
-
function
|
|
3760
|
+
var Aa = /url\((['"]?)([^'"]+?)\1\)/g, ja = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, Ma = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
|
|
3761
|
+
function Na(e) {
|
|
3760
3762
|
let t = e.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
|
|
3761
3763
|
return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`, "g");
|
|
3762
3764
|
}
|
|
3763
|
-
function
|
|
3765
|
+
function Pa(e) {
|
|
3764
3766
|
let t = [];
|
|
3765
|
-
return e.replace(
|
|
3767
|
+
return e.replace(Aa, (e, n, r) => (t.push(r), e)), t.filter((e) => !da(e));
|
|
3766
3768
|
}
|
|
3767
|
-
async function
|
|
3769
|
+
async function Fa(e, t, n, r, i) {
|
|
3768
3770
|
try {
|
|
3769
|
-
let a = n ?
|
|
3770
|
-
return s = i ?
|
|
3771
|
+
let a = n ? Bi(t, n) : t, o = la(t), s;
|
|
3772
|
+
return s = i ? fa(await i(a), o) : await ga(a, o, r), e.replace(Na(t), `$1${s}$3`);
|
|
3771
3773
|
} catch {}
|
|
3772
3774
|
return e;
|
|
3773
3775
|
}
|
|
3774
|
-
function
|
|
3775
|
-
return t ? e.replace(
|
|
3776
|
+
function Ia(e, { preferredFontFormat: t }) {
|
|
3777
|
+
return t ? e.replace(Ma, (e) => {
|
|
3776
3778
|
for (;;) {
|
|
3777
|
-
let [n, , r] =
|
|
3779
|
+
let [n, , r] = ja.exec(e) || [];
|
|
3778
3780
|
if (!r) return "";
|
|
3779
3781
|
if (r === t) return `src: ${n};`;
|
|
3780
3782
|
}
|
|
3781
3783
|
}) : e;
|
|
3782
3784
|
}
|
|
3783
|
-
function
|
|
3784
|
-
return e.search(
|
|
3785
|
+
function La(e) {
|
|
3786
|
+
return e.search(Aa) !== -1;
|
|
3785
3787
|
}
|
|
3786
|
-
async function
|
|
3787
|
-
if (!
|
|
3788
|
-
let r =
|
|
3789
|
-
return
|
|
3788
|
+
async function Ra(e, t, n) {
|
|
3789
|
+
if (!La(e)) return e;
|
|
3790
|
+
let r = Ia(e, n);
|
|
3791
|
+
return Pa(r).reduce((e, r) => e.then((e) => Fa(e, r, t, n)), Promise.resolve(r));
|
|
3790
3792
|
}
|
|
3791
3793
|
//#endregion
|
|
3792
3794
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js
|
|
3793
|
-
async function
|
|
3795
|
+
async function za(e, t, n) {
|
|
3794
3796
|
let r = t.style?.getPropertyValue(e);
|
|
3795
3797
|
if (r) {
|
|
3796
|
-
let i = await
|
|
3798
|
+
let i = await Ra(r, null, n);
|
|
3797
3799
|
return t.style.setProperty(e, i, t.style.getPropertyPriority(e)), !0;
|
|
3798
3800
|
}
|
|
3799
3801
|
return !1;
|
|
3800
3802
|
}
|
|
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
3803
|
async function Ba(e, t) {
|
|
3804
|
+
await za("background", e, t) || await za("background-image", e, t), await za("mask", e, t) || await za("-webkit-mask", e, t) || await za("mask-image", e, t) || await za("-webkit-mask-image", e, t);
|
|
3805
|
+
}
|
|
3806
|
+
async function Va(e, t) {
|
|
3805
3807
|
let n = X(e, HTMLImageElement);
|
|
3806
|
-
if (!(n && !
|
|
3807
|
-
let r = n ? e.src : e.href.baseVal, i = await
|
|
3808
|
+
if (!(n && !da(e.src)) && !(X(e, SVGImageElement) && !da(e.href.baseVal))) return;
|
|
3809
|
+
let r = n ? e.src : e.href.baseVal, i = await ga(r, la(r), t);
|
|
3808
3810
|
await new Promise((r, a) => {
|
|
3809
3811
|
e.onload = r, e.onerror = t.onImageErrorHandler ? (...e) => {
|
|
3810
3812
|
try {
|
|
@@ -3817,16 +3819,16 @@ async function Ba(e, t) {
|
|
|
3817
3819
|
o.decode &&= r, o.loading === "lazy" && (o.loading = "eager"), n ? (e.srcset = "", e.src = i) : e.href.baseVal = i;
|
|
3818
3820
|
});
|
|
3819
3821
|
}
|
|
3820
|
-
async function
|
|
3821
|
-
let n =
|
|
3822
|
+
async function Ha(e, t) {
|
|
3823
|
+
let n = Hi(e.childNodes).map((e) => Ua(e, t));
|
|
3822
3824
|
await Promise.all(n).then(() => e);
|
|
3823
3825
|
}
|
|
3824
|
-
async function
|
|
3825
|
-
X(e, Element) && (await
|
|
3826
|
+
async function Ua(e, t) {
|
|
3827
|
+
X(e, Element) && (await Ba(e, t), await Va(e, t), await Ha(e, t));
|
|
3826
3828
|
}
|
|
3827
3829
|
//#endregion
|
|
3828
3830
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js
|
|
3829
|
-
function
|
|
3831
|
+
function Wa(e, t) {
|
|
3830
3832
|
let { style: n } = e;
|
|
3831
3833
|
t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.width && (n.width = `${t.width}px`), t.height && (n.height = `${t.height}px`);
|
|
3832
3834
|
let r = t.style;
|
|
@@ -3836,22 +3838,22 @@ function Ua(e, t) {
|
|
|
3836
3838
|
}
|
|
3837
3839
|
//#endregion
|
|
3838
3840
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js
|
|
3839
|
-
var
|
|
3840
|
-
async function
|
|
3841
|
-
let t =
|
|
3841
|
+
var Ga = {};
|
|
3842
|
+
async function Ka(e) {
|
|
3843
|
+
let t = Ga[e];
|
|
3842
3844
|
return t ?? (t = {
|
|
3843
3845
|
url: e,
|
|
3844
3846
|
cssText: await (await fetch(e)).text()
|
|
3845
|
-
},
|
|
3847
|
+
}, Ga[e] = t, t);
|
|
3846
3848
|
}
|
|
3847
|
-
async function
|
|
3849
|
+
async function qa(e, t) {
|
|
3848
3850
|
let n = e.cssText, r = /url\(["']?([^"')]+)["']?\)/g, i = (n.match(/url\([^)]+\)/g) || []).map(async (i) => {
|
|
3849
3851
|
let a = i.replace(r, "$1");
|
|
3850
|
-
return a.startsWith("https://") || (a = new URL(a, e.url).href),
|
|
3852
|
+
return a.startsWith("https://") || (a = new URL(a, e.url).href), pa(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
|
|
3851
3853
|
});
|
|
3852
3854
|
return Promise.all(i).then(() => n);
|
|
3853
3855
|
}
|
|
3854
|
-
function
|
|
3856
|
+
function Ja(e) {
|
|
3855
3857
|
if (e == null) return [];
|
|
3856
3858
|
let t = [], n = e.replace(/(\/\*[\s\S]*?\*\/)/gi, ""), r = /* @__PURE__ */ RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
|
|
3857
3859
|
for (;;) {
|
|
@@ -3871,13 +3873,13 @@ function qa(e) {
|
|
|
3871
3873
|
}
|
|
3872
3874
|
return t;
|
|
3873
3875
|
}
|
|
3874
|
-
async function
|
|
3876
|
+
async function Ya(e, t) {
|
|
3875
3877
|
let n = [], r = [];
|
|
3876
3878
|
return e.forEach((n) => {
|
|
3877
3879
|
if ("cssRules" in n) try {
|
|
3878
|
-
|
|
3880
|
+
Hi(n.cssRules || []).forEach((e, i) => {
|
|
3879
3881
|
if (e.type === CSSRule.IMPORT_RULE) {
|
|
3880
|
-
let a = i + 1, o = e.href, s =
|
|
3882
|
+
let a = i + 1, o = e.href, s = Ka(o).then((e) => qa(e, t)).then((e) => Ja(e).forEach((e) => {
|
|
3881
3883
|
try {
|
|
3882
3884
|
n.insertRule(e, e.startsWith("@import") ? a += 1 : n.cssRules.length);
|
|
3883
3885
|
} catch (t) {
|
|
@@ -3894,7 +3896,7 @@ async function Ja(e, t) {
|
|
|
3894
3896
|
});
|
|
3895
3897
|
} catch (i) {
|
|
3896
3898
|
let a = e.find((e) => e.href == null) || document.styleSheets[0];
|
|
3897
|
-
n.href != null && r.push(
|
|
3899
|
+
n.href != null && r.push(Ka(n.href).then((e) => qa(e, t)).then((e) => Ja(e).forEach((e) => {
|
|
3898
3900
|
a.insertRule(e, a.cssRules.length);
|
|
3899
3901
|
})).catch((e) => {
|
|
3900
3902
|
console.error("Error loading remote stylesheet", e);
|
|
@@ -3902,7 +3904,7 @@ async function Ja(e, t) {
|
|
|
3902
3904
|
}
|
|
3903
3905
|
}), Promise.all(r).then(() => (e.forEach((e) => {
|
|
3904
3906
|
if ("cssRules" in e) try {
|
|
3905
|
-
|
|
3907
|
+
Hi(e.cssRules || []).forEach((e) => {
|
|
3906
3908
|
n.push(e);
|
|
3907
3909
|
});
|
|
3908
3910
|
} catch (t) {
|
|
@@ -3910,36 +3912,36 @@ async function Ja(e, t) {
|
|
|
3910
3912
|
}
|
|
3911
3913
|
}), n));
|
|
3912
3914
|
}
|
|
3913
|
-
function
|
|
3914
|
-
return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) =>
|
|
3915
|
+
function Xa(e) {
|
|
3916
|
+
return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => La(e.style.getPropertyValue("src")));
|
|
3915
3917
|
}
|
|
3916
|
-
async function
|
|
3918
|
+
async function Za(e, t) {
|
|
3917
3919
|
if (e.ownerDocument == null) throw Error("Provided element is not within a Document");
|
|
3918
|
-
return
|
|
3920
|
+
return Xa(await Ya(Hi(e.ownerDocument.styleSheets), t));
|
|
3919
3921
|
}
|
|
3920
|
-
function
|
|
3922
|
+
function Qa(e) {
|
|
3921
3923
|
return e.trim().replace(/["']/g, "");
|
|
3922
3924
|
}
|
|
3923
|
-
function
|
|
3925
|
+
function $a(e) {
|
|
3924
3926
|
let t = /* @__PURE__ */ new Set();
|
|
3925
3927
|
function n(e) {
|
|
3926
3928
|
(e.style.fontFamily || getComputedStyle(e).fontFamily).split(",").forEach((e) => {
|
|
3927
|
-
t.add(
|
|
3929
|
+
t.add(Qa(e));
|
|
3928
3930
|
}), Array.from(e.children).forEach((e) => {
|
|
3929
3931
|
e instanceof HTMLElement && n(e);
|
|
3930
3932
|
});
|
|
3931
3933
|
}
|
|
3932
3934
|
return n(e), t;
|
|
3933
3935
|
}
|
|
3934
|
-
async function
|
|
3935
|
-
let n = await
|
|
3936
|
-
return (await Promise.all(n.filter((e) => r.has(
|
|
3936
|
+
async function eo(e, t) {
|
|
3937
|
+
let n = await Za(e, t), r = $a(e);
|
|
3938
|
+
return (await Promise.all(n.filter((e) => r.has(Qa(e.style.fontFamily))).map((e) => {
|
|
3937
3939
|
let n = e.parentStyleSheet ? e.parentStyleSheet.href : null;
|
|
3938
|
-
return
|
|
3940
|
+
return Ra(e.cssText, n, t);
|
|
3939
3941
|
}))).join("\n");
|
|
3940
3942
|
}
|
|
3941
|
-
async function
|
|
3942
|
-
let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await
|
|
3943
|
+
async function to(e, t) {
|
|
3944
|
+
let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await eo(e, t) : t.fontEmbedCSS;
|
|
3943
3945
|
if (n) {
|
|
3944
3946
|
let t = document.createElement("style"), r = document.createTextNode(n);
|
|
3945
3947
|
t.appendChild(r), e.firstChild ? e.insertBefore(t, e.firstChild) : e.appendChild(t);
|
|
@@ -3947,18 +3949,35 @@ async function eo(e, t) {
|
|
|
3947
3949
|
}
|
|
3948
3950
|
//#endregion
|
|
3949
3951
|
//#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js
|
|
3950
|
-
async function to(e, t = {}) {
|
|
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
3952
|
async function no(e, t = {}) {
|
|
3955
|
-
let { width: n, height: r } =
|
|
3956
|
-
return
|
|
3953
|
+
let { width: n, height: r } = Ji(e, t), i = await ka(e, t, !0);
|
|
3954
|
+
return await to(i, t), await Ua(i, t), Wa(i, t), await $i(i, n, r);
|
|
3955
|
+
}
|
|
3956
|
+
async function ro(e, t = {}) {
|
|
3957
|
+
let { width: n, height: r } = Ji(e, t), i = await Zi(await no(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || Yi(), c = t.canvasWidth || n, l = t.canvasHeight || r;
|
|
3958
|
+
return a.width = c * s, a.height = l * s, t.skipAutoScale || Xi(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;
|
|
3957
3959
|
}
|
|
3958
3960
|
//#endregion
|
|
3959
3961
|
//#region src/runtime/screenshot.ts
|
|
3960
|
-
var
|
|
3961
|
-
|
|
3962
|
+
var io = 2 * 1024 * 1024, ao = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", oo = [
|
|
3963
|
+
{
|
|
3964
|
+
quality: .85,
|
|
3965
|
+
scale: 1
|
|
3966
|
+
},
|
|
3967
|
+
{
|
|
3968
|
+
quality: .6,
|
|
3969
|
+
scale: 1
|
|
3970
|
+
},
|
|
3971
|
+
{
|
|
3972
|
+
quality: .6,
|
|
3973
|
+
scale: .75
|
|
3974
|
+
},
|
|
3975
|
+
{
|
|
3976
|
+
quality: .6,
|
|
3977
|
+
scale: .5
|
|
3978
|
+
}
|
|
3979
|
+
], so = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", co = "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\"]";
|
|
3980
|
+
function lo(e) {
|
|
3962
3981
|
let t = e.parentElement;
|
|
3963
3982
|
for (; t;) {
|
|
3964
3983
|
if (t.hasAttribute("data-markup-safe")) return !0;
|
|
@@ -3966,37 +3985,37 @@ function oo(e) {
|
|
|
3966
3985
|
}
|
|
3967
3986
|
return !1;
|
|
3968
3987
|
}
|
|
3969
|
-
function
|
|
3988
|
+
function uo(e) {
|
|
3970
3989
|
let t = /* @__PURE__ */ new Set(), n = [];
|
|
3971
3990
|
function r(e) {
|
|
3972
3991
|
t.has(e) || (t.add(e), n.push(e));
|
|
3973
3992
|
}
|
|
3974
3993
|
for (let e of document.querySelectorAll("[data-markup-private],[data-markup-redact]")) r(e);
|
|
3975
|
-
for (let e of document.querySelectorAll(
|
|
3994
|
+
for (let e of document.querySelectorAll(co)) lo(e) || r(e);
|
|
3976
3995
|
if (e.redactSelector) try {
|
|
3977
|
-
for (let t of document.querySelectorAll(e.redactSelector))
|
|
3996
|
+
for (let t of document.querySelectorAll(e.redactSelector)) lo(t) || r(t);
|
|
3978
3997
|
} catch (e) {
|
|
3979
|
-
|
|
3998
|
+
N(e, { context: "screenshot-redact-selector" });
|
|
3980
3999
|
}
|
|
3981
|
-
if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea"))
|
|
4000
|
+
if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) lo(e) || r(e);
|
|
3982
4001
|
return n;
|
|
3983
4002
|
}
|
|
3984
|
-
function
|
|
4003
|
+
function fo(e) {
|
|
3985
4004
|
let t = e.getAttribute("style");
|
|
3986
|
-
return e.setAttribute("style", t ? `${t};${
|
|
4005
|
+
return e.setAttribute("style", t ? `${t};${so}` : so), () => {
|
|
3987
4006
|
t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
|
|
3988
4007
|
};
|
|
3989
4008
|
}
|
|
3990
|
-
function
|
|
4009
|
+
function po(e) {
|
|
3991
4010
|
if (e.id) return `#${CSS.escape(e.id)}`;
|
|
3992
4011
|
let t = e.tagName.toLowerCase(), n = e.getAttribute("type"), r = e.getAttribute("name");
|
|
3993
4012
|
return n && r ? `${t}[type="${n}"][name="${r}"]` : n ? `${t}[type="${n}"]` : r ? `${t}[name="${r}"]` : t;
|
|
3994
4013
|
}
|
|
3995
|
-
async function
|
|
4014
|
+
async function mo(e, t, n) {
|
|
3996
4015
|
try {
|
|
3997
|
-
let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ?
|
|
4016
|
+
let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ? uo(n) : [], s = o.map(po), c = o.map(fo), l;
|
|
3998
4017
|
try {
|
|
3999
|
-
l = await
|
|
4018
|
+
l = await ro(document.documentElement, {
|
|
4000
4019
|
width: r,
|
|
4001
4020
|
height: i,
|
|
4002
4021
|
cacheBust: !0,
|
|
@@ -4005,6 +4024,8 @@ async function uo(e, t, n) {
|
|
|
4005
4024
|
filter(t) {
|
|
4006
4025
|
return !(e && (t === e || e.contains(t)) || t instanceof Element && t.hasAttribute("data-markup-skip"));
|
|
4007
4026
|
},
|
|
4027
|
+
imagePlaceholder: ao,
|
|
4028
|
+
onImageErrorHandler: () => {},
|
|
4008
4029
|
style: {
|
|
4009
4030
|
transform: `translateY(-${window.scrollY}px)`,
|
|
4010
4031
|
transformOrigin: "top left"
|
|
@@ -4015,29 +4036,41 @@ async function uo(e, t, n) {
|
|
|
4015
4036
|
}
|
|
4016
4037
|
if (t) {
|
|
4017
4038
|
let e = l.getContext("2d");
|
|
4018
|
-
e &&
|
|
4039
|
+
e && vo(e, t.x, t.y, a);
|
|
4019
4040
|
}
|
|
4020
|
-
let u = await
|
|
4021
|
-
|
|
4022
|
-
if (u.size <= ro) return {
|
|
4041
|
+
let u = await _o(l);
|
|
4042
|
+
return u ? {
|
|
4023
4043
|
blob: u,
|
|
4024
4044
|
redactedCount: s.length,
|
|
4025
4045
|
redactedSelectors: s
|
|
4026
|
-
};
|
|
4027
|
-
let d = await fo(l, .5);
|
|
4028
|
-
return !d || d.size > ro ? null : {
|
|
4029
|
-
blob: d,
|
|
4030
|
-
redactedCount: s.length,
|
|
4031
|
-
redactedSelectors: s
|
|
4032
|
-
};
|
|
4046
|
+
} : null;
|
|
4033
4047
|
} catch (e) {
|
|
4034
|
-
return
|
|
4048
|
+
return N(e, { context: "screenshot-capture" }), null;
|
|
4035
4049
|
}
|
|
4036
4050
|
}
|
|
4037
|
-
function
|
|
4051
|
+
function ho(e, t) {
|
|
4038
4052
|
return new Promise((n) => e.toBlob(n, "image/jpeg", t));
|
|
4039
4053
|
}
|
|
4040
|
-
function
|
|
4054
|
+
function go(e, t) {
|
|
4055
|
+
let n = document.createElement("canvas");
|
|
4056
|
+
n.width = Math.max(1, Math.round(e.width * t)), n.height = Math.max(1, Math.round(e.height * t));
|
|
4057
|
+
let r = n.getContext("2d");
|
|
4058
|
+
return r ? (r.imageSmoothingQuality = "high", r.drawImage(e, 0, 0, n.width, n.height), n) : null;
|
|
4059
|
+
}
|
|
4060
|
+
async function _o(e) {
|
|
4061
|
+
let t = null;
|
|
4062
|
+
for (let { quality: n, scale: r } of oo) {
|
|
4063
|
+
let i = r === 1 ? e : go(e, r);
|
|
4064
|
+
if (!i) continue;
|
|
4065
|
+
let a = await ho(i, n);
|
|
4066
|
+
if (a) {
|
|
4067
|
+
if (a.size <= io) return a;
|
|
4068
|
+
t = t == null ? a.size : Math.min(t, a.size);
|
|
4069
|
+
}
|
|
4070
|
+
}
|
|
4071
|
+
return N(/* @__PURE__ */ Error(t == null ? "Screenshot encode produced no blob at any quality/scale" : `Screenshot still ${t} bytes at the end of the encode ladder (cap ${io})`), { context: "screenshot-encode" }), null;
|
|
4072
|
+
}
|
|
4073
|
+
function vo(e, t, n, r) {
|
|
4041
4074
|
let i = r, a = 28 * i, o = a / 2, s = t * i, c = n * i;
|
|
4042
4075
|
e.save();
|
|
4043
4076
|
let l = 2 * i;
|
|
@@ -4055,7 +4088,7 @@ function po(e, t, n, r) {
|
|
|
4055
4088
|
}
|
|
4056
4089
|
//#endregion
|
|
4057
4090
|
//#region src/runtime/use-subscription-token.ts
|
|
4058
|
-
var
|
|
4091
|
+
var yo = Ar({
|
|
4059
4092
|
idle: { issued: (e, t) => ({
|
|
4060
4093
|
kind: "active",
|
|
4061
4094
|
token: t.token,
|
|
@@ -4066,9 +4099,9 @@ var mo = Ar({
|
|
|
4066
4099
|
token: t.token,
|
|
4067
4100
|
expiresAt: t.expiresAt
|
|
4068
4101
|
}) }
|
|
4069
|
-
}),
|
|
4070
|
-
function
|
|
4071
|
-
let [t, n] = jr(
|
|
4102
|
+
}), bo = 30 * 6e4, xo = 6e4, So = 6e4;
|
|
4103
|
+
function Co(e) {
|
|
4104
|
+
let [t, n] = jr(yo, { kind: "idle" });
|
|
4072
4105
|
return R(() => {
|
|
4073
4106
|
let t = !1, r = null;
|
|
4074
4107
|
async function i() {
|
|
@@ -4080,11 +4113,11 @@ function vo(e) {
|
|
|
4080
4113
|
token: a.token,
|
|
4081
4114
|
expiresAt: a.expiresAt
|
|
4082
4115
|
});
|
|
4083
|
-
let o = Math.max(
|
|
4116
|
+
let o = Math.max(xo, a.expiresAt - Date.now() - bo);
|
|
4084
4117
|
r = setTimeout(i, o);
|
|
4085
4118
|
} catch (e) {
|
|
4086
4119
|
if (t) return;
|
|
4087
|
-
e?.name !== "TypeError" &&
|
|
4120
|
+
e?.name !== "TypeError" && N(e, { context: "subscription-token-refresh" }), r = setTimeout(i, So);
|
|
4088
4121
|
}
|
|
4089
4122
|
}
|
|
4090
4123
|
return i(), () => {
|
|
@@ -4094,7 +4127,7 @@ function vo(e) {
|
|
|
4094
4127
|
}
|
|
4095
4128
|
//#endregion
|
|
4096
4129
|
//#region src/runtime/refresh-token.ts
|
|
4097
|
-
async function
|
|
4130
|
+
async function wo(e) {
|
|
4098
4131
|
try {
|
|
4099
4132
|
let t = {
|
|
4100
4133
|
method: "POST",
|
|
@@ -4125,13 +4158,13 @@ async function yo(e) {
|
|
|
4125
4158
|
};
|
|
4126
4159
|
} catch (e) {
|
|
4127
4160
|
let t = e?.name;
|
|
4128
|
-
return t !== "AbortError" && t !== "TypeError" &&
|
|
4161
|
+
return t !== "AbortError" && t !== "TypeError" && N(e, { context: "refresh-token" }), null;
|
|
4129
4162
|
}
|
|
4130
4163
|
}
|
|
4131
4164
|
//#endregion
|
|
4132
4165
|
//#region src/runtime/use-token-refresh.ts
|
|
4133
|
-
var
|
|
4134
|
-
function
|
|
4166
|
+
var To = 6e4, Eo = 500;
|
|
4167
|
+
function Do(e, t, n, r, i) {
|
|
4135
4168
|
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;
|
|
4136
4169
|
R(() => {
|
|
4137
4170
|
if (!a || c == null || l == null || o === "localStorage" && s == null || o !== "cookies" && o !== "localStorage") return;
|
|
@@ -4140,8 +4173,8 @@ function So(e, t, n, r, i) {
|
|
|
4140
4173
|
i();
|
|
4141
4174
|
return;
|
|
4142
4175
|
}
|
|
4143
|
-
let d = Math.max(
|
|
4144
|
-
let a = await
|
|
4176
|
+
let d = Math.max(Eo, l - To - u), f = new AbortController(), p = window.setTimeout(async () => {
|
|
4177
|
+
let a = await wo({
|
|
4145
4178
|
apiUrl: t,
|
|
4146
4179
|
apiKey: n,
|
|
4147
4180
|
mode: o,
|
|
@@ -4184,7 +4217,7 @@ function So(e, t, n, r, i) {
|
|
|
4184
4217
|
function Z(...e) {
|
|
4185
4218
|
return e.filter(Boolean).join(" ");
|
|
4186
4219
|
}
|
|
4187
|
-
function
|
|
4220
|
+
function Oo() {
|
|
4188
4221
|
return typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? {
|
|
4189
4222
|
mod: "⌘",
|
|
4190
4223
|
enter: "↵"
|
|
@@ -4195,7 +4228,7 @@ function Co() {
|
|
|
4195
4228
|
}
|
|
4196
4229
|
//#endregion
|
|
4197
4230
|
//#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
|
|
4198
|
-
var
|
|
4231
|
+
var ko = 0;
|
|
4199
4232
|
Array.isArray;
|
|
4200
4233
|
function Q(e, n, r, i, a, o) {
|
|
4201
4234
|
n ||= {};
|
|
@@ -4212,7 +4245,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4212
4245
|
__e: null,
|
|
4213
4246
|
__c: null,
|
|
4214
4247
|
constructor: void 0,
|
|
4215
|
-
__v: --
|
|
4248
|
+
__v: --ko,
|
|
4216
4249
|
__i: -1,
|
|
4217
4250
|
__u: 0,
|
|
4218
4251
|
__source: a,
|
|
@@ -4223,7 +4256,7 @@ function Q(e, n, r, i, a, o) {
|
|
|
4223
4256
|
}
|
|
4224
4257
|
//#endregion
|
|
4225
4258
|
//#region src/runtime/ui/icons.tsx
|
|
4226
|
-
function
|
|
4259
|
+
function Ao({ size: e = 16 }) {
|
|
4227
4260
|
return /* @__PURE__ */ Q("svg", {
|
|
4228
4261
|
width: e,
|
|
4229
4262
|
height: e,
|
|
@@ -4233,7 +4266,7 @@ function To({ size: e = 16 }) {
|
|
|
4233
4266
|
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" })
|
|
4234
4267
|
});
|
|
4235
4268
|
}
|
|
4236
|
-
function
|
|
4269
|
+
function jo({ size: e = 16 }) {
|
|
4237
4270
|
return /* @__PURE__ */ Q("svg", {
|
|
4238
4271
|
width: e,
|
|
4239
4272
|
height: e,
|
|
@@ -4242,7 +4275,7 @@ function Eo({ size: e = 16 }) {
|
|
|
4242
4275
|
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" })
|
|
4243
4276
|
});
|
|
4244
4277
|
}
|
|
4245
|
-
function
|
|
4278
|
+
function Mo({ size: e = 16 }) {
|
|
4246
4279
|
return /* @__PURE__ */ Q("svg", {
|
|
4247
4280
|
width: e,
|
|
4248
4281
|
height: e,
|
|
@@ -4252,7 +4285,7 @@ function Do({ size: e = 16 }) {
|
|
|
4252
4285
|
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" })
|
|
4253
4286
|
});
|
|
4254
4287
|
}
|
|
4255
|
-
function
|
|
4288
|
+
function No({ size: e = 16 }) {
|
|
4256
4289
|
return /* @__PURE__ */ Q("svg", {
|
|
4257
4290
|
width: e,
|
|
4258
4291
|
height: e,
|
|
@@ -4261,7 +4294,7 @@ function Oo({ size: e = 16 }) {
|
|
|
4261
4294
|
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" })
|
|
4262
4295
|
});
|
|
4263
4296
|
}
|
|
4264
|
-
function
|
|
4297
|
+
function Po({ size: e = 16 }) {
|
|
4265
4298
|
return /* @__PURE__ */ Q("svg", {
|
|
4266
4299
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4267
4300
|
width: e,
|
|
@@ -4271,7 +4304,7 @@ function ko({ size: e = 16 }) {
|
|
|
4271
4304
|
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" })
|
|
4272
4305
|
});
|
|
4273
4306
|
}
|
|
4274
|
-
function
|
|
4307
|
+
function Fo({ size: e = 16 }) {
|
|
4275
4308
|
return /* @__PURE__ */ Q("svg", {
|
|
4276
4309
|
width: e,
|
|
4277
4310
|
height: e,
|
|
@@ -4285,7 +4318,7 @@ function Ao({ size: e = 16 }) {
|
|
|
4285
4318
|
})
|
|
4286
4319
|
});
|
|
4287
4320
|
}
|
|
4288
|
-
function
|
|
4321
|
+
function Io({ size: e = 16 }) {
|
|
4289
4322
|
return /* @__PURE__ */ Q("svg", {
|
|
4290
4323
|
width: e,
|
|
4291
4324
|
height: e,
|
|
@@ -4294,7 +4327,7 @@ function jo({ size: e = 16 }) {
|
|
|
4294
4327
|
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" })
|
|
4295
4328
|
});
|
|
4296
4329
|
}
|
|
4297
|
-
function
|
|
4330
|
+
function Lo({ size: e = 16 }) {
|
|
4298
4331
|
return /* @__PURE__ */ Q("svg", {
|
|
4299
4332
|
width: e,
|
|
4300
4333
|
height: e,
|
|
@@ -4318,19 +4351,19 @@ function $({ size: e = 16, children: t }) {
|
|
|
4318
4351
|
children: t
|
|
4319
4352
|
});
|
|
4320
4353
|
}
|
|
4321
|
-
function
|
|
4354
|
+
function Ro({ size: e = 16 }) {
|
|
4322
4355
|
return /* @__PURE__ */ Q($, {
|
|
4323
4356
|
size: e,
|
|
4324
4357
|
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" })
|
|
4325
4358
|
});
|
|
4326
4359
|
}
|
|
4327
|
-
function
|
|
4360
|
+
function zo({ size: e = 16 }) {
|
|
4328
4361
|
return /* @__PURE__ */ Q($, {
|
|
4329
4362
|
size: e,
|
|
4330
4363
|
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" })]
|
|
4331
4364
|
});
|
|
4332
4365
|
}
|
|
4333
|
-
function
|
|
4366
|
+
function Bo({ size: e = 16 }) {
|
|
4334
4367
|
return /* @__PURE__ */ Q($, {
|
|
4335
4368
|
size: e,
|
|
4336
4369
|
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", {
|
|
@@ -4340,7 +4373,7 @@ function Fo({ size: e = 16 }) {
|
|
|
4340
4373
|
})]
|
|
4341
4374
|
});
|
|
4342
4375
|
}
|
|
4343
|
-
function
|
|
4376
|
+
function Vo({ size: e = 16 }) {
|
|
4344
4377
|
return /* @__PURE__ */ Q($, {
|
|
4345
4378
|
size: e,
|
|
4346
4379
|
children: [
|
|
@@ -4351,13 +4384,13 @@ function Io({ size: e = 16 }) {
|
|
|
4351
4384
|
]
|
|
4352
4385
|
});
|
|
4353
4386
|
}
|
|
4354
|
-
function
|
|
4387
|
+
function Ho({ size: e = 16 }) {
|
|
4355
4388
|
return /* @__PURE__ */ Q($, {
|
|
4356
4389
|
size: e,
|
|
4357
4390
|
children: /* @__PURE__ */ Q("path", { d: "M3 6h18M3 12h18M3 18h18" })
|
|
4358
4391
|
});
|
|
4359
4392
|
}
|
|
4360
|
-
function
|
|
4393
|
+
function Uo({ size: e = 16 }) {
|
|
4361
4394
|
return /* @__PURE__ */ Q($, {
|
|
4362
4395
|
size: e,
|
|
4363
4396
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4367,13 +4400,13 @@ function Ro({ size: e = 16 }) {
|
|
|
4367
4400
|
}), /* @__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" })]
|
|
4368
4401
|
});
|
|
4369
4402
|
}
|
|
4370
|
-
function
|
|
4403
|
+
function Wo({ size: e = 16 }) {
|
|
4371
4404
|
return /* @__PURE__ */ Q($, {
|
|
4372
4405
|
size: e,
|
|
4373
4406
|
children: /* @__PURE__ */ Q("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" })
|
|
4374
4407
|
});
|
|
4375
4408
|
}
|
|
4376
|
-
function
|
|
4409
|
+
function Go({ size: e = 16 }) {
|
|
4377
4410
|
return /* @__PURE__ */ Q($, {
|
|
4378
4411
|
size: e,
|
|
4379
4412
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4385,13 +4418,13 @@ function Bo({ size: e = 16 }) {
|
|
|
4385
4418
|
}), /* @__PURE__ */ Q("path", { d: "M8 21h8M12 17v4" })]
|
|
4386
4419
|
});
|
|
4387
4420
|
}
|
|
4388
|
-
function
|
|
4421
|
+
function Ko({ size: e = 16 }) {
|
|
4389
4422
|
return /* @__PURE__ */ Q($, {
|
|
4390
4423
|
size: e,
|
|
4391
4424
|
children: /* @__PURE__ */ Q("path", { d: "M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z" })
|
|
4392
4425
|
});
|
|
4393
4426
|
}
|
|
4394
|
-
function
|
|
4427
|
+
function qo({ size: e = 16 }) {
|
|
4395
4428
|
return /* @__PURE__ */ Q($, {
|
|
4396
4429
|
size: e,
|
|
4397
4430
|
children: [/* @__PURE__ */ Q("rect", {
|
|
@@ -4403,19 +4436,19 @@ function Ho({ size: e = 16 }) {
|
|
|
4403
4436
|
}), /* @__PURE__ */ Q("path", { d: "M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4" })]
|
|
4404
4437
|
});
|
|
4405
4438
|
}
|
|
4406
|
-
function
|
|
4439
|
+
function Jo({ size: e = 16 }) {
|
|
4407
4440
|
return /* @__PURE__ */ Q($, {
|
|
4408
4441
|
size: e,
|
|
4409
4442
|
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" })]
|
|
4410
4443
|
});
|
|
4411
4444
|
}
|
|
4412
|
-
function
|
|
4445
|
+
function Yo({ size: e = 16 }) {
|
|
4413
4446
|
return /* @__PURE__ */ Q($, {
|
|
4414
4447
|
size: e,
|
|
4415
4448
|
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" })]
|
|
4416
4449
|
});
|
|
4417
4450
|
}
|
|
4418
|
-
function
|
|
4451
|
+
function Xo({ size: e = 16 }) {
|
|
4419
4452
|
return /* @__PURE__ */ Q($, {
|
|
4420
4453
|
size: e,
|
|
4421
4454
|
children: [/* @__PURE__ */ Q("circle", {
|
|
@@ -4425,7 +4458,7 @@ function Go({ size: e = 16 }) {
|
|
|
4425
4458
|
}), /* @__PURE__ */ Q("path", { d: "M4 21a8 8 0 0 1 16 0" })]
|
|
4426
4459
|
});
|
|
4427
4460
|
}
|
|
4428
|
-
function
|
|
4461
|
+
function Zo({ size: e = 16 }) {
|
|
4429
4462
|
return /* @__PURE__ */ Q($, {
|
|
4430
4463
|
size: e,
|
|
4431
4464
|
children: [
|
|
@@ -4444,7 +4477,7 @@ function Ko({ size: e = 16 }) {
|
|
|
4444
4477
|
]
|
|
4445
4478
|
});
|
|
4446
4479
|
}
|
|
4447
|
-
function
|
|
4480
|
+
function Qo({ size: e = 16 }) {
|
|
4448
4481
|
return /* @__PURE__ */ Q($, {
|
|
4449
4482
|
size: e,
|
|
4450
4483
|
children: [
|
|
@@ -4456,7 +4489,7 @@ function qo({ size: e = 16 }) {
|
|
|
4456
4489
|
}
|
|
4457
4490
|
//#endregion
|
|
4458
4491
|
//#region src/runtime/ui/identity-menu.tsx
|
|
4459
|
-
function
|
|
4492
|
+
function $o({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, onSignIn: a, onSignOut: o, onForgetMe: s }) {
|
|
4460
4493
|
let [c, l] = L(!1), [u, d] = L(!1), [f, p] = L(!1), m = z(null);
|
|
4461
4494
|
R(() => {
|
|
4462
4495
|
if (!c) return;
|
|
@@ -4473,7 +4506,7 @@ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4473
4506
|
}, [c]), R(() => {
|
|
4474
4507
|
c || (d(!1), p(!1));
|
|
4475
4508
|
}, [c]);
|
|
4476
|
-
let h =
|
|
4509
|
+
let h = Ni(e), g = es(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";
|
|
4477
4510
|
return /* @__PURE__ */ Q("div", {
|
|
4478
4511
|
ref: m,
|
|
4479
4512
|
style: {
|
|
@@ -4506,7 +4539,7 @@ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4506
4539
|
}) : _ && g ? /* @__PURE__ */ Q("span", {
|
|
4507
4540
|
class: "markup-avatar-initials",
|
|
4508
4541
|
children: g
|
|
4509
|
-
}) : /* @__PURE__ */ Q(
|
|
4542
|
+
}) : /* @__PURE__ */ Q(Xo, { size: 14 })
|
|
4510
4543
|
}), _ && h ? /* @__PURE__ */ Q("span", {
|
|
4511
4544
|
class: "markup-sr-only",
|
|
4512
4545
|
children: h
|
|
@@ -4535,7 +4568,7 @@ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4535
4568
|
onClick: () => l(!1),
|
|
4536
4569
|
children: [/* @__PURE__ */ Q("span", {
|
|
4537
4570
|
class: "ic",
|
|
4538
|
-
children: /* @__PURE__ */ Q(
|
|
4571
|
+
children: /* @__PURE__ */ Q(Qo, { size: 16 })
|
|
4539
4572
|
}), /* @__PURE__ */ Q("span", {
|
|
4540
4573
|
class: "lbl",
|
|
4541
4574
|
children: "Account"
|
|
@@ -4551,7 +4584,7 @@ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4551
4584
|
},
|
|
4552
4585
|
children: [/* @__PURE__ */ Q("span", {
|
|
4553
4586
|
class: "ic",
|
|
4554
|
-
children: /* @__PURE__ */ Q(
|
|
4587
|
+
children: /* @__PURE__ */ Q(Yo, { size: 16 })
|
|
4555
4588
|
}), /* @__PURE__ */ Q("span", {
|
|
4556
4589
|
class: "lbl",
|
|
4557
4590
|
children: r ? "Signing out…" : f ? "Confirm — sign out of this site" : "Sign out"
|
|
@@ -4574,7 +4607,7 @@ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4574
4607
|
onClick: () => {
|
|
4575
4608
|
l(!1), a();
|
|
4576
4609
|
},
|
|
4577
|
-
children: [/* @__PURE__ */ Q(
|
|
4610
|
+
children: [/* @__PURE__ */ Q(Jo, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
|
|
4578
4611
|
}),
|
|
4579
4612
|
/* @__PURE__ */ Q("button", {
|
|
4580
4613
|
type: "button",
|
|
@@ -4593,12 +4626,12 @@ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
|
|
|
4593
4626
|
}) : null]
|
|
4594
4627
|
});
|
|
4595
4628
|
}
|
|
4596
|
-
function
|
|
4629
|
+
function es(e) {
|
|
4597
4630
|
return e && e.trim().split(/\s+/).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("") || null;
|
|
4598
4631
|
}
|
|
4599
4632
|
//#endregion
|
|
4600
4633
|
//#region src/runtime/ui/notifications-panel.tsx
|
|
4601
|
-
function
|
|
4634
|
+
function ts({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
|
|
4602
4635
|
let s = e.some((e) => e.readAt == null);
|
|
4603
4636
|
return /* @__PURE__ */ Q("div", {
|
|
4604
4637
|
class: "markup-notifications-panel",
|
|
@@ -4613,7 +4646,7 @@ function Xo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4613
4646
|
title: "Back to menu",
|
|
4614
4647
|
"aria-label": "Back to menu",
|
|
4615
4648
|
onClick: r,
|
|
4616
|
-
children: /* @__PURE__ */ Q(
|
|
4649
|
+
children: /* @__PURE__ */ Q(Mo, { size: 16 })
|
|
4617
4650
|
}),
|
|
4618
4651
|
/* @__PURE__ */ Q("span", {
|
|
4619
4652
|
class: "markup-eyebrow",
|
|
@@ -4670,7 +4703,7 @@ function Xo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4670
4703
|
role: "img",
|
|
4671
4704
|
"aria-label": "Written by an AI agent",
|
|
4672
4705
|
title: "Written by an AI agent on this person's behalf",
|
|
4673
|
-
children: /* @__PURE__ */ Q(
|
|
4706
|
+
children: /* @__PURE__ */ Q(Zo, { size: 11 })
|
|
4674
4707
|
}) : null,
|
|
4675
4708
|
/* @__PURE__ */ Q("span", {
|
|
4676
4709
|
class: "markup-notifications-panel-sep",
|
|
@@ -4678,7 +4711,7 @@ function Xo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4678
4711
|
}),
|
|
4679
4712
|
/* @__PURE__ */ Q("span", {
|
|
4680
4713
|
class: "markup-notifications-panel-time",
|
|
4681
|
-
children:
|
|
4714
|
+
children: ns(e.createdAt)
|
|
4682
4715
|
})
|
|
4683
4716
|
]
|
|
4684
4717
|
}),
|
|
@@ -4707,7 +4740,7 @@ function Xo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
|
|
|
4707
4740
|
})]
|
|
4708
4741
|
});
|
|
4709
4742
|
}
|
|
4710
|
-
function
|
|
4743
|
+
function ns(e) {
|
|
4711
4744
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
4712
4745
|
if (n < 60) return "just now";
|
|
4713
4746
|
let r = Math.floor(n / 60);
|
|
@@ -4719,7 +4752,7 @@ function Zo(e) {
|
|
|
4719
4752
|
}
|
|
4720
4753
|
//#endregion
|
|
4721
4754
|
//#region src/runtime/ui/inbox-popover.tsx
|
|
4722
|
-
function
|
|
4755
|
+
function rs({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, onClose: a, onItemClick: o, onMarkAllRead: s }) {
|
|
4723
4756
|
let c = z(null);
|
|
4724
4757
|
return R(() => {
|
|
4725
4758
|
function e(e) {
|
|
@@ -4743,7 +4776,7 @@ function Qo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, on
|
|
|
4743
4776
|
children: /* @__PURE__ */ Q("div", {
|
|
4744
4777
|
class: "markup-pop",
|
|
4745
4778
|
"data-pop": "inbox",
|
|
4746
|
-
children: /* @__PURE__ */ Q(
|
|
4779
|
+
children: /* @__PURE__ */ Q(ts, {
|
|
4747
4780
|
items: t,
|
|
4748
4781
|
isLoading: n,
|
|
4749
4782
|
error: r,
|
|
@@ -4757,7 +4790,7 @@ function Qo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, on
|
|
|
4757
4790
|
}
|
|
4758
4791
|
//#endregion
|
|
4759
4792
|
//#region src/runtime/use-drag.ts
|
|
4760
|
-
function
|
|
4793
|
+
function is(e) {
|
|
4761
4794
|
let t = z(e);
|
|
4762
4795
|
t.current = e;
|
|
4763
4796
|
let [n, r] = L(!1);
|
|
@@ -4785,8 +4818,8 @@ function $o(e) {
|
|
|
4785
4818
|
h = !0, r(!0), t.current.onStart?.();
|
|
4786
4819
|
}
|
|
4787
4820
|
let a = Math.max(p, window.innerWidth - u - p), _ = Math.max(p, window.innerHeight - d - p), v = {
|
|
4788
|
-
left:
|
|
4789
|
-
top:
|
|
4821
|
+
left: as(c + n, p, a),
|
|
4822
|
+
top: as(l + i, p, _)
|
|
4790
4823
|
};
|
|
4791
4824
|
g = v, t.current.onMove(v);
|
|
4792
4825
|
}
|
|
@@ -4801,12 +4834,12 @@ function $o(e) {
|
|
|
4801
4834
|
isDragging: n
|
|
4802
4835
|
};
|
|
4803
4836
|
}
|
|
4804
|
-
function
|
|
4837
|
+
function as(e, t, n) {
|
|
4805
4838
|
return Math.max(t, Math.min(n, e));
|
|
4806
4839
|
}
|
|
4807
4840
|
//#endregion
|
|
4808
4841
|
//#region src/runtime/use-focus-trap.ts
|
|
4809
|
-
var
|
|
4842
|
+
var os = [
|
|
4810
4843
|
"a[href]",
|
|
4811
4844
|
"button:not([disabled])",
|
|
4812
4845
|
"input:not([disabled])",
|
|
@@ -4814,14 +4847,14 @@ var ts = [
|
|
|
4814
4847
|
"textarea:not([disabled])",
|
|
4815
4848
|
"[tabindex]:not([tabindex=\"-1\"])"
|
|
4816
4849
|
].join(",");
|
|
4817
|
-
function
|
|
4850
|
+
function ss(e, t) {
|
|
4818
4851
|
R(() => {
|
|
4819
4852
|
if (!t) return;
|
|
4820
4853
|
let n = e.current;
|
|
4821
4854
|
if (!n) return;
|
|
4822
4855
|
function r(e) {
|
|
4823
4856
|
if (e.key !== "Tab") return;
|
|
4824
|
-
let t = Array.from(n.querySelectorAll(
|
|
4857
|
+
let t = Array.from(n.querySelectorAll(os)), r = t[0], i = t[t.length - 1];
|
|
4825
4858
|
if (!r || !i) return;
|
|
4826
4859
|
let a = n.getRootNode(), o = a instanceof ShadowRoot ? a.activeElement : document.activeElement;
|
|
4827
4860
|
(e.shiftKey ? o === r : o === i) && (e.preventDefault(), (e.shiftKey ? i : r).focus());
|
|
@@ -4831,7 +4864,7 @@ function ns(e, t) {
|
|
|
4831
4864
|
}
|
|
4832
4865
|
//#endregion
|
|
4833
4866
|
//#region src/runtime/use-object-url.ts
|
|
4834
|
-
function
|
|
4867
|
+
function cs(e) {
|
|
4835
4868
|
let [t, n] = L(null);
|
|
4836
4869
|
return R(() => {
|
|
4837
4870
|
if (!e) {
|
|
@@ -4844,7 +4877,7 @@ function rs(e) {
|
|
|
4844
4877
|
}
|
|
4845
4878
|
//#endregion
|
|
4846
4879
|
//#region src/runtime/ui/author-prompt.tsx
|
|
4847
|
-
function
|
|
4880
|
+
function ls({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit: r, onCancel: i, onSignIn: a }) {
|
|
4848
4881
|
let [o, s] = L(""), [c, l] = L(""), u = z(null);
|
|
4849
4882
|
R(() => {
|
|
4850
4883
|
u.current?.focus();
|
|
@@ -4923,27 +4956,27 @@ function is({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit:
|
|
|
4923
4956
|
}
|
|
4924
4957
|
//#endregion
|
|
4925
4958
|
//#region src/runtime/mention-input.ts
|
|
4926
|
-
var
|
|
4959
|
+
var us = "data-markup-mention", ds = "data-markup-mention-name", fs = new Set([
|
|
4927
4960
|
"DIV",
|
|
4928
4961
|
"P",
|
|
4929
4962
|
"LI",
|
|
4930
4963
|
"BLOCKQUOTE",
|
|
4931
4964
|
"PRE"
|
|
4932
|
-
]),
|
|
4933
|
-
function
|
|
4965
|
+
]), ps = 3, ms = 1;
|
|
4966
|
+
function hs(e) {
|
|
4934
4967
|
let t = "", n = (r) => {
|
|
4935
4968
|
let i = r.childNodes;
|
|
4936
4969
|
for (let a = 0; a < i.length; a++) {
|
|
4937
4970
|
let o = i[a];
|
|
4938
4971
|
if (!o) continue;
|
|
4939
|
-
if (o.nodeType ===
|
|
4972
|
+
if (o.nodeType === ps) {
|
|
4940
4973
|
t += o.data;
|
|
4941
4974
|
continue;
|
|
4942
4975
|
}
|
|
4943
|
-
if (o.nodeType !==
|
|
4944
|
-
let s = o, c = s.getAttribute(
|
|
4976
|
+
if (o.nodeType !== ms) continue;
|
|
4977
|
+
let s = o, c = s.getAttribute(us);
|
|
4945
4978
|
if (c) {
|
|
4946
|
-
let e =
|
|
4979
|
+
let e = gs(s);
|
|
4947
4980
|
t += Ir({
|
|
4948
4981
|
userId: c,
|
|
4949
4982
|
name: e
|
|
@@ -4954,77 +4987,77 @@ function us(e) {
|
|
|
4954
4987
|
r === e && a === i.length - 1 || (t += "\n");
|
|
4955
4988
|
continue;
|
|
4956
4989
|
}
|
|
4957
|
-
|
|
4990
|
+
fs.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
|
|
4958
4991
|
}
|
|
4959
4992
|
};
|
|
4960
4993
|
return n(e), t;
|
|
4961
4994
|
}
|
|
4962
|
-
function
|
|
4963
|
-
return e.getAttribute(
|
|
4995
|
+
function gs(e) {
|
|
4996
|
+
return e.getAttribute(ds) || (e.textContent ?? "").replace(/^@/, "");
|
|
4964
4997
|
}
|
|
4965
|
-
function
|
|
4998
|
+
function _s(e, t, n) {
|
|
4966
4999
|
let r = e.createElement("span");
|
|
4967
|
-
return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(
|
|
5000
|
+
return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(us, t.userId), r.setAttribute(ds, t.name), r.textContent = `@${t.name}`, r;
|
|
4968
5001
|
}
|
|
4969
|
-
function
|
|
5002
|
+
function vs(e, t, n) {
|
|
4970
5003
|
let r = e.createDocumentFragment();
|
|
4971
5004
|
for (let i of Nr(t)) {
|
|
4972
5005
|
if (i.type === "text") {
|
|
4973
5006
|
i.value && r.appendChild(e.createTextNode(i.value));
|
|
4974
5007
|
continue;
|
|
4975
5008
|
}
|
|
4976
|
-
r.appendChild(
|
|
5009
|
+
r.appendChild(_s(e, {
|
|
4977
5010
|
userId: i.userId,
|
|
4978
5011
|
name: i.name
|
|
4979
5012
|
}, n));
|
|
4980
5013
|
}
|
|
4981
5014
|
return r;
|
|
4982
5015
|
}
|
|
4983
|
-
function
|
|
5016
|
+
function ys(e) {
|
|
4984
5017
|
let t = e.getRootNode();
|
|
4985
5018
|
return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument.getSelection();
|
|
4986
5019
|
}
|
|
4987
|
-
function
|
|
4988
|
-
let t =
|
|
5020
|
+
function bs(e) {
|
|
5021
|
+
let t = ys(e);
|
|
4989
5022
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return null;
|
|
4990
5023
|
let n = t.focusNode;
|
|
4991
|
-
return !n || n.nodeType !==
|
|
5024
|
+
return !n || n.nodeType !== ps || !e.contains(n) || xs(n, e) ? null : {
|
|
4992
5025
|
node: n,
|
|
4993
5026
|
offset: t.focusOffset
|
|
4994
5027
|
};
|
|
4995
5028
|
}
|
|
4996
|
-
function
|
|
5029
|
+
function xs(e, t) {
|
|
4997
5030
|
let n = e;
|
|
4998
5031
|
for (; n && n !== t;) {
|
|
4999
|
-
if (n.nodeType ===
|
|
5032
|
+
if (n.nodeType === ms && n.hasAttribute("data-markup-mention")) return n;
|
|
5000
5033
|
n = n.parentNode;
|
|
5001
5034
|
}
|
|
5002
5035
|
return null;
|
|
5003
5036
|
}
|
|
5004
|
-
function
|
|
5005
|
-
let t =
|
|
5037
|
+
function Ss(e) {
|
|
5038
|
+
let t = ys(e);
|
|
5006
5039
|
if (!t || t.rangeCount === 0 || !t.isCollapsed) return;
|
|
5007
5040
|
let n = t.focusNode;
|
|
5008
5041
|
if (!n || !e.contains(n)) return;
|
|
5009
|
-
let r =
|
|
5042
|
+
let r = xs(n, e);
|
|
5010
5043
|
if (!r) return;
|
|
5011
5044
|
let i = r.nextSibling;
|
|
5012
|
-
(!i || i.nodeType !==
|
|
5045
|
+
(!i || i.nodeType !== ps) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), Cs(e, i, 0);
|
|
5013
5046
|
}
|
|
5014
|
-
function
|
|
5015
|
-
let r =
|
|
5047
|
+
function Cs(e, t, n) {
|
|
5048
|
+
let r = ys(e);
|
|
5016
5049
|
if (!r) return;
|
|
5017
5050
|
let i = e.ownerDocument.createRange();
|
|
5018
5051
|
i.setStart(t, n), i.collapse(!0), r.removeAllRanges(), r.addRange(i);
|
|
5019
5052
|
}
|
|
5020
|
-
function
|
|
5053
|
+
function ws(e) {
|
|
5021
5054
|
let t = Fr(e.node.data, e.offset);
|
|
5022
5055
|
return t ? {
|
|
5023
5056
|
...t,
|
|
5024
5057
|
textNode: e.node
|
|
5025
5058
|
} : null;
|
|
5026
5059
|
}
|
|
5027
|
-
function
|
|
5060
|
+
function Ts(e, t, n, r) {
|
|
5028
5061
|
if (Ir(n) == null) return !1;
|
|
5029
5062
|
let i = t.textNode;
|
|
5030
5063
|
if (!e.contains(i)) return !1;
|
|
@@ -5032,31 +5065,31 @@ function bs(e, t, n, r) {
|
|
|
5032
5065
|
if (!a || t.caret > i.data.length) return !1;
|
|
5033
5066
|
i.deleteData(t.at, t.caret - t.at);
|
|
5034
5067
|
let o = i.splitText(t.at);
|
|
5035
|
-
return a.insertBefore(
|
|
5068
|
+
return a.insertBefore(_s(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), Cs(e, o, 1), !0;
|
|
5036
5069
|
}
|
|
5037
|
-
function
|
|
5038
|
-
let n =
|
|
5070
|
+
function Es(e, t) {
|
|
5071
|
+
let n = ys(e);
|
|
5039
5072
|
if (!n || n.rangeCount === 0) return;
|
|
5040
5073
|
let r = n.getRangeAt(0);
|
|
5041
5074
|
if (!e.contains(r.commonAncestorContainer)) return;
|
|
5042
5075
|
r.deleteContents();
|
|
5043
5076
|
let { startContainer: i, startOffset: a } = r;
|
|
5044
|
-
if (i.nodeType ===
|
|
5077
|
+
if (i.nodeType === ps) {
|
|
5045
5078
|
let n = i;
|
|
5046
|
-
n.insertData(a, t),
|
|
5079
|
+
n.insertData(a, t), Cs(e, n, a + t.length);
|
|
5047
5080
|
return;
|
|
5048
5081
|
}
|
|
5049
5082
|
let o = e.ownerDocument.createTextNode(t);
|
|
5050
|
-
r.insertNode(o),
|
|
5083
|
+
r.insertNode(o), Cs(e, o, o.data.length);
|
|
5051
5084
|
}
|
|
5052
|
-
function
|
|
5085
|
+
function Ds(e, t) {
|
|
5053
5086
|
let n = e.ownerDocument, r = null, i = null, a = !0;
|
|
5054
5087
|
function o(t) {
|
|
5055
5088
|
let n = t.length === 0;
|
|
5056
5089
|
n === a && e.hasAttribute("data-empty") === n || (a = n, e.toggleAttribute("data-empty", n));
|
|
5057
5090
|
}
|
|
5058
5091
|
function s() {
|
|
5059
|
-
let n =
|
|
5092
|
+
let n = hs(e);
|
|
5060
5093
|
o(n), t.onChange(n);
|
|
5061
5094
|
}
|
|
5062
5095
|
function c(e) {
|
|
@@ -5072,7 +5105,7 @@ function Ss(e, t) {
|
|
|
5072
5105
|
c(null);
|
|
5073
5106
|
return;
|
|
5074
5107
|
}
|
|
5075
|
-
let n =
|
|
5108
|
+
let n = bs(e), r = n ? ws(n) : null;
|
|
5076
5109
|
if (r && i && r.textNode === i.node && r.at === i.at) {
|
|
5077
5110
|
c(null);
|
|
5078
5111
|
return;
|
|
@@ -5080,29 +5113,29 @@ function Ss(e, t) {
|
|
|
5080
5113
|
i = null, c(r);
|
|
5081
5114
|
}
|
|
5082
5115
|
function u(r) {
|
|
5083
|
-
e.replaceChildren(
|
|
5116
|
+
e.replaceChildren(vs(n, r, t.chipClass)), o(hs(e)), i = null, c(null);
|
|
5084
5117
|
}
|
|
5085
5118
|
let d = () => {
|
|
5086
5119
|
s(), l();
|
|
5087
5120
|
}, f = () => l(), p = () => {
|
|
5088
|
-
|
|
5121
|
+
Ss(e), l();
|
|
5089
5122
|
}, m = (t) => {
|
|
5090
5123
|
let n = t.clipboardData?.getData("text/plain");
|
|
5091
|
-
t.preventDefault(), n && (
|
|
5124
|
+
t.preventDefault(), n && (Es(e, n.replace(/\r\n?/g, "\n")), s(), l());
|
|
5092
5125
|
}, h = (e) => {
|
|
5093
5126
|
e.preventDefault();
|
|
5094
5127
|
};
|
|
5095
5128
|
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 ?? ""), {
|
|
5096
|
-
getValue: () =>
|
|
5129
|
+
getValue: () => hs(e),
|
|
5097
5130
|
setValue: u,
|
|
5098
5131
|
focus() {
|
|
5099
5132
|
e.focus();
|
|
5100
5133
|
let t = e.lastChild;
|
|
5101
|
-
t && (t.nodeType ===
|
|
5134
|
+
t && (t.nodeType === ps ? Cs(e, t, t.data.length) : Cs(e, e, e.childNodes.length));
|
|
5102
5135
|
},
|
|
5103
5136
|
insertMention(n) {
|
|
5104
|
-
let a =
|
|
5105
|
-
o &&
|
|
5137
|
+
let a = bs(e), o = (a ? ws(a) : null) ?? r;
|
|
5138
|
+
o && Ts(e, o, n, t.chipClass) && (s(), i = null, c(null));
|
|
5106
5139
|
},
|
|
5107
5140
|
syncTrigger: l,
|
|
5108
5141
|
clearTrigger: () => c(null),
|
|
@@ -5117,21 +5150,21 @@ function Ss(e, t) {
|
|
|
5117
5150
|
}
|
|
5118
5151
|
};
|
|
5119
5152
|
}
|
|
5120
|
-
var
|
|
5121
|
-
function
|
|
5122
|
-
if (
|
|
5153
|
+
var Os = null;
|
|
5154
|
+
function ks() {
|
|
5155
|
+
if (Os) return Os;
|
|
5123
5156
|
if (typeof document > "u") return "true";
|
|
5124
5157
|
let e = document.createElement("div");
|
|
5125
5158
|
try {
|
|
5126
|
-
e.contentEditable = "plaintext-only",
|
|
5159
|
+
e.contentEditable = "plaintext-only", Os = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
|
|
5127
5160
|
} catch {
|
|
5128
|
-
|
|
5161
|
+
Os = "true";
|
|
5129
5162
|
}
|
|
5130
|
-
return
|
|
5163
|
+
return Os;
|
|
5131
5164
|
}
|
|
5132
5165
|
//#endregion
|
|
5133
5166
|
//#region src/runtime/ui/mentions.tsx
|
|
5134
|
-
function
|
|
5167
|
+
function As({ body: e, mentions: t, trailing: n }) {
|
|
5135
5168
|
let r = B(() => new Set(t), [t]);
|
|
5136
5169
|
return /* @__PURE__ */ Q("p", {
|
|
5137
5170
|
class: "markup-comment-body",
|
|
@@ -5141,7 +5174,7 @@ function Ts({ body: e, mentions: t, trailing: n }) {
|
|
|
5141
5174
|
}, t) : /* @__PURE__ */ Q("span", { children: e.type === "mention" ? `@${e.name}` : e.value }, t)), n]
|
|
5142
5175
|
});
|
|
5143
5176
|
}
|
|
5144
|
-
function
|
|
5177
|
+
function js(e) {
|
|
5145
5178
|
let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = L(0), s = B(() => {
|
|
5146
5179
|
if (!n) return [];
|
|
5147
5180
|
let e = n.query.toLowerCase();
|
|
@@ -5169,7 +5202,7 @@ function Es(e) {
|
|
|
5169
5202
|
handleKeyDown: c
|
|
5170
5203
|
};
|
|
5171
5204
|
}
|
|
5172
|
-
function
|
|
5205
|
+
function Ms({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
|
|
5173
5206
|
return e.length === 0 ? null : /* @__PURE__ */ Q("ul", {
|
|
5174
5207
|
class: "markup-mention-picker",
|
|
5175
5208
|
role: "listbox",
|
|
@@ -5195,7 +5228,7 @@ function Ds({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
|
|
|
5195
5228
|
}
|
|
5196
5229
|
//#endregion
|
|
5197
5230
|
//#region src/runtime/ui/mention-input.tsx
|
|
5198
|
-
function
|
|
5231
|
+
function Ns({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
|
|
5199
5232
|
let u = z(null), d = z(null), [f, p] = L(null), m = z(t);
|
|
5200
5233
|
m.current = t;
|
|
5201
5234
|
let h = z(r);
|
|
@@ -5204,7 +5237,7 @@ function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5204
5237
|
qe(() => {
|
|
5205
5238
|
let e = u.current;
|
|
5206
5239
|
if (!e) return;
|
|
5207
|
-
let t =
|
|
5240
|
+
let t = Ds(e, {
|
|
5208
5241
|
chipClass: "markup-mention-chip",
|
|
5209
5242
|
initialValue: g.current,
|
|
5210
5243
|
onChange: (e) => m.current(e),
|
|
@@ -5224,7 +5257,7 @@ function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5224
5257
|
let t = d.current;
|
|
5225
5258
|
t && t.getValue() !== e && t.setValue(e);
|
|
5226
5259
|
}, [e]);
|
|
5227
|
-
let _ =
|
|
5260
|
+
let _ = js({
|
|
5228
5261
|
members: r ?? [],
|
|
5229
5262
|
trigger: f,
|
|
5230
5263
|
onSelect: (e) => d.current?.insertMention(e),
|
|
@@ -5237,7 +5270,7 @@ function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5237
5270
|
"aria-label": i,
|
|
5238
5271
|
"aria-disabled": o || void 0,
|
|
5239
5272
|
class: Z("markup-mention-input", c),
|
|
5240
|
-
contentEditable: o ? "false" :
|
|
5273
|
+
contentEditable: o ? "false" : ks(),
|
|
5241
5274
|
"data-placeholder": a,
|
|
5242
5275
|
tabIndex: o ? -1 : 0,
|
|
5243
5276
|
onKeyDown: (e) => {
|
|
@@ -5246,7 +5279,7 @@ function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5246
5279
|
onBlur: () => {
|
|
5247
5280
|
setTimeout(() => d.current?.clearTrigger(), 120);
|
|
5248
5281
|
}
|
|
5249
|
-
}), _.isOpen ? /* @__PURE__ */ Q(
|
|
5282
|
+
}), _.isOpen ? /* @__PURE__ */ Q(Ms, {
|
|
5250
5283
|
items: _.items,
|
|
5251
5284
|
highlight: _.highlight,
|
|
5252
5285
|
setHighlight: _.setHighlight,
|
|
@@ -5255,13 +5288,13 @@ function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
|
|
|
5255
5288
|
}
|
|
5256
5289
|
//#endregion
|
|
5257
5290
|
//#region src/runtime/ui/composer.tsx
|
|
5258
|
-
var
|
|
5259
|
-
function
|
|
5291
|
+
var Ps = 4e3;
|
|
5292
|
+
function Fs({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, members: s }) {
|
|
5260
5293
|
let [c, l] = L(""), u = z(null), d = z(!1);
|
|
5261
5294
|
R(() => {
|
|
5262
5295
|
d.current && !i && !a && (l(""), u.current?.focus()), d.current = i;
|
|
5263
5296
|
}, [i, a]);
|
|
5264
|
-
let f =
|
|
5297
|
+
let f = Ps - c.length, p = f < 0;
|
|
5265
5298
|
function m(e) {
|
|
5266
5299
|
e?.preventDefault();
|
|
5267
5300
|
let t = c.trim();
|
|
@@ -5270,7 +5303,7 @@ function As({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5270
5303
|
function h(e) {
|
|
5271
5304
|
(e.metaKey || e.ctrlKey) && e.key === "Enter" && m(e);
|
|
5272
5305
|
}
|
|
5273
|
-
let g = c.length > 0, _ =
|
|
5306
|
+
let g = c.length > 0, _ = Oo();
|
|
5274
5307
|
function v(e) {
|
|
5275
5308
|
return /* @__PURE__ */ Q("button", {
|
|
5276
5309
|
type: "submit",
|
|
@@ -5279,14 +5312,14 @@ function As({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5279
5312
|
"aria-label": i ? "Sending…" : n,
|
|
5280
5313
|
title: i ? "Sending…" : n,
|
|
5281
5314
|
tabIndex: e,
|
|
5282
|
-
children: /* @__PURE__ */ Q(
|
|
5315
|
+
children: /* @__PURE__ */ Q(Io, { size: 14 })
|
|
5283
5316
|
});
|
|
5284
5317
|
}
|
|
5285
5318
|
return /* @__PURE__ */ Q("form", {
|
|
5286
5319
|
class: Z("markup-composer", g && "is-filled"),
|
|
5287
5320
|
onSubmit: m,
|
|
5288
5321
|
children: [
|
|
5289
|
-
/* @__PURE__ */ Q(
|
|
5322
|
+
/* @__PURE__ */ Q(Ns, {
|
|
5290
5323
|
class: "markup-composer-input",
|
|
5291
5324
|
label: e,
|
|
5292
5325
|
placeholder: t,
|
|
@@ -5340,57 +5373,57 @@ function As({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
|
|
|
5340
5373
|
}
|
|
5341
5374
|
//#endregion
|
|
5342
5375
|
//#region src/runtime/ui/new-thread-popover.tsx
|
|
5343
|
-
function
|
|
5344
|
-
let
|
|
5345
|
-
|
|
5346
|
-
let [
|
|
5347
|
-
targetRef:
|
|
5376
|
+
function Is({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, isPending: o, error: s, screenshot: c, isScreenshotCapturing: l, screenshotFailed: u, screenshotRedactedCount: d, screenshotRedactedSelectors: f, members: p = [], onAuthor: m, onSignIn: h, onSubmit: g, onClose: _ }) {
|
|
5377
|
+
let v = z(null);
|
|
5378
|
+
ss(v, !0);
|
|
5379
|
+
let [y, b] = L(!1), [x, C] = L(!1), w = cs(c), [T, E] = L(null), { onPointerDown: D, isDragging: O } = is({
|
|
5380
|
+
targetRef: v,
|
|
5348
5381
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
5349
|
-
onMove:
|
|
5382
|
+
onMove: E
|
|
5350
5383
|
});
|
|
5351
5384
|
R(() => {
|
|
5352
|
-
let e =
|
|
5385
|
+
let e = v.current;
|
|
5353
5386
|
if (!e) return;
|
|
5354
5387
|
if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
|
|
5355
5388
|
e.showPopover();
|
|
5356
5389
|
} catch {}
|
|
5357
5390
|
function t(e) {
|
|
5358
|
-
e.newState === "closed" &&
|
|
5391
|
+
e.newState === "closed" && _();
|
|
5359
5392
|
}
|
|
5360
5393
|
return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
|
|
5361
|
-
}, [
|
|
5362
|
-
let
|
|
5394
|
+
}, [_]);
|
|
5395
|
+
let ee = Ls(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), te = Ls(t - window.scrollY - 16, 12, window.innerHeight - 220), k = typeof window < "u" ? window.location.href : "", A = c != null, j = l || A || u;
|
|
5363
5396
|
return /* @__PURE__ */ Q("div", {
|
|
5364
|
-
ref:
|
|
5365
|
-
class: Z("markup-popover",
|
|
5397
|
+
ref: v,
|
|
5398
|
+
class: Z("markup-popover", T && "is-floating", O && "is-dragging"),
|
|
5366
5399
|
popover: "auto",
|
|
5367
5400
|
style: {
|
|
5368
|
-
"--markup-pop-x": `${
|
|
5369
|
-
"--markup-pop-y": `${
|
|
5401
|
+
"--markup-pop-x": `${T?.left ?? ee}px`,
|
|
5402
|
+
"--markup-pop-y": `${T?.top ?? te}px`
|
|
5370
5403
|
},
|
|
5371
5404
|
role: "dialog",
|
|
5372
5405
|
"aria-label": "New markup",
|
|
5373
5406
|
children: [/* @__PURE__ */ Q("header", {
|
|
5374
5407
|
class: "markup-popover-header",
|
|
5375
|
-
onPointerDown:
|
|
5408
|
+
onPointerDown: D,
|
|
5376
5409
|
children: [/* @__PURE__ */ Q("span", {
|
|
5377
5410
|
class: "markup-popover-title",
|
|
5378
|
-
title:
|
|
5411
|
+
title: k,
|
|
5379
5412
|
children: "New comment"
|
|
5380
5413
|
}), /* @__PURE__ */ Q("button", {
|
|
5381
5414
|
type: "button",
|
|
5382
5415
|
class: "markup-icon-btn",
|
|
5383
5416
|
"aria-label": "Discard pin",
|
|
5384
|
-
onClick:
|
|
5385
|
-
children: /* @__PURE__ */ Q(
|
|
5417
|
+
onClick: _,
|
|
5418
|
+
children: /* @__PURE__ */ Q(jo, { size: 16 })
|
|
5386
5419
|
})]
|
|
5387
|
-
}), n == null ? /* @__PURE__ */ Q(
|
|
5420
|
+
}), n == null ? /* @__PURE__ */ Q(ls, {
|
|
5388
5421
|
isPending: o,
|
|
5389
5422
|
isConnecting: i,
|
|
5390
5423
|
isSigningIn: a,
|
|
5391
|
-
onSubmit:
|
|
5392
|
-
onCancel:
|
|
5393
|
-
onSignIn:
|
|
5424
|
+
onSubmit: m,
|
|
5425
|
+
onCancel: _,
|
|
5426
|
+
onSignIn: h
|
|
5394
5427
|
}) : /* @__PURE__ */ Q("div", {
|
|
5395
5428
|
class: "markup-popover-body",
|
|
5396
5429
|
children: [
|
|
@@ -5408,17 +5441,17 @@ function js({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5408
5441
|
}) : null
|
|
5409
5442
|
]
|
|
5410
5443
|
}),
|
|
5411
|
-
/* @__PURE__ */ Q(
|
|
5444
|
+
/* @__PURE__ */ Q(Fs, {
|
|
5412
5445
|
label: "Feedback",
|
|
5413
5446
|
placeholder: "What's wrong, missing, or worth noting?",
|
|
5414
5447
|
submitLabel: "Post markup",
|
|
5415
5448
|
isPending: o,
|
|
5416
5449
|
error: s,
|
|
5417
|
-
onSubmit: (e) =>
|
|
5418
|
-
members:
|
|
5450
|
+
onSubmit: (e) => g(e, y && A),
|
|
5451
|
+
members: p
|
|
5419
5452
|
}),
|
|
5420
|
-
|
|
5421
|
-
class: "markup-screenshot-row",
|
|
5453
|
+
j ? /* @__PURE__ */ Q("div", {
|
|
5454
|
+
class: Z("markup-screenshot-row", u && "is-failed"),
|
|
5422
5455
|
children: [l ? /* @__PURE__ */ Q("span", {
|
|
5423
5456
|
class: "markup-screenshot-status",
|
|
5424
5457
|
children: [
|
|
@@ -5427,45 +5460,49 @@ function js({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5427
5460
|
class: "markup-screenshot-checkbox",
|
|
5428
5461
|
disabled: !0
|
|
5429
5462
|
}),
|
|
5430
|
-
/* @__PURE__ */ Q(
|
|
5463
|
+
/* @__PURE__ */ Q(Fo, { size: 12 }),
|
|
5431
5464
|
/* @__PURE__ */ Q("span", { children: "Capturing…" })
|
|
5432
5465
|
]
|
|
5466
|
+
}) : u ? /* @__PURE__ */ Q("span", {
|
|
5467
|
+
class: "markup-screenshot-status",
|
|
5468
|
+
title: "This page has something the capture can't read — often a third-party image. Your comment will post without a screenshot.",
|
|
5469
|
+
children: [/* @__PURE__ */ Q(Fo, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
|
|
5433
5470
|
}) : /* @__PURE__ */ Q("label", {
|
|
5434
5471
|
class: "markup-screenshot-toggle",
|
|
5435
5472
|
children: [
|
|
5436
5473
|
/* @__PURE__ */ Q("input", {
|
|
5437
5474
|
type: "checkbox",
|
|
5438
5475
|
class: "markup-screenshot-checkbox",
|
|
5439
|
-
checked:
|
|
5440
|
-
onChange: (e) =>
|
|
5476
|
+
checked: y,
|
|
5477
|
+
onChange: (e) => b(e.currentTarget.checked)
|
|
5441
5478
|
}),
|
|
5442
|
-
/* @__PURE__ */ Q(
|
|
5479
|
+
/* @__PURE__ */ Q(Fo, { size: 12 }),
|
|
5443
5480
|
/* @__PURE__ */ Q("span", { children: "Attach screenshot" }),
|
|
5444
|
-
|
|
5481
|
+
w && y ? /* @__PURE__ */ Q("img", {
|
|
5445
5482
|
class: "markup-screenshot-thumb",
|
|
5446
|
-
src:
|
|
5483
|
+
src: w,
|
|
5447
5484
|
alt: "Screenshot preview"
|
|
5448
5485
|
}) : null
|
|
5449
5486
|
]
|
|
5450
|
-
}),
|
|
5487
|
+
}), y && A ? /* @__PURE__ */ Q(S, { children: [d > 0 ? /* @__PURE__ */ Q("div", {
|
|
5451
5488
|
class: "markup-screenshot-redacted",
|
|
5452
5489
|
children: [/* @__PURE__ */ Q("button", {
|
|
5453
5490
|
type: "button",
|
|
5454
5491
|
class: "markup-screenshot-redacted-chip",
|
|
5455
|
-
onClick: () =>
|
|
5492
|
+
onClick: () => C((e) => !e),
|
|
5456
5493
|
children: [
|
|
5457
5494
|
/* @__PURE__ */ Q("em", {
|
|
5458
5495
|
class: "markup-screenshot-redacted-arrow",
|
|
5459
|
-
children:
|
|
5496
|
+
children: x ? "▾" : "▸"
|
|
5460
5497
|
}),
|
|
5461
|
-
|
|
5498
|
+
d,
|
|
5462
5499
|
" ",
|
|
5463
|
-
|
|
5500
|
+
d === 1 ? "field" : "fields",
|
|
5464
5501
|
" redacted"
|
|
5465
5502
|
]
|
|
5466
|
-
}),
|
|
5503
|
+
}), x ? /* @__PURE__ */ Q("div", {
|
|
5467
5504
|
class: "markup-screenshot-redacted-list",
|
|
5468
|
-
children:
|
|
5505
|
+
children: f.map((e) => /* @__PURE__ */ Q("code", {
|
|
5469
5506
|
class: "markup-screenshot-redacted-selector",
|
|
5470
5507
|
children: e
|
|
5471
5508
|
}, e))
|
|
@@ -5487,12 +5524,12 @@ function js({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
|
|
|
5487
5524
|
})]
|
|
5488
5525
|
});
|
|
5489
5526
|
}
|
|
5490
|
-
function
|
|
5527
|
+
function Ls(e, t, n) {
|
|
5491
5528
|
return Math.max(t, Math.min(n, e));
|
|
5492
5529
|
}
|
|
5493
5530
|
//#endregion
|
|
5494
5531
|
//#region src/runtime/use-theme.ts
|
|
5495
|
-
function
|
|
5532
|
+
function Rs() {
|
|
5496
5533
|
let [, e] = L(0);
|
|
5497
5534
|
return R(() => Me(() => e((e) => e + 1)), []), {
|
|
5498
5535
|
mode: ke(),
|
|
@@ -5502,8 +5539,8 @@ function Ns() {
|
|
|
5502
5539
|
}
|
|
5503
5540
|
//#endregion
|
|
5504
5541
|
//#region src/runtime/ui/overflow-menu.tsx
|
|
5505
|
-
function
|
|
5506
|
-
let [u, d] = L(!1), f = z(null), p =
|
|
5542
|
+
function zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, onOpenPrivacy: a, onOpenShortcuts: o, onHideForSession: s, version: c, dashboardUrl: l }) {
|
|
5543
|
+
let [u, d] = L(!1), f = z(null), p = Rs();
|
|
5507
5544
|
R(() => {
|
|
5508
5545
|
if (!u) return;
|
|
5509
5546
|
function e(e) {
|
|
@@ -5517,7 +5554,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5517
5554
|
document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
|
|
5518
5555
|
};
|
|
5519
5556
|
}, [u]);
|
|
5520
|
-
let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: h } =
|
|
5557
|
+
let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: h } = Oo();
|
|
5521
5558
|
return /* @__PURE__ */ Q("div", {
|
|
5522
5559
|
ref: f,
|
|
5523
5560
|
style: {
|
|
@@ -5536,7 +5573,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5536
5573
|
onClick: (e) => {
|
|
5537
5574
|
e.preventDefault(), e.stopPropagation(), d((e) => !e);
|
|
5538
5575
|
},
|
|
5539
|
-
children: /* @__PURE__ */ Q(
|
|
5576
|
+
children: /* @__PURE__ */ Q(Ho, { size: 16 })
|
|
5540
5577
|
}), u ? /* @__PURE__ */ Q("div", {
|
|
5541
5578
|
class: Z("markup-pop", m),
|
|
5542
5579
|
"data-pop": "overflow",
|
|
@@ -5560,7 +5597,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5560
5597
|
title: "Light",
|
|
5561
5598
|
class: Z(p.mode === "light" && "is-on"),
|
|
5562
5599
|
onClick: () => p.set("light"),
|
|
5563
|
-
children: /* @__PURE__ */ Q(
|
|
5600
|
+
children: /* @__PURE__ */ Q(Uo, { size: 14 })
|
|
5564
5601
|
}),
|
|
5565
5602
|
/* @__PURE__ */ Q("button", {
|
|
5566
5603
|
type: "button",
|
|
@@ -5570,7 +5607,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5570
5607
|
title: "Dark",
|
|
5571
5608
|
class: Z(p.mode === "dark" && "is-on"),
|
|
5572
5609
|
onClick: () => p.set("dark"),
|
|
5573
|
-
children: /* @__PURE__ */ Q(
|
|
5610
|
+
children: /* @__PURE__ */ Q(Wo, { size: 14 })
|
|
5574
5611
|
}),
|
|
5575
5612
|
/* @__PURE__ */ Q("button", {
|
|
5576
5613
|
type: "button",
|
|
@@ -5580,7 +5617,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5580
5617
|
title: `Auto — currently ${p.resolved}`,
|
|
5581
5618
|
class: Z(p.mode === "auto" && "is-on"),
|
|
5582
5619
|
onClick: () => p.set("auto"),
|
|
5583
|
-
children: /* @__PURE__ */ Q(
|
|
5620
|
+
children: /* @__PURE__ */ Q(Go, { size: 14 })
|
|
5584
5621
|
})
|
|
5585
5622
|
]
|
|
5586
5623
|
})]
|
|
@@ -5603,7 +5640,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5603
5640
|
title: "Bottom left",
|
|
5604
5641
|
class: Z(e === "bottom-left" && "is-on"),
|
|
5605
5642
|
onClick: () => t("bottom-left"),
|
|
5606
|
-
children: /* @__PURE__ */ Q(
|
|
5643
|
+
children: /* @__PURE__ */ Q(Bs, { side: "left" })
|
|
5607
5644
|
}),
|
|
5608
5645
|
/* @__PURE__ */ Q("button", {
|
|
5609
5646
|
type: "button",
|
|
@@ -5613,7 +5650,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5613
5650
|
title: "Bottom center",
|
|
5614
5651
|
class: Z(e === "bottom-center" && "is-on"),
|
|
5615
5652
|
onClick: () => t("bottom-center"),
|
|
5616
|
-
children: /* @__PURE__ */ Q(
|
|
5653
|
+
children: /* @__PURE__ */ Q(Bs, { side: "center" })
|
|
5617
5654
|
}),
|
|
5618
5655
|
/* @__PURE__ */ Q("button", {
|
|
5619
5656
|
type: "button",
|
|
@@ -5623,7 +5660,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5623
5660
|
title: "Bottom right",
|
|
5624
5661
|
class: Z(e === "bottom-right" && "is-on"),
|
|
5625
5662
|
onClick: () => t("bottom-right"),
|
|
5626
|
-
children: /* @__PURE__ */ Q(
|
|
5663
|
+
children: /* @__PURE__ */ Q(Bs, { side: "right" })
|
|
5627
5664
|
})
|
|
5628
5665
|
]
|
|
5629
5666
|
})]
|
|
@@ -5645,7 +5682,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5645
5682
|
children: [
|
|
5646
5683
|
/* @__PURE__ */ Q("span", {
|
|
5647
5684
|
class: "ic",
|
|
5648
|
-
children: /* @__PURE__ */ Q(
|
|
5685
|
+
children: /* @__PURE__ */ Q(Vs, {})
|
|
5649
5686
|
}),
|
|
5650
5687
|
/* @__PURE__ */ Q("span", {
|
|
5651
5688
|
class: "lbl",
|
|
@@ -5670,7 +5707,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5670
5707
|
},
|
|
5671
5708
|
children: [/* @__PURE__ */ Q("span", {
|
|
5672
5709
|
class: "ic",
|
|
5673
|
-
children: /* @__PURE__ */ Q(
|
|
5710
|
+
children: /* @__PURE__ */ Q(Ko, { size: 16 })
|
|
5674
5711
|
}), /* @__PURE__ */ Q("span", {
|
|
5675
5712
|
class: "lbl",
|
|
5676
5713
|
children: "Privacy & data"
|
|
@@ -5687,7 +5724,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5687
5724
|
children: [
|
|
5688
5725
|
/* @__PURE__ */ Q("span", {
|
|
5689
5726
|
class: "ic",
|
|
5690
|
-
children: /* @__PURE__ */ Q(
|
|
5727
|
+
children: /* @__PURE__ */ Q(qo, { size: 16 })
|
|
5691
5728
|
}),
|
|
5692
5729
|
/* @__PURE__ */ Q("span", {
|
|
5693
5730
|
class: "lbl",
|
|
@@ -5710,7 +5747,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5710
5747
|
children: [
|
|
5711
5748
|
/* @__PURE__ */ Q("span", {
|
|
5712
5749
|
class: "ic",
|
|
5713
|
-
children: /* @__PURE__ */ Q(
|
|
5750
|
+
children: /* @__PURE__ */ Q(Hs, {})
|
|
5714
5751
|
}),
|
|
5715
5752
|
/* @__PURE__ */ Q("span", {
|
|
5716
5753
|
class: "lbl",
|
|
@@ -5728,7 +5765,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5728
5765
|
target: "_blank",
|
|
5729
5766
|
rel: "noopener noreferrer",
|
|
5730
5767
|
children: [
|
|
5731
|
-
/* @__PURE__ */ Q(
|
|
5768
|
+
/* @__PURE__ */ Q(Ao, { size: 12 }),
|
|
5732
5769
|
/* @__PURE__ */ Q("span", { children: "Powered by Markup" }),
|
|
5733
5770
|
/* @__PURE__ */ Q("span", {
|
|
5734
5771
|
class: "ver",
|
|
@@ -5740,7 +5777,7 @@ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
|
|
|
5740
5777
|
}) : null]
|
|
5741
5778
|
});
|
|
5742
5779
|
}
|
|
5743
|
-
function
|
|
5780
|
+
function Bs({ side: e }) {
|
|
5744
5781
|
return /* @__PURE__ */ Q("svg", {
|
|
5745
5782
|
width: 14,
|
|
5746
5783
|
height: 14,
|
|
@@ -5766,7 +5803,7 @@ function Fs({ side: e }) {
|
|
|
5766
5803
|
})]
|
|
5767
5804
|
});
|
|
5768
5805
|
}
|
|
5769
|
-
function
|
|
5806
|
+
function Vs() {
|
|
5770
5807
|
return /* @__PURE__ */ Q("svg", {
|
|
5771
5808
|
width: 16,
|
|
5772
5809
|
height: 16,
|
|
@@ -5784,7 +5821,7 @@ function Is() {
|
|
|
5784
5821
|
})]
|
|
5785
5822
|
});
|
|
5786
5823
|
}
|
|
5787
|
-
function
|
|
5824
|
+
function Hs() {
|
|
5788
5825
|
return /* @__PURE__ */ Q("svg", {
|
|
5789
5826
|
width: 16,
|
|
5790
5827
|
height: 16,
|
|
@@ -5805,7 +5842,7 @@ function Ls() {
|
|
|
5805
5842
|
}
|
|
5806
5843
|
//#endregion
|
|
5807
5844
|
//#region src/runtime/ui/pin.tsx
|
|
5808
|
-
function
|
|
5845
|
+
function Us({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClick: a }) {
|
|
5809
5846
|
let o = t - window.scrollY, s = e - window.scrollX;
|
|
5810
5847
|
return /* @__PURE__ */ Q("button", {
|
|
5811
5848
|
type: "button",
|
|
@@ -5825,7 +5862,7 @@ function Rs({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClic
|
|
|
5825
5862
|
})
|
|
5826
5863
|
});
|
|
5827
5864
|
}
|
|
5828
|
-
function
|
|
5865
|
+
function Ws({ pageX: e, pageY: t }) {
|
|
5829
5866
|
let n = t - window.scrollY, r = e - window.scrollX;
|
|
5830
5867
|
return /* @__PURE__ */ Q("div", {
|
|
5831
5868
|
class: "markup-pin markup-pin-ghost is-anchor",
|
|
@@ -5842,7 +5879,7 @@ function zs({ pageX: e, pageY: t }) {
|
|
|
5842
5879
|
}
|
|
5843
5880
|
//#endregion
|
|
5844
5881
|
//#region src/runtime/ui/placement-overlay.tsx
|
|
5845
|
-
function
|
|
5882
|
+
function Gs({ onPlace: e, onCancel: t }) {
|
|
5846
5883
|
R(() => {
|
|
5847
5884
|
function e(e) {
|
|
5848
5885
|
e.key === "Escape" && t();
|
|
@@ -5868,14 +5905,14 @@ function Bs({ onPlace: e, onCancel: t }) {
|
|
|
5868
5905
|
}
|
|
5869
5906
|
//#endregion
|
|
5870
5907
|
//#region src/runtime/ui/thread-popover.tsx
|
|
5871
|
-
var
|
|
5908
|
+
var Ks = [
|
|
5872
5909
|
"👍",
|
|
5873
5910
|
"❤️",
|
|
5874
5911
|
"🎉",
|
|
5875
5912
|
"😮",
|
|
5876
5913
|
"😄",
|
|
5877
5914
|
"❓"
|
|
5878
|
-
],
|
|
5915
|
+
], qs = Ar({
|
|
5879
5916
|
none: {
|
|
5880
5917
|
"toggle-thread-menu": () => ({
|
|
5881
5918
|
kind: "thread-menu",
|
|
@@ -5931,13 +5968,13 @@ var Vs = [
|
|
|
5931
5968
|
dismiss: () => ({ kind: "none" })
|
|
5932
5969
|
}
|
|
5933
5970
|
});
|
|
5934
|
-
function
|
|
5935
|
-
let b = z(null), x = z(null), S = z(null), C = z(null), [w, T] = jr(
|
|
5971
|
+
function Js({ 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 }) {
|
|
5972
|
+
let b = z(null), x = z(null), S = z(null), C = z(null), [w, T] = jr(qs, { kind: "none" }), [E, D] = L(null), { onPointerDown: O, isDragging: ee } = is({
|
|
5936
5973
|
targetRef: b,
|
|
5937
5974
|
shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
|
|
5938
5975
|
onMove: D
|
|
5939
5976
|
});
|
|
5940
|
-
|
|
5977
|
+
ss(b, !0);
|
|
5941
5978
|
let te = e.resolvedAt != null, k = B(() => e.comments.filter((e) => !e.deleted), [e.comments]);
|
|
5942
5979
|
R(() => {
|
|
5943
5980
|
if (w.kind === "none" || w.kind === "editing") return;
|
|
@@ -5955,12 +5992,12 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5955
5992
|
w,
|
|
5956
5993
|
T
|
|
5957
5994
|
]);
|
|
5958
|
-
let
|
|
5995
|
+
let A = z(!0);
|
|
5959
5996
|
R(() => {
|
|
5960
5997
|
let e = x.current;
|
|
5961
5998
|
if (e) {
|
|
5962
|
-
if (
|
|
5963
|
-
|
|
5999
|
+
if (A.current) {
|
|
6000
|
+
A.current = !1, e.scrollTop = e.scrollHeight;
|
|
5964
6001
|
return;
|
|
5965
6002
|
}
|
|
5966
6003
|
e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
|
|
@@ -5976,15 +6013,15 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5976
6013
|
}
|
|
5977
6014
|
return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
|
|
5978
6015
|
}, [p]);
|
|
5979
|
-
let
|
|
6016
|
+
let j = B(() => {
|
|
5980
6017
|
let t = oi({
|
|
5981
6018
|
anchorX: e.anchorX,
|
|
5982
6019
|
anchorY: e.anchorY,
|
|
5983
6020
|
anchorSelector: e.anchorSelector
|
|
5984
6021
|
});
|
|
5985
6022
|
return {
|
|
5986
|
-
left:
|
|
5987
|
-
top:
|
|
6023
|
+
left: Qs(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
|
|
6024
|
+
top: Qs(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
|
|
5988
6025
|
};
|
|
5989
6026
|
}, [
|
|
5990
6027
|
e.anchorX,
|
|
@@ -5997,8 +6034,8 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
5997
6034
|
class: Z("markup-popover", E && "is-floating", ee && "is-dragging", l && "is-hud-hidden"),
|
|
5998
6035
|
popover: "auto",
|
|
5999
6036
|
style: {
|
|
6000
|
-
"--markup-pop-x": `${E?.left ??
|
|
6001
|
-
"--markup-pop-y": `${E?.top ??
|
|
6037
|
+
"--markup-pop-x": `${E?.left ?? j.left}px`,
|
|
6038
|
+
"--markup-pop-y": `${E?.top ?? j.top}px`
|
|
6002
6039
|
},
|
|
6003
6040
|
role: "dialog",
|
|
6004
6041
|
"aria-label": "Markup thread",
|
|
@@ -6024,7 +6061,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6024
6061
|
class: Z("markup-icon-btn", w.kind === "thread-menu" && "is-open"),
|
|
6025
6062
|
title: "More options",
|
|
6026
6063
|
onClick: () => T({ type: "toggle-thread-menu" }),
|
|
6027
|
-
children: /* @__PURE__ */ Q(
|
|
6064
|
+
children: /* @__PURE__ */ Q(No, { size: 16 })
|
|
6028
6065
|
}), w.kind === "thread-menu" ? /* @__PURE__ */ Q("div", {
|
|
6029
6066
|
class: "markup-thread-menu-list",
|
|
6030
6067
|
children: [/* @__PURE__ */ Q("button", {
|
|
@@ -6052,14 +6089,14 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6052
6089
|
title: "Mark as resolved",
|
|
6053
6090
|
disabled: s,
|
|
6054
6091
|
onClick: v,
|
|
6055
|
-
children: /* @__PURE__ */ Q(
|
|
6092
|
+
children: /* @__PURE__ */ Q(Po, { size: 16 })
|
|
6056
6093
|
}) : null,
|
|
6057
6094
|
/* @__PURE__ */ Q("button", {
|
|
6058
6095
|
type: "button",
|
|
6059
6096
|
class: "markup-icon-btn",
|
|
6060
6097
|
title: "Close thread",
|
|
6061
6098
|
onClick: p,
|
|
6062
|
-
children: /* @__PURE__ */ Q(
|
|
6099
|
+
children: /* @__PURE__ */ Q(jo, { size: 16 })
|
|
6063
6100
|
})
|
|
6064
6101
|
]
|
|
6065
6102
|
})]
|
|
@@ -6072,10 +6109,10 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6072
6109
|
return /* @__PURE__ */ Q("li", {
|
|
6073
6110
|
class: "markup-comment",
|
|
6074
6111
|
children: [
|
|
6075
|
-
/* @__PURE__ */ Q(
|
|
6112
|
+
/* @__PURE__ */ Q($s, {
|
|
6076
6113
|
name: t.authorName,
|
|
6077
6114
|
image: t.authorImage,
|
|
6078
|
-
tone:
|
|
6115
|
+
tone: tc(t.authorClientId ?? t.authorName)
|
|
6079
6116
|
}),
|
|
6080
6117
|
/* @__PURE__ */ Q("div", {
|
|
6081
6118
|
class: "markup-comment-meta",
|
|
@@ -6089,23 +6126,23 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6089
6126
|
role: "img",
|
|
6090
6127
|
"aria-label": "Written by an AI agent",
|
|
6091
6128
|
title: "Written by an AI agent",
|
|
6092
|
-
children: /* @__PURE__ */ Q(
|
|
6129
|
+
children: /* @__PURE__ */ Q(Zo, { size: 11 })
|
|
6093
6130
|
}) : null,
|
|
6094
6131
|
/* @__PURE__ */ Q("time", {
|
|
6095
6132
|
class: "markup-comment-time",
|
|
6096
6133
|
datetime: new Date(t.createdAt).toISOString(),
|
|
6097
|
-
title:
|
|
6098
|
-
children:
|
|
6134
|
+
title: rc(t.createdAt),
|
|
6135
|
+
children: nc(t.createdAt)
|
|
6099
6136
|
}),
|
|
6100
6137
|
t.editedAt == null ? null : /* @__PURE__ */ Q("time", {
|
|
6101
6138
|
class: "markup-comment-edited",
|
|
6102
6139
|
datetime: new Date(t.editedAt).toISOString(),
|
|
6103
|
-
title:
|
|
6140
|
+
title: rc(t.editedAt),
|
|
6104
6141
|
children: "edited"
|
|
6105
6142
|
}),
|
|
6106
6143
|
/* @__PURE__ */ Q("div", {
|
|
6107
6144
|
class: "markup-thread-actions",
|
|
6108
|
-
children: [!te && !l ? /* @__PURE__ */ Q(
|
|
6145
|
+
children: [!te && !l ? /* @__PURE__ */ Q(Ys, {
|
|
6109
6146
|
comment: t,
|
|
6110
6147
|
pickerOpen: m,
|
|
6111
6148
|
pickerDirection: v,
|
|
@@ -6173,7 +6210,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6173
6210
|
direction: a < i ? "up" : "down"
|
|
6174
6211
|
});
|
|
6175
6212
|
},
|
|
6176
|
-
children: /* @__PURE__ */ Q(
|
|
6213
|
+
children: /* @__PURE__ */ Q(No, { size: 16 })
|
|
6177
6214
|
}), f ? /* @__PURE__ */ Q("div", {
|
|
6178
6215
|
class: "markup-thread-menu-list",
|
|
6179
6216
|
children: [o ? /* @__PURE__ */ Q("button", {
|
|
@@ -6213,7 +6250,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6213
6250
|
await h(t._id, n), T({ type: "dismiss" });
|
|
6214
6251
|
} catch {}
|
|
6215
6252
|
},
|
|
6216
|
-
children: [/* @__PURE__ */ Q(
|
|
6253
|
+
children: [/* @__PURE__ */ Q(Ns, {
|
|
6217
6254
|
class: "markup-comment-edit-input",
|
|
6218
6255
|
label: "Edit comment",
|
|
6219
6256
|
value: w.draft,
|
|
@@ -6239,7 +6276,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6239
6276
|
children: "Save"
|
|
6240
6277
|
})]
|
|
6241
6278
|
})]
|
|
6242
|
-
}) : /* @__PURE__ */ Q(
|
|
6279
|
+
}) : /* @__PURE__ */ Q(As, {
|
|
6243
6280
|
body: t.body,
|
|
6244
6281
|
mentions: t.mentions
|
|
6245
6282
|
}),
|
|
@@ -6252,7 +6289,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6252
6289
|
alt: "Screenshot"
|
|
6253
6290
|
})
|
|
6254
6291
|
}) : null,
|
|
6255
|
-
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(
|
|
6292
|
+
!l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Xs, {
|
|
6256
6293
|
comment: t,
|
|
6257
6294
|
isResolved: te,
|
|
6258
6295
|
onToggle: (e) => _(t._id, e)
|
|
@@ -6272,7 +6309,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6272
6309
|
onClick: (e) => {
|
|
6273
6310
|
e.stopPropagation(), S.current?.close();
|
|
6274
6311
|
},
|
|
6275
|
-
children: /* @__PURE__ */ Q(
|
|
6312
|
+
children: /* @__PURE__ */ Q(jo, { size: 16 })
|
|
6276
6313
|
}), /* @__PURE__ */ Q("img", {
|
|
6277
6314
|
class: "markup-lightbox-img",
|
|
6278
6315
|
src: e.screenshotUrl,
|
|
@@ -6280,7 +6317,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6280
6317
|
onClick: (e) => e.stopPropagation()
|
|
6281
6318
|
})]
|
|
6282
6319
|
}) : null,
|
|
6283
|
-
t == null ? /* @__PURE__ */ Q(
|
|
6320
|
+
t == null ? /* @__PURE__ */ Q(ls, {
|
|
6284
6321
|
isPending: s,
|
|
6285
6322
|
isConnecting: i,
|
|
6286
6323
|
isSigningIn: a,
|
|
@@ -6302,7 +6339,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6302
6339
|
children: "team"
|
|
6303
6340
|
}) : null
|
|
6304
6341
|
]
|
|
6305
|
-
}), /* @__PURE__ */ Q(
|
|
6342
|
+
}), /* @__PURE__ */ Q(Fs, {
|
|
6306
6343
|
label: "Reply",
|
|
6307
6344
|
placeholder: "Write a reply…",
|
|
6308
6345
|
submitLabel: "Reply",
|
|
@@ -6316,7 +6353,7 @@ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
|
|
|
6316
6353
|
]
|
|
6317
6354
|
});
|
|
6318
6355
|
}
|
|
6319
|
-
function
|
|
6356
|
+
function Ys({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
|
|
6320
6357
|
return /* @__PURE__ */ Q("div", {
|
|
6321
6358
|
class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
|
|
6322
6359
|
ref: i,
|
|
@@ -6326,11 +6363,11 @@ function Ws({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6326
6363
|
title: "Add reaction",
|
|
6327
6364
|
"aria-label": "Add reaction",
|
|
6328
6365
|
onClick: a,
|
|
6329
|
-
children: /* @__PURE__ */ Q(
|
|
6366
|
+
children: /* @__PURE__ */ Q(Lo, { size: 16 })
|
|
6330
6367
|
}), t ? /* @__PURE__ */ Q("div", {
|
|
6331
6368
|
class: "markup-reaction-picker",
|
|
6332
6369
|
role: "menu",
|
|
6333
|
-
children:
|
|
6370
|
+
children: Ks.map((t) => /* @__PURE__ */ Q("button", {
|
|
6334
6371
|
type: "button",
|
|
6335
6372
|
role: "menuitem",
|
|
6336
6373
|
class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
|
|
@@ -6340,11 +6377,11 @@ function Ws({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
|
|
|
6340
6377
|
}) : null]
|
|
6341
6378
|
});
|
|
6342
6379
|
}
|
|
6343
|
-
function
|
|
6380
|
+
function Xs({ comment: e, isResolved: t, onToggle: n }) {
|
|
6344
6381
|
return /* @__PURE__ */ Q("div", {
|
|
6345
6382
|
class: "markup-reactions",
|
|
6346
6383
|
children: e.reactions.map((e) => {
|
|
6347
|
-
let r =
|
|
6384
|
+
let r = Zs(e.reactors, e.mine, e.count, e.emoji);
|
|
6348
6385
|
return /* @__PURE__ */ Q("button", {
|
|
6349
6386
|
type: "button",
|
|
6350
6387
|
class: Z("markup-reaction-chip", e.mine && "is-mine"),
|
|
@@ -6365,14 +6402,14 @@ function Gs({ comment: e, isResolved: t, onToggle: n }) {
|
|
|
6365
6402
|
})
|
|
6366
6403
|
});
|
|
6367
6404
|
}
|
|
6368
|
-
function
|
|
6405
|
+
function Zs(e, t, n, r) {
|
|
6369
6406
|
let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
|
|
6370
6407
|
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}`;
|
|
6371
6408
|
}
|
|
6372
|
-
function
|
|
6409
|
+
function Qs(e, t, n) {
|
|
6373
6410
|
return Math.max(t, Math.min(n, e));
|
|
6374
6411
|
}
|
|
6375
|
-
function
|
|
6412
|
+
function $s({ name: e, image: t, tone: n }) {
|
|
6376
6413
|
let [r, i] = L(null);
|
|
6377
6414
|
return /* @__PURE__ */ Q("span", {
|
|
6378
6415
|
class: "markup-comment-avatar",
|
|
@@ -6388,11 +6425,11 @@ function Js({ name: e, image: t, tone: n }) {
|
|
|
6388
6425
|
onError: () => i(t)
|
|
6389
6426
|
}) : /* @__PURE__ */ Q("span", {
|
|
6390
6427
|
class: "markup-avatar-initials",
|
|
6391
|
-
children:
|
|
6428
|
+
children: ec(e)
|
|
6392
6429
|
})
|
|
6393
6430
|
});
|
|
6394
6431
|
}
|
|
6395
|
-
function
|
|
6432
|
+
function ec(e) {
|
|
6396
6433
|
let t = e.trim();
|
|
6397
6434
|
if (!t) return "??";
|
|
6398
6435
|
let n = t.split(/\s+/).filter(Boolean), r = n[0] ?? "";
|
|
@@ -6400,12 +6437,12 @@ function Ys(e) {
|
|
|
6400
6437
|
let i = n[n.length - 1] ?? "";
|
|
6401
6438
|
return ((r[0] ?? "") + (i[0] ?? "")).toUpperCase();
|
|
6402
6439
|
}
|
|
6403
|
-
function
|
|
6440
|
+
function tc(e) {
|
|
6404
6441
|
let t = 0;
|
|
6405
6442
|
for (let n = 0; n < e.length; n++) t = t * 31 + e.charCodeAt(n) | 0;
|
|
6406
6443
|
return Math.abs(t) % 5 + 1;
|
|
6407
6444
|
}
|
|
6408
|
-
function
|
|
6445
|
+
function nc(e) {
|
|
6409
6446
|
let t = Date.now() - e, n = Math.floor(t / 1e3);
|
|
6410
6447
|
if (n < 60) return "just now";
|
|
6411
6448
|
let r = Math.floor(n / 60);
|
|
@@ -6422,7 +6459,7 @@ function Zs(e) {
|
|
|
6422
6459
|
year: "numeric"
|
|
6423
6460
|
});
|
|
6424
6461
|
}
|
|
6425
|
-
function
|
|
6462
|
+
function rc(e) {
|
|
6426
6463
|
return new Date(e).toLocaleDateString([], {
|
|
6427
6464
|
month: "long",
|
|
6428
6465
|
day: "numeric",
|
|
@@ -6433,7 +6470,7 @@ function Qs(e) {
|
|
|
6433
6470
|
}
|
|
6434
6471
|
//#endregion
|
|
6435
6472
|
//#region src/runtime/ui/toolbar.tsx
|
|
6436
|
-
function
|
|
6473
|
+
function ic({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right", unreadCount: i = 0, showInbox: a = !1, onOpenInbox: o, inboxOpen: s = !1, pinsVisible: c = !0, onTogglePins: l, identityButton: u, overflowButton: d }) {
|
|
6437
6474
|
let f = r === "bottom-left" ? "markup-toolbar-left" : r === "bottom-center" ? "markup-toolbar-center" : "markup-toolbar-right";
|
|
6438
6475
|
function p(e) {
|
|
6439
6476
|
if (e.preventDefault(), e.stopPropagation(), (e.metaKey || e.ctrlKey) && n) {
|
|
@@ -6455,7 +6492,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6455
6492
|
title: e ? "Cancel placing markup" : "Leave a markup",
|
|
6456
6493
|
"aria-pressed": e,
|
|
6457
6494
|
onClick: p,
|
|
6458
|
-
children: Q(e ?
|
|
6495
|
+
children: Q(e ? jo : Ro, { size: 16 })
|
|
6459
6496
|
}),
|
|
6460
6497
|
a ? /* @__PURE__ */ Q("button", {
|
|
6461
6498
|
type: "button",
|
|
@@ -6467,7 +6504,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6467
6504
|
onClick: (e) => {
|
|
6468
6505
|
e.preventDefault(), e.stopPropagation(), o?.();
|
|
6469
6506
|
},
|
|
6470
|
-
children: [/* @__PURE__ */ Q(
|
|
6507
|
+
children: [/* @__PURE__ */ Q(zo, { size: 16 }), i > 0 ? /* @__PURE__ */ Q("span", {
|
|
6471
6508
|
class: "markup-tb-badge",
|
|
6472
6509
|
"aria-hidden": "true",
|
|
6473
6510
|
children: i > 9 ? "9+" : i
|
|
@@ -6486,7 +6523,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6486
6523
|
onClick: (e) => {
|
|
6487
6524
|
e.preventDefault(), e.stopPropagation(), l();
|
|
6488
6525
|
},
|
|
6489
|
-
children: Q(c ?
|
|
6526
|
+
children: Q(c ? Bo : Vo, { size: 16 })
|
|
6490
6527
|
})] }) : null,
|
|
6491
6528
|
u || d ? /* @__PURE__ */ Q("div", {
|
|
6492
6529
|
class: "markup-tb-sep",
|
|
@@ -6500,19 +6537,19 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
|
|
|
6500
6537
|
"data-kind": "overflow",
|
|
6501
6538
|
"aria-label": "More options",
|
|
6502
6539
|
disabled: !0,
|
|
6503
|
-
children: /* @__PURE__ */ Q(
|
|
6540
|
+
children: /* @__PURE__ */ Q(Ho, { size: 16 })
|
|
6504
6541
|
})
|
|
6505
6542
|
]
|
|
6506
6543
|
});
|
|
6507
6544
|
}
|
|
6508
6545
|
//#endregion
|
|
6509
6546
|
//#region src/runtime/ui/app.tsx
|
|
6510
|
-
function
|
|
6547
|
+
function ac(e) {
|
|
6511
6548
|
let t = {
|
|
6512
6549
|
clientId: `markup_user_${e.identity.id}`,
|
|
6513
6550
|
name: e.identity.name,
|
|
6514
6551
|
email: e.identity.email,
|
|
6515
|
-
image: e.identity.image == null ? void 0 :
|
|
6552
|
+
image: e.identity.image == null ? void 0 : Ti(e.identity.image, location.href)?.href ?? void 0
|
|
6516
6553
|
};
|
|
6517
6554
|
if (e.mode === "cookies") return e.tokenExpiresAt == null || e.refreshTokenExpiresAt == null ? null : {
|
|
6518
6555
|
storage: "cookies",
|
|
@@ -6533,17 +6570,17 @@ function ec(e) {
|
|
|
6533
6570
|
} : {}
|
|
6534
6571
|
};
|
|
6535
6572
|
}
|
|
6536
|
-
function
|
|
6573
|
+
function oc() {
|
|
6537
6574
|
let e = document.activeElement;
|
|
6538
6575
|
for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement;
|
|
6539
6576
|
if (!e) return !1;
|
|
6540
6577
|
let t = e.tagName;
|
|
6541
6578
|
return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" ? !0 : e.isContentEditable;
|
|
6542
6579
|
}
|
|
6543
|
-
function
|
|
6580
|
+
function sc() {
|
|
6544
6581
|
return window.location.host + window.location.pathname;
|
|
6545
6582
|
}
|
|
6546
|
-
var
|
|
6583
|
+
var cc = Ar({
|
|
6547
6584
|
visible: {
|
|
6548
6585
|
"hide-with-toast": () => ({ kind: "hidden-with-toast" }),
|
|
6549
6586
|
toggle: () => ({ kind: "hidden" })
|
|
@@ -6554,26 +6591,26 @@ var rc = Ar({
|
|
|
6554
6591
|
},
|
|
6555
6592
|
hidden: { toggle: () => ({ kind: "visible" }) }
|
|
6556
6593
|
});
|
|
6557
|
-
function
|
|
6558
|
-
return
|
|
6594
|
+
function lc(e) {
|
|
6595
|
+
return ji(e), e;
|
|
6559
6596
|
}
|
|
6560
|
-
var
|
|
6597
|
+
var uc = Ar({
|
|
6561
6598
|
unresolved: {
|
|
6562
|
-
"mint-success": (e, t) =>
|
|
6599
|
+
"mint-success": (e, t) => lc({
|
|
6563
6600
|
kind: "anon",
|
|
6564
6601
|
identity: t.identity
|
|
6565
6602
|
}),
|
|
6566
|
-
"signed-in": (e, t) =>
|
|
6603
|
+
"signed-in": (e, t) => lc({
|
|
6567
6604
|
kind: "verified",
|
|
6568
6605
|
identity: t.identity
|
|
6569
6606
|
})
|
|
6570
6607
|
},
|
|
6571
6608
|
anon: {
|
|
6572
|
-
"signed-in": (e, t) =>
|
|
6609
|
+
"signed-in": (e, t) => lc({
|
|
6573
6610
|
kind: "verified",
|
|
6574
6611
|
identity: t.identity
|
|
6575
6612
|
}),
|
|
6576
|
-
"author-set": (e, t) =>
|
|
6613
|
+
"author-set": (e, t) => lc({
|
|
6577
6614
|
kind: "anon",
|
|
6578
6615
|
identity: {
|
|
6579
6616
|
...e.identity,
|
|
@@ -6581,49 +6618,49 @@ var ac = Ar({
|
|
|
6581
6618
|
email: t.email
|
|
6582
6619
|
}
|
|
6583
6620
|
}),
|
|
6584
|
-
"forget-me": () =>
|
|
6621
|
+
"forget-me": () => lc({ kind: "unresolved" })
|
|
6585
6622
|
},
|
|
6586
6623
|
verified: {
|
|
6587
|
-
"signed-in": (e, t) =>
|
|
6624
|
+
"signed-in": (e, t) => lc({
|
|
6588
6625
|
kind: "verified",
|
|
6589
6626
|
identity: t.identity
|
|
6590
6627
|
}),
|
|
6591
|
-
unauthorized: (e) =>
|
|
6628
|
+
unauthorized: (e) => lc({
|
|
6592
6629
|
kind: "recovering",
|
|
6593
6630
|
preserved: {
|
|
6594
6631
|
name: e.identity.name,
|
|
6595
6632
|
email: e.identity.email
|
|
6596
6633
|
}
|
|
6597
6634
|
}),
|
|
6598
|
-
"signed-out": () =>
|
|
6635
|
+
"signed-out": () => lc({ kind: "unresolved" })
|
|
6599
6636
|
},
|
|
6600
6637
|
recovering: {
|
|
6601
|
-
"mint-success": (e, t) =>
|
|
6638
|
+
"mint-success": (e, t) => lc({
|
|
6602
6639
|
kind: "anon",
|
|
6603
6640
|
identity: t.identity
|
|
6604
6641
|
}),
|
|
6605
|
-
"signed-in": (e, t) =>
|
|
6642
|
+
"signed-in": (e, t) => lc({
|
|
6606
6643
|
kind: "verified",
|
|
6607
6644
|
identity: t.identity
|
|
6608
6645
|
})
|
|
6609
6646
|
}
|
|
6610
6647
|
});
|
|
6611
|
-
function
|
|
6612
|
-
let [a, o] = L(
|
|
6648
|
+
function dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
|
|
6649
|
+
let [a, o] = L(sc), [s, c] = L([]), [l, u] = L(!1), d = B(() => Ai(), []), [f, p] = jr(uc, d.state), [m, h] = L(null);
|
|
6613
6650
|
R(() => {
|
|
6614
6651
|
let n = !1;
|
|
6615
|
-
return
|
|
6652
|
+
return gi(e, t).then((e) => {
|
|
6616
6653
|
n || h(e);
|
|
6617
6654
|
}), () => {
|
|
6618
6655
|
n = !0;
|
|
6619
6656
|
};
|
|
6620
6657
|
}, [e, t]);
|
|
6621
6658
|
let [g, _] = L(n), [v, y] = L(!0), [b, x] = L(!0), [S, C] = L(!1), w = z(f);
|
|
6622
|
-
w.current = f,
|
|
6659
|
+
w.current = f, Do(f, e, t, (e) => p({
|
|
6623
6660
|
type: "signed-in",
|
|
6624
6661
|
identity: e
|
|
6625
6662
|
}), () => p({ type: "unauthorized" }));
|
|
6626
|
-
let T = B(() =>
|
|
6663
|
+
let T = B(() => pi({
|
|
6627
6664
|
apiUrl: e,
|
|
6628
6665
|
apiKey: t,
|
|
6629
6666
|
getToken: () => {
|
|
@@ -6657,15 +6694,15 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6657
6694
|
e = !0;
|
|
6658
6695
|
};
|
|
6659
6696
|
}, [T]);
|
|
6660
|
-
let [te, k] = L(0), [
|
|
6661
|
-
|
|
6662
|
-
|
|
6697
|
+
let [te, k] = L(0), [A, j] = L([]), [ne, re] = L(!1), [ie, ae] = L(void 0), [oe, se] = L(!1), ce = V(() => {
|
|
6698
|
+
re(!0), ae(void 0), T.listNotifications().then((e) => {
|
|
6699
|
+
j(e.notifications);
|
|
6663
6700
|
}).catch((e) => {
|
|
6664
|
-
|
|
6701
|
+
ae(e instanceof Error ? e.message : "Failed to load.");
|
|
6665
6702
|
}).finally(() => {
|
|
6666
|
-
|
|
6703
|
+
re(!1);
|
|
6667
6704
|
});
|
|
6668
|
-
}, [T]),
|
|
6705
|
+
}, [T]), le = Rr(), ue = Rr(), de = Rr(), fe = Rr(), pe = Rr(), { run: M, reset: me } = le, { run: he } = ue, { run: ge, reset: _e } = de, { run: ve } = fe, { run: ye } = pe, be = pe.isPending, xe = le.isPending, N = le.error ?? ue.error ?? de.error, [Se, Ce] = jr(cc, { kind: "visible" }), P = Se.kind !== "visible", [we, Te] = L(0), Ee = z(null), De = Ni(f), Oe = f.kind === "verified", ke = f.kind === "unresolved" || f.kind === "recovering", Ae = Mi(f);
|
|
6669
6706
|
R(() => {
|
|
6670
6707
|
if (f.kind !== "unresolved" && f.kind !== "recovering") return;
|
|
6671
6708
|
let e = f.kind === "recovering" ? f.preserved : d.preserved, t = !1, n = null, r = 1e3;
|
|
@@ -6693,7 +6730,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6693
6730
|
p,
|
|
6694
6731
|
d
|
|
6695
6732
|
]);
|
|
6696
|
-
let je =
|
|
6733
|
+
let je = Co(T), [Me, Ne] = L(null);
|
|
6697
6734
|
R(() => {
|
|
6698
6735
|
let t = new kr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
|
|
6699
6736
|
return Ne(t), () => {
|
|
@@ -6702,7 +6739,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6702
6739
|
}, [e]);
|
|
6703
6740
|
let Pe = z(!1);
|
|
6704
6741
|
R(() => {
|
|
6705
|
-
if (!(!Me || !je)) return
|
|
6742
|
+
if (!(!Me || !je)) return me(), _e(), Me.onUpdate(bn("widget/queries:subscribeThreadsForRoute"), {
|
|
6706
6743
|
subscriptionToken: je,
|
|
6707
6744
|
route: a,
|
|
6708
6745
|
viewerClientId: Ae
|
|
@@ -6714,8 +6751,8 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6714
6751
|
je,
|
|
6715
6752
|
a,
|
|
6716
6753
|
Ae,
|
|
6717
|
-
|
|
6718
|
-
|
|
6754
|
+
me,
|
|
6755
|
+
_e
|
|
6719
6756
|
]), R(() => {
|
|
6720
6757
|
if (f.kind !== "verified") {
|
|
6721
6758
|
k(0);
|
|
@@ -6739,16 +6776,16 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6739
6776
|
}), history.replaceState(null, "", window.location.pathname + window.location.search);
|
|
6740
6777
|
}
|
|
6741
6778
|
Pe.current = !0;
|
|
6742
|
-
}, [s, l]), R(() =>
|
|
6779
|
+
}, [s, l]), R(() => Ci(() => o(sc())), []), R(() => {
|
|
6743
6780
|
function e(e) {
|
|
6744
|
-
e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(),
|
|
6781
|
+
e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), Ce({ type: "toggle" })));
|
|
6745
6782
|
}
|
|
6746
6783
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
6747
|
-
}, [
|
|
6748
|
-
if (
|
|
6749
|
-
let e = window.setTimeout(() =>
|
|
6784
|
+
}, [Ce]), R(() => {
|
|
6785
|
+
if (Se.kind !== "hidden-with-toast") return;
|
|
6786
|
+
let e = window.setTimeout(() => Ce({ type: "dismiss-toast" }), 5e3);
|
|
6750
6787
|
return () => window.clearTimeout(e);
|
|
6751
|
-
}, [
|
|
6788
|
+
}, [Se.kind, Ce]), R(() => {
|
|
6752
6789
|
let e = null;
|
|
6753
6790
|
function t() {
|
|
6754
6791
|
e ??= requestAnimationFrame(() => {
|
|
@@ -6762,11 +6799,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6762
6799
|
};
|
|
6763
6800
|
}, []);
|
|
6764
6801
|
let F = V(() => {
|
|
6765
|
-
|
|
6766
|
-
}, [
|
|
6802
|
+
me(), _e(), D({ kind: "placing" });
|
|
6803
|
+
}, [me, _e]);
|
|
6767
6804
|
R(() => {
|
|
6768
6805
|
function e(e) {
|
|
6769
|
-
e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || E.kind === "idle" && (P ||
|
|
6806
|
+
e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || E.kind === "idle" && (P || oc() || (e.preventDefault(), F())));
|
|
6770
6807
|
}
|
|
6771
6808
|
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
6772
6809
|
}, [
|
|
@@ -6775,8 +6812,8 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6775
6812
|
F
|
|
6776
6813
|
]);
|
|
6777
6814
|
let Fe = V(() => {
|
|
6778
|
-
D({ kind: "idle" }),
|
|
6779
|
-
}, [
|
|
6815
|
+
D({ kind: "idle" }), me(), _e();
|
|
6816
|
+
}, [me, _e]), Ie = z(0), Le = V((e, t, n) => {
|
|
6780
6817
|
let i = t + window.scrollX, a = n + window.scrollY, o = ++Ie.current;
|
|
6781
6818
|
if (r?.enabled === !1 || !b) {
|
|
6782
6819
|
D({
|
|
@@ -6786,6 +6823,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6786
6823
|
pageY: a,
|
|
6787
6824
|
screenshot: null,
|
|
6788
6825
|
isScreenshotCapturing: !1,
|
|
6826
|
+
screenshotFailed: !1,
|
|
6789
6827
|
screenshotRedactedCount: 0,
|
|
6790
6828
|
screenshotRedactedSelectors: [],
|
|
6791
6829
|
captureToken: o
|
|
@@ -6799,6 +6837,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6799
6837
|
pageY: a,
|
|
6800
6838
|
screenshot: null,
|
|
6801
6839
|
isScreenshotCapturing: !0,
|
|
6840
|
+
screenshotFailed: !1,
|
|
6802
6841
|
screenshotRedactedCount: 0,
|
|
6803
6842
|
screenshotRedactedSelectors: [],
|
|
6804
6843
|
captureToken: o
|
|
@@ -6807,7 +6846,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6807
6846
|
strictScrub: r?.strictScrub,
|
|
6808
6847
|
redactSelector: r?.redactSelector
|
|
6809
6848
|
};
|
|
6810
|
-
|
|
6849
|
+
mo(s, {
|
|
6811
6850
|
x: t,
|
|
6812
6851
|
y: n
|
|
6813
6852
|
}, c).then((e) => {
|
|
@@ -6815,6 +6854,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6815
6854
|
...t,
|
|
6816
6855
|
screenshot: e?.blob ?? null,
|
|
6817
6856
|
isScreenshotCapturing: !1,
|
|
6857
|
+
screenshotFailed: e == null,
|
|
6818
6858
|
screenshotRedactedCount: e?.redactedCount ?? 0,
|
|
6819
6859
|
screenshotRedactedSelectors: e?.redactedSelectors ?? []
|
|
6820
6860
|
});
|
|
@@ -6825,9 +6865,9 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6825
6865
|
name: e,
|
|
6826
6866
|
email: t
|
|
6827
6867
|
});
|
|
6828
|
-
}, [p]), I =
|
|
6829
|
-
await
|
|
6830
|
-
let n =
|
|
6868
|
+
}, [p]), I = ue.isPending, ze = V(async () => {
|
|
6869
|
+
await he(async () => {
|
|
6870
|
+
let n = ac(await zi({
|
|
6831
6871
|
apiUrl: e,
|
|
6832
6872
|
apiKey: t,
|
|
6833
6873
|
useCookies: m === !0
|
|
@@ -6842,12 +6882,12 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6842
6882
|
e,
|
|
6843
6883
|
t,
|
|
6844
6884
|
m,
|
|
6845
|
-
|
|
6885
|
+
he,
|
|
6846
6886
|
p
|
|
6847
6887
|
]), Be = V(async (e, t) => {
|
|
6848
6888
|
if (E.kind !== "composing-new") return;
|
|
6849
|
-
let n =
|
|
6850
|
-
n && await
|
|
6889
|
+
let n = Pi(f);
|
|
6890
|
+
n && await M(async () => {
|
|
6851
6891
|
let r;
|
|
6852
6892
|
if (t && E.screenshot) {
|
|
6853
6893
|
let { uploadUrl: e } = await T.getScreenshotUploadUrl(), t;
|
|
@@ -6892,30 +6932,30 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6892
6932
|
f,
|
|
6893
6933
|
E,
|
|
6894
6934
|
a,
|
|
6895
|
-
|
|
6935
|
+
M
|
|
6896
6936
|
]), Ve = V(async () => {
|
|
6897
6937
|
if (E.kind !== "thread") return;
|
|
6898
6938
|
let e = E.threadId;
|
|
6899
|
-
await
|
|
6939
|
+
await M(async () => {
|
|
6900
6940
|
await T.deleteThread(e), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
|
|
6901
6941
|
});
|
|
6902
6942
|
}, [
|
|
6903
6943
|
T,
|
|
6904
6944
|
E,
|
|
6905
|
-
|
|
6945
|
+
M
|
|
6906
6946
|
]), He = V(async () => {
|
|
6907
6947
|
if (E.kind !== "thread") return;
|
|
6908
6948
|
let e = E.threadId;
|
|
6909
|
-
await
|
|
6949
|
+
await M(async () => {
|
|
6910
6950
|
await T.resolveThread(e, Ae), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
|
|
6911
6951
|
});
|
|
6912
6952
|
}, [
|
|
6913
6953
|
T,
|
|
6914
6954
|
E,
|
|
6915
6955
|
Ae,
|
|
6916
|
-
|
|
6956
|
+
M
|
|
6917
6957
|
]), Ue = V((e) => {
|
|
6918
|
-
if (e.readAt ?? (k((e) => Math.max(0, e - 1)),
|
|
6958
|
+
if (e.readAt ?? (k((e) => Math.max(0, e - 1)), j((t) => t.map((t) => t._id === e._id ? {
|
|
6919
6959
|
...t,
|
|
6920
6960
|
readAt: Date.now()
|
|
6921
6961
|
} : t)), T.markNotificationRead(e._id).catch(() => {})), s.some((t) => t._id === e.threadId)) D({
|
|
@@ -6923,20 +6963,20 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6923
6963
|
threadId: e.threadId
|
|
6924
6964
|
});
|
|
6925
6965
|
else {
|
|
6926
|
-
let t =
|
|
6966
|
+
let t = Ti(e.threadUrl, window.location.href);
|
|
6927
6967
|
t && (t.hash = `markup-thread=${e.threadId}`, window.location.href = t.toString());
|
|
6928
6968
|
}
|
|
6929
6969
|
}, [T, s]), We = V(() => {
|
|
6930
|
-
|
|
6970
|
+
se(!0), k(0), j((e) => e.map((e) => e.readAt == null ? {
|
|
6931
6971
|
...e,
|
|
6932
6972
|
readAt: Date.now()
|
|
6933
|
-
} : e)), T.markAllNotificationsRead().catch(() => {}).finally(() =>
|
|
6973
|
+
} : e)), T.markAllNotificationsRead().catch(() => {}).finally(() => se(!1));
|
|
6934
6974
|
}, [T]), Ge = V(async (e) => {
|
|
6935
6975
|
if (E.kind !== "thread") return;
|
|
6936
|
-
let t =
|
|
6976
|
+
let t = Pi(f);
|
|
6937
6977
|
if (!t) return;
|
|
6938
6978
|
let n = E.threadId;
|
|
6939
|
-
await
|
|
6979
|
+
await M(async () => {
|
|
6940
6980
|
let r = Pr(e), i = await T.addComment(n, {
|
|
6941
6981
|
body: e,
|
|
6942
6982
|
authorName: t.name,
|
|
@@ -6949,11 +6989,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6949
6989
|
T,
|
|
6950
6990
|
f,
|
|
6951
6991
|
E,
|
|
6952
|
-
|
|
6992
|
+
M
|
|
6953
6993
|
]), Ke = V(async (e, t) => {
|
|
6954
6994
|
if (E.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
|
|
6955
6995
|
let n = E.threadId;
|
|
6956
|
-
await
|
|
6996
|
+
await M(async () => {
|
|
6957
6997
|
let r = Pr(t), i = await T.editComment(n, e, {
|
|
6958
6998
|
body: t,
|
|
6959
6999
|
mentions: r.length > 0 ? r : void 0
|
|
@@ -6964,11 +7004,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6964
7004
|
T,
|
|
6965
7005
|
f,
|
|
6966
7006
|
E,
|
|
6967
|
-
|
|
7007
|
+
M
|
|
6968
7008
|
]), qe = V(async (e) => {
|
|
6969
7009
|
if (E.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
|
|
6970
7010
|
let t = E.threadId;
|
|
6971
|
-
await
|
|
7011
|
+
await M(async () => {
|
|
6972
7012
|
let n = await T.deleteComment(t, e);
|
|
6973
7013
|
c((e) => e.map((e) => e._id === t ? n.thread : e));
|
|
6974
7014
|
});
|
|
@@ -6976,13 +7016,13 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6976
7016
|
T,
|
|
6977
7017
|
f,
|
|
6978
7018
|
E,
|
|
6979
|
-
|
|
7019
|
+
M
|
|
6980
7020
|
]), Je = V(async (e, t) => {
|
|
6981
7021
|
if (E.kind !== "thread") return;
|
|
6982
|
-
let n =
|
|
7022
|
+
let n = Pi(f);
|
|
6983
7023
|
if (!n) return;
|
|
6984
7024
|
let r = E.threadId;
|
|
6985
|
-
await
|
|
7025
|
+
await ge(async () => {
|
|
6986
7026
|
let i = await T.toggleReaction(e, {
|
|
6987
7027
|
emoji: t,
|
|
6988
7028
|
authorName: n.name
|
|
@@ -6993,14 +7033,14 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
6993
7033
|
T,
|
|
6994
7034
|
f,
|
|
6995
7035
|
E,
|
|
6996
|
-
|
|
7036
|
+
ge
|
|
6997
7037
|
]), [Ye, Xe] = L(!1), Ze = V(async () => {
|
|
6998
|
-
await
|
|
7038
|
+
await ve(async () => {
|
|
6999
7039
|
await T.forgetMe(), D({ kind: "idle" }), p({ type: "forget-me" }), Xe(!0);
|
|
7000
7040
|
});
|
|
7001
7041
|
}, [
|
|
7002
7042
|
T,
|
|
7003
|
-
|
|
7043
|
+
ve,
|
|
7004
7044
|
p
|
|
7005
7045
|
]);
|
|
7006
7046
|
R(() => {
|
|
@@ -7009,12 +7049,12 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7009
7049
|
return () => window.clearTimeout(e);
|
|
7010
7050
|
}, [Ye]);
|
|
7011
7051
|
let [Qe, $e] = L(!1), et = V(async () => {
|
|
7012
|
-
await
|
|
7052
|
+
await ye(async () => {
|
|
7013
7053
|
await T.signOut(), D({ kind: "idle" }), p({ type: "signed-out" }), $e(!0);
|
|
7014
7054
|
});
|
|
7015
7055
|
}, [
|
|
7016
7056
|
T,
|
|
7017
|
-
|
|
7057
|
+
ye,
|
|
7018
7058
|
p
|
|
7019
7059
|
]);
|
|
7020
7060
|
R(() => {
|
|
@@ -7031,23 +7071,36 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7031
7071
|
anchorOffsetX: e.anchorOffsetX,
|
|
7032
7072
|
anchorOffsetY: e.anchorOffsetY
|
|
7033
7073
|
})
|
|
7034
|
-
})), [s, we]), nt =
|
|
7074
|
+
})), [s, we]), nt = z({
|
|
7075
|
+
retryable: !1,
|
|
7076
|
+
elements: []
|
|
7077
|
+
});
|
|
7078
|
+
R(() => {
|
|
7079
|
+
nt.current = {
|
|
7080
|
+
retryable: U.some((e) => !e.point.resolved && e.thread.anchorSelector != null),
|
|
7081
|
+
elements: U.flatMap((e) => e.point.element ? [e.point.element] : [])
|
|
7082
|
+
};
|
|
7083
|
+
}, [U]);
|
|
7084
|
+
let rt = s.some((e) => e.anchorSelector != null);
|
|
7035
7085
|
return R(() => {
|
|
7036
|
-
if (!
|
|
7086
|
+
if (!rt) return;
|
|
7037
7087
|
let e = null;
|
|
7038
7088
|
function t() {
|
|
7039
7089
|
e ??= requestAnimationFrame(() => {
|
|
7040
7090
|
e = null, Te((e) => e + 1);
|
|
7041
7091
|
});
|
|
7042
7092
|
}
|
|
7043
|
-
let n = new MutationObserver(
|
|
7093
|
+
let n = new MutationObserver(() => {
|
|
7094
|
+
let { retryable: e, elements: n } = nt.current;
|
|
7095
|
+
!e && n.every((e) => e.isConnected) || t();
|
|
7096
|
+
});
|
|
7044
7097
|
return n.observe(document.body, {
|
|
7045
7098
|
childList: !0,
|
|
7046
7099
|
subtree: !0
|
|
7047
7100
|
}), () => {
|
|
7048
7101
|
n.disconnect(), e != null && cancelAnimationFrame(e);
|
|
7049
7102
|
};
|
|
7050
|
-
}, [
|
|
7103
|
+
}, [rt]), R(() => {
|
|
7051
7104
|
E.kind === "thread" && tt == null && Fe();
|
|
7052
7105
|
}, [
|
|
7053
7106
|
E,
|
|
@@ -7061,7 +7114,7 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7061
7114
|
class: "markup-pins-layer",
|
|
7062
7115
|
children: [!P && v ? U.map(({ thread: e, point: t }) => {
|
|
7063
7116
|
let n = E.kind === "thread" && E.threadId === e._id, r = e.comments.reduce((e, t) => e + +!t.deleted, 0);
|
|
7064
|
-
return /* @__PURE__ */ Q(
|
|
7117
|
+
return /* @__PURE__ */ Q(Us, {
|
|
7065
7118
|
pageX: t.pageX,
|
|
7066
7119
|
pageY: t.pageY,
|
|
7067
7120
|
count: r,
|
|
@@ -7072,16 +7125,16 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7072
7125
|
threadId: e._id
|
|
7073
7126
|
})
|
|
7074
7127
|
}, e._id);
|
|
7075
|
-
}) : null, E.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7128
|
+
}) : null, E.kind === "composing-new" ? /* @__PURE__ */ Q(Ws, {
|
|
7076
7129
|
pageX: E.pageX,
|
|
7077
7130
|
pageY: E.pageY
|
|
7078
7131
|
}) : null]
|
|
7079
7132
|
}),
|
|
7080
|
-
E.kind === "placing" ? /* @__PURE__ */ Q(
|
|
7133
|
+
E.kind === "placing" ? /* @__PURE__ */ Q(Gs, {
|
|
7081
7134
|
onPlace: Le,
|
|
7082
7135
|
onCancel: Fe
|
|
7083
7136
|
}) : null,
|
|
7084
|
-
E.kind === "thread" && tt ? /* @__PURE__ */ Q(
|
|
7137
|
+
E.kind === "thread" && tt ? /* @__PURE__ */ Q(Js, {
|
|
7085
7138
|
thread: tt,
|
|
7086
7139
|
authorName: De,
|
|
7087
7140
|
currentClientId: Ae ?? null,
|
|
@@ -7089,8 +7142,8 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7089
7142
|
isIdentityResolving: ke,
|
|
7090
7143
|
isSigningIn: I,
|
|
7091
7144
|
canDelete: H,
|
|
7092
|
-
isPending:
|
|
7093
|
-
error:
|
|
7145
|
+
isPending: xe,
|
|
7146
|
+
error: N,
|
|
7094
7147
|
isHidden: P,
|
|
7095
7148
|
members: O,
|
|
7096
7149
|
onAuthor: Re,
|
|
@@ -7103,17 +7156,18 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7103
7156
|
onDelete: Ve,
|
|
7104
7157
|
onResolve: He
|
|
7105
7158
|
}, tt._id) : null,
|
|
7106
|
-
E.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7159
|
+
E.kind === "composing-new" ? /* @__PURE__ */ Q(Is, {
|
|
7107
7160
|
pageX: E.pageX,
|
|
7108
7161
|
pageY: E.pageY,
|
|
7109
7162
|
authorName: De,
|
|
7110
7163
|
isVerified: Oe,
|
|
7111
7164
|
isIdentityResolving: ke,
|
|
7112
7165
|
isSigningIn: I,
|
|
7113
|
-
isPending:
|
|
7114
|
-
error:
|
|
7166
|
+
isPending: xe,
|
|
7167
|
+
error: N,
|
|
7115
7168
|
screenshot: E.screenshot,
|
|
7116
7169
|
isScreenshotCapturing: E.isScreenshotCapturing,
|
|
7170
|
+
screenshotFailed: E.screenshotFailed,
|
|
7117
7171
|
screenshotRedactedCount: E.screenshotRedactedCount,
|
|
7118
7172
|
screenshotRedactedSelectors: E.screenshotRedactedSelectors,
|
|
7119
7173
|
members: O,
|
|
@@ -7122,61 +7176,61 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
|
|
|
7122
7176
|
onSubmit: Be,
|
|
7123
7177
|
onClose: Fe
|
|
7124
7178
|
}) : null,
|
|
7125
|
-
!P || E.kind === "placing" || E.kind === "composing-new" ? /* @__PURE__ */ Q(
|
|
7179
|
+
!P || E.kind === "placing" || E.kind === "composing-new" ? /* @__PURE__ */ Q(ic, {
|
|
7126
7180
|
isActive: E.kind === "placing",
|
|
7127
7181
|
onToggle: () => E.kind === "placing" ? Fe() : F(),
|
|
7128
|
-
onHide: () =>
|
|
7182
|
+
onHide: () => Ce({ type: "hide-with-toast" }),
|
|
7129
7183
|
position: g,
|
|
7130
7184
|
showInbox: Oe,
|
|
7131
7185
|
unreadCount: Oe ? te : 0,
|
|
7132
7186
|
inboxOpen: S,
|
|
7133
7187
|
onOpenInbox: () => {
|
|
7134
7188
|
let e = !S;
|
|
7135
|
-
C(e), e &&
|
|
7189
|
+
C(e), e && ce();
|
|
7136
7190
|
},
|
|
7137
7191
|
pinsVisible: v,
|
|
7138
7192
|
onTogglePins: () => y((e) => !e),
|
|
7139
|
-
identityButton: /* @__PURE__ */ Q(
|
|
7193
|
+
identityButton: /* @__PURE__ */ Q($o, {
|
|
7140
7194
|
identity: f,
|
|
7141
7195
|
position: g,
|
|
7142
7196
|
isSigningIn: I,
|
|
7143
|
-
isSigningOut:
|
|
7197
|
+
isSigningOut: be,
|
|
7144
7198
|
dashboardUrl: i,
|
|
7145
7199
|
onSignIn: ze,
|
|
7146
7200
|
onSignOut: et,
|
|
7147
7201
|
onForgetMe: Ze
|
|
7148
7202
|
}),
|
|
7149
|
-
overflowButton: /* @__PURE__ */ Q(
|
|
7203
|
+
overflowButton: /* @__PURE__ */ Q(zs, {
|
|
7150
7204
|
position: g,
|
|
7151
7205
|
onSetPosition: _,
|
|
7152
7206
|
autoCapture: b && r?.enabled !== !1,
|
|
7153
7207
|
autoCaptureLocked: r?.enabled === !1,
|
|
7154
7208
|
onToggleAutoCapture: () => x((e) => !e),
|
|
7155
|
-
onHideForSession: () =>
|
|
7156
|
-
version: "1.16.
|
|
7209
|
+
onHideForSession: () => Ce({ type: "hide-with-toast" }),
|
|
7210
|
+
version: "1.16.1",
|
|
7157
7211
|
dashboardUrl: i
|
|
7158
7212
|
})
|
|
7159
7213
|
}) : null,
|
|
7160
|
-
S && Oe ? /* @__PURE__ */ Q(
|
|
7214
|
+
S && Oe ? /* @__PURE__ */ Q(rs, {
|
|
7161
7215
|
position: g,
|
|
7162
|
-
items:
|
|
7163
|
-
isLoading:
|
|
7164
|
-
error:
|
|
7165
|
-
isMarkingAll:
|
|
7216
|
+
items: A,
|
|
7217
|
+
isLoading: ne,
|
|
7218
|
+
error: ie,
|
|
7219
|
+
isMarkingAll: oe,
|
|
7166
7220
|
onClose: () => C(!1),
|
|
7167
7221
|
onItemClick: (e) => {
|
|
7168
7222
|
C(!1), Ue(e);
|
|
7169
7223
|
},
|
|
7170
7224
|
onMarkAllRead: We
|
|
7171
7225
|
}) : null,
|
|
7172
|
-
|
|
7173
|
-
Ye ? /* @__PURE__ */ Q(
|
|
7174
|
-
Qe ? /* @__PURE__ */ Q(
|
|
7226
|
+
Se.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(fc, { position: g }) : null,
|
|
7227
|
+
Ye ? /* @__PURE__ */ Q(pc, { position: g }) : null,
|
|
7228
|
+
Qe ? /* @__PURE__ */ Q(mc, { position: g }) : null
|
|
7175
7229
|
]
|
|
7176
7230
|
});
|
|
7177
7231
|
}
|
|
7178
|
-
function
|
|
7179
|
-
let { mod: t } =
|
|
7232
|
+
function fc({ position: e }) {
|
|
7233
|
+
let { mod: t } = Oo();
|
|
7180
7234
|
return /* @__PURE__ */ Q("div", {
|
|
7181
7235
|
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"),
|
|
7182
7236
|
role: "status",
|
|
@@ -7195,7 +7249,7 @@ function sc({ position: e }) {
|
|
|
7195
7249
|
]
|
|
7196
7250
|
});
|
|
7197
7251
|
}
|
|
7198
|
-
function
|
|
7252
|
+
function pc({ position: e }) {
|
|
7199
7253
|
return /* @__PURE__ */ Q("div", {
|
|
7200
7254
|
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"),
|
|
7201
7255
|
role: "status",
|
|
@@ -7203,7 +7257,7 @@ function cc({ position: e }) {
|
|
|
7203
7257
|
children: "Forgotten on this site — your name and email were cleared."
|
|
7204
7258
|
});
|
|
7205
7259
|
}
|
|
7206
|
-
function
|
|
7260
|
+
function mc({ position: e }) {
|
|
7207
7261
|
return /* @__PURE__ */ Q("div", {
|
|
7208
7262
|
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"),
|
|
7209
7263
|
role: "status",
|
|
@@ -7213,48 +7267,48 @@ function lc({ position: e }) {
|
|
|
7213
7267
|
}
|
|
7214
7268
|
//#endregion
|
|
7215
7269
|
//#region src/runtime/mount.tsx
|
|
7216
|
-
function
|
|
7270
|
+
function hc(e, t) {
|
|
7217
7271
|
e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", Oe(e, t.theme ?? "auto");
|
|
7218
7272
|
let n = Ne(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
|
|
7219
|
-
i.textContent =
|
|
7273
|
+
i.textContent = pe, r.appendChild(i);
|
|
7220
7274
|
let a = document.createElement("div");
|
|
7221
|
-
a.className = "markup-shadow-root", r.appendChild(a),
|
|
7275
|
+
a.className = "markup-shadow-root", r.appendChild(a), xe({
|
|
7222
7276
|
apiUrl: t.apiUrl,
|
|
7223
7277
|
apiKey: t.apiKey,
|
|
7224
|
-
widgetVersion: "1.16.
|
|
7278
|
+
widgetVersion: "1.16.1"
|
|
7225
7279
|
});
|
|
7226
7280
|
let { theme: o, ...s } = t;
|
|
7227
|
-
return
|
|
7228
|
-
onError: (e) =>
|
|
7229
|
-
children: /* @__PURE__ */ Q(
|
|
7281
|
+
return fe(/* @__PURE__ */ Q(M, {
|
|
7282
|
+
onError: (e) => N(e, { context: "render" }),
|
|
7283
|
+
children: /* @__PURE__ */ Q(dc, { ...s })
|
|
7230
7284
|
}), a), () => {
|
|
7231
|
-
n(),
|
|
7285
|
+
n(), xe(null), fe(null, a);
|
|
7232
7286
|
};
|
|
7233
7287
|
}
|
|
7234
7288
|
//#endregion
|
|
7235
7289
|
//#region src/widget.ts
|
|
7236
|
-
var
|
|
7237
|
-
function
|
|
7290
|
+
var gc = null, _c = null, vc = null, yc = !1;
|
|
7291
|
+
function bc(e) {
|
|
7238
7292
|
if (!e.apiUrl || !e.apiKey) return console.warn("[markup] init() requires both apiUrl and apiKey — widget not mounted"), () => {};
|
|
7239
|
-
e.fab != null && !
|
|
7293
|
+
e.fab != null && !yc && (yc = !0, console.warn("[markup] the `fab` option is ignored and will be removed in the next major — the toolbar replaced the floating action button. Remove it from your config.")), xc();
|
|
7240
7294
|
let t = () => {
|
|
7241
|
-
if (
|
|
7295
|
+
if (vc = null, !document.body) return;
|
|
7242
7296
|
let t = document.createElement("div");
|
|
7243
|
-
t.id = "markup-widget", document.body.appendChild(t),
|
|
7297
|
+
t.id = "markup-widget", document.body.appendChild(t), _c = t, gc = hc(t, e);
|
|
7244
7298
|
};
|
|
7245
7299
|
if (document.readyState === "loading" || !document.body) {
|
|
7246
7300
|
let e = () => t();
|
|
7247
|
-
|
|
7301
|
+
vc = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
|
|
7248
7302
|
} else t();
|
|
7249
|
-
return
|
|
7303
|
+
return xc;
|
|
7250
7304
|
}
|
|
7251
|
-
function
|
|
7252
|
-
|
|
7305
|
+
function xc() {
|
|
7306
|
+
vc &&= (vc(), null), gc &&= (gc(), null), _c?.parentNode && _c.parentNode.removeChild(_c), _c = null;
|
|
7253
7307
|
}
|
|
7254
7308
|
if (typeof document < "u") {
|
|
7255
7309
|
let e = document.currentScript ?? document.querySelector("script[data-markup-widget=\"true\"]"), t = e?.dataset.apiUrl, n = e?.dataset.apiKey;
|
|
7256
7310
|
if (t && n) {
|
|
7257
|
-
let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = () =>
|
|
7311
|
+
let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = () => bc({
|
|
7258
7312
|
apiUrl: t,
|
|
7259
7313
|
apiKey: n,
|
|
7260
7314
|
position: r,
|
|
@@ -7266,6 +7320,6 @@ if (typeof document < "u") {
|
|
|
7266
7320
|
}
|
|
7267
7321
|
}
|
|
7268
7322
|
//#endregion
|
|
7269
|
-
export {
|
|
7323
|
+
export { xc as destroy, bc as init };
|
|
7270
7324
|
|
|
7271
7325
|
//# sourceMappingURL=widget.js.map
|