@pixelmatters/markup 1.18.7 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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), re(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, ae(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
48
+ o.__v = n.__v + 1, t.vnode && t.vnode(o), ne(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, ie(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 = k(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 = re(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ce(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 = A(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);
68
+ for (c = k(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 = ne(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && se(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 = A(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 k(e, t, n, r, i) {
72
72
  var a, o, s, c, l, u = n.length, d = u, f = 0;
73
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 = j(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)), le(s, s));
74
+ if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), ce(s, s));
75
75
  return r;
76
76
  }
77
77
  function A(e, t, n, r) {
@@ -94,15 +94,15 @@ function j(e, t, n, r) {
94
94
  }
95
95
  return -1;
96
96
  }
97
- function te(e, t, n) {
97
+ function M(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 M(e, t, n, r, i) {
100
+ function N(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 || te(e.style, t, "");
105
- if (n) for (t in n) r && n[t] == r[t] || te(e.style, t, n[t]);
104
+ if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || M(e.style, t, "");
105
+ if (n) for (t in n) r && n[t] == r[t] || M(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 M(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 ne(e) {
117
+ function te(e) {
118
118
  return function(n) {
119
119
  if (this.l) {
120
120
  var r = this.l[n.type + e];
@@ -124,16 +124,16 @@ function ne(e) {
124
124
  }
125
125
  };
126
126
  }
127
- function re(e, n, r, i, a, o, s, c, l, u) {
128
- var d, f, p, m, g, b, x, w, T, E, D, O, k, A, j, te, M = n.type;
127
+ function ne(e, n, r, i, a, o, s, c, l, u) {
128
+ var d, f, p, m, g, b, x, w, T, E, D, O, k, A, j, M, N = 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 M == "function") {
131
+ n: if (typeof N == "function") {
132
132
  f = s.length;
133
133
  try {
134
- if (T = n.props, E = M.prototype && M.prototype.render, D = (d = M.contextType) && i[d.__c], O = d ? D ? D.props.value : d.__ : i, r.__c ? w = (p = n.__c = r.__c).__ = p.__E : (E ? n.__c = p = new M(T, O) : (n.__c = p = new C(T, O), p.constructor = M, p.render = ue), D && D.sub(p), p.state || (p.state = {}), p.__n = i, m = p.__d = !0, p.__h = [], p._sb = []), E && p.__s == null && (p.__s = p.state), E && M.getDerivedStateFromProps != null && (p.__s == p.state && (p.__s = v({}, p.__s)), v(p.__s, M.getDerivedStateFromProps(T, p.__s))), g = p.props, b = p.state, p.__v = n, m) E && M.getDerivedStateFromProps == null && p.componentWillMount != null && p.componentWillMount(), E && p.componentDidMount != null && p.__h.push(p.componentDidMount);
134
+ if (T = n.props, E = N.prototype && N.prototype.render, D = (d = N.contextType) && i[d.__c], O = d ? D ? D.props.value : d.__ : i, r.__c ? w = (p = n.__c = r.__c).__ = p.__E : (E ? n.__c = p = new N(T, O) : (n.__c = p = new C(T, O), p.constructor = N, p.render = le), D && D.sub(p), p.state || (p.state = {}), p.__n = i, m = p.__d = !0, p.__h = [], p._sb = []), E && p.__s == null && (p.__s = p.state), E && N.getDerivedStateFromProps != null && (p.__s == p.state && (p.__s = v({}, p.__s)), v(p.__s, N.getDerivedStateFromProps(T, p.__s))), g = p.props, b = p.state, p.__v = n, m) E && N.getDerivedStateFromProps == null && p.componentWillMount != null && p.componentWillMount(), E && p.componentDidMount != null && p.__h.push(p.componentDidMount);
135
135
  else {
136
- if (E && M.getDerivedStateFromProps == null && T !== g && p.componentWillReceiveProps != null && p.componentWillReceiveProps(T, O), n.__v == r.__v || !p.__e && p.shouldComponentUpdate != null && !1 === p.shouldComponentUpdate(T, p.__s, O)) {
136
+ if (E && N.getDerivedStateFromProps == null && T !== g && p.componentWillReceiveProps != null && p.componentWillReceiveProps(T, O), n.__v == r.__v || !p.__e && p.shouldComponentUpdate != null && !1 === p.shouldComponentUpdate(T, p.__s, O)) {
137
137
  n.__v != r.__v && (p.props = T, p.state = p.__s, p.__d = !1), n.__e = r.__e, n.__k = r.__k, n.__k.some(function(e) {
138
138
  e && (e.__ = n);
139
139
  }), h.push.apply(p.__h, p._sb), p._sb = [], p.__h.length && s.push(p);
@@ -147,24 +147,24 @@ function re(e, n, r, i, a, o, s, c, l, u) {
147
147
  else do
148
148
  p.__d = !1, k && k(n), d = p.render(p.props, p.state, p.context), p.state = p.__s;
149
149
  while (p.__d && ++A < 25);
150
- p.state = p.__s, p.getChildContext != null && (i = v(v({}, i), p.getChildContext())), E && !m && p.getSnapshotBeforeUpdate != null && (x = p.getSnapshotBeforeUpdate(g, b)), j = d != null && d.type === S && d.key == null ? oe(d.props.children) : d, c = ee(e, _(j) ? j : [j], n, r, i, a, o, s, c, l, u), p.base = n.__e, n.__u &= -161, p.__h.length && s.push(p), w && (p.__E = p.__ = null);
150
+ p.state = p.__s, p.getChildContext != null && (i = v(v({}, i), p.getChildContext())), E && !m && p.getSnapshotBeforeUpdate != null && (x = p.getSnapshotBeforeUpdate(g, b)), j = d != null && d.type === S && d.key == null ? ae(d.props.children) : d, c = ee(e, _(j) ? j : [j], n, r, i, a, o, s, c, l, u), p.base = n.__e, n.__u &= -161, p.__h.length && s.push(p), w && (p.__E = p.__ = null);
151
151
  } catch (e) {
152
152
  if (s.length = f, n.__v = null, l || o != null) {
153
153
  if (e.then) {
154
154
  for (n.__u |= l ? 160 : 128; c && c.nodeType == 8 && c.nextSibling;) c = c.nextSibling;
155
155
  o != null && (o[o.indexOf(c)] = null), n.__e = c;
156
- } else if (o != null) for (te = o.length; te--;) y(o[te]);
156
+ } else if (o != null) for (M = o.length; M--;) y(o[M]);
157
157
  } else n.__e = r.__e;
158
- n.__k ??= r.__k || [], e.then || ie(n), t.__e(e, n, r);
158
+ n.__k ??= r.__k || [], e.then || re(n), 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 = se(r.__e, n, r, i, a, o, s, l, u);
160
+ } else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = oe(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 ie(e) {
164
- e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(ie));
163
+ function re(e) {
164
+ e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(re));
165
165
  }
166
- function ae(e, n, r) {
167
- for (var i = 0; i < r.length; i++) ce(r[i], r[++i], r[++i]);
166
+ function ie(e, n, r) {
167
+ for (var i = 0; i < r.length; i++) se(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 ae(e, n, r) {
175
175
  }
176
176
  });
177
177
  }
178
- function oe(e) {
179
- return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(oe) : e.constructor === void 0 ? v({}, e) : null;
178
+ function ae(e) {
179
+ return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(ae) : e.constructor === void 0 ? v({}, e) : null;
180
180
  }
181
- function se(n, r, i, a, o, s, c, l, u) {
181
+ function oe(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 se(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 = C == "textarea" && S.defaultValue != null ? null : 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 || M(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 || M(n, d, g, x[d], o);
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 || N(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 || N(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 && C != "textarea" || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && M(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && M(n, d, b, x[d], o));
200
+ l && C != "textarea" || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && N(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && N(n, d, b, x[d], o));
201
201
  }
202
202
  return n;
203
203
  }
204
- function ce(e, n, r) {
204
+ function se(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 ce(e, n, r) {
211
211
  t.__e(e, r);
212
212
  }
213
213
  }
214
- function le(e, n, r) {
214
+ function ce(e, n, r) {
215
215
  var i, a;
216
- if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || ce(i, null, n)), (i = e.__c) != null) {
216
+ if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || se(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 le(e, n, r) {
221
221
  }
222
222
  i.base = i.__P = i.__n = null;
223
223
  }
224
- if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && le(i[a], n, r || typeof e.type != "function");
224
+ if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && ce(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 ue(e, t, n) {
227
+ function le(e, t, n) {
228
228
  return this.constructor(e, n);
229
229
  }
230
- function de(n, r, i) {
230
+ function ue(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 = [], re(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), ae(s, n, c), n.props.children = null;
232
+ r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], ne(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), ie(s, n, c), n.props.children = null;
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,49 +245,49 @@ 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 = ne(!1), p = ne(!0);
248
+ }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = te(!1), p = te(!0);
249
249
  //#endregion
250
250
  //#region src/styles.css?inline
251
- var fe = ":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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:active{transform:scale(.97)}.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;transition:transform .15s cubic-bezier(.2,.7,.2,1),opacity .15s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:absolute;top:0;right:0}.markup-tb-badge[data-unread=false]{opacity:0;transform:scale(.5)}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-icon-btn:active{transform:scale(.97)}.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.is-new{animation:.2s cubic-bezier(.2,.7,.2,1) markup-comment-in}@keyframes markup-comment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn:active:not(:disabled){transform:scale(.97)}.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-tb-btn,.markup-tb-badge,.markup-comment,.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-panel-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop[data-panel=privacy]{width:340px}.markup-panel-pop[data-panel=shortcuts]{width:320px}.markup-panel-pop-right{right:22px}.markup-panel-pop-left{left:22px}.markup-panel-pop-center{left:50%;transform:translate(-50%)}.markup-panel-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-panel-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-panel-pop .markup-notifications-panel-header{padding:12px 14px}.markup-panel-pop .markup-notifications-panel-header .markup-icon-btn{display:none}.markup-pop[data-pop=privacy],.markup-pop[data-pop=shortcuts]{padding:0}.markup-panel{max-height:min(70vh,520px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.markup-panel-header .markup-eyebrow{flex:1}.markup-panel-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.markup-panel-section{border-bottom:1px solid var(--markup-border);padding:10px 0}.markup-panel-section:last-child{border-bottom:none;padding-bottom:2px}.markup-panel-section-title{font-family:var(--markup-font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--markup-muted);margin:0 0 6px;font-size:10px;font-weight:400}.markup-panel-text{color:var(--markup-ink-soft);margin:0;font-size:12.5px;line-height:1.5}.markup-panel-text strong{color:var(--markup-ink);font-weight:600}.markup-panel-mono{font-family:var(--markup-font-mono);color:var(--markup-ink);word-break:break-all;font-size:11.5px}.markup-panel-list{color:var(--markup-ink-soft);margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}.markup-panel-list li{margin-bottom:3px}.markup-panel-list li::marker{color:var(--markup-muted)}.markup-panel-note{color:var(--markup-muted);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-error{color:var(--markup-danger);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-action{border:1px solid var(--markup-border-strong);width:100%;height:30px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;margin-top:10px;padding:0 10px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.markup-panel-action:hover:not(:disabled){background:var(--markup-hover)}.markup-panel-action:disabled{opacity:.6;cursor:default}.markup-panel-action.is-danger{border-color:color-mix(in srgb, var(--markup-danger) 45%, transparent);color:var(--markup-danger)}.markup-panel-action.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-shortcut-list{margin:0;padding:0;list-style:none}.markup-shortcut-row{align-items:center;gap:10px;min-height:24px;padding:2px 0;display:flex}.markup-shortcut-label{min-width:0;color:var(--markup-ink-soft);flex:1;font-size:12.5px;line-height:1.4}.markup-shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.markup-shortcut-chord{align-items:center;gap:3px;display:inline-flex}.markup-shortcut-or{color:var(--markup-muted);margin-right:1px;font-size:10px}", pe = 1e4, N = 20, me = 60, he = null, ge = [], P = null, _e = !1, ve = ye();
252
- function ye() {
251
+ var de = ":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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:active{transform:scale(.97)}.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;transition:transform .15s cubic-bezier(.2,.7,.2,1),opacity .15s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:absolute;top:0;right:0}.markup-tb-badge[data-unread=false]{opacity:0;transform:scale(.5)}.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);pointer-events:none;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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-icon-btn:active{transform:scale(.97)}.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.is-new{animation:.2s cubic-bezier(.2,.7,.2,1) markup-comment-in}@keyframes markup-comment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn:active:not(:disabled){transform:scale(.97)}.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-btn-danger{color:var(--markup-danger)}.markup-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-discard-confirm{background:color-mix(in srgb, var(--markup-paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);flex-direction:column;justify-content:center;gap:4px;padding:16px;animation:.12s ease-out markup-menu-in;display:flex;position:absolute;inset:0}.markup-discard-confirm-title{color:var(--markup-ink);margin:0;font-size:13px;font-weight:600}.markup-discard-confirm-desc{color:var(--markup-muted);margin:0;font-size:12px}.markup-discard-confirm-actions{gap:6px;margin-top:10px;display:flex}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;flex-direction:column;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-row.is-attached{border-style:solid;border-color:var(--markup-border);padding:8px}.markup-screenshot-row-head{justify-content:space-between;align-items:center;gap:8px;min-height:16px;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-link{border:1px solid var(--markup-border-strong);cursor:zoom-in;background:0 0;border-radius:3px;margin:-4px auto -4px -4px;padding:0;transition:border-color .12s;display:block;overflow:hidden}.markup-screenshot-thumb-link:hover,.markup-screenshot-thumb-link:focus-visible{border-color:var(--markup-brand)}.markup-screenshot-thumb{object-fit:cover;object-position:top;width:auto;height:22px;display:block}.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);white-space:nowrap;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{flex-direction:column;gap:2px;display:flex}.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:0;font-size:10px;line-height:1.5}.markup-screenshot-help-link{color:var(--markup-ink);text-underline-offset:2px;text-decoration:underline}.markup-screenshot-help-link:hover{color:var(--markup-brand)}.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-tb-btn,.markup-tb-badge,.markup-comment,.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-panel-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop[data-panel=privacy]{width:340px}.markup-panel-pop[data-panel=shortcuts]{width:320px}.markup-panel-pop-right{right:22px}.markup-panel-pop-left{left:22px}.markup-panel-pop-center{left:50%;transform:translate(-50%)}.markup-panel-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-panel-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-panel-pop .markup-notifications-panel-header{padding:12px 14px}.markup-panel-pop .markup-notifications-panel-header .markup-icon-btn{display:none}.markup-pop[data-pop=privacy],.markup-pop[data-pop=shortcuts]{padding:0}.markup-panel{max-height:min(70vh,520px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.markup-panel-header .markup-eyebrow{flex:1}.markup-panel-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.markup-panel-section{border-bottom:1px solid var(--markup-border);padding:10px 0}.markup-panel-section:last-child{border-bottom:none;padding-bottom:2px}.markup-panel-section-title{font-family:var(--markup-font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--markup-muted);margin:0 0 6px;font-size:10px;font-weight:400}.markup-panel-text{color:var(--markup-ink-soft);margin:0;font-size:12.5px;line-height:1.5}.markup-panel-text strong{color:var(--markup-ink);font-weight:600}.markup-panel-mono{font-family:var(--markup-font-mono);color:var(--markup-ink);word-break:break-all;font-size:11.5px}.markup-panel-list{color:var(--markup-ink-soft);margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}.markup-panel-list li{margin-bottom:3px}.markup-panel-list li::marker{color:var(--markup-muted)}.markup-panel-note{color:var(--markup-muted);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-error{color:var(--markup-danger);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-action{border:1px solid var(--markup-border-strong);width:100%;height:30px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;margin-top:10px;padding:0 10px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.markup-panel-action:hover:not(:disabled){background:var(--markup-hover)}.markup-panel-action:disabled{opacity:.6;cursor:default}.markup-panel-action.is-danger{border-color:color-mix(in srgb, var(--markup-danger) 45%, transparent);color:var(--markup-danger)}.markup-panel-action.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-shortcut-list{margin:0;padding:0;list-style:none}.markup-shortcut-row{align-items:center;gap:10px;min-height:24px;padding:2px 0;display:flex}.markup-shortcut-label{min-width:0;color:var(--markup-ink-soft);flex:1;font-size:12.5px;line-height:1.4}.markup-shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.markup-shortcut-chord{align-items:center;gap:3px;display:inline-flex}.markup-shortcut-or{color:var(--markup-muted);margin-right:1px;font-size:10px}", fe = 1e4, P = 20, pe = 60, me = null, he = [], F = null, ge = !1, _e = ve();
252
+ function ve() {
253
253
  return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `s-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
254
254
  }
255
- function be(e) {
256
- if (he = e, !e) {
257
- ge = [], P &&= (clearTimeout(P), null);
255
+ function ye(e) {
256
+ if (me = e, !e) {
257
+ he = [], F &&= (clearTimeout(F), null);
258
258
  return;
259
259
  }
260
260
  Se();
261
261
  }
262
- function F(e, t) {
263
- if (he && !(ge.length >= me)) {
264
- if (ge.push({
262
+ function be(e, t) {
263
+ if (me && !(he.length >= pe)) {
264
+ if (he.push({
265
265
  name: e,
266
266
  properties: t,
267
267
  timestamp: Date.now()
268
- }), ge.length >= N) {
268
+ }), he.length >= P) {
269
269
  xe();
270
270
  return;
271
271
  }
272
- P ||= setTimeout(() => {
273
- P = null, xe();
274
- }, pe);
272
+ F ||= setTimeout(() => {
273
+ F = null, xe();
274
+ }, fe);
275
275
  }
276
276
  }
277
277
  async function xe() {
278
- if (!he || ge.length === 0) return;
279
- let e = ge.splice(0, N);
280
- P &&= (clearTimeout(P), null);
278
+ if (!me || he.length === 0) return;
279
+ let e = he.splice(0, P);
280
+ F &&= (clearTimeout(F), null);
281
281
  try {
282
- await fetch(`${he.apiUrl.replace(/\/+$/, "")}/widget/events`, {
282
+ await fetch(`${me.apiUrl.replace(/\/+$/, "")}/widget/events`, {
283
283
  method: "POST",
284
284
  headers: {
285
285
  "content-type": "application/json",
286
- "x-markup-api-key": he.apiKey
286
+ "x-markup-api-key": me.apiKey
287
287
  },
288
288
  body: JSON.stringify({
289
- sessionId: ve,
290
- widgetVersion: he.widgetVersion,
289
+ sessionId: _e,
290
+ widgetVersion: me.widgetVersion,
291
291
  events: e.map((e) => ({
292
292
  name: e.name,
293
293
  properties: e.properties,
@@ -297,13 +297,13 @@ async function xe() {
297
297
  keepalive: !0
298
298
  });
299
299
  } catch {}
300
- he && ge.length > 0 && !P && (P = setTimeout(() => {
301
- P = null, xe();
302
- }, pe));
300
+ me && he.length > 0 && !F && (F = setTimeout(() => {
301
+ F = null, xe();
302
+ }, fe));
303
303
  }
304
304
  function Se() {
305
- if (_e || typeof window > "u") return;
306
- _e = !0;
305
+ if (ge || typeof window > "u") return;
306
+ ge = !0;
307
307
  let e = () => void xe();
308
308
  window.addEventListener("pagehide", e), document.addEventListener("visibilitychange", () => {
309
309
  document.visibilityState === "hidden" && e();
@@ -2983,7 +2983,7 @@ function* _i(e, t, n, r, i) {
2983
2983
  //#endregion
2984
2984
  //#region src/runtime/anchor.ts
2985
2985
  function vi(e, t) {
2986
- 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 ? xi(s) : void 0, l, u;
2986
+ 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 ? wi(s) : void 0, l, u;
2987
2987
  if (s) {
2988
2988
  let t = s.getBoundingClientRect();
2989
2989
  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)));
@@ -3001,7 +3001,7 @@ function vi(e, t) {
3001
3001
  function yi(e) {
3002
3002
  if (e.anchorSelector) try {
3003
3003
  let t = document.querySelector(e.anchorSelector), n = t?.getBoundingClientRect();
3004
- if (t && n && bi(n)) return {
3004
+ if (t && n && Ci(n)) return {
3005
3005
  pageX: n.left + window.scrollX + (e.anchorOffsetX ?? .5) * n.width,
3006
3006
  pageY: n.top + window.scrollY + (e.anchorOffsetY ?? .5) * n.height,
3007
3007
  resolved: !0,
@@ -3016,10 +3016,58 @@ function yi(e) {
3016
3016
  element: null
3017
3017
  };
3018
3018
  }
3019
- function bi(e) {
3020
- return e.width !== 0 || e.height !== 0 || e.top !== 0 || e.left !== 0;
3019
+ function bi(e, t) {
3020
+ let n = window.innerWidth, r = t && t.viewportW === n ? t : void 0, i = yi(e);
3021
+ if (i.resolved && i.element) {
3022
+ let e = i.element.getBoundingClientRect(), t = {
3023
+ width: e.width,
3024
+ height: e.height
3025
+ };
3026
+ return r && r.element !== i.element && Si(i, t, r) ? {
3027
+ point: xi(r),
3028
+ memory: r
3029
+ } : {
3030
+ point: i,
3031
+ memory: {
3032
+ pageX: i.pageX,
3033
+ pageY: i.pageY,
3034
+ size: t,
3035
+ element: i.element,
3036
+ viewportW: n
3037
+ }
3038
+ };
3039
+ }
3040
+ return r ? {
3041
+ point: xi(r),
3042
+ memory: r
3043
+ } : {
3044
+ point: i,
3045
+ memory: {
3046
+ pageX: i.pageX,
3047
+ pageY: i.pageY,
3048
+ size: null,
3049
+ element: null,
3050
+ viewportW: n
3051
+ }
3052
+ };
3021
3053
  }
3022
3054
  function xi(e) {
3055
+ return {
3056
+ pageX: e.pageX,
3057
+ pageY: e.pageY,
3058
+ resolved: !1,
3059
+ element: null
3060
+ };
3061
+ }
3062
+ function Si(e, t, n) {
3063
+ if (!n.size) return !1;
3064
+ let r = (e, t) => e === 0 || t === 0 ? +(e === t) : e / t, i = r(t.width, n.size.width), a = r(t.height, n.size.height), o = i < .5 || i > 2 || a < .5 || a > 2, s = Math.hypot(e.pageX - n.pageX, e.pageY - n.pageY) > window.innerHeight;
3065
+ return o || s;
3066
+ }
3067
+ function Ci(e) {
3068
+ return e.width !== 0 || e.height !== 0 || e.top !== 0 || e.left !== 0;
3069
+ }
3070
+ function wi(e) {
3023
3071
  try {
3024
3072
  return ri(e, { timeoutMs: 1e3 });
3025
3073
  } catch {
@@ -3028,22 +3076,22 @@ function xi(e) {
3028
3076
  }
3029
3077
  //#endregion
3030
3078
  //#region src/runtime/api.ts
3031
- var Si = class extends Error {
3079
+ var Ti = class extends Error {
3032
3080
  status;
3033
3081
  constructor(e, t) {
3034
3082
  super(e), this.name = "WidgetApiError", this.status = t;
3035
3083
  }
3036
- }, Ci = class extends Si {
3084
+ }, Ei = class extends Ti {
3037
3085
  category;
3038
3086
  constructor(e, t) {
3039
3087
  super(`${e} took too long, so check your connection`, 0), this.name = "WidgetTimeoutError", this.category = t;
3040
3088
  }
3041
- }, wi = 15e3, J = 3e4;
3042
- function Ti(e, t) {
3089
+ }, Di = 15e3, J = 3e4;
3090
+ function Oi(e, t) {
3043
3091
  let n = AbortSignal.timeout(e);
3044
3092
  return t ? AbortSignal.any([t, n]) : n;
3045
3093
  }
3046
- function Ei(e) {
3094
+ function ki(e) {
3047
3095
  let t = e.apiUrl.replace(/\/+$/, "");
3048
3096
  async function n(n, r, i) {
3049
3097
  let a = {
@@ -3057,23 +3105,23 @@ function Ei(e) {
3057
3105
  let l = e.getStorageMode?.() === "cookies", u = {
3058
3106
  ...r,
3059
3107
  headers: a,
3060
- signal: Ti(i.timeoutMs, i.signal)
3108
+ signal: Oi(i.timeoutMs, i.signal)
3061
3109
  };
3062
3110
  l && (u.credentials = "include");
3063
3111
  let d;
3064
3112
  try {
3065
3113
  d = await fetch(`${t}${n}`, u);
3066
3114
  } catch (e) {
3067
- throw e instanceof DOMException && e.name === "TimeoutError" ? new Ci(i.operation, i.category) : e;
3115
+ throw e instanceof DOMException && e.name === "TimeoutError" ? new Ei(i.operation, i.category) : e;
3068
3116
  }
3069
- let f = await d.text(), p = f ? Di(f) : null;
3070
- if (!d.ok) throw d.status === 401 && (s || l) && e.onUnauthorized?.(), new Si((p && typeof p == "object" && "error" in p && typeof p.error == "string" ? p.error : null) ?? `Request failed with ${d.status}`, d.status);
3117
+ let f = await d.text(), p = f ? Ai(f) : null;
3118
+ if (!d.ok) throw d.status === 401 && (s || l) && e.onUnauthorized?.(), new Ti((p && typeof p == "object" && "error" in p && typeof p.error == "string" ? p.error : null) ?? `Request failed with ${d.status}`, d.status);
3071
3119
  return p;
3072
3120
  }
3073
3121
  return {
3074
3122
  mintAnonIdentity(e) {
3075
3123
  return n("/widget/anon-identity", { method: "POST" }, {
3076
- timeoutMs: wi,
3124
+ timeoutMs: Di,
3077
3125
  category: "read",
3078
3126
  operation: "mint-anon-identity",
3079
3127
  signal: e?.signal
@@ -3081,7 +3129,7 @@ function Ei(e) {
3081
3129
  },
3082
3130
  getSubscriptionToken(e) {
3083
3131
  return n("/widget/subscription-token", { method: "POST" }, {
3084
- timeoutMs: wi,
3132
+ timeoutMs: Di,
3085
3133
  category: "read",
3086
3134
  operation: "mint-subscription-token",
3087
3135
  signal: e?.signal
@@ -3089,7 +3137,7 @@ function Ei(e) {
3089
3137
  },
3090
3138
  getScreenshotUploadUrl(e) {
3091
3139
  return n("/widget/screenshots/upload-url", { method: "POST" }, {
3092
- timeoutMs: wi,
3140
+ timeoutMs: Di,
3093
3141
  category: "read",
3094
3142
  operation: "mint-screenshot-upload-url",
3095
3143
  signal: e?.signal
@@ -3097,7 +3145,7 @@ function Ei(e) {
3097
3145
  },
3098
3146
  listThreads(e, t) {
3099
3147
  return n(`/widget/threads?route=${encodeURIComponent(e)}`, { method: "GET" }, {
3100
- timeoutMs: wi,
3148
+ timeoutMs: Di,
3101
3149
  category: "read",
3102
3150
  operation: "list-threads",
3103
3151
  signal: t?.signal
@@ -3105,7 +3153,7 @@ function Ei(e) {
3105
3153
  },
3106
3154
  listMembers(e) {
3107
3155
  return n("/widget/members", { method: "GET" }, {
3108
- timeoutMs: wi,
3156
+ timeoutMs: Di,
3109
3157
  category: "read",
3110
3158
  operation: "list-members",
3111
3159
  signal: e?.signal
@@ -3113,7 +3161,7 @@ function Ei(e) {
3113
3161
  },
3114
3162
  listNotifications(e) {
3115
3163
  return n("/widget/notifications", { method: "GET" }, {
3116
- timeoutMs: wi,
3164
+ timeoutMs: Di,
3117
3165
  category: "read",
3118
3166
  operation: "list-notifications",
3119
3167
  signal: e?.signal
@@ -3224,7 +3272,7 @@ function Ei(e) {
3224
3272
  }
3225
3273
  };
3226
3274
  }
3227
- function Di(e) {
3275
+ function Ai(e) {
3228
3276
  try {
3229
3277
  return JSON.parse(e);
3230
3278
  } catch {
@@ -3233,10 +3281,10 @@ function Di(e) {
3233
3281
  }
3234
3282
  //#endregion
3235
3283
  //#region src/runtime/cookie-probe.ts
3236
- var Oi = "markup.cookieProbe";
3237
- async function ki(e, t) {
3284
+ var ji = "markup.cookieProbe";
3285
+ async function Mi(e, t) {
3238
3286
  try {
3239
- let e = sessionStorage.getItem(Oi);
3287
+ let e = sessionStorage.getItem(ji);
3240
3288
  if (e === "supported") return !0;
3241
3289
  if (e === "unsupported") return !1;
3242
3290
  } catch {}
@@ -3246,18 +3294,18 @@ async function ki(e, t) {
3246
3294
  method: "POST",
3247
3295
  credentials: "include",
3248
3296
  headers: r,
3249
- signal: Ti(15e3)
3297
+ signal: Oi(15e3)
3250
3298
  })).ok) return !1;
3251
3299
  let e = await fetch(`${n}/widget/auth/probe-check`, {
3252
3300
  method: "POST",
3253
3301
  credentials: "include",
3254
3302
  headers: r,
3255
- signal: Ti(wi)
3303
+ signal: Oi(Di)
3256
3304
  });
3257
3305
  if (!e.ok) return !1;
3258
3306
  let { supported: t } = await e.json(), i = t === !0;
3259
3307
  try {
3260
- sessionStorage.setItem(Oi, i ? "supported" : "unsupported");
3308
+ sessionStorage.setItem(ji, i ? "supported" : "unsupported");
3261
3309
  } catch {}
3262
3310
  return i;
3263
3311
  } catch (e) {
@@ -3267,8 +3315,8 @@ async function ki(e, t) {
3267
3315
  }
3268
3316
  //#endregion
3269
3317
  //#region src/runtime/history-observer.ts
3270
- var Ai = "__markup_history_observer__", ji = "__markup_history_listeners__";
3271
- function Mi(e) {
3318
+ var Ni = "__markup_history_observer__", Pi = "__markup_history_listeners__";
3319
+ function Fi(e) {
3272
3320
  e.forEach((e) => {
3273
3321
  try {
3274
3322
  e();
@@ -3277,75 +3325,75 @@ function Mi(e) {
3277
3325
  }
3278
3326
  });
3279
3327
  }
3280
- var Ni = "__markup_history_restore__";
3281
- function Pi() {
3328
+ var Ii = "__markup_history_restore__";
3329
+ function Li() {
3282
3330
  let e = history.pushState;
3283
- if (e[Ai]) return {
3284
- listeners: e[ji],
3285
- restore: e[Ni]
3331
+ if (e[Ni]) return {
3332
+ listeners: e[Pi],
3333
+ restore: e[Ii]
3286
3334
  };
3287
3335
  let t = /* @__PURE__ */ new Set(), n = history.pushState, r = history.replaceState;
3288
3336
  function i(...e) {
3289
- n.apply(this, e), Mi(t);
3337
+ n.apply(this, e), Fi(t);
3290
3338
  }
3291
3339
  function a(...e) {
3292
- r.apply(this, e), Mi(t);
3340
+ r.apply(this, e), Fi(t);
3293
3341
  }
3294
- let o = () => Mi(t), s = () => {
3342
+ let o = () => Fi(t), s = () => {
3295
3343
  history.pushState === i && (history.pushState = n), history.replaceState === a && (history.replaceState = r), window.removeEventListener("popstate", o), t.clear();
3296
3344
  };
3297
- return Object.defineProperty(i, Ai, { value: 1 }), Object.defineProperty(i, ji, { value: t }), Object.defineProperty(i, Ni, { value: s }), Object.defineProperty(a, Ai, { value: 1 }), history.pushState = i, history.replaceState = a, window.addEventListener("popstate", o), {
3345
+ return Object.defineProperty(i, Ni, { value: 1 }), Object.defineProperty(i, Pi, { value: t }), Object.defineProperty(i, Ii, { value: s }), Object.defineProperty(a, Ni, { value: 1 }), history.pushState = i, history.replaceState = a, window.addEventListener("popstate", o), {
3298
3346
  listeners: t,
3299
3347
  restore: s
3300
3348
  };
3301
3349
  }
3302
- var Fi = null;
3303
- function Ii(e) {
3304
- Fi ||= Pi();
3305
- let t = Fi;
3350
+ var Ri = null;
3351
+ function zi(e) {
3352
+ Ri ||= Li();
3353
+ let t = Ri;
3306
3354
  t.listeners.add(e);
3307
3355
  let n = !1;
3308
3356
  return () => {
3309
- n || (n = !0, t.listeners.delete(e), t.listeners.size === 0 && (t.restore(), Fi === t && (Fi = null)));
3357
+ n || (n = !0, t.listeners.delete(e), t.listeners.size === 0 && (t.restore(), Ri === t && (Ri = null)));
3310
3358
  };
3311
3359
  }
3312
3360
  //#endregion
3313
3361
  //#region src/runtime/safe-url.ts
3314
- var Li = /* @__PURE__ */ new Set(["http:", "https:"]);
3315
- function Ri(e, t) {
3362
+ var Bi = /* @__PURE__ */ new Set(["http:", "https:"]);
3363
+ function Vi(e, t) {
3316
3364
  let n;
3317
3365
  try {
3318
3366
  n = new URL(e, t);
3319
3367
  } catch {
3320
3368
  return null;
3321
3369
  }
3322
- return Li.has(n.protocol) ? n : null;
3370
+ return Bi.has(n.protocol) ? n : null;
3323
3371
  }
3324
3372
  //#endregion
3325
3373
  //#region src/runtime/identity-store.ts
3326
- var zi = "markup.identity";
3327
- function Bi() {
3374
+ var Hi = "markup.identity";
3375
+ function Ui() {
3328
3376
  try {
3329
- let e = localStorage.getItem(zi);
3377
+ let e = localStorage.getItem(Hi);
3330
3378
  return e ? JSON.parse(e) : null;
3331
3379
  } catch {
3332
3380
  return null;
3333
3381
  }
3334
3382
  }
3335
- function Vi(e) {
3336
- if (typeof e.image == "string") return Ri(e.image, location.href)?.href ?? void 0;
3383
+ function Wi(e) {
3384
+ if (typeof e.image == "string") return Vi(e.image, location.href)?.href ?? void 0;
3337
3385
  }
3338
- function Hi(e) {
3386
+ function Gi(e) {
3339
3387
  try {
3340
3388
  if (e == null) {
3341
- localStorage.removeItem(zi);
3389
+ localStorage.removeItem(Hi);
3342
3390
  return;
3343
3391
  }
3344
- localStorage.setItem(zi, JSON.stringify(e));
3392
+ localStorage.setItem(Hi, JSON.stringify(e));
3345
3393
  } catch {}
3346
3394
  }
3347
- function Ui() {
3348
- let e = Bi(), t = {
3395
+ function Ki() {
3396
+ let e = Ui(), t = {
3349
3397
  name: e?.name,
3350
3398
  email: e?.email
3351
3399
  };
@@ -3364,7 +3412,7 @@ function Ui() {
3364
3412
  refreshTokenExpiresAt: e.refreshTokenExpiresAt,
3365
3413
  name: e.name,
3366
3414
  email: e.email,
3367
- image: Vi(e)
3415
+ image: Wi(e)
3368
3416
  }
3369
3417
  },
3370
3418
  preserved: t
@@ -3385,7 +3433,7 @@ function Ui() {
3385
3433
  } : {},
3386
3434
  name: e.name,
3387
3435
  email: e.email,
3388
- image: Vi(e)
3436
+ image: Wi(e)
3389
3437
  }
3390
3438
  },
3391
3439
  preserved: t
@@ -3407,10 +3455,10 @@ function Ui() {
3407
3455
  preserved: t
3408
3456
  };
3409
3457
  }
3410
- function Wi(e) {
3458
+ function qi(e) {
3411
3459
  switch (e.kind) {
3412
3460
  case "verified":
3413
- Hi({
3461
+ Gi({
3414
3462
  clientId: e.identity.clientId,
3415
3463
  storage: e.identity.storage,
3416
3464
  token: e.identity.storage === "cookies" ? void 0 : e.identity.token,
@@ -3424,7 +3472,7 @@ function Wi(e) {
3424
3472
  });
3425
3473
  return;
3426
3474
  case "anon":
3427
- Hi({
3475
+ Gi({
3428
3476
  clientId: e.identity.clientId,
3429
3477
  anonToken: e.identity.anonToken,
3430
3478
  name: e.identity.name,
@@ -3432,23 +3480,23 @@ function Wi(e) {
3432
3480
  });
3433
3481
  return;
3434
3482
  case "recovering":
3435
- Hi({
3483
+ Gi({
3436
3484
  name: e.preserved.name,
3437
3485
  email: e.preserved.email
3438
3486
  });
3439
3487
  return;
3440
3488
  case "unresolved":
3441
- Hi(null);
3489
+ Gi(null);
3442
3490
  return;
3443
3491
  }
3444
3492
  }
3445
- function Gi(e) {
3493
+ function Ji(e) {
3446
3494
  if (e.kind === "anon" || e.kind === "verified") return e.identity.clientId;
3447
3495
  }
3448
- function Ki(e) {
3496
+ function Yi(e) {
3449
3497
  return e.kind === "anon" ? e.identity.name ?? null : e.kind === "verified" ? e.identity.name : null;
3450
3498
  }
3451
- function qi(e) {
3499
+ function Xi(e) {
3452
3500
  if (e.kind === "anon") {
3453
3501
  let t = e.identity.name;
3454
3502
  return t ? {
@@ -3463,8 +3511,8 @@ function qi(e) {
3463
3511
  }
3464
3512
  //#endregion
3465
3513
  //#region src/runtime/popup-auth.ts
3466
- var Ji = "MARKUP_AUTH_RESULT", Yi = "MARKUP_AUTH_RETRY", Xi = "MARKUP_AUTH_EXPIRED", Zi = 5;
3467
- async function Qi(e) {
3514
+ var Zi = "MARKUP_AUTH_RESULT", Qi = "MARKUP_AUTH_RETRY", $i = "MARKUP_AUTH_EXPIRED", ea = 5;
3515
+ async function ta(e) {
3468
3516
  let { apiUrl: t, apiKey: n, useCookies: r } = e, i = new URL(t).origin, a = r ? "refresh,cookies" : "refresh";
3469
3517
  async function o() {
3470
3518
  let e = await fetch(`${t.replace(/\/+$/, "")}/widget/popup-exchange`, {
@@ -3474,7 +3522,7 @@ async function Qi(e) {
3474
3522
  "x-markup-api-key": n
3475
3523
  },
3476
3524
  body: "{}",
3477
- signal: Ti(J)
3525
+ signal: Oi(J)
3478
3526
  });
3479
3527
  if (!e.ok) throw Error(`popup-exchange responded with ${e.status}`);
3480
3528
  let { code: r } = await e.json(), i = new URL("/widget/auth", t);
@@ -3497,7 +3545,7 @@ async function Qi(e) {
3497
3545
  let s = (e) => {
3498
3546
  if (!r) {
3499
3547
  if (e) {
3500
- if (n >= Zi) {
3548
+ if (n >= ea) {
3501
3549
  a(), t(/* @__PURE__ */ Error("Sign-in could not be restarted. Close the window and try again"));
3502
3550
  return;
3503
3551
  }
@@ -3515,15 +3563,15 @@ async function Qi(e) {
3515
3563
  function c(n) {
3516
3564
  if (n.origin !== i || n.source !== u) return;
3517
3565
  let r = n.data;
3518
- if (r?.type === Yi) {
3566
+ if (r?.type === Qi) {
3519
3567
  s(!1);
3520
3568
  return;
3521
3569
  }
3522
- if (r?.type === Xi) {
3570
+ if (r?.type === $i) {
3523
3571
  s(!0);
3524
3572
  return;
3525
3573
  }
3526
- r?.type === Ji && (a(), r.identity?.id && r.identity?.name ? e({
3574
+ r?.type === Zi && (a(), r.identity?.id && r.identity?.name ? e({
3527
3575
  mode: r.mode === "cookies" ? "cookies" : "localStorage",
3528
3576
  identity: r.identity,
3529
3577
  token: typeof r.token == "string" ? r.token : null,
@@ -3551,7 +3599,7 @@ async function Qi(e) {
3551
3599
  accessToken: d.token,
3552
3600
  refreshToken: d.refreshToken
3553
3601
  }),
3554
- signal: Ti(J)
3602
+ signal: Oi(J)
3555
3603
  });
3556
3604
  if (!e.ok) {
3557
3605
  let t = /* @__PURE__ */ Error(`Failed to install widget cookies (${e.status})`);
@@ -3567,45 +3615,45 @@ async function Qi(e) {
3567
3615
  }
3568
3616
  //#endregion
3569
3617
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js
3570
- function $i(e, t) {
3618
+ function na(e, t) {
3571
3619
  if (e.match(/^[a-z]+:\/\//i)) return e;
3572
3620
  if (e.match(/^\/\//)) return window.location.protocol + e;
3573
3621
  if (e.match(/^[a-z]+:/i)) return e;
3574
3622
  let n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
3575
3623
  return n.head.appendChild(r), n.body.appendChild(i), t && (r.href = t), i.href = e, i.href;
3576
3624
  }
3577
- var ea = (() => {
3625
+ var ra = (() => {
3578
3626
  let e = 0, t = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);
3579
3627
  return () => (e += 1, `u${t()}${e}`);
3580
3628
  })();
3581
- function ta(e) {
3629
+ function ia(e) {
3582
3630
  let t = [];
3583
3631
  for (let n = 0, r = e.length; n < r; n++) t.push(e[n]);
3584
3632
  return t;
3585
3633
  }
3586
- var na = null;
3587
- function ra(e = {}) {
3588
- return na || (e.includeStyleProperties ? (na = e.includeStyleProperties, na) : (na = ta(window.getComputedStyle(document.documentElement)), na));
3634
+ var aa = null;
3635
+ function oa(e = {}) {
3636
+ return aa || (e.includeStyleProperties ? (aa = e.includeStyleProperties, aa) : (aa = ia(window.getComputedStyle(document.documentElement)), aa));
3589
3637
  }
3590
- function ia(e, t) {
3638
+ function sa(e, t) {
3591
3639
  let n = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
3592
3640
  return n ? parseFloat(n.replace("px", "")) : 0;
3593
3641
  }
3594
- function aa(e) {
3595
- let t = ia(e, "border-left-width"), n = ia(e, "border-right-width");
3642
+ function ca(e) {
3643
+ let t = sa(e, "border-left-width"), n = sa(e, "border-right-width");
3596
3644
  return e.clientWidth + t + n;
3597
3645
  }
3598
- function oa(e) {
3599
- let t = ia(e, "border-top-width"), n = ia(e, "border-bottom-width");
3646
+ function la(e) {
3647
+ let t = sa(e, "border-top-width"), n = sa(e, "border-bottom-width");
3600
3648
  return e.clientHeight + t + n;
3601
3649
  }
3602
- function sa(e, t = {}) {
3650
+ function ua(e, t = {}) {
3603
3651
  return {
3604
- width: t.width || aa(e),
3605
- height: t.height || oa(e)
3652
+ width: t.width || ca(e),
3653
+ height: t.height || la(e)
3606
3654
  };
3607
3655
  }
3608
- function ca() {
3656
+ function da() {
3609
3657
  let e, t;
3610
3658
  try {
3611
3659
  t = process;
@@ -3614,10 +3662,10 @@ function ca() {
3614
3662
  return n && (e = parseInt(n, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
3615
3663
  }
3616
3664
  var Y = 16384;
3617
- function la(e) {
3665
+ function fa(e) {
3618
3666
  (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));
3619
3667
  }
3620
- function ua(e) {
3668
+ function pa(e) {
3621
3669
  return new Promise((t, n) => {
3622
3670
  let r = new Image();
3623
3671
  r.onload = () => {
@@ -3627,12 +3675,12 @@ function ua(e) {
3627
3675
  }, r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = e;
3628
3676
  });
3629
3677
  }
3630
- async function da(e) {
3678
+ async function ma(e) {
3631
3679
  return Promise.resolve().then(() => new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then((e) => `data:image/svg+xml;charset=utf-8,${e}`);
3632
3680
  }
3633
- async function fa(e, t, n) {
3681
+ async function ha(e, t, n) {
3634
3682
  let r = "http://www.w3.org/2000/svg", i = document.createElementNS(r, "svg"), a = document.createElementNS(r, "foreignObject");
3635
- 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), da(i);
3683
+ 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), ma(i);
3636
3684
  }
3637
3685
  var X = (e, t) => {
3638
3686
  if (e instanceof t) return !0;
@@ -3641,66 +3689,66 @@ var X = (e, t) => {
3641
3689
  };
3642
3690
  //#endregion
3643
3691
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js
3644
- function pa(e) {
3692
+ function ga(e) {
3645
3693
  let t = e.getPropertyValue("content");
3646
3694
  return `${e.cssText} content: '${t.replace(/'|"/g, "")}';`;
3647
3695
  }
3648
- function ma(e, t) {
3649
- return ra(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
3696
+ function _a(e, t) {
3697
+ return oa(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
3650
3698
  }
3651
- function ha(e, t, n, r) {
3652
- let i = `.${e}:${t}`, a = n.cssText ? pa(n) : ma(n, r);
3699
+ function va(e, t, n, r) {
3700
+ let i = `.${e}:${t}`, a = n.cssText ? ga(n) : _a(n, r);
3653
3701
  return document.createTextNode(`${i}{${a}}`);
3654
3702
  }
3655
- function ga(e, t, n, r) {
3703
+ function ya(e, t, n, r) {
3656
3704
  let i = window.getComputedStyle(e, n), a = i.getPropertyValue("content");
3657
3705
  if (a === "" || a === "none") return;
3658
- let o = ea();
3706
+ let o = ra();
3659
3707
  try {
3660
3708
  t.className = `${t.className} ${o}`;
3661
3709
  } catch {
3662
3710
  return;
3663
3711
  }
3664
3712
  let s = document.createElement("style");
3665
- s.appendChild(ha(o, n, i, r)), t.appendChild(s);
3713
+ s.appendChild(va(o, n, i, r)), t.appendChild(s);
3666
3714
  }
3667
- function _a(e, t, n) {
3668
- ga(e, t, ":before", n), ga(e, t, ":after", n);
3715
+ function ba(e, t, n) {
3716
+ ya(e, t, ":before", n), ya(e, t, ":after", n);
3669
3717
  }
3670
3718
  //#endregion
3671
3719
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js
3672
- var va = "application/font-woff", ya = "image/jpeg", ba = {
3673
- woff: va,
3674
- woff2: va,
3720
+ var xa = "application/font-woff", Sa = "image/jpeg", Ca = {
3721
+ woff: xa,
3722
+ woff2: xa,
3675
3723
  ttf: "application/font-truetype",
3676
3724
  eot: "application/vnd.ms-fontobject",
3677
3725
  png: "image/png",
3678
- jpg: ya,
3679
- jpeg: ya,
3726
+ jpg: Sa,
3727
+ jpeg: Sa,
3680
3728
  gif: "image/gif",
3681
3729
  tiff: "image/tiff",
3682
3730
  svg: "image/svg+xml",
3683
3731
  webp: "image/webp"
3684
3732
  };
3685
- function xa(e) {
3733
+ function wa(e) {
3686
3734
  let t = /\.([^./]*?)$/g.exec(e);
3687
3735
  return t ? t[1] : "";
3688
3736
  }
3689
- function Sa(e) {
3690
- return ba[xa(e).toLowerCase()] || "";
3737
+ function Ta(e) {
3738
+ return Ca[wa(e).toLowerCase()] || "";
3691
3739
  }
3692
3740
  //#endregion
3693
3741
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js
3694
- function Ca(e) {
3742
+ function Ea(e) {
3695
3743
  return e.split(/,/)[1];
3696
3744
  }
3697
- function wa(e) {
3745
+ function Da(e) {
3698
3746
  return e.search(/^(data:)/) !== -1;
3699
3747
  }
3700
- function Ta(e, t) {
3748
+ function Oa(e, t) {
3701
3749
  return `data:${t};base64,${e}`;
3702
3750
  }
3703
- async function Ea(e, t, n) {
3751
+ async function ka(e, t, n) {
3704
3752
  let r = await fetch(e, t);
3705
3753
  if (r.status === 404) throw Error(`Resource "${r.url}" not found`);
3706
3754
  let i = await r.blob();
@@ -3718,78 +3766,78 @@ async function Ea(e, t, n) {
3718
3766
  }, a.readAsDataURL(i);
3719
3767
  });
3720
3768
  }
3721
- var Da = {};
3722
- function Oa(e, t, n) {
3769
+ var Aa = {};
3770
+ function ja(e, t, n) {
3723
3771
  let r = e.replace(/\?.*/, "");
3724
3772
  return n && (r = e), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\//, "")), t ? `[${t}]${r}` : r;
3725
3773
  }
3726
- async function ka(e, t, n) {
3727
- let r = Oa(e, t, n.includeQueryParams);
3728
- if (Da[r] != null) return Da[r];
3774
+ async function Ma(e, t, n) {
3775
+ let r = ja(e, t, n.includeQueryParams);
3776
+ if (Aa[r] != null) return Aa[r];
3729
3777
  n.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
3730
3778
  let i;
3731
3779
  try {
3732
- i = Ta(await Ea(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", Ca(n))), t);
3780
+ i = Oa(await ka(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", Ea(n))), t);
3733
3781
  } catch (t) {
3734
3782
  i = n.imagePlaceholder || "";
3735
3783
  let r = `Failed to fetch resource: ${e}`;
3736
3784
  t && (r = typeof t == "string" ? t : t.message), r && console.warn(r);
3737
3785
  }
3738
- return Da[r] = i, i;
3786
+ return Aa[r] = i, i;
3739
3787
  }
3740
3788
  //#endregion
3741
3789
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js
3742
- async function Aa(e) {
3790
+ async function Na(e) {
3743
3791
  let t = e.toDataURL();
3744
- return t === "data:," ? e.cloneNode(!1) : ua(t);
3792
+ return t === "data:," ? e.cloneNode(!1) : pa(t);
3745
3793
  }
3746
- async function ja(e, t) {
3794
+ async function Pa(e, t) {
3747
3795
  if (e.currentSrc) {
3748
3796
  let t = document.createElement("canvas"), n = t.getContext("2d");
3749
- return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), ua(t.toDataURL());
3797
+ return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), pa(t.toDataURL());
3750
3798
  }
3751
3799
  let n = e.poster;
3752
- return ua(await ka(n, Sa(n), t));
3800
+ return pa(await Ma(n, Ta(n), t));
3753
3801
  }
3754
- async function Ma(e, t) {
3802
+ async function Fa(e, t) {
3755
3803
  try {
3756
- if (e?.contentDocument?.body) return await Ha(e.contentDocument.body, t, !0);
3804
+ if (e?.contentDocument?.body) return await Ga(e.contentDocument.body, t, !0);
3757
3805
  } catch {}
3758
3806
  return e.cloneNode(!1);
3759
3807
  }
3760
- async function Na(e, t) {
3761
- return X(e, HTMLCanvasElement) ? Aa(e) : X(e, HTMLVideoElement) ? ja(e, t) : X(e, HTMLIFrameElement) ? Ma(e, t) : e.cloneNode(Fa(e));
3808
+ async function Ia(e, t) {
3809
+ return X(e, HTMLCanvasElement) ? Na(e) : X(e, HTMLVideoElement) ? Pa(e, t) : X(e, HTMLIFrameElement) ? Fa(e, t) : e.cloneNode(Ra(e));
3762
3810
  }
3763
- var Pa = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", Fa = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
3764
- async function Ia(e, t, n) {
3765
- if (Fa(t)) return t;
3811
+ var La = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", Ra = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
3812
+ async function za(e, t, n) {
3813
+ if (Ra(t)) return t;
3766
3814
  let r = [];
3767
- return r = Pa(e) && e.assignedNodes ? ta(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? ta(e.contentDocument.body.childNodes) : ta((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => Ha(r, n)).then((e) => {
3815
+ return r = La(e) && e.assignedNodes ? ia(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? ia(e.contentDocument.body.childNodes) : ia((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => Ga(r, n)).then((e) => {
3768
3816
  e && t.appendChild(e);
3769
3817
  }), Promise.resolve()), t;
3770
3818
  }
3771
- function La(e, t, n) {
3819
+ function Ba(e, t, n) {
3772
3820
  let r = t.style;
3773
3821
  if (!r) return;
3774
3822
  let i = window.getComputedStyle(e);
3775
- i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : ra(n).forEach((n) => {
3823
+ i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : oa(n).forEach((n) => {
3776
3824
  let a = i.getPropertyValue(n);
3777
3825
  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));
3778
3826
  });
3779
3827
  }
3780
- function Ra(e, t) {
3828
+ function Va(e, t) {
3781
3829
  X(e, HTMLTextAreaElement) && (t.innerHTML = e.value), X(e, HTMLInputElement) && t.setAttribute("value", e.value);
3782
3830
  }
3783
- function za(e, t) {
3831
+ function Ha(e, t) {
3784
3832
  if (X(e, HTMLSelectElement)) {
3785
3833
  let n = t, r = Array.from(n.children).find((t) => e.value === t.getAttribute("value"));
3786
3834
  r && r.setAttribute("selected", "");
3787
3835
  }
3788
3836
  }
3789
- function Ba(e, t, n) {
3790
- return X(t, Element) && (La(e, t, n), _a(e, t, n), Ra(e, t), za(e, t)), t;
3837
+ function Ua(e, t, n) {
3838
+ return X(t, Element) && (Ba(e, t, n), ba(e, t, n), Va(e, t), Ha(e, t)), t;
3791
3839
  }
3792
- async function Va(e, t) {
3840
+ async function Wa(e, t) {
3793
3841
  let n = e.querySelectorAll ? e.querySelectorAll("use") : [];
3794
3842
  if (n.length === 0) return e;
3795
3843
  let r = {};
@@ -3797,7 +3845,7 @@ async function Va(e, t) {
3797
3845
  let a = n[i].getAttribute("xlink:href");
3798
3846
  if (a) {
3799
3847
  let n = e.querySelector(a), i = document.querySelector(a);
3800
- !n && i && !r[a] && (r[a] = await Ha(i, t, !0));
3848
+ !n && i && !r[a] && (r[a] = await Ga(i, t, !0));
3801
3849
  }
3802
3850
  }
3803
3851
  let i = Object.values(r);
@@ -3811,61 +3859,61 @@ async function Va(e, t) {
3811
3859
  }
3812
3860
  return e;
3813
3861
  }
3814
- async function Ha(e, t, n) {
3815
- return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => Na(e, t)).then((n) => Ia(e, n, t)).then((n) => Ba(e, n, t)).then((e) => Va(e, t));
3862
+ async function Ga(e, t, n) {
3863
+ return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => Ia(e, t)).then((n) => za(e, n, t)).then((n) => Ua(e, n, t)).then((e) => Wa(e, t));
3816
3864
  }
3817
3865
  //#endregion
3818
3866
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js
3819
- var Ua = /url\((['"]?)([^'"]+?)\1\)/g, Wa = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, Ga = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
3820
- function Ka(e) {
3867
+ var Ka = /url\((['"]?)([^'"]+?)\1\)/g, qa = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, Ja = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
3868
+ function Ya(e) {
3821
3869
  let t = e.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
3822
3870
  return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`, "g");
3823
3871
  }
3824
- function qa(e) {
3872
+ function Xa(e) {
3825
3873
  let t = [];
3826
- return e.replace(Ua, (e, n, r) => (t.push(r), e)), t.filter((e) => !wa(e));
3874
+ return e.replace(Ka, (e, n, r) => (t.push(r), e)), t.filter((e) => !Da(e));
3827
3875
  }
3828
- async function Ja(e, t, n, r, i) {
3876
+ async function Za(e, t, n, r, i) {
3829
3877
  try {
3830
- let a = n ? $i(t, n) : t, o = Sa(t), s;
3831
- return s = i ? Ta(await i(a), o) : await ka(a, o, r), e.replace(Ka(t), `$1${s}$3`);
3878
+ let a = n ? na(t, n) : t, o = Ta(t), s;
3879
+ return s = i ? Oa(await i(a), o) : await Ma(a, o, r), e.replace(Ya(t), `$1${s}$3`);
3832
3880
  } catch {}
3833
3881
  return e;
3834
3882
  }
3835
- function Ya(e, { preferredFontFormat: t }) {
3836
- return t ? e.replace(Ga, (e) => {
3883
+ function Qa(e, { preferredFontFormat: t }) {
3884
+ return t ? e.replace(Ja, (e) => {
3837
3885
  for (;;) {
3838
- let [n, , r] = Wa.exec(e) || [];
3886
+ let [n, , r] = qa.exec(e) || [];
3839
3887
  if (!r) return "";
3840
3888
  if (r === t) return `src: ${n};`;
3841
3889
  }
3842
3890
  }) : e;
3843
3891
  }
3844
- function Xa(e) {
3845
- return e.search(Ua) !== -1;
3892
+ function $a(e) {
3893
+ return e.search(Ka) !== -1;
3846
3894
  }
3847
- async function Za(e, t, n) {
3848
- if (!Xa(e)) return e;
3849
- let r = Ya(e, n);
3850
- return qa(r).reduce((e, r) => e.then((e) => Ja(e, r, t, n)), Promise.resolve(r));
3895
+ async function eo(e, t, n) {
3896
+ if (!$a(e)) return e;
3897
+ let r = Qa(e, n);
3898
+ return Xa(r).reduce((e, r) => e.then((e) => Za(e, r, t, n)), Promise.resolve(r));
3851
3899
  }
3852
3900
  //#endregion
3853
3901
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js
3854
- async function Qa(e, t, n) {
3902
+ async function to(e, t, n) {
3855
3903
  let r = t.style?.getPropertyValue(e);
3856
3904
  if (r) {
3857
- let i = await Za(r, null, n);
3905
+ let i = await eo(r, null, n);
3858
3906
  return t.style.setProperty(e, i, t.style.getPropertyPriority(e)), !0;
3859
3907
  }
3860
3908
  return !1;
3861
3909
  }
3862
- async function $a(e, t) {
3863
- await Qa("background", e, t) || await Qa("background-image", e, t), await Qa("mask", e, t) || await Qa("-webkit-mask", e, t) || await Qa("mask-image", e, t) || await Qa("-webkit-mask-image", e, t);
3910
+ async function no(e, t) {
3911
+ await to("background", e, t) || await to("background-image", e, t), await to("mask", e, t) || await to("-webkit-mask", e, t) || await to("mask-image", e, t) || await to("-webkit-mask-image", e, t);
3864
3912
  }
3865
- async function eo(e, t) {
3913
+ async function ro(e, t) {
3866
3914
  let n = X(e, HTMLImageElement);
3867
- if (!(n && !wa(e.src)) && !(X(e, SVGImageElement) && !wa(e.href.baseVal))) return;
3868
- let r = n ? e.src : e.href.baseVal, i = await ka(r, Sa(r), t);
3915
+ if (!(n && !Da(e.src)) && !(X(e, SVGImageElement) && !Da(e.href.baseVal))) return;
3916
+ let r = n ? e.src : e.href.baseVal, i = await Ma(r, Ta(r), t);
3869
3917
  await new Promise((r, a) => {
3870
3918
  e.onload = r, e.onerror = t.onImageErrorHandler ? (...e) => {
3871
3919
  try {
@@ -3878,16 +3926,16 @@ async function eo(e, t) {
3878
3926
  o.decode &&= r, o.loading === "lazy" && (o.loading = "eager"), n ? (e.srcset = "", e.src = i) : e.href.baseVal = i;
3879
3927
  });
3880
3928
  }
3881
- async function to(e, t) {
3882
- let n = ta(e.childNodes).map((e) => no(e, t));
3929
+ async function io(e, t) {
3930
+ let n = ia(e.childNodes).map((e) => ao(e, t));
3883
3931
  await Promise.all(n).then(() => e);
3884
3932
  }
3885
- async function no(e, t) {
3886
- X(e, Element) && (await $a(e, t), await eo(e, t), await to(e, t));
3933
+ async function ao(e, t) {
3934
+ X(e, Element) && (await no(e, t), await ro(e, t), await io(e, t));
3887
3935
  }
3888
3936
  //#endregion
3889
3937
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js
3890
- function ro(e, t) {
3938
+ function oo(e, t) {
3891
3939
  let { style: n } = e;
3892
3940
  t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.width && (n.width = `${t.width}px`), t.height && (n.height = `${t.height}px`);
3893
3941
  let r = t.style;
@@ -3897,22 +3945,22 @@ function ro(e, t) {
3897
3945
  }
3898
3946
  //#endregion
3899
3947
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js
3900
- var io = {};
3901
- async function ao(e) {
3902
- let t = io[e];
3948
+ var so = {};
3949
+ async function co(e) {
3950
+ let t = so[e];
3903
3951
  return t ?? (t = {
3904
3952
  url: e,
3905
3953
  cssText: await (await fetch(e)).text()
3906
- }, io[e] = t, t);
3954
+ }, so[e] = t, t);
3907
3955
  }
3908
- async function oo(e, t) {
3956
+ async function lo(e, t) {
3909
3957
  let n = e.cssText, r = /url\(["']?([^"')]+)["']?\)/g, i = (n.match(/url\([^)]+\)/g) || []).map(async (i) => {
3910
3958
  let a = i.replace(r, "$1");
3911
- return a.startsWith("https://") || (a = new URL(a, e.url).href), Ea(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
3959
+ return a.startsWith("https://") || (a = new URL(a, e.url).href), ka(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
3912
3960
  });
3913
3961
  return Promise.all(i).then(() => n);
3914
3962
  }
3915
- function so(e) {
3963
+ function uo(e) {
3916
3964
  if (e == null) return [];
3917
3965
  let t = [], n = e.replace(/(\/\*[\s\S]*?\*\/)/gi, ""), r = /* @__PURE__ */ RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
3918
3966
  for (;;) {
@@ -3932,13 +3980,13 @@ function so(e) {
3932
3980
  }
3933
3981
  return t;
3934
3982
  }
3935
- async function co(e, t) {
3983
+ async function fo(e, t) {
3936
3984
  let n = [], r = [];
3937
3985
  return e.forEach((n) => {
3938
3986
  if ("cssRules" in n) try {
3939
- ta(n.cssRules || []).forEach((e, i) => {
3987
+ ia(n.cssRules || []).forEach((e, i) => {
3940
3988
  if (e.type === CSSRule.IMPORT_RULE) {
3941
- let a = i + 1, o = e.href, s = ao(o).then((e) => oo(e, t)).then((e) => so(e).forEach((e) => {
3989
+ let a = i + 1, o = e.href, s = co(o).then((e) => lo(e, t)).then((e) => uo(e).forEach((e) => {
3942
3990
  try {
3943
3991
  n.insertRule(e, e.startsWith("@import") ? a += 1 : n.cssRules.length);
3944
3992
  } catch (t) {
@@ -3955,7 +4003,7 @@ async function co(e, t) {
3955
4003
  });
3956
4004
  } catch (i) {
3957
4005
  let a = e.find((e) => e.href == null) || document.styleSheets[0];
3958
- n.href != null && r.push(ao(n.href).then((e) => oo(e, t)).then((e) => so(e).forEach((e) => {
4006
+ n.href != null && r.push(co(n.href).then((e) => lo(e, t)).then((e) => uo(e).forEach((e) => {
3959
4007
  a.insertRule(e, a.cssRules.length);
3960
4008
  })).catch((e) => {
3961
4009
  console.error("Error loading remote stylesheet", e);
@@ -3963,7 +4011,7 @@ async function co(e, t) {
3963
4011
  }
3964
4012
  }), Promise.all(r).then(() => (e.forEach((e) => {
3965
4013
  if ("cssRules" in e) try {
3966
- ta(e.cssRules || []).forEach((e) => {
4014
+ ia(e.cssRules || []).forEach((e) => {
3967
4015
  n.push(e);
3968
4016
  });
3969
4017
  } catch (t) {
@@ -3971,36 +4019,36 @@ async function co(e, t) {
3971
4019
  }
3972
4020
  }), n));
3973
4021
  }
3974
- function lo(e) {
3975
- return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => Xa(e.style.getPropertyValue("src")));
4022
+ function po(e) {
4023
+ return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => $a(e.style.getPropertyValue("src")));
3976
4024
  }
3977
- async function uo(e, t) {
4025
+ async function mo(e, t) {
3978
4026
  if (e.ownerDocument == null) throw Error("Provided element is not within a Document");
3979
- return lo(await co(ta(e.ownerDocument.styleSheets), t));
4027
+ return po(await fo(ia(e.ownerDocument.styleSheets), t));
3980
4028
  }
3981
- function fo(e) {
4029
+ function ho(e) {
3982
4030
  return e.trim().replace(/["']/g, "");
3983
4031
  }
3984
- function po(e) {
4032
+ function go(e) {
3985
4033
  let t = /* @__PURE__ */ new Set();
3986
4034
  function n(e) {
3987
4035
  (e.style.fontFamily || getComputedStyle(e).fontFamily).split(",").forEach((e) => {
3988
- t.add(fo(e));
4036
+ t.add(ho(e));
3989
4037
  }), Array.from(e.children).forEach((e) => {
3990
4038
  e instanceof HTMLElement && n(e);
3991
4039
  });
3992
4040
  }
3993
4041
  return n(e), t;
3994
4042
  }
3995
- async function mo(e, t) {
3996
- let n = await uo(e, t), r = po(e);
3997
- return (await Promise.all(n.filter((e) => r.has(fo(e.style.fontFamily))).map((e) => {
4043
+ async function _o(e, t) {
4044
+ let n = await mo(e, t), r = go(e);
4045
+ return (await Promise.all(n.filter((e) => r.has(ho(e.style.fontFamily))).map((e) => {
3998
4046
  let n = e.parentStyleSheet ? e.parentStyleSheet.href : null;
3999
- return Za(e.cssText, n, t);
4047
+ return eo(e.cssText, n, t);
4000
4048
  }))).join("\n");
4001
4049
  }
4002
- async function ho(e, t) {
4003
- let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await mo(e, t) : t.fontEmbedCSS;
4050
+ async function vo(e, t) {
4051
+ let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await _o(e, t) : t.fontEmbedCSS;
4004
4052
  if (n) {
4005
4053
  let t = document.createElement("style"), r = document.createTextNode(n);
4006
4054
  t.appendChild(r), e.firstChild ? e.insertBefore(t, e.firstChild) : e.appendChild(t);
@@ -4008,17 +4056,17 @@ async function ho(e, t) {
4008
4056
  }
4009
4057
  //#endregion
4010
4058
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js
4011
- async function go(e, t = {}) {
4012
- let { width: n, height: r } = sa(e, t), i = await Ha(e, t, !0);
4013
- return await ho(i, t), await no(i, t), ro(i, t), await fa(i, n, r);
4059
+ async function yo(e, t = {}) {
4060
+ let { width: n, height: r } = ua(e, t), i = await Ga(e, t, !0);
4061
+ return await vo(i, t), await ao(i, t), oo(i, t), await ha(i, n, r);
4014
4062
  }
4015
- async function _o(e, t = {}) {
4016
- let { width: n, height: r } = sa(e, t), i = await ua(await go(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || ca(), c = t.canvasWidth || n, l = t.canvasHeight || r;
4017
- return a.width = c * s, a.height = l * s, t.skipAutoScale || la(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;
4063
+ async function bo(e, t = {}) {
4064
+ let { width: n, height: r } = ua(e, t), i = await pa(await yo(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || da(), c = t.canvasWidth || n, l = t.canvasHeight || r;
4065
+ return a.width = c * s, a.height = l * s, t.skipAutoScale || fa(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;
4018
4066
  }
4019
4067
  //#endregion
4020
4068
  //#region src/runtime/screenshot.ts
4021
- var vo = 2097152, yo = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", bo = [
4069
+ var xo = 2097152, So = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", Co = [
4022
4070
  {
4023
4071
  quality: .85,
4024
4072
  scale: 1
@@ -4035,8 +4083,8 @@ var vo = 2097152, yo = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAA
4035
4083
  quality: .6,
4036
4084
  scale: .5
4037
4085
  }
4038
- ], xo = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", So = "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\"]";
4039
- function Co(e) {
4086
+ ], wo = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", To = "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\"]";
4087
+ function Eo(e) {
4040
4088
  let t = e.parentElement;
4041
4089
  for (; t;) {
4042
4090
  if (t.hasAttribute("data-markup-safe")) return !0;
@@ -4044,37 +4092,37 @@ function Co(e) {
4044
4092
  }
4045
4093
  return !1;
4046
4094
  }
4047
- function wo(e) {
4095
+ function Do(e) {
4048
4096
  let t = /* @__PURE__ */ new Set(), n = [];
4049
4097
  function r(e) {
4050
4098
  t.has(e) || (t.add(e), n.push(e));
4051
4099
  }
4052
4100
  for (let e of document.querySelectorAll("[data-markup-private],[data-markup-redact]")) r(e);
4053
- for (let e of document.querySelectorAll(So)) Co(e) || r(e);
4101
+ for (let e of document.querySelectorAll(To)) Eo(e) || r(e);
4054
4102
  if (e.redactSelector) try {
4055
- for (let t of document.querySelectorAll(e.redactSelector)) Co(t) || r(t);
4103
+ for (let t of document.querySelectorAll(e.redactSelector)) Eo(t) || r(t);
4056
4104
  } catch (e) {
4057
4105
  I(e, { context: "screenshot-redact-selector" });
4058
4106
  }
4059
- if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) Co(e) || r(e);
4107
+ if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) Eo(e) || r(e);
4060
4108
  return n;
4061
4109
  }
4062
- function To(e) {
4110
+ function Oo(e) {
4063
4111
  let t = e.getAttribute("style");
4064
- return e.setAttribute("style", t ? `${t};${xo}` : xo), () => {
4112
+ return e.setAttribute("style", t ? `${t};${wo}` : wo), () => {
4065
4113
  t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
4066
4114
  };
4067
4115
  }
4068
- function Eo(e) {
4116
+ function ko(e) {
4069
4117
  if (e.id) return `#${CSS.escape(e.id)}`;
4070
4118
  let t = e.tagName.toLowerCase(), n = e.getAttribute("type"), r = e.getAttribute("name");
4071
4119
  return n && r ? `${t}[type="${n}"][name="${r}"]` : n ? `${t}[type="${n}"]` : r ? `${t}[name="${r}"]` : t;
4072
4120
  }
4073
- async function Do(e, t, n) {
4121
+ async function Ao(e, t, n) {
4074
4122
  try {
4075
- let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ? wo(n) : [], s = o.map(Eo), c = o.map(To), l;
4123
+ let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ? Do(n) : [], s = o.map(ko), c = o.map(Oo), l;
4076
4124
  try {
4077
- l = await _o(document.documentElement, {
4125
+ l = await bo(document.documentElement, {
4078
4126
  width: r,
4079
4127
  height: i,
4080
4128
  cacheBust: !0,
@@ -4083,7 +4131,7 @@ async function Do(e, t, n) {
4083
4131
  filter(t) {
4084
4132
  return !(e && (t === e || e.contains(t)) || t instanceof Element && t.hasAttribute("data-markup-skip"));
4085
4133
  },
4086
- imagePlaceholder: yo,
4134
+ imagePlaceholder: So,
4087
4135
  onImageErrorHandler: () => {},
4088
4136
  style: {
4089
4137
  transform: `translateY(-${window.scrollY}px)`,
@@ -4095,9 +4143,9 @@ async function Do(e, t, n) {
4095
4143
  }
4096
4144
  if (t) {
4097
4145
  let e = l.getContext("2d");
4098
- e && jo(e, t.x, t.y, a);
4146
+ e && Po(e, t.x, t.y, a);
4099
4147
  }
4100
- let u = await Ao(l);
4148
+ let u = await No(l);
4101
4149
  return u ? {
4102
4150
  blob: u,
4103
4151
  redactedCount: s.length,
@@ -4107,29 +4155,29 @@ async function Do(e, t, n) {
4107
4155
  return I(e, { context: "screenshot-capture" }), null;
4108
4156
  }
4109
4157
  }
4110
- function Oo(e, t) {
4158
+ function jo(e, t) {
4111
4159
  return new Promise((n) => e.toBlob(n, "image/jpeg", t));
4112
4160
  }
4113
- function ko(e, t) {
4161
+ function Mo(e, t) {
4114
4162
  let n = document.createElement("canvas");
4115
4163
  n.width = Math.max(1, Math.round(e.width * t)), n.height = Math.max(1, Math.round(e.height * t));
4116
4164
  let r = n.getContext("2d");
4117
4165
  return r ? (r.imageSmoothingQuality = "high", r.drawImage(e, 0, 0, n.width, n.height), n) : null;
4118
4166
  }
4119
- async function Ao(e) {
4167
+ async function No(e) {
4120
4168
  let t = null;
4121
- for (let { quality: n, scale: r } of bo) {
4122
- let i = r === 1 ? e : ko(e, r);
4169
+ for (let { quality: n, scale: r } of Co) {
4170
+ let i = r === 1 ? e : Mo(e, r);
4123
4171
  if (!i) continue;
4124
- let a = await Oo(i, n);
4172
+ let a = await jo(i, n);
4125
4173
  if (a) {
4126
- if (a.size <= vo) return a;
4174
+ if (a.size <= xo) return a;
4127
4175
  t = t == null ? a.size : Math.min(t, a.size);
4128
4176
  }
4129
4177
  }
4130
- return I(/* @__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 ${vo})`), { context: "screenshot-encode" }), null;
4178
+ return I(/* @__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 ${xo})`), { context: "screenshot-encode" }), null;
4131
4179
  }
4132
- function jo(e, t, n, r) {
4180
+ function Po(e, t, n, r) {
4133
4181
  let i = r, a = 28 * i, o = a / 2, s = t * i, c = n * i;
4134
4182
  e.save();
4135
4183
  let l = 2 * i;
@@ -4147,7 +4195,7 @@ function jo(e, t, n, r) {
4147
4195
  }
4148
4196
  //#endregion
4149
4197
  //#region src/runtime/use-subscription-token.ts
4150
- var Mo = Ur({
4198
+ var Fo = Ur({
4151
4199
  idle: { issued: (e, t) => ({
4152
4200
  kind: "active",
4153
4201
  token: t.token,
@@ -4158,9 +4206,9 @@ var Mo = Ur({
4158
4206
  token: t.token,
4159
4207
  expiresAt: t.expiresAt
4160
4208
  }) }
4161
- }), No = 18e5, Po = 6e4, Fo = 6e4;
4162
- function Io(e) {
4163
- let [t, n] = Wr(Mo, { kind: "idle" });
4209
+ }), Io = 18e5, Lo = 6e4, Ro = 6e4;
4210
+ function zo(e) {
4211
+ let [t, n] = Wr(Fo, { kind: "idle" });
4164
4212
  return V(() => {
4165
4213
  let t = !1, r = null;
4166
4214
  async function i() {
@@ -4172,11 +4220,11 @@ function Io(e) {
4172
4220
  token: a.token,
4173
4221
  expiresAt: a.expiresAt
4174
4222
  });
4175
- let o = Math.max(Po, a.expiresAt - Date.now() - No);
4223
+ let o = Math.max(Lo, a.expiresAt - Date.now() - Io);
4176
4224
  r = setTimeout(i, o);
4177
4225
  } catch (e) {
4178
4226
  if (t) return;
4179
- e?.name !== "TypeError" && I(e, { context: "subscription-token-refresh" }), r = setTimeout(i, Fo);
4227
+ e?.name !== "TypeError" && I(e, { context: "subscription-token-refresh" }), r = setTimeout(i, Ro);
4180
4228
  }
4181
4229
  }
4182
4230
  return i(), () => {
@@ -4186,7 +4234,7 @@ function Io(e) {
4186
4234
  }
4187
4235
  //#endregion
4188
4236
  //#region src/runtime/refresh-token.ts
4189
- async function Lo(e) {
4237
+ async function Bo(e) {
4190
4238
  try {
4191
4239
  let t = {
4192
4240
  method: "POST",
@@ -4194,7 +4242,7 @@ async function Lo(e) {
4194
4242
  "content-type": "application/json",
4195
4243
  "x-markup-api-key": e.apiKey
4196
4244
  },
4197
- signal: Ti(J, e.signal)
4245
+ signal: Oi(J, e.signal)
4198
4246
  };
4199
4247
  if (e.mode === "cookies") t.credentials = "include", t.body = "{}";
4200
4248
  else {
@@ -4222,8 +4270,8 @@ async function Lo(e) {
4222
4270
  }
4223
4271
  //#endregion
4224
4272
  //#region src/runtime/use-token-refresh.ts
4225
- var Ro = 6e4, zo = 500;
4226
- function Bo(e, t, n, r, i) {
4273
+ var Vo = 6e4, Ho = 500;
4274
+ function Uo(e, t, n, r, i) {
4227
4275
  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;
4228
4276
  V(() => {
4229
4277
  if (!a || c == null || l == null || o === "localStorage" && s == null || o !== "cookies" && o !== "localStorage") return;
@@ -4232,8 +4280,8 @@ function Bo(e, t, n, r, i) {
4232
4280
  i();
4233
4281
  return;
4234
4282
  }
4235
- let d = Math.max(zo, l - Ro - u), f = new AbortController(), p = window.setTimeout(async () => {
4236
- let a = await Lo({
4283
+ let d = Math.max(Ho, l - Vo - u), f = new AbortController(), p = window.setTimeout(async () => {
4284
+ let a = await Bo({
4237
4285
  apiUrl: t,
4238
4286
  apiKey: n,
4239
4287
  mode: o,
@@ -4276,7 +4324,7 @@ function Bo(e, t, n, r, i) {
4276
4324
  function Z(...e) {
4277
4325
  return e.filter(Boolean).join(" ");
4278
4326
  }
4279
- function Vo() {
4327
+ function Wo() {
4280
4328
  return typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? {
4281
4329
  mod: "⌘",
4282
4330
  enter: "↵"
@@ -4287,7 +4335,7 @@ function Vo() {
4287
4335
  }
4288
4336
  //#endregion
4289
4337
  //#region ../../node_modules/.pnpm/preact@10.29.7/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
4290
- var Ho = 0;
4338
+ var Go = 0;
4291
4339
  Array.isArray;
4292
4340
  function Q(e, n, r, i, a, o) {
4293
4341
  n ||= {};
@@ -4304,7 +4352,7 @@ function Q(e, n, r, i, a, o) {
4304
4352
  __e: null,
4305
4353
  __c: null,
4306
4354
  constructor: void 0,
4307
- __v: --Ho,
4355
+ __v: --Go,
4308
4356
  __i: -1,
4309
4357
  __u: 0,
4310
4358
  __source: a,
@@ -4315,7 +4363,7 @@ function Q(e, n, r, i, a, o) {
4315
4363
  }
4316
4364
  //#endregion
4317
4365
  //#region src/runtime/ui/icons.tsx
4318
- function Uo({ size: e = 16 }) {
4366
+ function Ko({ size: e = 16 }) {
4319
4367
  return /* @__PURE__ */ Q("svg", {
4320
4368
  width: e,
4321
4369
  height: e,
@@ -4325,7 +4373,7 @@ function Uo({ size: e = 16 }) {
4325
4373
  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" })
4326
4374
  });
4327
4375
  }
4328
- function Wo({ size: e = 16 }) {
4376
+ function qo({ size: e = 16 }) {
4329
4377
  return /* @__PURE__ */ Q("svg", {
4330
4378
  width: e,
4331
4379
  height: e,
@@ -4334,7 +4382,7 @@ function Wo({ size: e = 16 }) {
4334
4382
  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" })
4335
4383
  });
4336
4384
  }
4337
- function Go({ size: e = 16 }) {
4385
+ function Jo({ size: e = 16 }) {
4338
4386
  return /* @__PURE__ */ Q("svg", {
4339
4387
  width: e,
4340
4388
  height: e,
@@ -4344,7 +4392,7 @@ function Go({ size: e = 16 }) {
4344
4392
  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" })
4345
4393
  });
4346
4394
  }
4347
- function Ko({ size: e = 16 }) {
4395
+ function Yo({ size: e = 16 }) {
4348
4396
  return /* @__PURE__ */ Q("svg", {
4349
4397
  width: e,
4350
4398
  height: e,
@@ -4353,7 +4401,7 @@ function Ko({ size: e = 16 }) {
4353
4401
  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" })
4354
4402
  });
4355
4403
  }
4356
- function qo({ size: e = 16 }) {
4404
+ function Xo({ size: e = 16 }) {
4357
4405
  return /* @__PURE__ */ Q("svg", {
4358
4406
  xmlns: "http://www.w3.org/2000/svg",
4359
4407
  width: e,
@@ -4363,7 +4411,7 @@ function qo({ size: e = 16 }) {
4363
4411
  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" })
4364
4412
  });
4365
4413
  }
4366
- function Jo({ size: e = 16 }) {
4414
+ function Zo({ size: e = 16 }) {
4367
4415
  return /* @__PURE__ */ Q("svg", {
4368
4416
  width: e,
4369
4417
  height: e,
@@ -4377,7 +4425,7 @@ function Jo({ size: e = 16 }) {
4377
4425
  })
4378
4426
  });
4379
4427
  }
4380
- function Yo({ size: e = 16 }) {
4428
+ function Qo({ size: e = 16 }) {
4381
4429
  return /* @__PURE__ */ Q("svg", {
4382
4430
  width: e,
4383
4431
  height: e,
@@ -4386,7 +4434,7 @@ function Yo({ size: e = 16 }) {
4386
4434
  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" })
4387
4435
  });
4388
4436
  }
4389
- function Xo({ size: e = 16 }) {
4437
+ function $o({ size: e = 16 }) {
4390
4438
  return /* @__PURE__ */ Q("svg", {
4391
4439
  width: e,
4392
4440
  height: e,
@@ -4410,19 +4458,19 @@ function $({ size: e = 16, children: t }) {
4410
4458
  children: t
4411
4459
  });
4412
4460
  }
4413
- function Zo({ size: e = 16 }) {
4461
+ function es({ size: e = 16 }) {
4414
4462
  return /* @__PURE__ */ Q($, {
4415
4463
  size: e,
4416
4464
  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" })
4417
4465
  });
4418
4466
  }
4419
- function Qo({ size: e = 16 }) {
4467
+ function ts({ size: e = 16 }) {
4420
4468
  return /* @__PURE__ */ Q($, {
4421
4469
  size: e,
4422
4470
  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" })]
4423
4471
  });
4424
4472
  }
4425
- function $o({ size: e = 16 }) {
4473
+ function ns({ size: e = 16 }) {
4426
4474
  return /* @__PURE__ */ Q($, {
4427
4475
  size: e,
4428
4476
  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", {
@@ -4432,7 +4480,7 @@ function $o({ size: e = 16 }) {
4432
4480
  })]
4433
4481
  });
4434
4482
  }
4435
- function es({ size: e = 16 }) {
4483
+ function rs({ size: e = 16 }) {
4436
4484
  return /* @__PURE__ */ Q($, {
4437
4485
  size: e,
4438
4486
  children: [
@@ -4443,13 +4491,13 @@ function es({ size: e = 16 }) {
4443
4491
  ]
4444
4492
  });
4445
4493
  }
4446
- function ts({ size: e = 16 }) {
4494
+ function is({ size: e = 16 }) {
4447
4495
  return /* @__PURE__ */ Q($, {
4448
4496
  size: e,
4449
4497
  children: /* @__PURE__ */ Q("path", { d: "M3 6h18M3 12h18M3 18h18" })
4450
4498
  });
4451
4499
  }
4452
- function ns({ size: e = 16 }) {
4500
+ function as({ size: e = 16 }) {
4453
4501
  return /* @__PURE__ */ Q($, {
4454
4502
  size: e,
4455
4503
  children: [/* @__PURE__ */ Q("circle", {
@@ -4459,13 +4507,13 @@ function ns({ size: e = 16 }) {
4459
4507
  }), /* @__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" })]
4460
4508
  });
4461
4509
  }
4462
- function rs({ size: e = 16 }) {
4510
+ function os({ size: e = 16 }) {
4463
4511
  return /* @__PURE__ */ Q($, {
4464
4512
  size: e,
4465
4513
  children: /* @__PURE__ */ Q("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" })
4466
4514
  });
4467
4515
  }
4468
- function is({ size: e = 16 }) {
4516
+ function ss({ size: e = 16 }) {
4469
4517
  return /* @__PURE__ */ Q($, {
4470
4518
  size: e,
4471
4519
  children: [/* @__PURE__ */ Q("rect", {
@@ -4477,13 +4525,13 @@ function is({ size: e = 16 }) {
4477
4525
  }), /* @__PURE__ */ Q("path", { d: "M8 21h8M12 17v4" })]
4478
4526
  });
4479
4527
  }
4480
- function as({ size: e = 16 }) {
4528
+ function cs({ size: e = 16 }) {
4481
4529
  return /* @__PURE__ */ Q($, {
4482
4530
  size: e,
4483
4531
  children: /* @__PURE__ */ Q("path", { d: "M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z" })
4484
4532
  });
4485
4533
  }
4486
- function os({ size: e = 16 }) {
4534
+ function ls({ size: e = 16 }) {
4487
4535
  return /* @__PURE__ */ Q($, {
4488
4536
  size: e,
4489
4537
  children: [/* @__PURE__ */ Q("rect", {
@@ -4495,19 +4543,19 @@ function os({ size: e = 16 }) {
4495
4543
  }), /* @__PURE__ */ Q("path", { d: "M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4" })]
4496
4544
  });
4497
4545
  }
4498
- function ss({ size: e = 16 }) {
4546
+ function us({ size: e = 16 }) {
4499
4547
  return /* @__PURE__ */ Q($, {
4500
4548
  size: e,
4501
4549
  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" })]
4502
4550
  });
4503
4551
  }
4504
- function cs({ size: e = 16 }) {
4552
+ function ds({ size: e = 16 }) {
4505
4553
  return /* @__PURE__ */ Q($, {
4506
4554
  size: e,
4507
4555
  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" })]
4508
4556
  });
4509
4557
  }
4510
- function ls({ size: e = 16 }) {
4558
+ function fs({ size: e = 16 }) {
4511
4559
  return /* @__PURE__ */ Q($, {
4512
4560
  size: e,
4513
4561
  children: [/* @__PURE__ */ Q("circle", {
@@ -4517,7 +4565,7 @@ function ls({ size: e = 16 }) {
4517
4565
  }), /* @__PURE__ */ Q("path", { d: "M4 21a8 8 0 0 1 16 0" })]
4518
4566
  });
4519
4567
  }
4520
- function us({ size: e = 16 }) {
4568
+ function ps({ size: e = 16 }) {
4521
4569
  return /* @__PURE__ */ Q($, {
4522
4570
  size: e,
4523
4571
  children: [
@@ -4536,7 +4584,7 @@ function us({ size: e = 16 }) {
4536
4584
  ]
4537
4585
  });
4538
4586
  }
4539
- function ds({ size: e = 16 }) {
4587
+ function ms({ size: e = 16 }) {
4540
4588
  return /* @__PURE__ */ Q($, {
4541
4589
  size: e,
4542
4590
  children: [
@@ -4548,7 +4596,7 @@ function ds({ size: e = 16 }) {
4548
4596
  }
4549
4597
  //#endregion
4550
4598
  //#region src/runtime/ui/identity-menu.tsx
4551
- function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, onSignIn: a, onSignOut: o, onForgetMe: s }) {
4599
+ function hs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, onSignIn: a, onSignOut: o, onForgetMe: s }) {
4552
4600
  let [c, l] = B(!1), [u, d] = B(!1), [f, p] = B(!1), m = H(null);
4553
4601
  V(() => {
4554
4602
  if (!c) return;
@@ -4565,7 +4613,7 @@ function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4565
4613
  }, [c]), V(() => {
4566
4614
  c || (d(!1), p(!1));
4567
4615
  }, [c]);
4568
- let h = Ki(e), g = ps(h), _ = e.kind === "verified", v = e.kind === "verified" ? e.identity.image : void 0, [y, b] = B(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";
4616
+ let h = Yi(e), g = gs(h), _ = e.kind === "verified", v = e.kind === "verified" ? e.identity.image : void 0, [y, b] = B(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";
4569
4617
  return /* @__PURE__ */ Q("div", {
4570
4618
  ref: m,
4571
4619
  style: {
@@ -4598,7 +4646,7 @@ function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4598
4646
  }) : _ && g ? /* @__PURE__ */ Q("span", {
4599
4647
  class: "markup-avatar-initials",
4600
4648
  children: g
4601
- }) : /* @__PURE__ */ Q(ls, { size: 14 })
4649
+ }) : /* @__PURE__ */ Q(fs, { size: 14 })
4602
4650
  }), _ && h ? /* @__PURE__ */ Q("span", {
4603
4651
  class: "markup-sr-only",
4604
4652
  children: h
@@ -4627,7 +4675,7 @@ function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4627
4675
  onClick: () => l(!1),
4628
4676
  children: [/* @__PURE__ */ Q("span", {
4629
4677
  class: "ic",
4630
- children: /* @__PURE__ */ Q(ds, { size: 16 })
4678
+ children: /* @__PURE__ */ Q(ms, { size: 16 })
4631
4679
  }), /* @__PURE__ */ Q("span", {
4632
4680
  class: "lbl",
4633
4681
  children: "Account"
@@ -4643,7 +4691,7 @@ function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4643
4691
  },
4644
4692
  children: [/* @__PURE__ */ Q("span", {
4645
4693
  class: "ic",
4646
- children: /* @__PURE__ */ Q(cs, { size: 16 })
4694
+ children: /* @__PURE__ */ Q(ds, { size: 16 })
4647
4695
  }), /* @__PURE__ */ Q("span", {
4648
4696
  class: "lbl",
4649
4697
  children: r ? "Signing out…" : f ? "Confirm: sign out of this site" : "Sign out"
@@ -4666,7 +4714,7 @@ function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4666
4714
  onClick: () => {
4667
4715
  l(!1), a();
4668
4716
  },
4669
- children: [/* @__PURE__ */ Q(ss, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
4717
+ children: [/* @__PURE__ */ Q(us, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
4670
4718
  }),
4671
4719
  /* @__PURE__ */ Q("button", {
4672
4720
  type: "button",
@@ -4685,12 +4733,12 @@ function fs({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4685
4733
  }) : null]
4686
4734
  });
4687
4735
  }
4688
- function ps(e) {
4736
+ function gs(e) {
4689
4737
  return e && e.trim().split(/\s+/).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("") || null;
4690
4738
  }
4691
4739
  //#endregion
4692
4740
  //#region src/runtime/use-drag.ts
4693
- function ms(e) {
4741
+ function _s(e) {
4694
4742
  let t = H(e);
4695
4743
  t.current = e;
4696
4744
  let [n, r] = B(!1);
@@ -4718,8 +4766,8 @@ function ms(e) {
4718
4766
  h = !0, r(!0), t.current.onStart?.();
4719
4767
  }
4720
4768
  let a = Math.max(p, window.innerWidth - u - p), _ = Math.max(p, window.innerHeight - d - p), v = {
4721
- left: hs(c + n, p, a),
4722
- top: hs(l + i, p, _)
4769
+ left: vs(c + n, p, a),
4770
+ top: vs(l + i, p, _)
4723
4771
  };
4724
4772
  g = v, t.current.onMove(v);
4725
4773
  }
@@ -4734,12 +4782,12 @@ function ms(e) {
4734
4782
  isDragging: n
4735
4783
  };
4736
4784
  }
4737
- function hs(e, t, n) {
4785
+ function vs(e, t, n) {
4738
4786
  return Math.max(t, Math.min(n, e));
4739
4787
  }
4740
4788
  //#endregion
4741
4789
  //#region src/runtime/use-focus-trap.ts
4742
- var gs = [
4790
+ var ys = [
4743
4791
  "a[href]",
4744
4792
  "button:not([disabled])",
4745
4793
  "input:not([disabled])",
@@ -4747,14 +4795,14 @@ var gs = [
4747
4795
  "textarea:not([disabled])",
4748
4796
  "[tabindex]:not([tabindex=\"-1\"])"
4749
4797
  ].join(",");
4750
- function _s(e, t) {
4798
+ function bs(e, t) {
4751
4799
  V(() => {
4752
4800
  if (!t) return;
4753
4801
  let n = e.current;
4754
4802
  if (!n) return;
4755
4803
  function r(e) {
4756
4804
  if (e.key !== "Tab") return;
4757
- let t = Array.from(n.querySelectorAll(gs)), r = t[0], i = t[t.length - 1];
4805
+ let t = Array.from(n.querySelectorAll(ys)), r = t[0], i = t[t.length - 1];
4758
4806
  if (!r || !i) return;
4759
4807
  let a = n.getRootNode(), o = a instanceof ShadowRoot ? a.activeElement : document.activeElement;
4760
4808
  (e.shiftKey ? o === r : o === i) && (e.preventDefault(), (e.shiftKey ? i : r).focus());
@@ -4764,7 +4812,7 @@ function _s(e, t) {
4764
4812
  }
4765
4813
  //#endregion
4766
4814
  //#region src/runtime/use-object-url.ts
4767
- function vs(e) {
4815
+ function xs(e) {
4768
4816
  let [t, n] = B(null);
4769
4817
  return V(() => {
4770
4818
  if (!e) {
@@ -4777,7 +4825,7 @@ function vs(e) {
4777
4825
  }
4778
4826
  //#endregion
4779
4827
  //#region src/runtime/ui/author-prompt.tsx
4780
- function ys({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit: r, onCancel: i, onSignIn: a }) {
4828
+ function Ss({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit: r, onCancel: i, onSignIn: a }) {
4781
4829
  let [o, s] = B(""), [c, l] = B(""), u = H(null);
4782
4830
  V(() => {
4783
4831
  u.current?.focus();
@@ -4856,27 +4904,27 @@ function ys({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit:
4856
4904
  }
4857
4905
  //#endregion
4858
4906
  //#region src/runtime/mention-input.ts
4859
- var bs = "data-markup-mention", xs = "data-markup-mention-name", Ss = /* @__PURE__ */ new Set([
4907
+ var Cs = "data-markup-mention", ws = "data-markup-mention-name", Ts = /* @__PURE__ */ new Set([
4860
4908
  "DIV",
4861
4909
  "P",
4862
4910
  "LI",
4863
4911
  "BLOCKQUOTE",
4864
4912
  "PRE"
4865
- ]), Cs = 3, ws = 1;
4866
- function Ts(e) {
4913
+ ]), Es = 3, Ds = 1;
4914
+ function Os(e) {
4867
4915
  let t = "", n = (r) => {
4868
4916
  let i = r.childNodes;
4869
4917
  for (let a = 0; a < i.length; a++) {
4870
4918
  let o = i[a];
4871
4919
  if (!o) continue;
4872
- if (o.nodeType === Cs) {
4920
+ if (o.nodeType === Es) {
4873
4921
  t += o.data;
4874
4922
  continue;
4875
4923
  }
4876
- if (o.nodeType !== ws) continue;
4877
- let s = o, c = s.getAttribute(bs);
4924
+ if (o.nodeType !== Ds) continue;
4925
+ let s = o, c = s.getAttribute(Cs);
4878
4926
  if (c) {
4879
- let e = Es(s);
4927
+ let e = ks(s);
4880
4928
  t += Yr({
4881
4929
  userId: c,
4882
4930
  name: e
@@ -4887,77 +4935,77 @@ function Ts(e) {
4887
4935
  (r !== e || a !== i.length - 1) && (t += "\n");
4888
4936
  continue;
4889
4937
  }
4890
- Ss.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
4938
+ Ts.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
4891
4939
  }
4892
4940
  };
4893
4941
  return n(e), t;
4894
4942
  }
4895
- function Es(e) {
4896
- return e.getAttribute(xs) || (e.textContent ?? "").replace(/^@/, "");
4943
+ function ks(e) {
4944
+ return e.getAttribute(ws) || (e.textContent ?? "").replace(/^@/, "");
4897
4945
  }
4898
- function Ds(e, t, n) {
4946
+ function As(e, t, n) {
4899
4947
  let r = e.createElement("span");
4900
- return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(bs, t.userId), r.setAttribute(xs, t.name), r.textContent = `@${t.name}`, r;
4948
+ return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(Cs, t.userId), r.setAttribute(ws, t.name), r.textContent = `@${t.name}`, r;
4901
4949
  }
4902
- function Os(e, t, n) {
4950
+ function js(e, t, n) {
4903
4951
  let r = e.createDocumentFragment();
4904
4952
  for (let i of Kr(t)) {
4905
4953
  if (i.type === "text") {
4906
4954
  i.value && r.appendChild(e.createTextNode(i.value));
4907
4955
  continue;
4908
4956
  }
4909
- r.appendChild(Ds(e, {
4957
+ r.appendChild(As(e, {
4910
4958
  userId: i.userId,
4911
4959
  name: i.name
4912
4960
  }, n));
4913
4961
  }
4914
4962
  return r;
4915
4963
  }
4916
- function ks(e) {
4964
+ function Ms(e) {
4917
4965
  let t = e.getRootNode();
4918
4966
  return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument.getSelection();
4919
4967
  }
4920
- function As(e) {
4921
- let t = ks(e);
4968
+ function Ns(e) {
4969
+ let t = Ms(e);
4922
4970
  if (!t || t.rangeCount === 0 || !t.isCollapsed) return null;
4923
4971
  let n = t.focusNode;
4924
- return !n || n.nodeType !== Cs || !e.contains(n) || js(n, e) ? null : {
4972
+ return !n || n.nodeType !== Es || !e.contains(n) || Ps(n, e) ? null : {
4925
4973
  node: n,
4926
4974
  offset: t.focusOffset
4927
4975
  };
4928
4976
  }
4929
- function js(e, t) {
4977
+ function Ps(e, t) {
4930
4978
  let n = e;
4931
4979
  for (; n && n !== t;) {
4932
- if (n.nodeType === ws && n.hasAttribute("data-markup-mention")) return n;
4980
+ if (n.nodeType === Ds && n.hasAttribute("data-markup-mention")) return n;
4933
4981
  n = n.parentNode;
4934
4982
  }
4935
4983
  return null;
4936
4984
  }
4937
- function Ms(e) {
4938
- let t = ks(e);
4985
+ function Fs(e) {
4986
+ let t = Ms(e);
4939
4987
  if (!t || t.rangeCount === 0 || !t.isCollapsed) return;
4940
4988
  let n = t.focusNode;
4941
4989
  if (!n || !e.contains(n)) return;
4942
- let r = js(n, e);
4990
+ let r = Ps(n, e);
4943
4991
  if (!r) return;
4944
4992
  let i = r.nextSibling;
4945
- (!i || i.nodeType !== Cs) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), Ns(e, i, 0);
4993
+ (!i || i.nodeType !== Es) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), Is(e, i, 0);
4946
4994
  }
4947
- function Ns(e, t, n) {
4948
- let r = ks(e);
4995
+ function Is(e, t, n) {
4996
+ let r = Ms(e);
4949
4997
  if (!r) return;
4950
4998
  let i = e.ownerDocument.createRange();
4951
4999
  i.setStart(t, n), i.collapse(!0), r.removeAllRanges(), r.addRange(i);
4952
5000
  }
4953
- function Ps(e) {
5001
+ function Ls(e) {
4954
5002
  let t = Jr(e.node.data, e.offset);
4955
5003
  return t ? {
4956
5004
  ...t,
4957
5005
  textNode: e.node
4958
5006
  } : null;
4959
5007
  }
4960
- function Fs(e, t, n, r) {
5008
+ function Rs(e, t, n, r) {
4961
5009
  if (Yr(n) == null) return !1;
4962
5010
  let i = t.textNode;
4963
5011
  if (!e.contains(i)) return !1;
@@ -4965,31 +5013,31 @@ function Fs(e, t, n, r) {
4965
5013
  if (!a || t.caret > i.data.length) return !1;
4966
5014
  i.deleteData(t.at, t.caret - t.at);
4967
5015
  let o = i.splitText(t.at);
4968
- return a.insertBefore(Ds(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), Ns(e, o, 1), !0;
5016
+ return a.insertBefore(As(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), Is(e, o, 1), !0;
4969
5017
  }
4970
- function Is(e, t) {
4971
- let n = ks(e);
5018
+ function zs(e, t) {
5019
+ let n = Ms(e);
4972
5020
  if (!n || n.rangeCount === 0) return;
4973
5021
  let r = n.getRangeAt(0);
4974
5022
  if (!e.contains(r.commonAncestorContainer)) return;
4975
5023
  r.deleteContents();
4976
5024
  let { startContainer: i, startOffset: a } = r;
4977
- if (i.nodeType === Cs) {
5025
+ if (i.nodeType === Es) {
4978
5026
  let n = i;
4979
- n.insertData(a, t), Ns(e, n, a + t.length);
5027
+ n.insertData(a, t), Is(e, n, a + t.length);
4980
5028
  return;
4981
5029
  }
4982
5030
  let o = e.ownerDocument.createTextNode(t);
4983
- r.insertNode(o), Ns(e, o, o.data.length);
5031
+ r.insertNode(o), Is(e, o, o.data.length);
4984
5032
  }
4985
- function Ls(e, t) {
5033
+ function Bs(e, t) {
4986
5034
  let n = e.ownerDocument, r = null, i = null, a = !0;
4987
5035
  function o(t) {
4988
5036
  let n = t.length === 0;
4989
5037
  (n !== a || e.hasAttribute("data-empty") !== n) && (a = n, e.toggleAttribute("data-empty", n));
4990
5038
  }
4991
5039
  function s() {
4992
- let n = Ts(e);
5040
+ let n = Os(e);
4993
5041
  o(n), t.onChange(n);
4994
5042
  }
4995
5043
  function c(e) {
@@ -5005,7 +5053,7 @@ function Ls(e, t) {
5005
5053
  c(null);
5006
5054
  return;
5007
5055
  }
5008
- let n = As(e), r = n ? Ps(n) : null;
5056
+ let n = Ns(e), r = n ? Ls(n) : null;
5009
5057
  if (r && i && r.textNode === i.node && r.at === i.at) {
5010
5058
  c(null);
5011
5059
  return;
@@ -5013,29 +5061,29 @@ function Ls(e, t) {
5013
5061
  i = null, c(r);
5014
5062
  }
5015
5063
  function u(r) {
5016
- e.replaceChildren(Os(n, r, t.chipClass)), o(Ts(e)), i = null, c(null);
5064
+ e.replaceChildren(js(n, r, t.chipClass)), o(Os(e)), i = null, c(null);
5017
5065
  }
5018
5066
  let d = () => {
5019
5067
  s(), l();
5020
5068
  }, f = () => l(), p = () => {
5021
- Ms(e), l();
5069
+ Fs(e), l();
5022
5070
  }, m = (t) => {
5023
5071
  let n = t.clipboardData?.getData("text/plain");
5024
- t.preventDefault(), n && (Is(e, n.replace(/\r\n?/g, "\n")), s(), l());
5072
+ t.preventDefault(), n && (zs(e, n.replace(/\r\n?/g, "\n")), s(), l());
5025
5073
  }, h = (e) => {
5026
5074
  e.preventDefault();
5027
5075
  };
5028
5076
  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 ?? ""), {
5029
- getValue: () => Ts(e),
5077
+ getValue: () => Os(e),
5030
5078
  setValue: u,
5031
5079
  focus() {
5032
5080
  e.focus();
5033
5081
  let t = e.lastChild;
5034
- t && (t.nodeType === Cs ? Ns(e, t, t.data.length) : Ns(e, e, e.childNodes.length));
5082
+ t && (t.nodeType === Es ? Is(e, t, t.data.length) : Is(e, e, e.childNodes.length));
5035
5083
  },
5036
5084
  insertMention(n) {
5037
- let a = As(e), o = (a ? Ps(a) : null) ?? r;
5038
- o && Fs(e, o, n, t.chipClass) && (s(), i = null, c(null));
5085
+ let a = Ns(e), o = (a ? Ls(a) : null) ?? r;
5086
+ o && Rs(e, o, n, t.chipClass) && (s(), i = null, c(null));
5039
5087
  },
5040
5088
  syncTrigger: l,
5041
5089
  clearTrigger: () => c(null),
@@ -5050,21 +5098,21 @@ function Ls(e, t) {
5050
5098
  }
5051
5099
  };
5052
5100
  }
5053
- var Rs = null;
5054
- function zs() {
5055
- if (Rs) return Rs;
5101
+ var Vs = null;
5102
+ function Hs() {
5103
+ if (Vs) return Vs;
5056
5104
  if (typeof document > "u") return "true";
5057
5105
  let e = document.createElement("div");
5058
5106
  try {
5059
- e.contentEditable = "plaintext-only", Rs = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
5107
+ e.contentEditable = "plaintext-only", Vs = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
5060
5108
  } catch {
5061
- Rs = "true";
5109
+ Vs = "true";
5062
5110
  }
5063
- return Rs;
5111
+ return Vs;
5064
5112
  }
5065
5113
  //#endregion
5066
5114
  //#region src/runtime/ui/mentions.tsx
5067
- function Bs({ body: e, mentions: t, trailing: n }) {
5115
+ function Us({ body: e, mentions: t, trailing: n }) {
5068
5116
  let r = it(() => new Set(t), [t]);
5069
5117
  return /* @__PURE__ */ Q("p", {
5070
5118
  class: "markup-comment-body",
@@ -5074,7 +5122,7 @@ function Bs({ body: e, mentions: t, trailing: n }) {
5074
5122
  }, t) : /* @__PURE__ */ Q("span", { children: e.type === "mention" ? `@${e.name}` : e.value }, t)), n]
5075
5123
  });
5076
5124
  }
5077
- function Vs(e) {
5125
+ function Ws(e) {
5078
5126
  let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = B(0), s = it(() => {
5079
5127
  if (!n) return [];
5080
5128
  let e = n.query.toLowerCase();
@@ -5102,7 +5150,7 @@ function Vs(e) {
5102
5150
  handleKeyDown: c
5103
5151
  };
5104
5152
  }
5105
- function Hs({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
5153
+ function Gs({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
5106
5154
  return e.length === 0 ? null : /* @__PURE__ */ Q("ul", {
5107
5155
  class: "markup-mention-picker",
5108
5156
  role: "listbox",
@@ -5128,7 +5176,7 @@ function Hs({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
5128
5176
  }
5129
5177
  //#endregion
5130
5178
  //#region src/runtime/ui/mention-input.tsx
5131
- function Us({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
5179
+ function Ks({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
5132
5180
  let u = H(null), d = H(null), [f, p] = B(null), m = H(t);
5133
5181
  m.current = t;
5134
5182
  let h = H(r);
@@ -5137,7 +5185,7 @@ function Us({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5137
5185
  rt(() => {
5138
5186
  let e = u.current;
5139
5187
  if (!e) return;
5140
- let t = Ls(e, {
5188
+ let t = Bs(e, {
5141
5189
  chipClass: "markup-mention-chip",
5142
5190
  initialValue: g.current,
5143
5191
  onChange: (e) => m.current(e),
@@ -5157,7 +5205,7 @@ function Us({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5157
5205
  let t = d.current;
5158
5206
  t && t.getValue() !== e && t.setValue(e);
5159
5207
  }, [e]);
5160
- let _ = Vs({
5208
+ let _ = Ws({
5161
5209
  members: r ?? [],
5162
5210
  trigger: f,
5163
5211
  onSelect: (e) => d.current?.insertMention(e),
@@ -5170,7 +5218,7 @@ function Us({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5170
5218
  "aria-label": i,
5171
5219
  "aria-disabled": o || void 0,
5172
5220
  class: Z("markup-mention-input", c),
5173
- contentEditable: o ? "false" : zs(),
5221
+ contentEditable: o ? "false" : Hs(),
5174
5222
  "data-placeholder": a,
5175
5223
  tabIndex: o ? -1 : 0,
5176
5224
  onKeyDown: (e) => {
@@ -5179,7 +5227,7 @@ function Us({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5179
5227
  onBlur: () => {
5180
5228
  setTimeout(() => d.current?.clearTrigger(), 120);
5181
5229
  }
5182
- }), _.isOpen ? /* @__PURE__ */ Q(Hs, {
5230
+ }), _.isOpen ? /* @__PURE__ */ Q(Gs, {
5183
5231
  items: _.items,
5184
5232
  highlight: _.highlight,
5185
5233
  setHighlight: _.setHighlight,
@@ -5188,48 +5236,54 @@ function Us({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5188
5236
  }
5189
5237
  //#endregion
5190
5238
  //#region src/runtime/ui/composer.tsx
5191
- var Ws = 4e3;
5192
- function Gs({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, members: s }) {
5193
- let [c, l] = B(""), u = H(null), d = H(!1);
5239
+ var qs = 4e3;
5240
+ function Js({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, onDirtyChange: s, members: c }) {
5241
+ let [l, u] = B(""), d = H(null), f = H(!1);
5194
5242
  V(() => {
5195
- d.current && !i && !a && (l(""), u.current?.focus()), d.current = i;
5196
- }, [i, a]);
5197
- let f = Ws - c.length, p = f < 0;
5198
- function m(e) {
5243
+ f.current && !i && !a && (u(""), s?.(!1), d.current?.focus()), f.current = i;
5244
+ }, [
5245
+ i,
5246
+ a,
5247
+ s
5248
+ ]);
5249
+ let p = qs - l.length, m = p < 0;
5250
+ function h(e) {
5199
5251
  e?.preventDefault();
5200
- let t = c.trim();
5201
- !t || i || p || o(t);
5252
+ let t = l.trim();
5253
+ !t || i || m || o(t);
5202
5254
  }
5203
- function h(e) {
5204
- (e.metaKey || e.ctrlKey) && e.key === "Enter" && m(e);
5255
+ function g(e) {
5256
+ (e.metaKey || e.ctrlKey) && e.key === "Enter" && h(e);
5205
5257
  }
5206
- let g = c.length > 0, _ = Vo();
5207
- function v(e) {
5258
+ let _ = l.length > 0, v = Wo();
5259
+ function y(e) {
5208
5260
  return /* @__PURE__ */ Q("button", {
5209
5261
  type: "submit",
5210
5262
  class: "markup-btn markup-btn-primary",
5211
- disabled: i || !c.trim() || p,
5263
+ disabled: i || !l.trim() || m,
5212
5264
  "aria-label": i ? "Sending…" : n,
5213
5265
  title: i ? "Sending…" : n,
5214
5266
  tabIndex: e,
5215
- children: /* @__PURE__ */ Q(Yo, { size: 14 })
5267
+ children: /* @__PURE__ */ Q(Qo, { size: 14 })
5216
5268
  });
5217
5269
  }
5218
5270
  return /* @__PURE__ */ Q("form", {
5219
- class: Z("markup-composer", g && "is-filled"),
5220
- onSubmit: m,
5271
+ class: Z("markup-composer", _ && "is-filled"),
5272
+ onSubmit: h,
5221
5273
  children: [
5222
- /* @__PURE__ */ Q(Us, {
5274
+ /* @__PURE__ */ Q(Ks, {
5223
5275
  class: "markup-composer-input",
5224
5276
  label: e,
5225
5277
  placeholder: t,
5226
- value: c,
5227
- onChange: l,
5228
- onKeyDown: h,
5229
- members: s,
5278
+ value: l,
5279
+ onChange: (e) => {
5280
+ u(e), s?.(e.trim().length > 0);
5281
+ },
5282
+ onKeyDown: g,
5283
+ members: c,
5230
5284
  disabled: i,
5231
5285
  autoFocus: r,
5232
- handle: u
5286
+ handle: d
5233
5287
  }),
5234
5288
  /* @__PURE__ */ Q("div", {
5235
5289
  class: "markup-composer-footer-wrap",
@@ -5240,17 +5294,17 @@ function Gs({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
5240
5294
  children: a ? /* @__PURE__ */ Q("span", {
5241
5295
  class: "markup-composer-error",
5242
5296
  children: a
5243
- }) : p ? /* @__PURE__ */ Q("span", {
5297
+ }) : m ? /* @__PURE__ */ Q("span", {
5244
5298
  class: "markup-composer-error",
5245
- children: [Math.abs(f), " too long"]
5299
+ children: [Math.abs(p), " too long"]
5246
5300
  }) : /* @__PURE__ */ Q(S, { children: [
5247
5301
  /* @__PURE__ */ Q("kbd", {
5248
5302
  class: "markup-kbd is-inline",
5249
- children: _.mod
5303
+ children: v.mod
5250
5304
  }),
5251
5305
  /* @__PURE__ */ Q("kbd", {
5252
5306
  class: "markup-kbd is-inline",
5253
- children: _.enter
5307
+ children: v.enter
5254
5308
  }),
5255
5309
  /* @__PURE__ */ Q("span", {
5256
5310
  class: "markup-composer-hint-label",
@@ -5259,177 +5313,274 @@ function Gs({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
5259
5313
  ] })
5260
5314
  }), /* @__PURE__ */ Q("div", {
5261
5315
  class: "markup-composer-actions",
5262
- children: v(g ? void 0 : -1)
5316
+ children: y(_ ? void 0 : -1)
5263
5317
  })]
5264
5318
  })
5265
5319
  }),
5266
5320
  /* @__PURE__ */ Q("span", {
5267
5321
  class: "markup-composer-actions-empty",
5268
- "aria-hidden": g || void 0,
5269
- children: v(g ? -1 : void 0)
5322
+ "aria-hidden": _ || void 0,
5323
+ children: y(_ ? -1 : void 0)
5270
5324
  })
5271
5325
  ]
5272
5326
  });
5273
5327
  }
5274
5328
  //#endregion
5275
5329
  //#region src/runtime/ui/new-thread-popover.tsx
5276
- function Ks({ 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: _ }) {
5330
+ var Ys = "https://markup.pixelmatters.dev/docs/install#9-screenshots-privacy";
5331
+ function Xs({ 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: _ }) {
5277
5332
  let v = H(null);
5278
- _s(v, !0);
5279
- let [y, b] = B(!1), [x, C] = B(!1), w = vs(c), [T, E] = B(null), { onPointerDown: D, isDragging: O } = ms({
5333
+ bs(v, !0);
5334
+ let y = H(!1), b = H(!1), [x, C] = B(!1), w = U((e) => {
5335
+ b.current = e, C(e);
5336
+ }, []), T = U(() => {
5337
+ b.current || (y.current ? w(!0) : _());
5338
+ }, [_, w]), E = U(() => {
5339
+ w(!1), v.current?.querySelector(".markup-mention-input")?.focus();
5340
+ }, [w]), [D, O] = B(!1), [ee, k] = B(!1), A = xs(c), j = H(null), [M, N] = B(null), { onPointerDown: te, isDragging: ne } = _s({
5280
5341
  targetRef: v,
5281
5342
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
5282
- onMove: E
5343
+ onMove: N
5283
5344
  });
5284
5345
  V(() => {
5285
5346
  let e = v.current;
5286
- if (!e) return;
5287
- if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
5347
+ if (e && typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
5288
5348
  e.showPopover();
5289
5349
  } catch {}
5290
- function t(e) {
5291
- e.newState === "closed" && _();
5350
+ }, []), V(() => {
5351
+ let e = v.current;
5352
+ if (!e) return;
5353
+ function t(t) {
5354
+ if (!t.composedPath().includes(e)) {
5355
+ if (b.current) {
5356
+ t.preventDefault(), t.stopPropagation();
5357
+ return;
5358
+ }
5359
+ y.current && (t.preventDefault(), t.stopPropagation()), T();
5360
+ }
5292
5361
  }
5293
- return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
5294
- }, [_]);
5295
- let ee = qs(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), k = qs(t - window.scrollY - 16, 12, window.innerHeight - 220), A = typeof window < "u" ? window.location.href : "", j = c != null, te = l || j || u;
5362
+ function n(e) {
5363
+ e.key !== "Escape" || e.defaultPrevented || j.current?.open || (e.preventDefault(), b.current ? E() : T());
5364
+ }
5365
+ return document.addEventListener("click", t, !0), document.addEventListener("keydown", n), () => {
5366
+ document.removeEventListener("click", t, !0), document.removeEventListener("keydown", n);
5367
+ };
5368
+ }, [T, E]), V(() => {
5369
+ x && v.current?.querySelector(".markup-discard-confirm-keep")?.focus();
5370
+ }, [x]);
5371
+ let re = Zs(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), ie = Zs(t - window.scrollY - 16, 12, window.innerHeight - 220), ae = typeof window < "u" ? window.location.href : "", oe = c != null, se = l || oe || u, ce = D && oe;
5296
5372
  return /* @__PURE__ */ Q("div", {
5297
5373
  ref: v,
5298
- class: Z("markup-popover", T && "is-floating", O && "is-dragging"),
5299
- popover: "auto",
5374
+ class: Z("markup-popover", M && "is-floating", ne && "is-dragging"),
5375
+ popover: "manual",
5300
5376
  style: {
5301
- "--markup-pop-x": `${T?.left ?? ee}px`,
5302
- "--markup-pop-y": `${T?.top ?? k}px`
5377
+ "--markup-pop-x": `${M?.left ?? re}px`,
5378
+ "--markup-pop-y": `${M?.top ?? ie}px`
5303
5379
  },
5304
5380
  role: "dialog",
5305
5381
  "aria-label": "New markup",
5306
- children: [/* @__PURE__ */ Q("header", {
5307
- class: "markup-popover-header",
5308
- onPointerDown: D,
5309
- children: [/* @__PURE__ */ Q("span", {
5310
- class: "markup-popover-title",
5311
- title: A,
5312
- children: "New comment"
5313
- }), /* @__PURE__ */ Q("button", {
5314
- type: "button",
5315
- class: "markup-icon-btn",
5316
- "aria-label": "Discard pin",
5317
- onClick: _,
5318
- children: /* @__PURE__ */ Q(Wo, { size: 16 })
5319
- })]
5320
- }), n == null ? /* @__PURE__ */ Q(ys, {
5321
- isPending: o,
5322
- isConnecting: i,
5323
- isSigningIn: a,
5324
- onSubmit: m,
5325
- onCancel: _,
5326
- onSignIn: h
5327
- }) : /* @__PURE__ */ Q("div", {
5328
- class: "markup-popover-body",
5329
- children: [
5330
- /* @__PURE__ */ Q("p", {
5331
- class: "markup-popover-byline",
5332
- children: [
5333
- "posting as ",
5334
- /* @__PURE__ */ Q("span", {
5335
- class: "markup-popover-name",
5336
- children: n
5337
- }),
5338
- r ? /* @__PURE__ */ Q("span", {
5339
- class: "markup-comment-badge",
5340
- children: "team"
5341
- }) : null
5342
- ]
5343
- }),
5344
- /* @__PURE__ */ Q(Gs, {
5345
- label: "Feedback",
5346
- placeholder: "What's wrong, missing, or worth noting?",
5347
- submitLabel: "Post markup",
5348
- isPending: o,
5349
- error: s,
5350
- onSubmit: (e) => g(e, y && j),
5351
- members: p
5352
- }),
5353
- te ? /* @__PURE__ */ Q("div", {
5354
- class: Z("markup-screenshot-row", u && "is-failed"),
5355
- children: [l ? /* @__PURE__ */ Q("span", {
5356
- class: "markup-screenshot-status",
5357
- children: [
5358
- /* @__PURE__ */ Q("input", {
5359
- type: "checkbox",
5360
- class: "markup-screenshot-checkbox",
5361
- disabled: !0
5362
- }),
5363
- /* @__PURE__ */ Q(Jo, { size: 12 }),
5364
- /* @__PURE__ */ Q("span", { children: "Capturing…" })
5365
- ]
5366
- }) : u ? /* @__PURE__ */ Q("span", {
5367
- class: "markup-screenshot-status",
5368
- title: "This page has something the capture can't read, often a third-party image. Your comment will post without a screenshot.",
5369
- children: [/* @__PURE__ */ Q(Jo, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
5370
- }) : /* @__PURE__ */ Q("label", {
5371
- class: "markup-screenshot-toggle",
5382
+ children: [
5383
+ /* @__PURE__ */ Q("header", {
5384
+ class: "markup-popover-header",
5385
+ onPointerDown: te,
5386
+ children: [/* @__PURE__ */ Q("span", {
5387
+ class: "markup-popover-title",
5388
+ title: ae,
5389
+ children: "New comment"
5390
+ }), /* @__PURE__ */ Q("button", {
5391
+ type: "button",
5392
+ class: "markup-icon-btn",
5393
+ "aria-label": "Discard pin",
5394
+ onClick: T,
5395
+ children: /* @__PURE__ */ Q(qo, { size: 16 })
5396
+ })]
5397
+ }),
5398
+ n == null ? /* @__PURE__ */ Q(Ss, {
5399
+ isPending: o,
5400
+ isConnecting: i,
5401
+ isSigningIn: a,
5402
+ onSubmit: m,
5403
+ onCancel: _,
5404
+ onSignIn: h
5405
+ }) : /* @__PURE__ */ Q("div", {
5406
+ class: "markup-popover-body",
5407
+ children: [
5408
+ /* @__PURE__ */ Q("p", {
5409
+ class: "markup-popover-byline",
5372
5410
  children: [
5373
- /* @__PURE__ */ Q("input", {
5374
- type: "checkbox",
5375
- class: "markup-screenshot-checkbox",
5376
- checked: y,
5377
- onChange: (e) => b(e.currentTarget.checked)
5411
+ "posting as ",
5412
+ /* @__PURE__ */ Q("span", {
5413
+ class: "markup-popover-name",
5414
+ children: n
5378
5415
  }),
5379
- /* @__PURE__ */ Q(Jo, { size: 12 }),
5380
- /* @__PURE__ */ Q("span", { children: "Attach screenshot" }),
5381
- w && y ? /* @__PURE__ */ Q("img", {
5382
- class: "markup-screenshot-thumb",
5383
- src: w,
5384
- alt: "Screenshot preview"
5416
+ r ? /* @__PURE__ */ Q("span", {
5417
+ class: "markup-comment-badge",
5418
+ children: "team"
5385
5419
  }) : null
5386
5420
  ]
5387
- }), y && j ? /* @__PURE__ */ Q(S, { children: [d > 0 ? /* @__PURE__ */ Q("div", {
5388
- class: "markup-screenshot-redacted",
5389
- children: [/* @__PURE__ */ Q("button", {
5390
- type: "button",
5391
- class: "markup-screenshot-redacted-chip",
5392
- onClick: () => C((e) => !e),
5421
+ }),
5422
+ /* @__PURE__ */ Q(Js, {
5423
+ label: "Feedback",
5424
+ placeholder: "What's wrong, missing, or worth noting?",
5425
+ submitLabel: "Post markup",
5426
+ isPending: o,
5427
+ error: s,
5428
+ onSubmit: (e) => g(e, D && oe),
5429
+ onDirtyChange: (e) => {
5430
+ y.current = e;
5431
+ },
5432
+ members: p
5433
+ }),
5434
+ se ? /* @__PURE__ */ Q("div", {
5435
+ class: Z("markup-screenshot-row", u && "is-failed", ce && "is-attached"),
5436
+ children: [/* @__PURE__ */ Q("div", {
5437
+ class: "markup-screenshot-row-head",
5393
5438
  children: [
5394
- /* @__PURE__ */ Q("em", {
5395
- class: "markup-screenshot-redacted-arrow",
5396
- children: x ? "▾" : "▸"
5439
+ l ? /* @__PURE__ */ Q("span", {
5440
+ class: "markup-screenshot-status",
5441
+ children: [
5442
+ /* @__PURE__ */ Q("input", {
5443
+ type: "checkbox",
5444
+ class: "markup-screenshot-checkbox",
5445
+ disabled: !0
5446
+ }),
5447
+ /* @__PURE__ */ Q(Zo, { size: 12 }),
5448
+ /* @__PURE__ */ Q("span", { children: "Capturing…" })
5449
+ ]
5450
+ }) : u ? /* @__PURE__ */ Q("span", {
5451
+ class: "markup-screenshot-status",
5452
+ title: "This page has something the capture can't read, often a third-party image. Your comment will post without a screenshot.",
5453
+ children: [/* @__PURE__ */ Q(Zo, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
5454
+ }) : /* @__PURE__ */ Q("label", {
5455
+ class: "markup-screenshot-toggle",
5456
+ children: [
5457
+ /* @__PURE__ */ Q("input", {
5458
+ type: "checkbox",
5459
+ class: "markup-screenshot-checkbox",
5460
+ checked: D,
5461
+ onChange: (e) => O(e.currentTarget.checked)
5462
+ }),
5463
+ /* @__PURE__ */ Q(Zo, { size: 12 }),
5464
+ /* @__PURE__ */ Q("span", { children: "Attach screenshot" })
5465
+ ]
5397
5466
  }),
5398
- d,
5399
- " ",
5400
- d === 1 ? "field" : "fields",
5401
- " redacted"
5467
+ ce && A ? /* @__PURE__ */ Q("a", {
5468
+ class: "markup-screenshot-thumb-link",
5469
+ href: A,
5470
+ target: "_blank",
5471
+ rel: "noopener",
5472
+ title: "Preview screenshot",
5473
+ "aria-label": "Preview screenshot",
5474
+ onClick: (e) => {
5475
+ e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0 || (e.preventDefault(), j.current?.showModal());
5476
+ },
5477
+ children: /* @__PURE__ */ Q("img", {
5478
+ class: "markup-screenshot-thumb",
5479
+ src: A,
5480
+ alt: ""
5481
+ })
5482
+ }) : null,
5483
+ ce && d > 0 ? /* @__PURE__ */ Q("button", {
5484
+ type: "button",
5485
+ class: "markup-screenshot-redacted-chip",
5486
+ "aria-expanded": ee,
5487
+ onClick: () => k((e) => !e),
5488
+ children: [
5489
+ /* @__PURE__ */ Q("em", {
5490
+ class: "markup-screenshot-redacted-arrow",
5491
+ children: ee ? "▾" : "▸"
5492
+ }),
5493
+ d,
5494
+ " ",
5495
+ d === 1 ? "field" : "fields",
5496
+ " ",
5497
+ "redacted"
5498
+ ]
5499
+ }) : null
5402
5500
  ]
5403
- }), x ? /* @__PURE__ */ Q("div", {
5501
+ }), ce ? /* @__PURE__ */ Q(S, { children: [ee && d > 0 ? /* @__PURE__ */ Q("div", {
5404
5502
  class: "markup-screenshot-redacted-list",
5405
5503
  children: f.map((e) => /* @__PURE__ */ Q("code", {
5406
5504
  class: "markup-screenshot-redacted-selector",
5407
5505
  children: e
5408
5506
  }, e))
5409
- }) : null]
5410
- }) : null, /* @__PURE__ */ Q("p", {
5411
- class: "markup-screenshot-help",
5412
- children: [
5413
- "Password and credit-card fields are blacked out automatically. Add",
5414
- " ",
5415
- /* @__PURE__ */ Q("code", {
5416
- class: "markup-screenshot-help-code",
5417
- children: "data-markup-private"
5418
- }),
5419
- " to mask anything else."
5420
- ]
5421
- })] }) : null]
5422
- }) : null
5423
- ]
5424
- })]
5507
+ }) : null, /* @__PURE__ */ Q("p", {
5508
+ class: "markup-screenshot-help",
5509
+ children: [
5510
+ "Password and credit-card fields are blacked out automatically.",
5511
+ " ",
5512
+ /* @__PURE__ */ Q("a", {
5513
+ class: "markup-screenshot-help-link",
5514
+ href: Ys,
5515
+ target: "_blank",
5516
+ rel: "noopener noreferrer",
5517
+ children: "More info here."
5518
+ })
5519
+ ]
5520
+ })] }) : null]
5521
+ }) : null
5522
+ ]
5523
+ }),
5524
+ ce && A ? /* @__PURE__ */ Q("dialog", {
5525
+ ref: j,
5526
+ class: "markup-lightbox",
5527
+ onClick: () => j.current?.close(),
5528
+ children: [/* @__PURE__ */ Q("button", {
5529
+ type: "button",
5530
+ class: "markup-lightbox-close markup-icon-btn",
5531
+ "aria-label": "Close screenshot",
5532
+ onClick: (e) => {
5533
+ e.stopPropagation(), j.current?.close();
5534
+ },
5535
+ children: /* @__PURE__ */ Q(qo, { size: 16 })
5536
+ }), /* @__PURE__ */ Q("img", {
5537
+ class: "markup-lightbox-img",
5538
+ src: A,
5539
+ alt: "Screenshot preview",
5540
+ onClick: (e) => e.stopPropagation()
5541
+ })]
5542
+ }) : null,
5543
+ x ? /* @__PURE__ */ Q("div", {
5544
+ class: "markup-discard-confirm",
5545
+ role: "alertdialog",
5546
+ "aria-labelledby": "markup-discard-confirm-title",
5547
+ "aria-describedby": "markup-discard-confirm-desc",
5548
+ children: [
5549
+ /* @__PURE__ */ Q("p", {
5550
+ id: "markup-discard-confirm-title",
5551
+ class: "markup-discard-confirm-title",
5552
+ children: "Discard this comment?"
5553
+ }),
5554
+ /* @__PURE__ */ Q("p", {
5555
+ id: "markup-discard-confirm-desc",
5556
+ class: "markup-discard-confirm-desc",
5557
+ children: "What you wrote will be lost."
5558
+ }),
5559
+ /* @__PURE__ */ Q("div", {
5560
+ class: "markup-discard-confirm-actions",
5561
+ children: [/* @__PURE__ */ Q("button", {
5562
+ type: "button",
5563
+ class: "markup-btn markup-btn-primary markup-discard-confirm-keep",
5564
+ onClick: E,
5565
+ children: "Keep editing"
5566
+ }), /* @__PURE__ */ Q("button", {
5567
+ type: "button",
5568
+ class: "markup-btn markup-btn-danger",
5569
+ onClick: _,
5570
+ children: "Discard"
5571
+ })]
5572
+ })
5573
+ ]
5574
+ }) : null
5575
+ ]
5425
5576
  });
5426
5577
  }
5427
- function qs(e, t, n) {
5578
+ function Zs(e, t, n) {
5428
5579
  return Math.max(t, Math.min(n, e));
5429
5580
  }
5430
5581
  //#endregion
5431
5582
  //#region src/runtime/ui/notifications-panel.tsx
5432
- function Js({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
5583
+ function Qs({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
5433
5584
  let s = e.some((e) => e.readAt == null);
5434
5585
  return /* @__PURE__ */ Q("div", {
5435
5586
  class: "markup-notifications-panel",
@@ -5444,7 +5595,7 @@ function Js({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
5444
5595
  title: "Back to menu",
5445
5596
  "aria-label": "Back to menu",
5446
5597
  onClick: r,
5447
- children: /* @__PURE__ */ Q(Go, { size: 16 })
5598
+ children: /* @__PURE__ */ Q(Jo, { size: 16 })
5448
5599
  }),
5449
5600
  /* @__PURE__ */ Q("span", {
5450
5601
  class: "markup-eyebrow",
@@ -5501,7 +5652,7 @@ function Js({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
5501
5652
  role: "img",
5502
5653
  "aria-label": "Written by an AI agent",
5503
5654
  title: "Written by an AI agent on this person's behalf",
5504
- children: /* @__PURE__ */ Q(us, { size: 11 })
5655
+ children: /* @__PURE__ */ Q(ps, { size: 11 })
5505
5656
  }) : null,
5506
5657
  /* @__PURE__ */ Q("span", {
5507
5658
  class: "markup-notifications-panel-sep",
@@ -5509,7 +5660,7 @@ function Js({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
5509
5660
  }),
5510
5661
  /* @__PURE__ */ Q("span", {
5511
5662
  class: "markup-notifications-panel-time",
5512
- children: Ys(e.createdAt)
5663
+ children: $s(e.createdAt)
5513
5664
  })
5514
5665
  ]
5515
5666
  }),
@@ -5538,7 +5689,7 @@ function Js({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
5538
5689
  })]
5539
5690
  });
5540
5691
  }
5541
- function Ys(e) {
5692
+ function $s(e) {
5542
5693
  let t = Date.now() - e, n = Math.floor(t / 1e3);
5543
5694
  if (n < 60) return "just now";
5544
5695
  let r = Math.floor(n / 60);
@@ -5550,7 +5701,7 @@ function Ys(e) {
5550
5701
  }
5551
5702
  //#endregion
5552
5703
  //#region src/runtime/use-theme.ts
5553
- function Xs() {
5704
+ function ec() {
5554
5705
  let [, e] = B(0);
5555
5706
  return V(() => He(() => e((e) => e + 1)), []), {
5556
5707
  mode: ze(),
@@ -5560,8 +5711,8 @@ function Xs() {
5560
5711
  }
5561
5712
  //#endregion
5562
5713
  //#region src/runtime/ui/overflow-menu.tsx
5563
- function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, onOpenPrivacy: a, onOpenShortcuts: o, onHideForSession: s, version: c, dashboardUrl: l }) {
5564
- let [u, d] = B(!1), f = H(null), p = Xs();
5714
+ function tc({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, onOpenPrivacy: a, onOpenShortcuts: o, onHideForSession: s, version: c, dashboardUrl: l }) {
5715
+ let [u, d] = B(!1), f = H(null), p = ec();
5565
5716
  V(() => {
5566
5717
  if (!u) return;
5567
5718
  function e(e) {
@@ -5575,7 +5726,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5575
5726
  document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
5576
5727
  };
5577
5728
  }, [u]);
5578
- let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: h } = Vo();
5729
+ let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: h } = Wo();
5579
5730
  return /* @__PURE__ */ Q("div", {
5580
5731
  ref: f,
5581
5732
  style: {
@@ -5594,7 +5745,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5594
5745
  onClick: (e) => {
5595
5746
  e.preventDefault(), e.stopPropagation(), d((e) => !e);
5596
5747
  },
5597
- children: /* @__PURE__ */ Q(ts, { size: 16 })
5748
+ children: /* @__PURE__ */ Q(is, { size: 16 })
5598
5749
  }), u ? /* @__PURE__ */ Q("div", {
5599
5750
  class: Z("markup-pop", m),
5600
5751
  "data-pop": "overflow",
@@ -5618,7 +5769,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5618
5769
  title: "Light",
5619
5770
  class: Z(p.mode === "light" && "is-on"),
5620
5771
  onClick: () => p.set("light"),
5621
- children: /* @__PURE__ */ Q(ns, { size: 14 })
5772
+ children: /* @__PURE__ */ Q(as, { size: 14 })
5622
5773
  }),
5623
5774
  /* @__PURE__ */ Q("button", {
5624
5775
  type: "button",
@@ -5628,7 +5779,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5628
5779
  title: "Dark",
5629
5780
  class: Z(p.mode === "dark" && "is-on"),
5630
5781
  onClick: () => p.set("dark"),
5631
- children: /* @__PURE__ */ Q(rs, { size: 14 })
5782
+ children: /* @__PURE__ */ Q(os, { size: 14 })
5632
5783
  }),
5633
5784
  /* @__PURE__ */ Q("button", {
5634
5785
  type: "button",
@@ -5638,7 +5789,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5638
5789
  title: `Auto, currently ${p.resolved}`,
5639
5790
  class: Z(p.mode === "auto" && "is-on"),
5640
5791
  onClick: () => p.set("auto"),
5641
- children: /* @__PURE__ */ Q(is, { size: 14 })
5792
+ children: /* @__PURE__ */ Q(ss, { size: 14 })
5642
5793
  })
5643
5794
  ]
5644
5795
  })]
@@ -5661,7 +5812,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5661
5812
  title: "Bottom left",
5662
5813
  class: Z(e === "bottom-left" && "is-on"),
5663
5814
  onClick: () => t("bottom-left"),
5664
- children: /* @__PURE__ */ Q(Qs, { side: "left" })
5815
+ children: /* @__PURE__ */ Q(nc, { side: "left" })
5665
5816
  }),
5666
5817
  /* @__PURE__ */ Q("button", {
5667
5818
  type: "button",
@@ -5671,7 +5822,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5671
5822
  title: "Bottom center",
5672
5823
  class: Z(e === "bottom-center" && "is-on"),
5673
5824
  onClick: () => t("bottom-center"),
5674
- children: /* @__PURE__ */ Q(Qs, { side: "center" })
5825
+ children: /* @__PURE__ */ Q(nc, { side: "center" })
5675
5826
  }),
5676
5827
  /* @__PURE__ */ Q("button", {
5677
5828
  type: "button",
@@ -5681,7 +5832,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5681
5832
  title: "Bottom right",
5682
5833
  class: Z(e === "bottom-right" && "is-on"),
5683
5834
  onClick: () => t("bottom-right"),
5684
- children: /* @__PURE__ */ Q(Qs, { side: "right" })
5835
+ children: /* @__PURE__ */ Q(nc, { side: "right" })
5685
5836
  })
5686
5837
  ]
5687
5838
  })]
@@ -5703,7 +5854,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5703
5854
  children: [
5704
5855
  /* @__PURE__ */ Q("span", {
5705
5856
  class: "ic",
5706
- children: /* @__PURE__ */ Q($s, {})
5857
+ children: /* @__PURE__ */ Q(rc, {})
5707
5858
  }),
5708
5859
  /* @__PURE__ */ Q("span", {
5709
5860
  class: "lbl",
@@ -5727,7 +5878,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5727
5878
  },
5728
5879
  children: [/* @__PURE__ */ Q("span", {
5729
5880
  class: "ic",
5730
- children: /* @__PURE__ */ Q(as, { size: 16 })
5881
+ children: /* @__PURE__ */ Q(cs, { size: 16 })
5731
5882
  }), /* @__PURE__ */ Q("span", {
5732
5883
  class: "lbl",
5733
5884
  children: "Privacy & data"
@@ -5742,7 +5893,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5742
5893
  },
5743
5894
  children: [/* @__PURE__ */ Q("span", {
5744
5895
  class: "ic",
5745
- children: /* @__PURE__ */ Q(os, { size: 16 })
5896
+ children: /* @__PURE__ */ Q(ls, { size: 16 })
5746
5897
  }), /* @__PURE__ */ Q("span", {
5747
5898
  class: "lbl",
5748
5899
  children: "Keyboard shortcuts"
@@ -5759,7 +5910,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5759
5910
  children: [
5760
5911
  /* @__PURE__ */ Q("span", {
5761
5912
  class: "ic",
5762
- children: /* @__PURE__ */ Q(ec, {})
5913
+ children: /* @__PURE__ */ Q(ic, {})
5763
5914
  }),
5764
5915
  /* @__PURE__ */ Q("span", {
5765
5916
  class: "lbl",
@@ -5777,7 +5928,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5777
5928
  target: "_blank",
5778
5929
  rel: "noopener noreferrer",
5779
5930
  children: [
5780
- /* @__PURE__ */ Q(Uo, { size: 12 }),
5931
+ /* @__PURE__ */ Q(Ko, { size: 12 }),
5781
5932
  /* @__PURE__ */ Q("span", { children: "Powered by Markup" }),
5782
5933
  /* @__PURE__ */ Q("span", {
5783
5934
  class: "ver",
@@ -5789,7 +5940,7 @@ function Zs({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5789
5940
  }) : null]
5790
5941
  });
5791
5942
  }
5792
- function Qs({ side: e }) {
5943
+ function nc({ side: e }) {
5793
5944
  return /* @__PURE__ */ Q("svg", {
5794
5945
  width: 14,
5795
5946
  height: 14,
@@ -5815,7 +5966,7 @@ function Qs({ side: e }) {
5815
5966
  })]
5816
5967
  });
5817
5968
  }
5818
- function $s() {
5969
+ function rc() {
5819
5970
  return /* @__PURE__ */ Q("svg", {
5820
5971
  width: 16,
5821
5972
  height: 16,
@@ -5833,7 +5984,7 @@ function $s() {
5833
5984
  })]
5834
5985
  });
5835
5986
  }
5836
- function ec() {
5987
+ function ic() {
5837
5988
  return /* @__PURE__ */ Q("svg", {
5838
5989
  width: 16,
5839
5990
  height: 16,
@@ -5854,7 +6005,7 @@ function ec() {
5854
6005
  }
5855
6006
  //#endregion
5856
6007
  //#region src/runtime/ui/panel-popover.tsx
5857
- function tc({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i, children: a }) {
6008
+ function ac({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i, children: a }) {
5858
6009
  let o = H(null);
5859
6010
  return V(() => {
5860
6011
  function e(e) {
@@ -5884,7 +6035,7 @@ function tc({ kind: e, label: t, position: n, ignoreToolbarKind: r, onClose: i,
5884
6035
  }
5885
6036
  //#endregion
5886
6037
  //#region src/runtime/ui/pin.tsx
5887
- function nc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClick: a }) {
6038
+ function oc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClick: a }) {
5888
6039
  let o = t - window.scrollY, s = e - window.scrollX;
5889
6040
  return /* @__PURE__ */ Q("button", {
5890
6041
  type: "button",
@@ -5904,7 +6055,7 @@ function nc({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClic
5904
6055
  })
5905
6056
  });
5906
6057
  }
5907
- function rc({ pageX: e, pageY: t }) {
6058
+ function sc({ pageX: e, pageY: t }) {
5908
6059
  let n = t - window.scrollY, r = e - window.scrollX;
5909
6060
  return /* @__PURE__ */ Q("div", {
5910
6061
  class: "markup-pin markup-pin-ghost is-anchor",
@@ -5921,23 +6072,40 @@ function rc({ pageX: e, pageY: t }) {
5921
6072
  }
5922
6073
  //#endregion
5923
6074
  //#region src/runtime/ui/placement-overlay.tsx
5924
- function ic({ onPlace: e, onCancel: t }) {
5925
- rt(() => {
5926
- function e(e) {
6075
+ function cc({ onPlace: e, onCancel: t }) {
6076
+ let n = H(null);
6077
+ return rt(() => {
6078
+ let r = n.current?.getRootNode() ?? null, i = (e) => r !== null && e.composedPath().includes(r);
6079
+ function a(e) {
5927
6080
  e.key === "Escape" && t();
5928
6081
  }
5929
- return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
5930
- }, [t]);
5931
- function n(t) {
5932
- t.stopPropagation(), t.preventDefault(), e(vi(t, document.elementsFromPoint(t.clientX, t.clientY).find((e) => !e.shadowRoot) ?? null), t.clientX, t.clientY);
5933
- }
5934
- function r(e) {
5935
- e.preventDefault(), e.stopPropagation();
5936
- }
5937
- return /* @__PURE__ */ Q("div", {
6082
+ function o(e) {
6083
+ i(e) || (e.preventDefault(), e.stopPropagation());
6084
+ }
6085
+ function s(t) {
6086
+ i(t) || (t.preventDefault(), t.stopPropagation(), e(vi(t), t.clientX, t.clientY));
6087
+ }
6088
+ let c = { capture: !0 }, l = [
6089
+ "pointerdown",
6090
+ "pointerup",
6091
+ "mousedown",
6092
+ "mouseup",
6093
+ "dblclick",
6094
+ "auxclick",
6095
+ "contextmenu"
6096
+ ];
6097
+ window.addEventListener("keydown", a);
6098
+ for (let e of l) window.addEventListener(e, o, c);
6099
+ window.addEventListener("click", s, c);
6100
+ let u = lc();
6101
+ return () => {
6102
+ window.removeEventListener("keydown", a);
6103
+ for (let e of l) window.removeEventListener(e, o, c);
6104
+ window.removeEventListener("click", s, c), u();
6105
+ };
6106
+ }, [e, t]), /* @__PURE__ */ Q("div", {
5938
6107
  class: "markup-placement-overlay",
5939
- onPointerDown: r,
5940
- onClick: n,
6108
+ ref: n,
5941
6109
  role: "presentation",
5942
6110
  children: /* @__PURE__ */ Q("div", {
5943
6111
  class: "markup-placement-cursor-help",
@@ -5945,10 +6113,21 @@ function ic({ onPlace: e, onCancel: t }) {
5945
6113
  })
5946
6114
  });
5947
6115
  }
6116
+ function lc() {
6117
+ let e = "html, html * { cursor: crosshair !important; }";
6118
+ if ("adoptedStyleSheets" in document && "replaceSync" in CSSStyleSheet.prototype) {
6119
+ let t = new CSSStyleSheet();
6120
+ return t.replaceSync(e), document.adoptedStyleSheets = [...document.adoptedStyleSheets, t], () => {
6121
+ document.adoptedStyleSheets = document.adoptedStyleSheets.filter((e) => e !== t);
6122
+ };
6123
+ }
6124
+ let t = document.createElement("style");
6125
+ return t.textContent = e, document.head.appendChild(t), () => t.remove();
6126
+ }
5948
6127
  //#endregion
5949
6128
  //#region src/runtime/ui/privacy-panel.tsx
5950
- function ac({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isForgettingMe: i, forgetMeError: a, onForgetMe: o, onClose: s }) {
5951
- let [c, l] = B(!1), u = Ki(e), d = e.kind === "verified", f = d ? e.identity.email : void 0, p = e.kind === "anon";
6129
+ function uc({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isForgettingMe: i, forgetMeError: a, onForgetMe: o, onClose: s }) {
6130
+ let [c, l] = B(!1), u = Yi(e), d = e.kind === "verified", f = d ? e.identity.email : void 0, p = e.kind === "anon";
5952
6131
  return /* @__PURE__ */ Q("div", {
5953
6132
  class: "markup-panel",
5954
6133
  children: [/* @__PURE__ */ Q("header", {
@@ -5962,7 +6141,7 @@ function ac({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isFo
5962
6141
  title: "Close",
5963
6142
  "aria-label": "Close privacy and data",
5964
6143
  onClick: s,
5965
- children: /* @__PURE__ */ Q(Wo, { size: 14 })
6144
+ children: /* @__PURE__ */ Q(qo, { size: 14 })
5966
6145
  })]
5967
6146
  }), /* @__PURE__ */ Q("div", {
5968
6147
  class: "markup-panel-body",
@@ -6047,7 +6226,7 @@ function ac({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isFo
6047
6226
  "Only ",
6048
6227
  /* @__PURE__ */ Q("span", {
6049
6228
  class: "markup-panel-mono",
6050
- children: oc(t)
6229
+ children: dc(t)
6051
6230
  }),
6052
6231
  ". No analytics, no ad tech, no third-party requests from the widget. If the widget itself crashes it posts the error, this page's URL and your user-agent to that same host, never your identity or what you were writing."
6053
6232
  ]
@@ -6083,7 +6262,7 @@ function ac({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isFo
6083
6262
  })]
6084
6263
  });
6085
6264
  }
6086
- function oc(e) {
6265
+ function dc(e) {
6087
6266
  try {
6088
6267
  return new URL(e).host;
6089
6268
  } catch {
@@ -6092,8 +6271,8 @@ function oc(e) {
6092
6271
  }
6093
6272
  //#endregion
6094
6273
  //#region src/runtime/ui/shortcuts-panel.tsx
6095
- function sc({ onClose: e }) {
6096
- let { mod: t, enter: n } = Vo();
6274
+ function fc({ onClose: e }) {
6275
+ let { mod: t, enter: n } = Wo();
6097
6276
  return /* @__PURE__ */ Q("div", {
6098
6277
  class: "markup-panel",
6099
6278
  children: [/* @__PURE__ */ Q("header", {
@@ -6107,7 +6286,7 @@ function sc({ onClose: e }) {
6107
6286
  title: "Close",
6108
6287
  "aria-label": "Close keyboard shortcuts",
6109
6288
  onClick: e,
6110
- children: /* @__PURE__ */ Q(Wo, { size: 14 })
6289
+ children: /* @__PURE__ */ Q(qo, { size: 14 })
6111
6290
  })]
6112
6291
  }), /* @__PURE__ */ Q("div", {
6113
6292
  class: "markup-panel-body",
@@ -6187,14 +6366,14 @@ function sc({ onClose: e }) {
6187
6366
  }
6188
6367
  //#endregion
6189
6368
  //#region src/runtime/ui/thread-popover.tsx
6190
- var cc = [
6369
+ var pc = [
6191
6370
  "👍",
6192
6371
  "❤️",
6193
6372
  "🎉",
6194
6373
  "😮",
6195
6374
  "😄",
6196
6375
  "❓"
6197
- ], lc = Ur({
6376
+ ], mc = Ur({
6198
6377
  none: {
6199
6378
  "toggle-thread-menu": () => ({
6200
6379
  kind: "thread-menu",
@@ -6250,13 +6429,13 @@ var cc = [
6250
6429
  dismiss: () => ({ kind: "none" })
6251
6430
  }
6252
6431
  });
6253
- function uc({ 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 }) {
6254
- let b = H(null), x = H(null), S = H(null), C = H(null), [w, T] = Wr(lc, { kind: "none" }), [E, D] = B(null), { onPointerDown: O, isDragging: ee } = ms({
6432
+ function hc({ 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 }) {
6433
+ let b = H(null), x = H(null), S = H(null), C = H(null), [w, T] = Wr(mc, { kind: "none" }), [E, D] = B(null), { onPointerDown: O, isDragging: ee } = _s({
6255
6434
  targetRef: b,
6256
6435
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
6257
6436
  onMove: D
6258
6437
  });
6259
- _s(b, !0);
6438
+ bs(b, !0);
6260
6439
  let k = e.resolvedAt != null, A = it(() => e.comments.filter((e) => !e.deleted), [e.comments]);
6261
6440
  V(() => {
6262
6441
  if (w.kind === "none" || w.kind === "editing") return;
@@ -6278,12 +6457,12 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6278
6457
  V(() => {
6279
6458
  j.current ??= A.at(-1)?.createdAt ?? 0;
6280
6459
  }, [A]);
6281
- let te = H(!0);
6460
+ let M = H(!0);
6282
6461
  V(() => {
6283
6462
  let e = x.current;
6284
6463
  if (e) {
6285
- if (te.current) {
6286
- te.current = !1, e.scrollTop = e.scrollHeight;
6464
+ if (M.current) {
6465
+ M.current = !1, e.scrollTop = e.scrollHeight;
6287
6466
  return;
6288
6467
  }
6289
6468
  e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
@@ -6299,15 +6478,15 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6299
6478
  }
6300
6479
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
6301
6480
  }, [p]);
6302
- let M = it(() => {
6481
+ let N = it(() => {
6303
6482
  let t = yi({
6304
6483
  anchorX: e.anchorX,
6305
6484
  anchorY: e.anchorY,
6306
6485
  anchorSelector: e.anchorSelector
6307
6486
  });
6308
6487
  return {
6309
- left: mc(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
6310
- top: mc(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
6488
+ left: yc(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
6489
+ top: yc(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
6311
6490
  };
6312
6491
  }, [
6313
6492
  e.anchorX,
@@ -6320,8 +6499,8 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6320
6499
  class: Z("markup-popover", E && "is-floating", ee && "is-dragging", l && "is-hud-hidden"),
6321
6500
  popover: "auto",
6322
6501
  style: {
6323
- "--markup-pop-x": `${E?.left ?? M.left}px`,
6324
- "--markup-pop-y": `${E?.top ?? M.top}px`
6502
+ "--markup-pop-x": `${E?.left ?? N.left}px`,
6503
+ "--markup-pop-y": `${E?.top ?? N.top}px`
6325
6504
  },
6326
6505
  role: "dialog",
6327
6506
  "aria-label": "Markup thread",
@@ -6347,7 +6526,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6347
6526
  class: Z("markup-icon-btn", w.kind === "thread-menu" && "is-open"),
6348
6527
  title: "More options",
6349
6528
  onClick: () => T({ type: "toggle-thread-menu" }),
6350
- children: /* @__PURE__ */ Q(Ko, { size: 16 })
6529
+ children: /* @__PURE__ */ Q(Yo, { size: 16 })
6351
6530
  }), w.kind === "thread-menu" ? /* @__PURE__ */ Q("div", {
6352
6531
  class: "markup-thread-menu-list",
6353
6532
  children: [/* @__PURE__ */ Q("button", {
@@ -6375,14 +6554,14 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6375
6554
  title: "Mark as resolved",
6376
6555
  disabled: s,
6377
6556
  onClick: v,
6378
- children: /* @__PURE__ */ Q(qo, { size: 16 })
6557
+ children: /* @__PURE__ */ Q(Xo, { size: 16 })
6379
6558
  }) : null,
6380
6559
  /* @__PURE__ */ Q("button", {
6381
6560
  type: "button",
6382
6561
  class: "markup-icon-btn",
6383
6562
  title: "Close thread",
6384
6563
  onClick: p,
6385
- children: /* @__PURE__ */ Q(Wo, { size: 16 })
6564
+ children: /* @__PURE__ */ Q(qo, { size: 16 })
6386
6565
  })
6387
6566
  ]
6388
6567
  })]
@@ -6395,10 +6574,10 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6395
6574
  return /* @__PURE__ */ Q("li", {
6396
6575
  class: Z("markup-comment", j.current != null && t.createdAt > j.current && "is-new"),
6397
6576
  children: [
6398
- /* @__PURE__ */ Q(hc, {
6577
+ /* @__PURE__ */ Q(bc, {
6399
6578
  name: t.authorName,
6400
6579
  image: t.authorImage,
6401
- tone: _c(t.authorClientId ?? t.authorName)
6580
+ tone: Sc(t.authorClientId ?? t.authorName)
6402
6581
  }),
6403
6582
  /* @__PURE__ */ Q("div", {
6404
6583
  class: "markup-comment-meta",
@@ -6412,23 +6591,23 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6412
6591
  role: "img",
6413
6592
  "aria-label": "Written by an AI agent",
6414
6593
  title: "Written by an AI agent",
6415
- children: /* @__PURE__ */ Q(us, { size: 11 })
6594
+ children: /* @__PURE__ */ Q(ps, { size: 11 })
6416
6595
  }) : null,
6417
6596
  /* @__PURE__ */ Q("time", {
6418
6597
  class: "markup-comment-time",
6419
6598
  datetime: new Date(t.createdAt).toISOString(),
6420
- title: yc(t.createdAt),
6421
- children: vc(t.createdAt)
6599
+ title: wc(t.createdAt),
6600
+ children: Cc(t.createdAt)
6422
6601
  }),
6423
6602
  t.editedAt == null ? null : /* @__PURE__ */ Q("time", {
6424
6603
  class: "markup-comment-edited",
6425
6604
  datetime: new Date(t.editedAt).toISOString(),
6426
- title: yc(t.editedAt),
6605
+ title: wc(t.editedAt),
6427
6606
  children: "edited"
6428
6607
  }),
6429
6608
  /* @__PURE__ */ Q("div", {
6430
6609
  class: "markup-thread-actions",
6431
- children: [!k && !l ? /* @__PURE__ */ Q(dc, {
6610
+ children: [!k && !l ? /* @__PURE__ */ Q(gc, {
6432
6611
  comment: t,
6433
6612
  pickerOpen: m,
6434
6613
  pickerDirection: v,
@@ -6496,7 +6675,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6496
6675
  direction: a < i ? "up" : "down"
6497
6676
  });
6498
6677
  },
6499
- children: /* @__PURE__ */ Q(Ko, { size: 16 })
6678
+ children: /* @__PURE__ */ Q(Yo, { size: 16 })
6500
6679
  }), f ? /* @__PURE__ */ Q("div", {
6501
6680
  class: "markup-thread-menu-list",
6502
6681
  children: [o ? /* @__PURE__ */ Q("button", {
@@ -6536,7 +6715,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6536
6715
  await h(t._id, n), T({ type: "dismiss" });
6537
6716
  } catch {}
6538
6717
  },
6539
- children: [/* @__PURE__ */ Q(Us, {
6718
+ children: [/* @__PURE__ */ Q(Ks, {
6540
6719
  class: "markup-comment-edit-input",
6541
6720
  label: "Edit comment",
6542
6721
  value: w.draft,
@@ -6562,7 +6741,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6562
6741
  children: "Save"
6563
6742
  })]
6564
6743
  })]
6565
- }) : /* @__PURE__ */ Q(Bs, {
6744
+ }) : /* @__PURE__ */ Q(Us, {
6566
6745
  body: t.body,
6567
6746
  mentions: t.mentions
6568
6747
  }),
@@ -6575,7 +6754,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6575
6754
  alt: "Screenshot"
6576
6755
  })
6577
6756
  }) : null,
6578
- !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(fc, {
6757
+ !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(_c, {
6579
6758
  comment: t,
6580
6759
  isResolved: k,
6581
6760
  onToggle: (e) => _(t._id, e)
@@ -6595,7 +6774,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6595
6774
  onClick: (e) => {
6596
6775
  e.stopPropagation(), S.current?.close();
6597
6776
  },
6598
- children: /* @__PURE__ */ Q(Wo, { size: 16 })
6777
+ children: /* @__PURE__ */ Q(qo, { size: 16 })
6599
6778
  }), /* @__PURE__ */ Q("img", {
6600
6779
  class: "markup-lightbox-img",
6601
6780
  src: e.screenshotUrl,
@@ -6603,7 +6782,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6603
6782
  onClick: (e) => e.stopPropagation()
6604
6783
  })]
6605
6784
  }) : null,
6606
- t == null ? /* @__PURE__ */ Q(ys, {
6785
+ t == null ? /* @__PURE__ */ Q(Ss, {
6607
6786
  isPending: s,
6608
6787
  isConnecting: i,
6609
6788
  isSigningIn: a,
@@ -6625,7 +6804,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6625
6804
  children: "team"
6626
6805
  }) : null
6627
6806
  ]
6628
- }), /* @__PURE__ */ Q(Gs, {
6807
+ }), /* @__PURE__ */ Q(Js, {
6629
6808
  label: "Reply",
6630
6809
  placeholder: "Write a reply…",
6631
6810
  submitLabel: "Reply",
@@ -6639,7 +6818,7 @@ function uc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6639
6818
  ]
6640
6819
  });
6641
6820
  }
6642
- function dc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
6821
+ function gc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
6643
6822
  return /* @__PURE__ */ Q("div", {
6644
6823
  class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
6645
6824
  ref: i,
@@ -6649,11 +6828,11 @@ function dc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
6649
6828
  title: "Add reaction",
6650
6829
  "aria-label": "Add reaction",
6651
6830
  onClick: a,
6652
- children: /* @__PURE__ */ Q(Xo, { size: 16 })
6831
+ children: /* @__PURE__ */ Q($o, { size: 16 })
6653
6832
  }), t ? /* @__PURE__ */ Q("div", {
6654
6833
  class: "markup-reaction-picker",
6655
6834
  role: "menu",
6656
- children: cc.map((t) => /* @__PURE__ */ Q("button", {
6835
+ children: pc.map((t) => /* @__PURE__ */ Q("button", {
6657
6836
  type: "button",
6658
6837
  role: "menuitem",
6659
6838
  class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
@@ -6663,11 +6842,11 @@ function dc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
6663
6842
  }) : null]
6664
6843
  });
6665
6844
  }
6666
- function fc({ comment: e, isResolved: t, onToggle: n }) {
6845
+ function _c({ comment: e, isResolved: t, onToggle: n }) {
6667
6846
  return /* @__PURE__ */ Q("div", {
6668
6847
  class: "markup-reactions",
6669
6848
  children: e.reactions.map((e) => {
6670
- let r = pc(e.reactors, e.mine, e.count, e.emoji);
6849
+ let r = vc(e.reactors, e.mine, e.count, e.emoji);
6671
6850
  return /* @__PURE__ */ Q("button", {
6672
6851
  type: "button",
6673
6852
  class: Z("markup-reaction-chip", e.mine && "is-mine"),
@@ -6688,14 +6867,14 @@ function fc({ comment: e, isResolved: t, onToggle: n }) {
6688
6867
  })
6689
6868
  });
6690
6869
  }
6691
- function pc(e, t, n, r) {
6870
+ function vc(e, t, n, r) {
6692
6871
  let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
6693
6872
  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}`;
6694
6873
  }
6695
- function mc(e, t, n) {
6874
+ function yc(e, t, n) {
6696
6875
  return Math.max(t, Math.min(n, e));
6697
6876
  }
6698
- function hc({ name: e, image: t, tone: n }) {
6877
+ function bc({ name: e, image: t, tone: n }) {
6699
6878
  let [r, i] = B(null);
6700
6879
  return /* @__PURE__ */ Q("span", {
6701
6880
  class: "markup-comment-avatar",
@@ -6711,11 +6890,11 @@ function hc({ name: e, image: t, tone: n }) {
6711
6890
  onError: () => i(t)
6712
6891
  }) : /* @__PURE__ */ Q("span", {
6713
6892
  class: "markup-avatar-initials",
6714
- children: gc(e)
6893
+ children: xc(e)
6715
6894
  })
6716
6895
  });
6717
6896
  }
6718
- function gc(e) {
6897
+ function xc(e) {
6719
6898
  let t = e.trim();
6720
6899
  if (!t) return "??";
6721
6900
  let n = t.split(/\s+/).filter(Boolean), r = n[0] ?? "";
@@ -6723,12 +6902,12 @@ function gc(e) {
6723
6902
  let i = n[n.length - 1] ?? "";
6724
6903
  return ((r[0] ?? "") + (i[0] ?? "")).toUpperCase();
6725
6904
  }
6726
- function _c(e) {
6905
+ function Sc(e) {
6727
6906
  let t = 0;
6728
6907
  for (let n = 0; n < e.length; n++) t = t * 31 + e.charCodeAt(n) | 0;
6729
6908
  return Math.abs(t) % 5 + 1;
6730
6909
  }
6731
- function vc(e) {
6910
+ function Cc(e) {
6732
6911
  let t = Date.now() - e, n = Math.floor(t / 1e3);
6733
6912
  if (n < 60) return "just now";
6734
6913
  let r = Math.floor(n / 60);
@@ -6745,7 +6924,7 @@ function vc(e) {
6745
6924
  year: "numeric"
6746
6925
  });
6747
6926
  }
6748
- function yc(e) {
6927
+ function wc(e) {
6749
6928
  return new Date(e).toLocaleDateString([], {
6750
6929
  month: "long",
6751
6930
  day: "numeric",
@@ -6756,7 +6935,7 @@ function yc(e) {
6756
6935
  }
6757
6936
  //#endregion
6758
6937
  //#region src/runtime/ui/toolbar.tsx
6759
- function bc({ 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 }) {
6938
+ function Tc({ 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 }) {
6760
6939
  let f = H(0);
6761
6940
  i > 0 && (f.current = i);
6762
6941
  let p = r === "bottom-left" ? "markup-toolbar-left" : r === "bottom-center" ? "markup-toolbar-center" : "markup-toolbar-right";
@@ -6780,7 +6959,7 @@ function bc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6780
6959
  title: e ? "Cancel placing markup" : "Leave a markup",
6781
6960
  "aria-pressed": e,
6782
6961
  onClick: m,
6783
- children: Q(e ? Wo : Zo, { size: 16 })
6962
+ children: Q(e ? qo : es, { size: 16 })
6784
6963
  }),
6785
6964
  a ? /* @__PURE__ */ Q("button", {
6786
6965
  type: "button",
@@ -6792,7 +6971,7 @@ function bc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6792
6971
  onClick: (e) => {
6793
6972
  e.preventDefault(), e.stopPropagation(), o?.();
6794
6973
  },
6795
- children: [/* @__PURE__ */ Q(Qo, { size: 16 }), /* @__PURE__ */ Q("span", {
6974
+ children: [/* @__PURE__ */ Q(ts, { size: 16 }), /* @__PURE__ */ Q("span", {
6796
6975
  class: "markup-tb-badge",
6797
6976
  "data-unread": i > 0 ? "true" : "false",
6798
6977
  "aria-hidden": "true",
@@ -6812,7 +6991,7 @@ function bc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6812
6991
  onClick: (e) => {
6813
6992
  e.preventDefault(), e.stopPropagation(), l();
6814
6993
  },
6815
- children: Q(c ? $o : es, { size: 16 })
6994
+ children: Q(c ? ns : rs, { size: 16 })
6816
6995
  })] }) : null,
6817
6996
  u || d ? /* @__PURE__ */ Q("div", {
6818
6997
  class: "markup-tb-sep",
@@ -6826,19 +7005,19 @@ function bc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6826
7005
  "data-kind": "overflow",
6827
7006
  "aria-label": "More options",
6828
7007
  disabled: !0,
6829
- children: /* @__PURE__ */ Q(ts, { size: 16 })
7008
+ children: /* @__PURE__ */ Q(is, { size: 16 })
6830
7009
  })
6831
7010
  ]
6832
7011
  });
6833
7012
  }
6834
7013
  //#endregion
6835
7014
  //#region src/runtime/ui/app.tsx
6836
- function xc(e) {
7015
+ function Ec(e) {
6837
7016
  let t = {
6838
7017
  clientId: `markup_user_${e.identity.id}`,
6839
7018
  name: e.identity.name,
6840
7019
  email: e.identity.email,
6841
- image: e.identity.image == null ? void 0 : Ri(e.identity.image, location.href)?.href ?? void 0
7020
+ image: e.identity.image == null ? void 0 : Vi(e.identity.image, location.href)?.href ?? void 0
6842
7021
  };
6843
7022
  if (e.mode === "cookies") return e.tokenExpiresAt == null || e.refreshTokenExpiresAt == null ? null : {
6844
7023
  storage: "cookies",
@@ -6859,17 +7038,17 @@ function xc(e) {
6859
7038
  } : {}
6860
7039
  };
6861
7040
  }
6862
- function Sc() {
7041
+ function Dc() {
6863
7042
  let e = document.activeElement;
6864
7043
  for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement;
6865
7044
  if (!e) return !1;
6866
7045
  let t = e.tagName;
6867
7046
  return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable;
6868
7047
  }
6869
- function Cc() {
7048
+ function Oc() {
6870
7049
  return window.location.host + window.location.pathname;
6871
7050
  }
6872
- var wc = Ur({
7051
+ var kc = Ur({
6873
7052
  visible: {
6874
7053
  "hide-with-toast": () => ({ kind: "hidden-with-toast" }),
6875
7054
  toggle: () => ({ kind: "hidden" })
@@ -6880,26 +7059,26 @@ var wc = Ur({
6880
7059
  },
6881
7060
  hidden: { toggle: () => ({ kind: "visible" }) }
6882
7061
  });
6883
- function Tc(e) {
6884
- return Wi(e), e;
7062
+ function Ac(e) {
7063
+ return qi(e), e;
6885
7064
  }
6886
- var Ec = Ur({
7065
+ var jc = Ur({
6887
7066
  unresolved: {
6888
- "mint-success": (e, t) => Tc({
7067
+ "mint-success": (e, t) => Ac({
6889
7068
  kind: "anon",
6890
7069
  identity: t.identity
6891
7070
  }),
6892
- "signed-in": (e, t) => Tc({
7071
+ "signed-in": (e, t) => Ac({
6893
7072
  kind: "verified",
6894
7073
  identity: t.identity
6895
7074
  })
6896
7075
  },
6897
7076
  anon: {
6898
- "signed-in": (e, t) => Tc({
7077
+ "signed-in": (e, t) => Ac({
6899
7078
  kind: "verified",
6900
7079
  identity: t.identity
6901
7080
  }),
6902
- "author-set": (e, t) => Tc({
7081
+ "author-set": (e, t) => Ac({
6903
7082
  kind: "anon",
6904
7083
  identity: {
6905
7084
  ...e.identity,
@@ -6907,49 +7086,49 @@ var Ec = Ur({
6907
7086
  email: t.email
6908
7087
  }
6909
7088
  }),
6910
- "forget-me": () => Tc({ kind: "unresolved" })
7089
+ "forget-me": () => Ac({ kind: "unresolved" })
6911
7090
  },
6912
7091
  verified: {
6913
- "signed-in": (e, t) => Tc({
7092
+ "signed-in": (e, t) => Ac({
6914
7093
  kind: "verified",
6915
7094
  identity: t.identity
6916
7095
  }),
6917
- unauthorized: (e) => Tc({
7096
+ unauthorized: (e) => Ac({
6918
7097
  kind: "recovering",
6919
7098
  preserved: {
6920
7099
  name: e.identity.name,
6921
7100
  email: e.identity.email
6922
7101
  }
6923
7102
  }),
6924
- "signed-out": () => Tc({ kind: "unresolved" })
7103
+ "signed-out": () => Ac({ kind: "unresolved" })
6925
7104
  },
6926
7105
  recovering: {
6927
- "mint-success": (e, t) => Tc({
7106
+ "mint-success": (e, t) => Ac({
6928
7107
  kind: "anon",
6929
7108
  identity: t.identity
6930
7109
  }),
6931
- "signed-in": (e, t) => Tc({
7110
+ "signed-in": (e, t) => Ac({
6932
7111
  kind: "verified",
6933
7112
  identity: t.identity
6934
7113
  })
6935
7114
  }
6936
7115
  });
6937
- function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
6938
- let [a, o] = B(Cc), [s, c] = B([]), [l, u] = B(!1), d = it(() => Ui(), []), [f, p] = Wr(Ec, d.state), [m, h] = B(null);
7116
+ function Mc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
7117
+ let [a, o] = B(Oc), [s, c] = B([]), [l, u] = B(!1), d = it(() => Ki(), []), [f, p] = Wr(jc, d.state), [m, h] = B(null);
6939
7118
  V(() => {
6940
7119
  let n = !1;
6941
- return ki(e, t).then((e) => {
7120
+ return Mi(e, t).then((e) => {
6942
7121
  n || h(e);
6943
7122
  }), () => {
6944
7123
  n = !0;
6945
7124
  };
6946
7125
  }, [e, t]);
6947
7126
  let [g, _] = B(n), [v, y] = B(!0), [b, x] = B(!0), [S, C] = B(null), w = U(() => C(null), []), T = H(f);
6948
- T.current = f, Bo(f, e, t, (e) => p({
7127
+ T.current = f, Uo(f, e, t, (e) => p({
6949
7128
  type: "signed-in",
6950
7129
  identity: e
6951
7130
  }), () => p({ type: "unauthorized" }));
6952
- let E = it(() => Ei({
7131
+ let E = it(() => ki({
6953
7132
  apiUrl: e,
6954
7133
  apiKey: t,
6955
7134
  getToken: () => {
@@ -6983,15 +7162,15 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6983
7162
  e = !0;
6984
7163
  };
6985
7164
  }, [E]);
6986
- let [A, j] = B(0), [te, M] = B([]), [ne, re] = B(!1), [ie, ae] = B(void 0), [oe, se] = B(!1), ce = U(() => {
6987
- re(!0), ae(void 0), E.listNotifications().then((e) => {
6988
- M(e.notifications);
7165
+ let [A, j] = B(0), [M, N] = B([]), [te, ne] = B(!1), [re, ie] = B(void 0), [ae, oe] = B(!1), se = U(() => {
7166
+ ne(!0), ie(void 0), E.listNotifications().then((e) => {
7167
+ N(e.notifications);
6989
7168
  }).catch((e) => {
6990
- ae(e instanceof Error ? e.message : "Failed to load.");
7169
+ ie(e instanceof Error ? e.message : "Failed to load.");
6991
7170
  }).finally(() => {
6992
- re(!1);
7171
+ ne(!1);
6993
7172
  });
6994
- }, [E]), le = Zr(), ue = Zr(), de = Zr(), fe = Zr(), pe = Zr(), { run: N, reset: me } = le, { run: he } = ue, { run: ge, reset: P } = de, { run: _e } = fe, { run: ve } = pe, ye = pe.isPending, be = le.isPending, xe = le.error ?? ue.error ?? de.error, [Se, Ce] = Wr(wc, { kind: "visible" }), we = Se.kind !== "visible", [Te, Ee] = B(0), De = H(null), Oe = Ki(f), ke = f.kind === "verified", Ae = f.kind === "unresolved" || f.kind === "recovering", je = Gi(f);
7173
+ }, [E]), ce = Zr(), le = Zr(), ue = Zr(), de = Zr(), fe = Zr(), { run: P, reset: pe } = ce, { run: me } = le, { run: he, reset: F } = ue, { run: ge } = de, { run: _e } = fe, ve = fe.isPending, ye = ce.isPending, xe = ce.error ?? le.error ?? ue.error, [Se, Ce] = Wr(kc, { kind: "visible" }), we = Se.kind !== "visible", [Te, Ee] = B(0), De = H(null), Oe = Yi(f), ke = f.kind === "verified", Ae = f.kind === "unresolved" || f.kind === "recovering", je = Ji(f);
6995
7174
  V(() => {
6996
7175
  if (f.kind !== "unresolved" && f.kind !== "recovering") return;
6997
7176
  let e = f.kind === "recovering" ? f.preserved : d.preserved, t = !1, n = null, r = 1e3;
@@ -7021,7 +7200,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7021
7200
  p,
7022
7201
  d
7023
7202
  ]);
7024
- let I = Io(E), [Me, Ne] = B(null);
7203
+ let I = zo(E), [Me, Ne] = B(null);
7025
7204
  V(() => {
7026
7205
  let t = new Hr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
7027
7206
  return Ne(t), () => {
@@ -7030,7 +7209,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7030
7209
  }, [e]);
7031
7210
  let L = H(!1);
7032
7211
  V(() => {
7033
- if (!(!Me || !I)) return me(), P(), Me.onUpdate(Nn("widget/queries:subscribeThreadsForRoute"), {
7212
+ if (!(!Me || !I)) return pe(), F(), Me.onUpdate(Nn("widget/queries:subscribeThreadsForRoute"), {
7034
7213
  subscriptionToken: I,
7035
7214
  route: a,
7036
7215
  viewerClientId: je
@@ -7042,8 +7221,8 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7042
7221
  I,
7043
7222
  a,
7044
7223
  je,
7045
- me,
7046
- P
7224
+ pe,
7225
+ F
7047
7226
  ]), V(() => {
7048
7227
  if (f.kind !== "verified") {
7049
7228
  j(0);
@@ -7067,7 +7246,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7067
7246
  }), history.replaceState(null, "", window.location.pathname + window.location.search);
7068
7247
  }
7069
7248
  L.current = !0;
7070
- }, [s, l]), V(() => Ii(() => o(Cc())), []), V(() => {
7249
+ }, [s, l]), V(() => zi(() => o(Oc())), []), V(() => {
7071
7250
  function e(e) {
7072
7251
  e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), Ce({ type: "toggle" })));
7073
7252
  }
@@ -7092,11 +7271,11 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7092
7271
  };
7093
7272
  }, []);
7094
7273
  let Pe = U(() => {
7095
- me(), P(), F("comment_started"), O({ kind: "placing" });
7096
- }, [me, P]);
7274
+ pe(), F(), be("comment_started"), O({ kind: "placing" });
7275
+ }, [pe, F]);
7097
7276
  V(() => {
7098
7277
  function e(e) {
7099
- e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || D.kind === "idle" && (we || Sc() || (e.preventDefault(), Pe())));
7278
+ e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || D.kind === "idle" && (we || Dc() || (e.preventDefault(), Pe())));
7100
7279
  }
7101
7280
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
7102
7281
  }, [
@@ -7105,8 +7284,8 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7105
7284
  Pe
7106
7285
  ]);
7107
7286
  let Fe = U(() => {
7108
- O({ kind: "idle" }), me(), P();
7109
- }, [me, P]), Ie = H(0), Le = U((e, t, n) => {
7287
+ O({ kind: "idle" }), pe(), F();
7288
+ }, [pe, F]), Ie = H(0), Le = U((e, t, n) => {
7110
7289
  let i = t + window.scrollX, a = n + window.scrollY, o = ++Ie.current;
7111
7290
  if (r?.enabled === !1 || !b) {
7112
7291
  O({
@@ -7139,7 +7318,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7139
7318
  strictScrub: r?.strictScrub,
7140
7319
  redactSelector: r?.redactSelector
7141
7320
  };
7142
- Do(s, {
7321
+ Ao(s, {
7143
7322
  x: t,
7144
7323
  y: n
7145
7324
  }, c).then((e) => {
@@ -7150,7 +7329,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7150
7329
  screenshotFailed: e == null,
7151
7330
  screenshotRedactedCount: e?.redactedCount ?? 0,
7152
7331
  screenshotRedactedSelectors: e?.redactedSelectors ?? []
7153
- }), F("screenshot_captured", { ok: e != null });
7332
+ }), be("screenshot_captured", { ok: e != null });
7154
7333
  });
7155
7334
  }, [r, b]), Re = U((e, t) => {
7156
7335
  p({
@@ -7158,9 +7337,9 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7158
7337
  name: e,
7159
7338
  email: t
7160
7339
  });
7161
- }, [p]), ze = ue.isPending, Be = U(async () => {
7162
- F("sign_in_started"), await he(async () => {
7163
- let n = xc(await Qi({
7340
+ }, [p]), ze = le.isPending, Be = U(async () => {
7341
+ be("sign_in_started"), await me(async () => {
7342
+ let n = Ec(await ta({
7164
7343
  apiUrl: e,
7165
7344
  apiKey: t,
7166
7345
  useCookies: m === !0
@@ -7169,18 +7348,18 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7169
7348
  p({
7170
7349
  type: "signed-in",
7171
7350
  identity: n
7172
- }), F("sign_in_completed");
7351
+ }), be("sign_in_completed");
7173
7352
  });
7174
7353
  }, [
7175
7354
  e,
7176
7355
  t,
7177
7356
  m,
7178
- he,
7357
+ me,
7179
7358
  p
7180
7359
  ]), Ve = U(async (e, t) => {
7181
7360
  if (D.kind !== "composing-new") return;
7182
- let n = qi(f);
7183
- n && await N(async () => {
7361
+ let n = Xi(f);
7362
+ n && await P(async () => {
7184
7363
  let r;
7185
7364
  if (t && D.screenshot) {
7186
7365
  let { uploadUrl: e } = await E.getScreenshotUploadUrl(), t;
@@ -7215,7 +7394,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7215
7394
  mentions: i.length > 0 ? i : void 0,
7216
7395
  screenshotStorageId: r
7217
7396
  });
7218
- c((e) => [...e, o.thread]), F("comment_submitted", {
7397
+ c((e) => [...e, o.thread]), be("comment_submitted", {
7219
7398
  hasScreenshot: r != null,
7220
7399
  hasMentions: i.length > 0
7221
7400
  }), O({
@@ -7228,30 +7407,30 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7228
7407
  f,
7229
7408
  D,
7230
7409
  a,
7231
- N
7410
+ P
7232
7411
  ]), He = U(async () => {
7233
7412
  if (D.kind !== "thread") return;
7234
7413
  let e = D.threadId;
7235
- await N(async () => {
7414
+ await P(async () => {
7236
7415
  await E.deleteThread(e), c((t) => t.filter((t) => t._id !== e)), O({ kind: "idle" });
7237
7416
  });
7238
7417
  }, [
7239
7418
  E,
7240
7419
  D,
7241
- N
7420
+ P
7242
7421
  ]), Ue = U(async () => {
7243
7422
  if (D.kind !== "thread") return;
7244
7423
  let e = D.threadId;
7245
- await N(async () => {
7246
- await E.resolveThread(e, je), c((t) => t.filter((t) => t._id !== e)), F("thread_resolved"), O({ kind: "idle" });
7424
+ await P(async () => {
7425
+ await E.resolveThread(e, je), c((t) => t.filter((t) => t._id !== e)), be("thread_resolved"), O({ kind: "idle" });
7247
7426
  });
7248
7427
  }, [
7249
7428
  E,
7250
7429
  D,
7251
7430
  je,
7252
- N
7431
+ P
7253
7432
  ]), We = U((e) => {
7254
- if (e.readAt ?? (j((e) => Math.max(0, e - 1)), M((t) => t.map((t) => t._id === e._id ? {
7433
+ if (e.readAt ?? (j((e) => Math.max(0, e - 1)), N((t) => t.map((t) => t._id === e._id ? {
7255
7434
  ...t,
7256
7435
  readAt: Date.now()
7257
7436
  } : t)), E.markNotificationRead(e._id).catch(() => {})), s.some((t) => t._id === e.threadId)) O({
@@ -7259,37 +7438,37 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7259
7438
  threadId: e.threadId
7260
7439
  });
7261
7440
  else {
7262
- let t = Ri(e.threadUrl, window.location.href);
7441
+ let t = Vi(e.threadUrl, window.location.href);
7263
7442
  t && (t.hash = `markup-thread=${e.threadId}`, window.location.href = t.toString());
7264
7443
  }
7265
7444
  }, [E, s]), R = U(() => {
7266
- se(!0), j(0), M((e) => e.map((e) => e.readAt == null ? {
7445
+ oe(!0), j(0), N((e) => e.map((e) => e.readAt == null ? {
7267
7446
  ...e,
7268
7447
  readAt: Date.now()
7269
- } : e)), E.markAllNotificationsRead().catch(() => {}).finally(() => se(!1));
7448
+ } : e)), E.markAllNotificationsRead().catch(() => {}).finally(() => oe(!1));
7270
7449
  }, [E]), Ge = U(async (e) => {
7271
7450
  if (D.kind !== "thread") return;
7272
- let t = qi(f);
7451
+ let t = Xi(f);
7273
7452
  if (!t) return;
7274
7453
  let n = D.threadId;
7275
- await N(async () => {
7454
+ await P(async () => {
7276
7455
  let r = qr(e), i = await E.addComment(n, {
7277
7456
  body: e,
7278
7457
  authorName: t.name,
7279
7458
  authorEmail: t.email,
7280
7459
  mentions: r.length > 0 ? r : void 0
7281
7460
  });
7282
- c((e) => e.map((e) => e._id === n ? i.thread : e)), F("reply_submitted", { hasMentions: r.length > 0 });
7461
+ c((e) => e.map((e) => e._id === n ? i.thread : e)), be("reply_submitted", { hasMentions: r.length > 0 });
7283
7462
  });
7284
7463
  }, [
7285
7464
  E,
7286
7465
  f,
7287
7466
  D,
7288
- N
7467
+ P
7289
7468
  ]), Ke = U(async (e, t) => {
7290
7469
  if (D.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
7291
7470
  let n = D.threadId;
7292
- await N(async () => {
7471
+ await P(async () => {
7293
7472
  let r = qr(t), i = await E.editComment(n, e, {
7294
7473
  body: t,
7295
7474
  mentions: r.length > 0 ? r : void 0
@@ -7300,11 +7479,11 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7300
7479
  E,
7301
7480
  f,
7302
7481
  D,
7303
- N
7482
+ P
7304
7483
  ]), qe = U(async (e) => {
7305
7484
  if (D.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
7306
7485
  let t = D.threadId;
7307
- await N(async () => {
7486
+ await P(async () => {
7308
7487
  let n = await E.deleteComment(t, e);
7309
7488
  c((e) => e.map((e) => e._id === t ? n.thread : e));
7310
7489
  });
@@ -7312,32 +7491,32 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7312
7491
  E,
7313
7492
  f,
7314
7493
  D,
7315
- N
7494
+ P
7316
7495
  ]), Je = U(async (e, t) => {
7317
7496
  if (D.kind !== "thread") return;
7318
- let n = qi(f);
7497
+ let n = Xi(f);
7319
7498
  if (!n) return;
7320
7499
  let r = D.threadId;
7321
- await ge(async () => {
7500
+ await he(async () => {
7322
7501
  let i = await E.toggleReaction(e, {
7323
7502
  emoji: t,
7324
7503
  authorName: n.name
7325
7504
  });
7326
- c((e) => e.map((e) => e._id === r ? i.thread : e)), F("reaction_added");
7505
+ c((e) => e.map((e) => e._id === r ? i.thread : e)), be("reaction_added");
7327
7506
  });
7328
7507
  }, [
7329
7508
  E,
7330
7509
  f,
7331
7510
  D,
7332
- ge
7511
+ he
7333
7512
  ]), [z, Ye] = B(!1), Xe = U(async () => {
7334
- await _e(async () => {
7513
+ await ge(async () => {
7335
7514
  await E.forgetMe(), O({ kind: "idle" }), w(), p({ type: "forget-me" }), Ye(!0);
7336
7515
  });
7337
7516
  }, [
7338
7517
  E,
7339
7518
  w,
7340
- _e,
7519
+ ge,
7341
7520
  p
7342
7521
  ]);
7343
7522
  V(() => {
@@ -7346,12 +7525,12 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7346
7525
  return () => window.clearTimeout(e);
7347
7526
  }, [z]);
7348
7527
  let [Ze, Qe] = B(!1), $e = U(async () => {
7349
- await ve(async () => {
7528
+ await _e(async () => {
7350
7529
  await E.signOut(), O({ kind: "idle" }), p({ type: "signed-out" }), Qe(!0);
7351
7530
  });
7352
7531
  }, [
7353
7532
  E,
7354
- ve,
7533
+ _e,
7355
7534
  p
7356
7535
  ]);
7357
7536
  V(() => {
@@ -7359,28 +7538,35 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7359
7538
  let e = window.setTimeout(() => Qe(!1), 5e3);
7360
7539
  return () => window.clearTimeout(e);
7361
7540
  }, [Ze]);
7362
- let et = D.kind === "thread" ? s.find((e) => e._id === D.threadId) ?? null : null, tt = ke || je != null && je === et?.authorClientId, nt = it(() => s.map((e) => ({
7363
- thread: e,
7364
- point: yi({
7365
- anchorX: e.anchorX,
7366
- anchorY: e.anchorY,
7367
- anchorSelector: e.anchorSelector,
7368
- anchorOffsetX: e.anchorOffsetX,
7369
- anchorOffsetY: e.anchorOffsetY
7370
- })
7371
- })), [s, Te]), rt = H({
7541
+ let et = D.kind === "thread" ? s.find((e) => e._id === D.threadId) ?? null : null, tt = ke || je != null && je === et?.authorClientId, nt = H(/* @__PURE__ */ new Map()), rt = it(() => {
7542
+ let e = nt.current, t = s.map((t) => {
7543
+ let { point: n, memory: r } = bi({
7544
+ anchorX: t.anchorX,
7545
+ anchorY: t.anchorY,
7546
+ anchorSelector: t.anchorSelector,
7547
+ anchorOffsetX: t.anchorOffsetX,
7548
+ anchorOffsetY: t.anchorOffsetY
7549
+ }, e.get(t._id));
7550
+ return e.set(t._id, r), {
7551
+ thread: t,
7552
+ point: n
7553
+ };
7554
+ });
7555
+ for (let t of e.keys()) s.some((e) => e._id === t) || e.delete(t);
7556
+ return t;
7557
+ }, [s, Te]), at = H({
7372
7558
  retryable: !1,
7373
7559
  elements: []
7374
7560
  });
7375
7561
  V(() => {
7376
- rt.current = {
7377
- retryable: nt.some((e) => !e.point.resolved && e.thread.anchorSelector != null),
7378
- elements: nt.flatMap((e) => e.point.element ? [e.point.element] : [])
7562
+ at.current = {
7563
+ retryable: rt.some((e) => !e.point.resolved && e.thread.anchorSelector != null),
7564
+ elements: rt.flatMap((e) => e.point.element ? [e.point.element] : [])
7379
7565
  };
7380
- }, [nt]);
7381
- let at = s.some((e) => e.anchorSelector != null);
7566
+ }, [rt]);
7567
+ let ot = s.some((e) => e.anchorSelector != null);
7382
7568
  return V(() => {
7383
- if (!at) return;
7569
+ if (!ot) return;
7384
7570
  let e = null;
7385
7571
  function t() {
7386
7572
  e ??= requestAnimationFrame(() => {
@@ -7388,7 +7574,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7388
7574
  });
7389
7575
  }
7390
7576
  let n = new MutationObserver(() => {
7391
- let { retryable: e, elements: n } = rt.current;
7577
+ let { retryable: e, elements: n } = at.current;
7392
7578
  !e && n.every((e) => e.isConnected) || t();
7393
7579
  });
7394
7580
  return n.observe(document.body, {
@@ -7397,7 +7583,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7397
7583
  }), () => {
7398
7584
  n.disconnect(), e != null && cancelAnimationFrame(e);
7399
7585
  };
7400
- }, [at]), V(() => {
7586
+ }, [ot]), V(() => {
7401
7587
  D.kind === "thread" && et == null && Fe();
7402
7588
  }, [
7403
7589
  D,
@@ -7409,31 +7595,31 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7409
7595
  children: [
7410
7596
  D.kind === "placing" ? null : /* @__PURE__ */ Q("div", {
7411
7597
  class: "markup-pins-layer",
7412
- children: [!we && v ? nt.map(({ thread: e, point: t }) => {
7598
+ children: [!we && v ? rt.map(({ thread: e, point: t }) => {
7413
7599
  let n = D.kind === "thread" && D.threadId === e._id, r = e.comments.reduce((e, t) => e + +!t.deleted, 0);
7414
- return /* @__PURE__ */ Q(nc, {
7600
+ return /* @__PURE__ */ Q(oc, {
7415
7601
  pageX: t.pageX,
7416
7602
  pageY: t.pageY,
7417
7603
  count: r,
7418
7604
  isActive: n,
7419
7605
  isUnresolved: !t.resolved,
7420
7606
  onClick: () => {
7421
- F("thread_opened", { commentCount: r }), O({
7607
+ be("thread_opened", { commentCount: r }), O({
7422
7608
  kind: "thread",
7423
7609
  threadId: e._id
7424
7610
  });
7425
7611
  }
7426
7612
  }, e._id);
7427
- }) : null, D.kind === "composing-new" ? /* @__PURE__ */ Q(rc, {
7613
+ }) : null, D.kind === "composing-new" ? /* @__PURE__ */ Q(sc, {
7428
7614
  pageX: D.pageX,
7429
7615
  pageY: D.pageY
7430
7616
  }) : null]
7431
7617
  }),
7432
- D.kind === "placing" ? /* @__PURE__ */ Q(ic, {
7618
+ D.kind === "placing" ? /* @__PURE__ */ Q(cc, {
7433
7619
  onPlace: Le,
7434
7620
  onCancel: Fe
7435
7621
  }) : null,
7436
- D.kind === "thread" && et ? /* @__PURE__ */ Q(uc, {
7622
+ D.kind === "thread" && et ? /* @__PURE__ */ Q(hc, {
7437
7623
  thread: et,
7438
7624
  authorName: Oe,
7439
7625
  currentClientId: je ?? null,
@@ -7441,7 +7627,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7441
7627
  isIdentityResolving: Ae,
7442
7628
  isSigningIn: ze,
7443
7629
  canDelete: tt,
7444
- isPending: be,
7630
+ isPending: ye,
7445
7631
  error: xe,
7446
7632
  isHidden: we,
7447
7633
  members: ee,
@@ -7455,14 +7641,14 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7455
7641
  onDelete: He,
7456
7642
  onResolve: Ue
7457
7643
  }, et._id) : null,
7458
- D.kind === "composing-new" ? /* @__PURE__ */ Q(Ks, {
7644
+ D.kind === "composing-new" ? /* @__PURE__ */ Q(Xs, {
7459
7645
  pageX: D.pageX,
7460
7646
  pageY: D.pageY,
7461
7647
  authorName: Oe,
7462
7648
  isVerified: ke,
7463
7649
  isIdentityResolving: Ae,
7464
7650
  isSigningIn: ze,
7465
- isPending: be,
7651
+ isPending: ye,
7466
7652
  error: xe,
7467
7653
  screenshot: D.screenshot,
7468
7654
  isScreenshotCapturing: D.isScreenshotCapturing,
@@ -7475,7 +7661,7 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7475
7661
  onSubmit: Ve,
7476
7662
  onClose: Fe
7477
7663
  }) : null,
7478
- !we || D.kind === "placing" || D.kind === "composing-new" ? /* @__PURE__ */ Q(bc, {
7664
+ !we || D.kind === "placing" || D.kind === "composing-new" ? /* @__PURE__ */ Q(Tc, {
7479
7665
  isActive: D.kind === "placing",
7480
7666
  onToggle: () => D.kind === "placing" ? Fe() : Pe(),
7481
7667
  onHide: () => Ce({ type: "hide-with-toast" }),
@@ -7485,21 +7671,21 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7485
7671
  inboxOpen: S === "inbox",
7486
7672
  onOpenInbox: () => {
7487
7673
  let e = S === "inbox" ? null : "inbox";
7488
- C(e), e && (F("notifications_opened", { unreadCount: A }), ce());
7674
+ C(e), e && (be("notifications_opened", { unreadCount: A }), se());
7489
7675
  },
7490
7676
  pinsVisible: v,
7491
7677
  onTogglePins: () => y((e) => !e),
7492
- identityButton: /* @__PURE__ */ Q(fs, {
7678
+ identityButton: /* @__PURE__ */ Q(hs, {
7493
7679
  identity: f,
7494
7680
  position: g,
7495
7681
  isSigningIn: ze,
7496
- isSigningOut: ye,
7682
+ isSigningOut: ve,
7497
7683
  dashboardUrl: i,
7498
7684
  onSignIn: Be,
7499
7685
  onSignOut: $e,
7500
7686
  onForgetMe: Xe
7501
7687
  }),
7502
- overflowButton: /* @__PURE__ */ Q(Zs, {
7688
+ overflowButton: /* @__PURE__ */ Q(tc, {
7503
7689
  position: g,
7504
7690
  onSetPosition: _,
7505
7691
  autoCapture: b && r?.enabled !== !1,
@@ -7508,21 +7694,21 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7508
7694
  onOpenPrivacy: () => C("privacy"),
7509
7695
  onOpenShortcuts: () => C("shortcuts"),
7510
7696
  onHideForSession: () => Ce({ type: "hide-with-toast" }),
7511
- version: "1.18.7",
7697
+ version: "1.20.0",
7512
7698
  dashboardUrl: i
7513
7699
  })
7514
7700
  }) : null,
7515
- S === "inbox" && ke ? /* @__PURE__ */ Q(tc, {
7701
+ S === "inbox" && ke ? /* @__PURE__ */ Q(ac, {
7516
7702
  kind: "inbox",
7517
7703
  label: "Inbox",
7518
7704
  position: g,
7519
7705
  ignoreToolbarKind: "inbox",
7520
7706
  onClose: w,
7521
- children: /* @__PURE__ */ Q(Js, {
7522
- items: te,
7523
- isLoading: ne,
7524
- error: ie,
7525
- isMarkingAll: oe,
7707
+ children: /* @__PURE__ */ Q(Qs, {
7708
+ items: M,
7709
+ isLoading: te,
7710
+ error: re,
7711
+ isMarkingAll: ae,
7526
7712
  onBack: w,
7527
7713
  onItemClick: (e) => {
7528
7714
  w(), We(e);
@@ -7530,37 +7716,37 @@ function Dc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7530
7716
  onMarkAllRead: R
7531
7717
  })
7532
7718
  }) : null,
7533
- S === "privacy" ? /* @__PURE__ */ Q(tc, {
7719
+ S === "privacy" ? /* @__PURE__ */ Q(ac, {
7534
7720
  kind: "privacy",
7535
7721
  label: "Privacy and data",
7536
7722
  position: g,
7537
7723
  onClose: w,
7538
- children: /* @__PURE__ */ Q(ac, {
7724
+ children: /* @__PURE__ */ Q(uc, {
7539
7725
  identity: f,
7540
7726
  apiUrl: e,
7541
7727
  autoCapture: b && r?.enabled !== !1,
7542
7728
  autoCaptureLocked: r?.enabled === !1,
7543
- isForgettingMe: fe.isPending,
7544
- forgetMeError: fe.error,
7729
+ isForgettingMe: de.isPending,
7730
+ forgetMeError: de.error,
7545
7731
  onForgetMe: Xe,
7546
7732
  onClose: w
7547
7733
  })
7548
7734
  }) : null,
7549
- S === "shortcuts" ? /* @__PURE__ */ Q(tc, {
7735
+ S === "shortcuts" ? /* @__PURE__ */ Q(ac, {
7550
7736
  kind: "shortcuts",
7551
7737
  label: "Keyboard shortcuts",
7552
7738
  position: g,
7553
7739
  onClose: w,
7554
- children: /* @__PURE__ */ Q(sc, { onClose: w })
7740
+ children: /* @__PURE__ */ Q(fc, { onClose: w })
7555
7741
  }) : null,
7556
- Se.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(Oc, { position: g }) : null,
7557
- z ? /* @__PURE__ */ Q(kc, { position: g }) : null,
7558
- Ze ? /* @__PURE__ */ Q(Ac, { position: g }) : null
7742
+ Se.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(Nc, { position: g }) : null,
7743
+ z ? /* @__PURE__ */ Q(Pc, { position: g }) : null,
7744
+ Ze ? /* @__PURE__ */ Q(Fc, { position: g }) : null
7559
7745
  ]
7560
7746
  });
7561
7747
  }
7562
- function Oc({ position: e }) {
7563
- let { mod: t } = Vo();
7748
+ function Nc({ position: e }) {
7749
+ let { mod: t } = Wo();
7564
7750
  return /* @__PURE__ */ Q("div", {
7565
7751
  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"),
7566
7752
  role: "status",
@@ -7579,7 +7765,7 @@ function Oc({ position: e }) {
7579
7765
  ]
7580
7766
  });
7581
7767
  }
7582
- function kc({ position: e }) {
7768
+ function Pc({ position: e }) {
7583
7769
  return /* @__PURE__ */ Q("div", {
7584
7770
  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"),
7585
7771
  role: "status",
@@ -7587,7 +7773,7 @@ function kc({ position: e }) {
7587
7773
  children: "Forgotten on this site — your name and email were cleared."
7588
7774
  });
7589
7775
  }
7590
- function Ac({ position: e }) {
7776
+ function Fc({ position: e }) {
7591
7777
  return /* @__PURE__ */ Q("div", {
7592
7778
  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"),
7593
7779
  role: "status",
@@ -7597,52 +7783,52 @@ function Ac({ position: e }) {
7597
7783
  }
7598
7784
  //#endregion
7599
7785
  //#region src/runtime/mount.tsx
7600
- function jc(e, t) {
7786
+ function Ic(e, t) {
7601
7787
  e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", Re(e, t.theme ?? "auto");
7602
7788
  let n = Ue(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
7603
- i.textContent = fe, r.appendChild(i);
7789
+ i.textContent = de, r.appendChild(i);
7604
7790
  let a = document.createElement("div");
7605
7791
  a.className = "markup-shadow-root", r.appendChild(a), je({
7606
7792
  apiUrl: t.apiUrl,
7607
7793
  apiKey: t.apiKey,
7608
- widgetVersion: "1.18.7"
7609
- }), be(t.analytics === !1 ? null : {
7794
+ widgetVersion: "1.20.0"
7795
+ }), ye(t.analytics === !1 ? null : {
7610
7796
  apiUrl: t.apiUrl,
7611
7797
  apiKey: t.apiKey,
7612
- widgetVersion: "1.18.7"
7613
- }), F("widget_loaded");
7798
+ widgetVersion: "1.20.0"
7799
+ }), be("widget_loaded");
7614
7800
  let { theme: o, analytics: s, ...c } = t;
7615
- return de(/* @__PURE__ */ Q(Ce, {
7801
+ return ue(/* @__PURE__ */ Q(Ce, {
7616
7802
  onError: (e) => I(e, { context: "render" }),
7617
- children: /* @__PURE__ */ Q(Dc, { ...c })
7803
+ children: /* @__PURE__ */ Q(Mc, { ...c })
7618
7804
  }), a), () => {
7619
- n(), je(null), be(null), de(null, a);
7805
+ n(), je(null), ye(null), ue(null, a);
7620
7806
  };
7621
7807
  }
7622
7808
  //#endregion
7623
7809
  //#region src/widget.ts
7624
- var Mc = null, Nc = null, Pc = null, Fc = !1;
7625
- function Ic(e) {
7810
+ var Lc = null, Rc = null, zc = null, Bc = !1;
7811
+ function Vc(e) {
7626
7812
  if (!e.apiUrl || !e.apiKey) return console.warn("[markup] init() requires both apiUrl and apiKey, so the widget was not mounted"), () => {};
7627
- e.fab != null && !Fc && (Fc = !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.")), Lc();
7813
+ e.fab != null && !Bc && (Bc = !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.")), Hc();
7628
7814
  let t = () => {
7629
- if (Pc = null, !document.body) return;
7815
+ if (zc = null, !document.body) return;
7630
7816
  let t = document.createElement("div");
7631
- t.id = "markup-widget", document.body.appendChild(t), Nc = t, Mc = jc(t, e);
7817
+ t.id = "markup-widget", document.body.appendChild(t), Rc = t, Lc = Ic(t, e);
7632
7818
  };
7633
7819
  if (document.readyState === "loading" || !document.body) {
7634
7820
  let e = () => t();
7635
- Pc = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
7821
+ zc = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
7636
7822
  } else t();
7637
- return Lc;
7823
+ return Hc;
7638
7824
  }
7639
- function Lc() {
7640
- Pc &&= (Pc(), null), Mc &&= (Mc(), null), Nc?.parentNode && Nc.parentNode.removeChild(Nc), Nc = null;
7825
+ function Hc() {
7826
+ zc &&= (zc(), null), Lc &&= (Lc(), null), Rc?.parentNode && Rc.parentNode.removeChild(Rc), Rc = null;
7641
7827
  }
7642
7828
  if (typeof document < "u") {
7643
7829
  let e = document.currentScript ?? document.querySelector("script[data-markup-widget=\"true\"]"), t = e?.dataset.apiUrl, n = e?.dataset.apiKey;
7644
7830
  if (t && n) {
7645
- let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = () => Ic({
7831
+ let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = () => Vc({
7646
7832
  apiUrl: t,
7647
7833
  apiKey: n,
7648
7834
  position: r,
@@ -7655,6 +7841,6 @@ if (typeof document < "u") {
7655
7841
  }
7656
7842
  }
7657
7843
  //#endregion
7658
- export { Lc as destroy, Ic as init };
7844
+ export { Hc as destroy, Vc as init };
7659
7845
 
7660
7846
  //# sourceMappingURL=widget.js.map